From 02d49dca2e5b63662b1f095916cd414fd7a0c182 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Tue, 23 Mar 2021 09:35:48 +0100 Subject: [PATCH 01/30] Changed order and reformatted settings #721 --- CookieMonster.js | 2 +- dist/CookieMonster.js | 2 +- dist/CookieMonster.js.map | 2 +- src/Cache/PP/Building.js | 14 +- src/Cache/PP/ColourOfPP.js | 32 +- ...dColor.js => ToggleUpgradeBarAndColour.js} | 3 - src/Data/Sectionheaders.js | 9 +- src/Data/SettingsData.js | 878 +++++++++--------- src/Data/SettingsDefault.js | 119 +-- .../BeautifyFormatting.js | 18 +- src/Disp/BuildingsUpgrades/Buildings.js | 18 +- src/Disp/BuildingsUpgrades/UpgradeBar.js | 52 +- src/Disp/BuildingsUpgrades/Upgrades.js | 52 +- src/Disp/HelperFunctions/GetLumpColor.js | 33 - src/Disp/HelperFunctions/GetLumpColour.js | 33 + src/Disp/HelperFunctions/UpdateColors.js | 33 - src/Disp/HelperFunctions/UpdateColours.js | 33 + src/Disp/InfoBars/BottomBar.js | 34 +- src/Disp/InfoBars/CreateDOMElements.js | 6 +- src/Disp/InfoBars/TimerBar.js | 30 +- src/Disp/MenuSections/CreateStatsSections.js | 94 +- src/Disp/MenuSections/SettingsPage.js | 16 +- src/Disp/Tooltips/CreateTooltip.js | 34 +- src/Disp/Tooltips/Tooltip.js | 4 +- src/Disp/Tooltips/TypesOfTooltips/Building.js | 21 +- src/Disp/Tooltips/TypesOfTooltips/Grimoire.js | 16 +- .../Tooltips/TypesOfTooltips/SugarLump.js | 10 +- src/Disp/Tooltips/TypesOfTooltips/Upgrade.js | 20 +- src/Disp/VariablesAndData.js | 58 +- 29 files changed, 839 insertions(+), 837 deletions(-) rename src/Config/Toggles/{ToggleUpgradeBarAndColor.js => ToggleUpgradeBarAndColour.js} (92%) delete mode 100644 src/Disp/HelperFunctions/GetLumpColor.js create mode 100644 src/Disp/HelperFunctions/GetLumpColour.js delete mode 100644 src/Disp/HelperFunctions/UpdateColors.js create mode 100644 src/Disp/HelperFunctions/UpdateColours.js diff --git a/CookieMonster.js b/CookieMonster.js index 82003b5f..9421e77e 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};const t=["","","M","G","T","P","E","Z","Y"],n=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],i=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let a,r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w=[],x=[],T=[],M={};const S="CMText",B="CMBack",P="Blue",E="Green",N="Yellow",O="Orange",F="Red",W="Purple",L="Gray",A="Pink",j="Brown",U=[L,P,E,N,O,F,W,A,j],D=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],H={};let R,$,I=0,z=-1,V=[],_=1,X=1,Q=1;const q=[10,15,30,60,300,600,900,1800],Y=[1,5,10,15,30],K={Frenzy:N,"Dragon Harvest":j,"Elder frenzy":E,Clot:F,"Click frenzy":P,Dragonflight:A};let J,Z,ee,te,oe,ne,ie,ae={},re="";function le(o,a,r){const l=e.ScaleDecimals+1;if(o===1/0)return"Infinity";if(void 0===o)return"0";if(0===e.Scale)return M.Beautify(o,a);if(Number.isFinite(o)){let s="";if(0===o)return o.toString();if(o>.001&&o=.01&&o=.01&&o=.01&&o315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function ce(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=E):(n=se(t),o=t>300?F:t>60?O:N),{text:n,color:o}}let de,pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Be,Pe,Ee,Ne,Oe,Fe,We,Le,Ae,je,Ue,De,He,Re,$e,Ie,ze,Ve=0,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=1,lt=1,st=1,ct=0,dt=0,pt=0,ut=0,mt={},ht={},gt={},ft=0,Ct=0,yt=[0,null],bt=0,kt=0,Gt={},vt={},wt={},xt={},Tt={},Mt=0,St=0,Bt=[],Pt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Ut=0,Dt=0,Ht={},Rt={},$t=0,It=0,zt=[],Vt={},_t=0,Xt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Qt=[],qt=[],Yt=[];function Kt(e){let t=0;return Game.dragonAuras[Ae].name!==e&&Game.dragonAuras[je].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Ae].name&&"Reality Bending"!==Game.dragonAuras[je].name||(t+=.1),t}function Jt(){let e=.25;return e*=1+Kt("Earth Shatterer"),e}function Zt(e,t){return void 0===$e[e]?void 0===t?1:t:$e[e]}function eo(e){const t=qt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function to(e){if(Game.hasGod){void 0===Qt.Temple.minigame&&(Qt.Temple.minigame=Game.Objects.Temple.minigame);const t=Qt.Temple.minigame.gods[e];if(Ue===t.id)return 1;if(De===t.id)return 2;if(He===t.id)return 3}return!1}function oo(e,t){let o=t;if(eo("Season savings")&&(o*=.99),eo("Santa's dominion")&&(o*=.99),eo("Faberge egg")&&(o*=.99),eo("Divine discount")&&(o*=.99),eo("Fortune #100")&&(o*=.99),o*=1-.02*Kt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&eo(e.fortune.name)&&(o*=.93),o*=Zt("buildingCost"),Qt.Temple.minigameLoaded){const e=to("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function no(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function io(){let t=Game.buyBulk;if(1===Game.buyMode?X=t:t=X,1===t?t=mt:10===t?t=ht:100===t&&(t=gt),1===Game.buyMode?1===e.BuildColor?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e.Colors[t[o].color]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(mt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=le(no(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(mt).map((e=>{const t=mt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const t=mt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eU.indexOf(t.color)?1:U.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?_=i:i=_,1===i&&(i=mt),10===i&&(i=ht),100===i&&(i=gt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=le(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=S+i[o].color,n=e.PPDisplayTime?se(Math.round(i[o].pp)):le(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=ce((Game.Objects[o].bulkPrice-(Game.cookies+lo()))/ro());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=S+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&eo(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(eo(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&eo(e.fortune.name)&&(t*=1.07),e.grandma&&eo(e.grandma.name)&&(t*=1+.01*Qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&eo(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function yo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;eo("Thousand fingers")&&(t+=.1),eo("Million fingers")&&(t*=5),eo("Billion fingers")&&(t*=10),eo("Trillion fingers")&&(t*=20),eo("Quadrillion fingers")&&(t*=20),eo("Quintillion fingers")&&(t*=20),eo("Sextillion fingers")&&(t*=20),eo("Septillion fingers")&&(t*=20),eo("Octillion fingers")&&(t*=20),eo("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Qt).forEach((e=>{"Cursor"!==Qt[e].name&&(n+=Qt[e].amount)})),t*=n,o*=Co(e),o*=Game.magicCpS("Cursor"),o*=Zt("cursorCps"),Game.ComputeCps(.1,eo("Reinforced index finger")+eo("Carpal tunnel prevention cream")+eo("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{eo(Game.GrandmaSynergies[e])&&(o*=2)})),eo("Bingo center/Research facility")&&(o*=4),eo("Ritual rolling pins")&&(o*=2),eo("Naughty list")&&(o*=2),eo("Elderwort biscuits")&&(o*=1.02),o*=Zt("grandmaCps"),eo("Cat ladies"))for(let e=0;e{"Grandma"!==Qt[e].name&&(i+=Qt[e].amount)})),o*=1+.01*Kt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=Co(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function bo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Qt).forEach((t=>{Qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(eo("Starlove")&&(e=3),Game.hasGod){const t=to("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function ko(){Ne=Game.UpgradesOwned,Oe=Game.pledges,Fe=Game.AchievementsOwned,We=Game.heavenlyPower,Le=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Qt[e];void 0===o&&(Qt[e]=yo(e),o=Qt[e],co(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ue=t.minigame.slot[0],De=t.minigame.slot[1],He=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e]),o.bought=t.bought,qt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Yt[e];void 0===o&&(Yt[e]=fo(e),o=Yt[e]),o.won=t.won,Yt[e]=o})),go(),Ae=Ve,je=_e}function Go(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(Go("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(Go("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(Go("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(Go("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ee){e.appendChild(Go("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function wo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function To(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Mo(){if(ko(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ee?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?Q=t:t=Q,1===Game.buyBulk?t=mt:10===Game.buyBulk?t=ht:100===Game.buyBulk&&(t=gt),J=Game.Objects[te].bulkPrice,Z=t[te].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=le(Z,2);const o=Math.round(Z/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=S+t[te].color,e.PPDisplayTime?l("CMTooltipPP").textContent=se(t[te].pp):l("CMTooltipPP").textContent=le(t[te].pp,2),l("CMTooltipPP").className=S+t[te].color;const n=ce((J-(Game.cookies+lo()))/ro());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[te[1]][te[0]][0]-1].matureBase,o=t.plantsById[t.plot[te[1]][te[0]][0]-1].name;l("CMTooltipBorder").appendChild(Go("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${le(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${le(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${le(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${le(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ee?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(Go("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=so(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==K[Game.buffs[t].name]?K[Game.buffs[t].name]:W,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ie!==n&&(ie=n,mo())}}(),po(),Mo(),function(){if(1===e.TooltipWrink&&1===I){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===V[t]||void 0===V[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),z=t,V[t]=1}}else V[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[z],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[z].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=le(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,le(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Po(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+_t;Game.cpsSucked>0&&(o+=ft),Ut=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-fe,i=Math.max(0,Game.cookies-Ce)/n,a=Math.max(0,ft-ye)/n,r=Math.max(0,yt[0]-be)/n,l=Math.max(0,o-ut)/n,s=(Game.cookieClicks-ke)/n;for(let e=0;ezt[30][0]?F:W,0!==Number(e.PPSecondsLowerLimit)&&o/ro()0&&(n=F),n}function No(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=L;else{t[n].color=Eo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+lo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||zt.push([t[n].pp,o])}))}function Fo(){!function(){It=1/0,zt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Oo(mt,1),Oo(ht,10),Oo(gt,100),zt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;zt[t][1]>Game.cookies&&(t+=1,zt.length!==t+1););It=zt[e.PPExcludeTop][t],No(mt,1),No(ht,10),No(gt,100)}(),Object.keys(Gt).forEach((e=>{Game.cookiesPs?Gt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+lo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Gt[e].bonus:Gt[e].pp=Game.Upgrades[e].getPrice()/Gt[e].bonus,Number.isNaN(Gt[e].pp)&&(Gt[e].pp=1/0),Gt[e].color=Eo(Gt[e],Game.Upgrades[e].getPrice())}))}function Wo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),$e=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Le)*We*function(){let e=0;if(eo("Heavenly chip secret")&&(e+=.05),eo("Heavenly cookie stand")&&(e+=.2),eo("Heavenly bakery")&&(e+=.25),eo("Heavenly confectionery")&&(e+=.25),eo("Heavenly key")&&(e+=.25),e*=1+.05*Kt("Dragon God"),eo("Lucky digit")&&(e*=1.01),eo("Lucky number")&&(e*=1.01),eo("Lucky payout")&&(e*=1.01),Game.hasGod){const t=to("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=Zt("cps"),eo("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];eo(o.name)&&("function"==typeof o.power?e*=1+.01*qt[o.name].power(qt[o.name]):e*=1+.01*o.power)})),eo("Specialized chocolate chips")&&(e*=1.01),eo("Designer cocoa beans")&&(e*=1.02),eo("Underworld ovens")&&(e*=1.03),eo("Exotic nuts")&&(e*=1.04),eo("Arcane sugar")&&(e*=1.05),eo("Increased merriness")&&(e*=1.15),eo("Improved jolliness")&&(e*=1.15),eo("A lump of coal")&&(e*=1.01),eo("An itchy sweater")&&(e*=1.01),eo("Santa's dominion")&&(e*=1.2),eo("Fortune #100")&&(e*=1.01),eo("Fortune #101")&&(e*=1.07),eo("Dragon scale")&&(e*=1.03);let o=1;if(to){let t=to("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=to("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=to("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=to("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=to("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}eo("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Fe/25;let i=1;if(eo("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Kt("Breath of Milk"),to){const e=to("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=Zt("milk");let a=1;eo("Kitten helpers")&&(a*=1+.1*n*i),eo("Kitten workers")&&(a*=1+.125*n*i),eo("Kitten engineers")&&(a*=1+.15*n*i),eo("Kitten overseers")&&(a*=1+.175*n*i),eo("Kitten managers")&&(a*=1+.2*n*i),eo("Kitten accountants")&&(a*=1+.2*n*i),eo("Kitten specialists")&&(a*=1+.2*n*i),eo("Kitten experts")&&(a*=1+.2*n*i),eo("Kitten consultants")&&(a*=1+.2*n*i),eo("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),eo("Kitten marketeers")&&(a*=1+.15*n*i),eo("Kitten analysts")&&(a*=1+.125*n*i),eo("Kitten executives")&&(a*=1+.115*n*i),eo("Kitten angels")&&(a*=1+.1*n*i),eo("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Qt).forEach((e=>{const t=Qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&eo("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Ie+=t.amount*a})),eo('"egg"')&&(Ie+=9),e*=a;let r=1;if(eo("Chicken egg")&&(r*=1.01),eo("Duck egg")&&(r*=1.01),eo("Turkey egg")&&(r*=1.01),eo("Quail egg")&&(r*=1.01),eo("Robin egg")&&(r*=1.01),eo("Ostrich egg")&&(r*=1.01),eo("Cassowary egg")&&(r*=1.01),eo("Salmon roe")&&(r*=1.01),eo("Frogspawn")&&(r*=1.01),eo("Shark egg")&&(r*=1.01),eo("Turtle egg")&&(r*=1.01),eo("Ant larva")&&(r*=1.01),eo("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),dt=1+.1*(1-(1-e/100)**3),r*=dt}e*=r,eo("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Kt("Radiant Appetite");const l=Ie*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Lo(Game.CpsAchievements[e].name)})),ze=l;const{n:s}=Game.shimmerTypes.golden,c=Kt("Dragon's Fortune");for(let t=0;t{eo(e[o])&&(t+=.1)}))}e*=t}if(eo("Shimmering veil [off]")){let t=.5;eo("Reinforced membrane")&&(t+=.1),e*=1+t}eo("Magic shenanigans")&&(e*=1e3),eo("Occult obstruction")&&(e*=0),Ie=Game.runModHookOnValue("cps",Ie),e*=xo(),Ie*=e}const jo=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Uo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Do=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ho=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Ro=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function $o(e){return Yt[e]?Yt[e].won:0}function Io(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{eo(Game.GrandmaSynergies[t])&&(e+=1)})),!$o("Elder")&&e>=7&&Lo("Elder"),!$o("Veteran")&&e>=14&&Lo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Qt).forEach((e=>{t+=Qt[e].amount,i=Math.min(Qt[e].amount,i),$o("Mathematician")||Qt[e].amount=1&&Lo("One with everything"),1===o&&Lo("Mathematician"),1===n&&Lo("Base 10"),i>=100&&Lo("Centennial"),i>=150&&Lo("Centennial and a half"),i>=200&&Lo("Bicentennial"),i>=250&&Lo("Bicentennial and a half"),i>=300&&Lo("Tricentennial"),i>=350&&Lo("Tricentennial and a half"),i>=400&&Lo("Quadricentennial"),i>=450&&Lo("Quadricentennial and a half"),i>=500&&Lo("Quincentennial"),i>=550&&Lo("Quincentennial and a half"),i>=600&&Lo("Sexcentennial"),t>=100&&Lo("Builder"),t>=500&&Lo("Architect"),t>=1e3&&Lo("Engineer"),t>=2e3&&Lo("Lord of Constructs"),t>=4e3&&Lo("Grand design"),t>=8e3&&Lo("Ecumenopolis"),Ne>=20&&Lo("Enhancer"),Ne>=50&&Lo("Augmenter"),Ne>=100&&Lo("Upgrader"),Ne>=200&&Lo("Lord of Progress"),Ne>=300&&Lo("The full picture"),Ne>=400&&Lo("When there's nothing left to add"),t>=4e3&&Ne>=300&&Lo("Polymath"),t>=8e3&&Ne>=400&&Lo("Renaissance baker"),Qt.Cursor.amount+Qt.Grandma.amount>=777&&Lo("The elder scrolls");let a=!0;Object.keys(Uo).forEach((e=>{eo(Uo[e])||(a=!1)})),a&&Lo("Spooky cookies");let r=!0;if(Object.keys(Do).forEach((e=>{eo(Do[e])||(r=!1)})),r&&Lo("Let it snow"),eo("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{eo(e[o].name)&&(t+=1)})),t>=e.length&&Lo("O Fortuna")}}function zo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){ko(),Qt[e].amount+=t;const o=Qt[e];"Cursor"===e?(o.amount>=1&&Lo("Click"),o.amount>=2&&Lo("Double-click"),o.amount>=50&&Lo("Mouse wheel"),o.amount>=100&&Lo("Of Mice and Men"),o.amount>=200&&Lo("The Digital"),o.amount>=300&&Lo("Extreme polydactyly"),o.amount>=400&&Lo("Dr. T"),o.amount>=500&&Lo("Thumbs, phalanges, metacarpals"),o.amount>=600&&Lo("With her finger and her thumb"),o.amount>=700&&Lo("Gotta hand it to you"),o.amount>=800&&Lo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Lo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Fe;return Ao(),Io(),n!==Fe&&Ao(),Ie-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function Vo(){Object.keys(Game.Objects).forEach((e=>{mt[e].price=Wo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),ht[e].price=Wo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),gt[e].price=Wo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function _o(){mt=zo(1),ht=zo(10),gt=zo(100),Gt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){ko(),"Shimmering veil [on]"===qt[e].name?qt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===qt[e].name?qt["Golden switch [off]"].bought=0:qt[e].bought=(qt[e].bought+1)%2,qt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ne+=1),"Elder Pledge"===e?(Oe+=1,Oe>0&&Lo("Elder nap"),Oe>=5&&Lo("Elder slumber")):"Elder Covenant"===e?Lo("Elder calm"):"Prism heart biscuits"===e?Lo("Lovely cookies"):"Heavenly key"===e&&Lo("Wholesome");const t=Fe;Ao(),Io(),t!==Fe&&Ao();const o=function(){let e=0;eo("Thousand fingers")&&(e+=.1),eo("Million fingers")&&(e*=5),eo("Billion fingers")&&(e*=10),eo("Trillion fingers")&&(e*=20),eo("Quadrillion fingers")&&(e*=20),eo("Quintillion fingers")&&(e*=20),eo("Sextillion fingers")&&(e*=20),eo("Septillion fingers")&&(e*=20),eo("Octillion fingers")&&(e*=20),eo("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Qt).forEach((e=>{t+=Qt[e].amount})),t-=Qt.Cursor.amount,e*=t,eo("Plastic mouse")&&(e+=.01*Ie),eo("Iron mouse")&&(e+=.01*Ie),eo("Titanium mouse")&&(e+=.01*Ie),eo("Adamantium mouse")&&(e+=.01*Ie),eo("Unobtainium mouse")&&(e+=.01*Ie),eo("Eludium mouse")&&(e+=.01*Ie),eo("Wishalloy mouse")&&(e+=.01*Ie),eo("Fantasteel mouse")&&(e+=.01*Ie),eo("Nevercrack mouse")&&(e+=.01*Ie),eo("Armythril mouse")&&(e+=.01*Ie),eo("Technobsidian mouse")&&(e+=.01*Ie),eo("Plasmarble mouse")&&(e+=.01*Ie),eo("Miraculite mouse")&&(e+=.01*Ie),eo("Fortune #104")&&(e+=.01*Ie);let o=1;if(eo("Santa's helpers")&&(o*=1.1),eo("Cookie egg")&&(o*=1.1),eo("Halo gloves")&&(o*=1.1),eo("Dragon claw")&&(o*=1.03),eo("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,eo("Luminous gloves")?20:10)),o*=Zt("click"),Qt.Temple.minigameLoaded&&to){const e=to("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Kt("Dragon Cursor");let n=o*Game.ComputeCps(1,eo("Reinforced index finger")+eo("Carpal tunnel prevention cream")+eo("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Ie-Game.cookiesPs,o]:[Ie-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Gt[t]={bonus:Game.cookiesPs-Ge},1===e.CalcWrink?Gt[t].bonus-=ve:2===e.CalcWrink&&(Gt[t].bonus-=we),Number.isFinite(Gt[t].bonus)||(Gt[t].bonus=0)):(Gt[t]={},o[0]&&(Gt[t].bonus=o[0]),o[1]&&(Gt[t].bonusMouse=o[1]))}))}function Xo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Xo(7,e,lt),Mt=2*Bt[1]/lt,St=Bt[2]/60/60/6/rt,Nt=Xo(6,e,st),Pt=2*Nt[1]/st,Et=Nt[2]/60/60/6/rt,Wt=Xo(7,7*e,lt),Ot=2*Wt[1]/lt,Ft=Wt[2]/60/60/6/rt,jt=Xo(6,7*e,st),Lt=2*jt[1]/st,At=jt[2]/60/60/6/rt}function qo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Me,i=Math.max(0,o-Se)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?xt+=e:"cookie"===o.pool?Tt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(wt+=e)}}))}function Ko(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),pt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(pt*=2)}}function Jo(){qe=900*at/.15,qe*=rt;const e=xo();e>0?qe/=e:qe=0,Ye=lt*(.15*qe)+13,Ke=st*(.15*qe)+13,Je=7*qe,Ze=lt*(.15*Je)+13,et=st*(.15*Je)+13,tt=2*qe,ot=.15*tt,nt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountnt&&(nt=2*Game.Objects[e].price,it=e)}))}function Zo(){let e=1,t=1,o=1;eo("Green yeast digestives")&&(o*=1.01),eo("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),lt=o*e,st=o*t,rt=1,0===Game.shimmerTypes.golden.n&&(rt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function en(){ft=0,Ct=0,yt=[0,null];for(let e=0;eyt[0]&&(yt=[t,e]))}}function tn(){go(),en(),Jo(),Zo(),Qo(),Yo(),Ko(),de=new Bo(q[q.length-1]),pe=new Bo(q[q.length-1]),ue=new Bo(q[q.length-1]),me=new Bo(q[q.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(5),qo(),Po(),_o(),Vo(),Fo()}const on={BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,BuildColor:1,PPDisplayTime:0,UpBarColor:1,UpgradeBarFixedPos:1,CalcWrink:0,CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,PPOnlyConsiderBuyable:0,ToolWarnBon:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,DragonAuraInfo:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,TimeFormat:0,DetailedTime:1,GrimoireBar:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,Colors:{Blue:"#4bb8f0",Green:"#00ff00",Yellow:"#ffff00",Orange:"#ff7f00",Red:"#ff0000",Purple:"#ff00ff",Gray:"#b3b3b3",Pink:"#ff1493",Brown:"#8b4513"},SortBuildings:0,SortUpgrades:0,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,BulkBuyBlock:0,Header:{BarsColors:1,Calculation:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Tooltip:1,Statistics:1,Notation:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},nn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function an(){1===e.BotBar?(l("CMBotBar").style.display="",po()):l("CMBotBar").style.display="none",mo()}function rn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),po(),io(),ao()}function ln(){let t="";for(let o=0;o0?Ht.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class un extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const mn={BotBar:new dn("bool","BarsColors",["Bottom Bar OFF","Bottom Bar ON"],"Building Information",!0,(function(){an()})),TimerBar:new dn("bool","BarsColors",["Timer Bar OFF","Timer Bar ON"],"Timers of Golden Cookie, Season Popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){ho()})),TimerBarPos:new dn("bool","BarsColors",["Timer Bar Position (Top Left)","Timer Bar Position (Bottom)"],"Placement of the Timer Bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),mo()})),TimerBarOverlay:new dn("bool","BarsColors",["Timer Bar Overlay OFF","Timer Bar Overlay Only Seconds","Timer Bar Overlay Full"],"Overlay on timers displaying seconds and/or percentage left",!0),SortBuildings:new dn("bool","BarsColors",["Sort Buildings: Default","Sort Buildings: PP of x1 purchase","Sort Buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){io()})),SortUpgrades:new dn("bool","BarsColors",["Sort Upgrades: Default","Sort Upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ao()})),BuildColor:new dn("bool","BarsColors",["Building Colors OFF","Building Colors ON"],"Color code buildings",!0,(function(){io()})),PPDisplayTime:new dn("bool","BarsColors",["PP As Value (Standard)","PP As Time Unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),UpBarColor:new dn("bool","BarsColors",["Upgrade Colors/Bar OFF","Upgrade Colors with Bar ON","Upgrade Colors without Bar ON"],"Color code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ao()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ao()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),Colors:new class extends cn{constructor(e,t,o,n){super(e,t),this.desc=o,this.func=n}}("color","BarsColors",{Blue:"Color Blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels",Green:"Color Green. Used to show best PP building, for Blood Frenzy bar, and for various labels",Yellow:"Color Yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels",Orange:"Color Orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels",Red:"Color Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels",Purple:"Color Purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels",Gray:"Color Gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar",Pink:"Color Pink. Used for Dragonflight bar",Brown:"Color Brown. Used for Dragon Harvest bar"},(function(){ln()})),UpgradeBarFixedPos:new dn("bool","BarsColors",["Upgrade Bar Fixed Position OFF","Upgrade Bar Fixed Position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),CalcWrink:new dn("bool","Calculation",["Calculate with Wrinklers OFF","Calculate with Wrinklers ON","Calculate with Single Fattest Wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) Wrinklers",!0,(function(){Re=!0})),CPSMode:new dn("bool","Calculation",["Current Cookies Per Second","Average Cookies Per Second"],"Calculate times using current Cookies Per Second or average Cookies Per Second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS for past 10s","Average CPS for past 15s","Average CPS for past 30s","Average CPS for past 1m","Average CPS for past 5m","Average CPS for past 10m","Average CPS for past 15m","Average CPS for past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average Cookie Clicks for past 1s","Average Cookie Clicks for past 5s","Average Cookie Clicks for past 10s","Average Cookie Clicks for past 15s","Average Cookie Clicks for past 30s"],"How much time average Cookie Clicks should consider",!1),PPExcludeTop:new dn("bool","Calculation",["Don't Ignore Any","Ignore 1st Best","Ignore 1st and 2nd Best","Ignore 1st, 2nd and 3rd Best"],"Makes CookieMonster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Calculation",["Rigidel Mode OFF","Rigidel Mode ON"],'Makes CookieMonster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new un("numscale","Calculation","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),PPOnlyConsiderBuyable:new dn("bool","Calculation",["Don't Ignore Non-Buyable","Ignore Non-Buyable"],"Makes CookieMonster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),ToolWarnBon:new dn("bool","Calculation",["Calculate Tooltip Warning With Bonus CPS OFF","Calculate Tooltip Warning With Bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title Pinned Tab Highlight"],'Update title with Golden Cookie/Season Popup timers; pinned tab highlight only changes the title when a Golden Cookie/Season Popup spawns; "!" means that Golden Cookie/Reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider Game Volume Setting OFF","Consider Game Volume Setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when Golden Cookie spawns",!0,(function(){nn(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on Golden Cookie",!0),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on Golden Cookie",!0),GCVolume:new pn("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a Golden Cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when Fortune Cookie is on the Ticker",!0,(function(){nn(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on Fortune Cookie",!0),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on Fortune Cookie",!0),FortuneVolume:new pn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the Ticker has a Fortune Cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on Season Popup",!0,(function(){nn(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on Season Popup",!0),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on Season Popup",!0),SeaVolume:new pn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when a Season Special spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on Garden Tick",!0),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on Garden Tick",!0),GardVolume:new pn("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){nn(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new pn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a Wrinkler appears",!0,(function(){nn(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a Wrinkler appears",!0),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a Wrinkler appears",!0),WrinklerVolume:new pn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a Wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of Wrinklers has appeared",!0,(function(){nn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxVolume:new pn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of Wrinklers has appeared"),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/Upgrade Tooltip Information OFF","Building/Upgrade Tooltip Information ON"],"Extra information in Building/Upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings Tooltip Amortization Information OFF","Buildings Tooltip Amortization Information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip Lucky Warning OFF","Tooltip Lucky Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip Lucky Frenzy Warning OFF","Tooltip Lucky Frenzy Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip Conjure Warning OFF","Tooltip Conjure Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip Conjure Frenzy Warning OFF","Tooltip Conjure Frenzy Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip Edifice Warning OFF","Tooltip Edifice Warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new un("numscale","Tooltip","Tooltip Warning At x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip Warning Position (Left)","Tooltip Warning Position (Bottom)"],"Placement of the warning boxes",!1,(function(){To()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire Tooltip Information OFF","Grimoire Tooltip Information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler Tooltip OFF","Wrinkler Tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar Lump Tooltip OFF","Sugar Lump Tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden Plots Tooltip OFF","Garden Plots Tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Show Extra Info Pantheon Tooltip OFF","Show Extra Info Pantheon Tooltip ON"],"Shows additional info in the pantheon tooltip",!0),DragonAuraInfo:new dn("bool","Tooltip",["Extra Dragon Aura Info OFF","Extra Dragon Aura Info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing Upgrades OFF","Missing Upgrades ON"],"Shows Missing upgrades in Stats Menu. This feature can be laggy for users with a low amount of unlocked achievements.",!0),UpStats:new dn("bool","Statistics",["Statistics Update Rate (Default)","Statistics Update Rate (1s)"],"Default Game rate is once every 5 seconds",!1),TimeFormat:new dn("bool","Statistics",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Statistics",["Detailed Time OFF","Detailed Time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=$:Game.sayTime=M.sayTime})),GrimoireBar:new dn("bool","Statistics",["Grimoire Magic Meter Timer OFF","Grimoire Magic Meter Timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),HeavenlyChipsTarget:new un("numscale","Statistics","Heavenly Chips Target: ",'Use this to set a Heavenly Chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many Golden Cookies you have missed",!0),Scale:new dn("bool","Notation",["Game's Setting Scale","Metric","Short Scale","Short Scale (Abbreviated)","Scientific Notation","Engineering Notation"],"Change how long numbers are handled",!1,(function(){rn()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){rn()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (Standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){rn()})),ScaleCutoff:new un("numscale","Notation","Notation Cut-off Point: ","The number from which CookieMonster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),GCTimer:new dn("bool","Miscellaneous",["Golden Cookie Timer OFF","Golden Cookie Timer ON"],"A timer on the Golden Cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(ae).forEach((e=>{ae[e].style.display="block",ae[e].style.left=Vt[e].l.style.left,ae[e].style.top=Vt[e].l.style.top})):Object.keys(ae).forEach((e=>ae[e].style.display="none"))})),Favicon:new dn("bool","Miscellaneous",["Favicon OFF","Favicon ON"],"Update favicon with Golden/Wrath Cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","Miscellaneous",["Extra Wrinkler Buttons OFF","Extra Wrinkler Buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){e.WrinklerButtons?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")})),HideSectionsButtons:new dn("bool","Miscellaneous",["Hide Upgrades/Buildings Button OFF","Hide Upgrades/Buildings Button ON"],"Show buttons for hiding and showing the upgrades and buildings section in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function hn(){return JSON.stringify({settings:e,version:"2.031.6"})}function gn(){if(Xe!==Game.dragonLevel||Re){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Qt[e]=yo(e)})),qt=[],Object.keys(Game.Upgrades).forEach((e=>{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Achievements).forEach((e=>{Yt[e]=fo(e)})),ko()}let yn=!1;function bn(t,o){1===e[o]&&3===t&&!1===yn||1===t?(l("CMWhiteScreen").style.opacity="0.5",3===t?(l("CMWhiteScreen").style.display="inline",setTimeout((function(){bn(2,o)}),1e3/Game.fps)):setTimeout((function(){bn(0,o)}),1e3/Game.fps)):2===t?(l("CMWhiteScreen").style.opacity="1",setTimeout((function(){bn(1,o)}),1e3/Game.fps)):0===t&&(l("CMWhiteScreen").style.display="none")}function kn(t,o,n,i){if((1===e[o]||i)&&!1===yn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Gn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===yn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ne!==Game.OnAscend&&(ne=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(an(),ho()),uo()),!Game.OnAscend&&0===Game.AscendTimer){a!==Object.keys(Game.mods).length&&(Cn(),tn(),a=Object.keys(Game.mods).length),Re&&(_o(),Game.Has("Golden switch [off]")?(ko(),qt["Golden switch [off]"].bought=0,Ao(),at=Ie):at=Game.cookiesPs,Zo(),Jo(),Yo(),Qo(),gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Xt[e][t]=fn(e,t)}(),Ko(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;ko();let t=2;5!==Ae&&18!==Ae||(t-=1),5!==je&&18!==je||(t-=1),Ae=5,je=18;for(let e=0;e{Qt[t].amount>0&&(e=t)})),Qt[e].amount-=1,Ee-=1}return Object.keys(Qt).forEach((t=>{const o=Qt[t];e+=no(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),_t=e}(),Re=0);const t=Game.auraMult("Fierce Hoarder")>0;!Pe&&t?(Pe=!0,Be=1):Pe&&!t&&(Pe=!1,Be=1),Be&&(Vo(),Be=0),function(){en(),Fo(),function(){bt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}kt=e,bt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Po(),qo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);$t=se(e/ro())}(),k=0,Vt={},Object.keys(Game.shimmers).forEach((e=>{Vt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Ht=Game.shimmers[e],k+=1)})),Object.keys(ae).forEach((e=>{void 0===Vt[e]&&(ae[e].parentNode.removeChild(ae[e]),delete ae[e])})),C!==Game.shimmerTypes.golden.n?(C=Game.shimmerTypes.golden.n,C&&(y{void 0===ae[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},ae[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),y=k,0===k&&(Ht=0)):1===e.GCTimer&&C&&Object.keys(ae).forEach((e=>{ae[e].style.opacity=Vt[e].l.style.opacity,ae[e].style.transform=Vt[e].l.style.transform,ae[e].textContent=Math.ceil(Vt[e].life/Game.fps)})),g!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(g=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,g&&(bn(3,"FortuneFlash"),kn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Gn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),h!==Game.shimmerTypes.reindeer.spawned&&(h=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(Rt=Game.shimmers[e])})),bn(3,"SeaFlash"),kn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Gn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&f!==Game.Objects.Farm.minigame.nextStep&&(0!==f&&f0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>G?(G=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?bn(3,"WrinklerMaxFlash"):bn(3,"WrinklerFlash"),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?kn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):kn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Gn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Gn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):G=t}}()}}function wn(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${hn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function xn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t;let o=!1;Object.keys(on).forEach((t=>{void 0===e[t]?(o=!0,e[t]=on[t]):"Header"!==t&&"Colors"!==t?-1===t.indexOf("SoundURL")?e[t]>-1&&e[t]{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=on[t][n])})):Object.keys(on.Colors).forEach((n=>{void 0!==e[t][n]&&"string"==typeof e[t][n]||(o=!0,e[t][n]=on[t][n])}))})),o&&wn(),vn(),Object.keys(on).forEach((e=>{"Header"!==e&&void 0!==mn[e].func&&mn[e].func()}))}else xn(on)}function Tn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Mn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Wo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${le(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${ce((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(le(Game.Objects[o].bulkPrice)).join(le((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ee=t,te=o,Mo(),l("tooltip").innerHTML}function Sn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(x[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Bn(){if(!u&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];d=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){d(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),wn()}function Ln(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Wn(o),Game.UpdateMenu()},n.appendChild(i),n}function An(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(H[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function jn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Un(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Ln("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+lo()0&&(t.appendChild(An("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(le(e)))),t.appendChild(An("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(se(e/ct)))))}const l=function(e){let t=Game.cookiesPs;ko(),0===qt["Heavenly key"].bought&&(qt["Heavenly chip secret"].bought=1,qt["Heavenly cookie stand"].bought=1,qt["Heavenly bakery"].bought=1,qt["Heavenly confectionery"].bought=1,qt["Heavenly key"].bought=1,Ao(),t=Ie,ko()),Ut>=1e6&&Lo("Sacrifice"),Ut>=1e9&&Lo("Oblivion"),Ut>=1e12&&Lo("From scratch"),Ut>=1e15&&Lo("Nihilism"),Ut>=1e18&&Lo("Dematerialize"),Ut>=1e21&&Lo("Nil zero zilch"),Ut>=1e24&&Lo("Transcendence"),Ut>=1e27&&Lo("Obliterate"),Ut>=1e30&&Lo("Negative void"),Ut>=1e33&&Lo("To crumbs, you say?"),Ut>=1e36&&Lo("You get nothing"),Ut>=1e39&&Lo("Humble rebeginnings"),Ut>=1e42&&Lo("The end of the world"),Ut>=1e45&&Lo("Oh, you're back"),Ut>=1e48&&Lo("Lazarus"),Ut>=1e51&&Lo("Smurf account"),Ut>=1e54&&Lo("If at first you don't succeed"),qt["Heavenly chip secret"].bought=1,qt["Heavenly cookie stand"].bought=1,qt["Heavenly bakery"].bought=1,qt["Heavenly confectionery"].bought=1,qt["Heavenly key"].bought=1,Le=e;const o=Fe;Ao(),Io(),o!==Fe&&Ao();const n=Ie-t;return Le=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(le(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(An("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(An("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(An("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(An("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Ln("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${le(ft)} / ${le(Ct)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Tn()},e.appendChild(t),o.appendChild(An("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${le(yt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==yt[1]&&(Game.wrinklers[yt[1]].hp=0)},n.appendChild(i),o.appendChild(An("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==yt[1]?yt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(n.push(Uo[e]),o=!0)}));const i=[];Object.keys(Do).forEach((e=>{Game.Has(Do[e])||(i.push(Do[e]),o=!0)}));const a=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(a.push(Ho[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=[];Object.keys(Ro).forEach((e=>{Game.HasUnlocked(Ro[e])||(s.push(Ro[e]),o=!0)}));const c=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),d=Game.Has("Century egg");if(("christmas"===Game.season||o||c||d)&&(t.appendChild(Ln("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(An("basic","Halloween cookies left to buy",jn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}t.appendChild(An("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${le(100*(1-e))}% / ${le(100*(1-.9*e))}%`)))}if(0!==i.length){t.appendChild(An("basic","Christmas cookies left to buy",jn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}t.appendChild(An("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${le(100*(1-e))}%`)))}0!==a.length&&t.appendChild(An("basic","Valentine cookies left to buy",jn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(An("basic","Normal easter eggs left to unlock",jn(r))),t.appendChild(An("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${le(100*e(.98)[0])}% / ${le(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(An("basic","Rare easter eggs left to unlock",jn(l))),t.appendChild(An("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${le(100*e(.98)[1])}% / ${le(100*e(.9)[1])}%`)))),0!==s.length&&t.appendChild(An("basic","Rare plant drops left to unlock",jn(s))),"christmas"===Game.season&&t.appendChild(An("basic","Reindeer reward",document.createTextNode(le(pt)))),c&&t.appendChild(An("withTooltip","Chocolate egg cookies",document.createTextNode(le(ut)),"ChoEggTooltipPlaceholder")),d&&t.appendChild(An("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(dt-1))/100+"%")))}return t}()),o.appendChild(Ln("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(An("basic",`Average Cookies Per Second (Past ${q[e.AvgCPSHist]<60?`${q[e.AvgCPSHist]} seconds`:q[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(le(ro(),3)))),o.appendChild(An("basic",`Average Cookie Clicks Per Second (Past ${Y[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(le(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(jo).forEach((t=>{Game.Has(jo[t])||e.push(jo[t])})),0!==e.length&&o.appendChild(An("basic","Fortune Upgrades Left to Buy",jn(e)))}if(e.ShowMissedGC&&o.appendChild(An("basic","Missed Golden Cookies",document.createTextNode(le(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(An("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(wt){const t=wt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=wt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}}}))}const Dn={BarsColors:"Bars/Colors",Calculation:"Calculation",Notification:"Notification",Tooltip:"Tooltips and additional insights",Statistics:"Statistics",Notation:"Notation",Miscellaneous:"Miscellaneous"},Hn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Rn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Wn(t),Game.UpdateMenu()},n.appendChild(i),n}function $n(t){const o=document.createElement("div");if(o.className="listing","bool"===mn[t].type){const n=document.createElement("a");mn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=On+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===mn[t].label.length?(e[t]=0,mn[t].toggle&&(l(On+t).className="option off")):l(On+t).className="option",void 0!==mn[t].func&&mn[t].func(),l(On+t).innerHTML=mn[t].label[e[t]],wn()}(t)},n.textContent=mn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=mn[t].desc,o.appendChild(i),o}if("vol"===mn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=mn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Fn(t)},r.onchange=function(){Fn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){kn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===mn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${mn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=On+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${On+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,wn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=mn[t].desc,o.appendChild(s),o}if("color"===mn[t].type){o.className="";for(let t=0;tthis.max&&console.log("TEST"),e[t]=this.value,wn(),rn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=mn[t].desc,o.appendChild(a),o}return o}function In(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function zn(){M.Beautify=Beautify,Beautify=le,M.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){M.CalculateGains(),Re=1},M.tooltip={},M.tooltip.draw=Game.tooltip.draw,M.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){M.tooltip.drawMod(e,t,o)},M.tooltip.update=Game.tooltip.update,M.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){M.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},M.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){In(M.UpdateWrinklers)},M.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){In(M.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){In(Game.ClickCookie)}),!1),M.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){M.RebuildUpgrades(),T=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},M.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=Qt[Game.ObjectsById[e].name].name;Qt[o].amount-=1,Ee-=1,t=Qt[o].basePrice*Game.priceIncrease**Math.max(0,Qt[o].amount-1-Qt[o].free),t=Game.modifyBuildingPrice(Qt[o],t),t=Math.ceil(t);break}const o=Fe;return Ao(),Io(),o!==Fe&&Ao(),[Ie-Game.cookiesPs,t]}(t),n=se(o/(e+Game.cookiesPs)),i=le(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${le(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},M.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){M.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},M.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Nn().picker&&void 0!==Nn().picker.owner||(M.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Dn).forEach((t=>{const n=Rn(t,Dn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys(Hn).forEach((t=>{const n=Rn(t,Hn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(mn).forEach((e=>{mn[e].group===t&&o.appendChild($n(e))}))})):Object.keys(mn).forEach((e=>{mn[e].group===t&&o.appendChild($n(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){xn(on)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Un(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Wn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},M.sayTime=Game.sayTime,$=function(e,t){return Number.isNaN(e)||e<=0?M.sayTime(e,t):se(e/Game.fps,1)},M.Logic=Game.Logic,Game.Logic=function(){M.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),re=`${Game.OnAscend?"Ascending! ":""}${le(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=re;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Ht?Ht.wrath?`[W${Math.ceil(Ht.life/Game.fps)}]`:`[G${Math.ceil(Ht.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,g&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=h?`[R${Math.ceil(Rt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=re;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Ht&&(t=!0,Ht.wrath?e+=`[W${Math.ceil(Ht.life/Game.fps)}]`:e+=`[G${Math.ceil(Ht.life/Game.fps)}]`),g&&(t=!0,e+="[F]"),"christmas"===Game.season&&h&&(e+=`[R${Math.ceil(Rt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${le(Game.prestige)}.
(CpS +${le(Game.prestige)}%)`,n+='
'),n+=Se<1?"Ascending now would grant you no prestige.":Se<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${le(Se)} prestige levels (+${le(Se)}% CpS)
and ${le(Se)} heavenly chips to spend.`,n+='
',n+=`You need ${le(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${$t} to reach the next level and you are making ${le(ct,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Vn(){Cn(),Jo(),tn(),a=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColor="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=S+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",N)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",P)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",P)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",P)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{co(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColor="black";const t=so("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:L},{id:"CMTimerBarGCBar",color:W}]);e.appendChild(t);const o=so("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:L},{id:"CMTimerBarRenBar",color:O}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColor="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(P,"Better than the best PP of a building option")),e.appendChild(o(E,"Same as the best PP building option")),e.appendChild(o(N,"Within the top 10 of PP for buildings")),e.appendChild(o(O,"Within the top 20 of PP for buildings")),e.appendChild(o(F,"Within the top 30 of PP for buildings")),e.appendChild(o(W,"Outside of the top 30 of PP for buildings")),e.appendChild(o(L,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=S+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",P)),e.appendChild(o("CMUpgradeBarGreen",E)),e.appendChild(o("CMUpgradeBarYellow",N)),e.appendChild(o("CMUpgradeBarOrange",O)),e.appendChild(o("CMUpgradeBarRed",F)),e.appendChild(o("CMUpgradeBarPurple",W)),e.appendChild(o("CMUpgradeBarGray",L)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMWhiteScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(D).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),H[e]=n}(D[e][0],D[e][1],D[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Tn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==yt[1]&&(Game.wrinklers[yt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(w[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(r=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("s","Lump")}),"this"),Game.tooltip.wobble()}),m=Game.LoadMinigames,Game.LoadMinigames=function(){m(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Sn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Pn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){I=1},l("backgroundLeftCanvas").onmouseout=function(){I=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{V[e]=0}))},zn(),Pn(),Game.CalculateGains(),xn(),R=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const _n={init:function(){yn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Vn(),Game.registerHook("draw",So),Game.registerHook("logic",vn),yn=!1)},load:function(e){const t=JSON.parse(e);Cn(),xn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:hn};Game.registerMod("CookieMonster",_n)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};const t=["","","M","G","T","P","E","Z","Y"],n=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],i=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let a,r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v=[],x=[],T=[],M={};const S="CMText",P="CMBack",B="Blue",E="Green",N="Yellow",O="Orange",F="Red",W="Purple",L="Gray",A="Pink",j="Brown",D=[L,B,E,N,O,F,W,A,j],H=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let U,$,I=0,z=-1,V=[],_=1,X=1,Q=1;const q=[10,15,30,60,300,600,900,1800],Y=[1,5,10,15,30],K={Frenzy:N,"Dragon Harvest":j,"Elder frenzy":E,Clot:F,"Click frenzy":B,Dragonflight:A};let J,Z,ee,te,oe,ne,ie,ae={},re="";function le(o,a,r){const l=e.ScaleDecimals+1;if(o===1/0)return"Infinity";if(void 0===o)return"0";if(0===e.Scale)return M.Beautify(o,a);if(Number.isFinite(o)){let s="";if(0===o)return o.toString();if(o>.001&&o=.01&&o=.01&&o=.01&&o315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function ce(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=E):(n=se(t),o=t>300?F:t>60?O:N),{text:n,color:o}}let de,pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Re,Ue,$e,Ie,ze,Ve=0,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=1,lt=1,st=1,ct=0,dt=0,pt=0,ut=0,mt={},ht={},gt={},ft=0,Ct=0,yt=[0,null],bt=0,kt=0,Gt={},wt={},vt={},xt={},Tt={},Mt=0,St=0,Pt=[],Bt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Dt=0,Ht=0,Rt={},Ut={},$t=0,It=0,zt=[],Vt={},_t=0,Xt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Qt=[],qt=[],Yt=[];function Kt(e){let t=0;return Game.dragonAuras[Ae].name!==e&&Game.dragonAuras[je].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Ae].name&&"Reality Bending"!==Game.dragonAuras[je].name||(t+=.1),t}function Jt(){let e=.25;return e*=1+Kt("Earth Shatterer"),e}function Zt(e,t){return void 0===$e[e]?void 0===t?1:t:$e[e]}function eo(e){const t=qt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function to(e){if(Game.hasGod){void 0===Qt.Temple.minigame&&(Qt.Temple.minigame=Game.Objects.Temple.minigame);const t=Qt.Temple.minigame.gods[e];if(De===t.id)return 1;if(He===t.id)return 2;if(Re===t.id)return 3}return!1}function oo(e,t){let o=t;if(eo("Season savings")&&(o*=.99),eo("Santa's dominion")&&(o*=.99),eo("Faberge egg")&&(o*=.99),eo("Divine discount")&&(o*=.99),eo("Fortune #100")&&(o*=.99),o*=1-.02*Kt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&eo(e.fortune.name)&&(o*=.93),o*=Zt("buildingCost"),Qt.Temple.minigameLoaded){const e=to("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function no(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function io(){let t=Game.buyBulk;if(1===Game.buyMode?X=t:t=X,1===t?t=mt:10===t?t=ht:100===t&&(t=gt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e.Colours[t[o].color]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(mt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=le(no(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(mt).map((e=>{const t=mt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return D.indexOf(e.color)>D.indexOf(t.color)?1:D.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return D.indexOf(e.color)>D.indexOf(t.color)?1:D.indexOf(e.color){const t=mt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eD.indexOf(t.color)?1:D.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?_=i:i=_,1===i&&(i=mt),10===i&&(i=ht),100===i&&(i=gt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=le(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=S+i[o].color,n=e.PPDisplayTime?se(Math.round(i[o].pp)):le(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=ce((Game.Objects[o].bulkPrice-(Game.cookies+lo()))/ro());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=S+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&eo(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(eo(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&eo(e.fortune.name)&&(t*=1.07),e.grandma&&eo(e.grandma.name)&&(t*=1+.01*Qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&eo(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function yo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;eo("Thousand fingers")&&(t+=.1),eo("Million fingers")&&(t*=5),eo("Billion fingers")&&(t*=10),eo("Trillion fingers")&&(t*=20),eo("Quadrillion fingers")&&(t*=20),eo("Quintillion fingers")&&(t*=20),eo("Sextillion fingers")&&(t*=20),eo("Septillion fingers")&&(t*=20),eo("Octillion fingers")&&(t*=20),eo("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Qt).forEach((e=>{"Cursor"!==Qt[e].name&&(n+=Qt[e].amount)})),t*=n,o*=Co(e),o*=Game.magicCpS("Cursor"),o*=Zt("cursorCps"),Game.ComputeCps(.1,eo("Reinforced index finger")+eo("Carpal tunnel prevention cream")+eo("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{eo(Game.GrandmaSynergies[e])&&(o*=2)})),eo("Bingo center/Research facility")&&(o*=4),eo("Ritual rolling pins")&&(o*=2),eo("Naughty list")&&(o*=2),eo("Elderwort biscuits")&&(o*=1.02),o*=Zt("grandmaCps"),eo("Cat ladies"))for(let e=0;e{"Grandma"!==Qt[e].name&&(i+=Qt[e].amount)})),o*=1+.01*Kt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=Co(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function bo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Qt).forEach((t=>{Qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(eo("Starlove")&&(e=3),Game.hasGod){const t=to("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function ko(){Ne=Game.UpgradesOwned,Oe=Game.pledges,Fe=Game.AchievementsOwned,We=Game.heavenlyPower,Le=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Qt[e];void 0===o&&(Qt[e]=yo(e),o=Qt[e],co(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(De=t.minigame.slot[0],He=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e]),o.bought=t.bought,qt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Yt[e];void 0===o&&(Yt[e]=fo(e),o=Yt[e]),o.won=t.won,Yt[e]=o})),go(),Ae=Ve,je=_e}function Go(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function wo(e){e.appendChild(Go("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(Go("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(Go("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(Go("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ee){e.appendChild(Go("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function vo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function To(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Mo(){if(ko(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ee?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(wo(l("CMTooltipBorder")),1===Game.buyMode?Q=t:t=Q,1===Game.buyBulk?t=mt:10===Game.buyBulk?t=ht:100===Game.buyBulk&&(t=gt),J=Game.Objects[te].bulkPrice,Z=t[te].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=le(Z,2);const o=Math.round(Z/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=S+t[te].color,e.PPDisplayTime?l("CMTooltipPP").textContent=se(t[te].pp):l("CMTooltipPP").textContent=le(t[te].pp,2),l("CMTooltipPP").className=S+t[te].color;const n=ce((J-(Game.cookies+lo()))/ro());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[te[1]][te[0]][0]-1].matureBase,o=t.plantsById[t.plot[te[1]][te[0]][0]-1].name;l("CMTooltipBorder").appendChild(Go("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${le(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${le(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${le(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${le(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ee?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(Go("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=so(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==K[Game.buffs[t].name]?K[Game.buffs[t].name]:W,a.lastChild.children[1].className=P+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ie!==n&&(ie=n,mo())}}(),po(),Mo(),function(){if(1===e.TooltipWrink&&1===I){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===V[t]||void 0===V[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),z=t,V[t]=1}}else V[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[z],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[z].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=le(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,le(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Po{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Bo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+_t;Game.cpsSucked>0&&(o+=ft),Dt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-fe,i=Math.max(0,Game.cookies-Ce)/n,a=Math.max(0,ft-ye)/n,r=Math.max(0,yt[0]-be)/n,l=Math.max(0,o-ut)/n,s=(Game.cookieClicks-ke)/n;for(let e=0;ezt[30][0]?F:W,0!==Number(e.PPSecondsLowerLimit)&&o/ro()0&&(n=F),n}function No(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=L;else{t[n].color=Eo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+lo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||zt.push([t[n].pp,o])}))}function Fo(){!function(){It=1/0,zt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Oo(mt,1),Oo(ht,10),Oo(gt,100),zt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;zt[t][1]>Game.cookies&&(t+=1,zt.length!==t+1););It=zt[e.PPExcludeTop][t],No(mt,1),No(ht,10),No(gt,100)}(),Object.keys(Gt).forEach((e=>{Game.cookiesPs?Gt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+lo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Gt[e].bonus:Gt[e].pp=Game.Upgrades[e].getPrice()/Gt[e].bonus,Number.isNaN(Gt[e].pp)&&(Gt[e].pp=1/0),Gt[e].color=Eo(Gt[e],Game.Upgrades[e].getPrice())}))}function Wo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),$e=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Le)*We*function(){let e=0;if(eo("Heavenly chip secret")&&(e+=.05),eo("Heavenly cookie stand")&&(e+=.2),eo("Heavenly bakery")&&(e+=.25),eo("Heavenly confectionery")&&(e+=.25),eo("Heavenly key")&&(e+=.25),e*=1+.05*Kt("Dragon God"),eo("Lucky digit")&&(e*=1.01),eo("Lucky number")&&(e*=1.01),eo("Lucky payout")&&(e*=1.01),Game.hasGod){const t=to("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=Zt("cps"),eo("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];eo(o.name)&&("function"==typeof o.power?e*=1+.01*qt[o.name].power(qt[o.name]):e*=1+.01*o.power)})),eo("Specialized chocolate chips")&&(e*=1.01),eo("Designer cocoa beans")&&(e*=1.02),eo("Underworld ovens")&&(e*=1.03),eo("Exotic nuts")&&(e*=1.04),eo("Arcane sugar")&&(e*=1.05),eo("Increased merriness")&&(e*=1.15),eo("Improved jolliness")&&(e*=1.15),eo("A lump of coal")&&(e*=1.01),eo("An itchy sweater")&&(e*=1.01),eo("Santa's dominion")&&(e*=1.2),eo("Fortune #100")&&(e*=1.01),eo("Fortune #101")&&(e*=1.07),eo("Dragon scale")&&(e*=1.03);let o=1;if(to){let t=to("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=to("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=to("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=to("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=to("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}eo("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Fe/25;let i=1;if(eo("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Kt("Breath of Milk"),to){const e=to("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=Zt("milk");let a=1;eo("Kitten helpers")&&(a*=1+.1*n*i),eo("Kitten workers")&&(a*=1+.125*n*i),eo("Kitten engineers")&&(a*=1+.15*n*i),eo("Kitten overseers")&&(a*=1+.175*n*i),eo("Kitten managers")&&(a*=1+.2*n*i),eo("Kitten accountants")&&(a*=1+.2*n*i),eo("Kitten specialists")&&(a*=1+.2*n*i),eo("Kitten experts")&&(a*=1+.2*n*i),eo("Kitten consultants")&&(a*=1+.2*n*i),eo("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),eo("Kitten marketeers")&&(a*=1+.15*n*i),eo("Kitten analysts")&&(a*=1+.125*n*i),eo("Kitten executives")&&(a*=1+.115*n*i),eo("Kitten angels")&&(a*=1+.1*n*i),eo("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Qt).forEach((e=>{const t=Qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&eo("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Ie+=t.amount*a})),eo('"egg"')&&(Ie+=9),e*=a;let r=1;if(eo("Chicken egg")&&(r*=1.01),eo("Duck egg")&&(r*=1.01),eo("Turkey egg")&&(r*=1.01),eo("Quail egg")&&(r*=1.01),eo("Robin egg")&&(r*=1.01),eo("Ostrich egg")&&(r*=1.01),eo("Cassowary egg")&&(r*=1.01),eo("Salmon roe")&&(r*=1.01),eo("Frogspawn")&&(r*=1.01),eo("Shark egg")&&(r*=1.01),eo("Turtle egg")&&(r*=1.01),eo("Ant larva")&&(r*=1.01),eo("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),dt=1+.1*(1-(1-e/100)**3),r*=dt}e*=r,eo("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Kt("Radiant Appetite");const l=Ie*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Lo(Game.CpsAchievements[e].name)})),ze=l;const{n:s}=Game.shimmerTypes.golden,c=Kt("Dragon's Fortune");for(let t=0;t{eo(e[o])&&(t+=.1)}))}e*=t}if(eo("Shimmering veil [off]")){let t=.5;eo("Reinforced membrane")&&(t+=.1),e*=1+t}eo("Magic shenanigans")&&(e*=1e3),eo("Occult obstruction")&&(e*=0),Ie=Game.runModHookOnValue("cps",Ie),e*=xo(),Ie*=e}const jo=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Do=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ho=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Uo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function $o(e){return Yt[e]?Yt[e].won:0}function Io(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{eo(Game.GrandmaSynergies[t])&&(e+=1)})),!$o("Elder")&&e>=7&&Lo("Elder"),!$o("Veteran")&&e>=14&&Lo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Qt).forEach((e=>{t+=Qt[e].amount,i=Math.min(Qt[e].amount,i),$o("Mathematician")||Qt[e].amount=1&&Lo("One with everything"),1===o&&Lo("Mathematician"),1===n&&Lo("Base 10"),i>=100&&Lo("Centennial"),i>=150&&Lo("Centennial and a half"),i>=200&&Lo("Bicentennial"),i>=250&&Lo("Bicentennial and a half"),i>=300&&Lo("Tricentennial"),i>=350&&Lo("Tricentennial and a half"),i>=400&&Lo("Quadricentennial"),i>=450&&Lo("Quadricentennial and a half"),i>=500&&Lo("Quincentennial"),i>=550&&Lo("Quincentennial and a half"),i>=600&&Lo("Sexcentennial"),t>=100&&Lo("Builder"),t>=500&&Lo("Architect"),t>=1e3&&Lo("Engineer"),t>=2e3&&Lo("Lord of Constructs"),t>=4e3&&Lo("Grand design"),t>=8e3&&Lo("Ecumenopolis"),Ne>=20&&Lo("Enhancer"),Ne>=50&&Lo("Augmenter"),Ne>=100&&Lo("Upgrader"),Ne>=200&&Lo("Lord of Progress"),Ne>=300&&Lo("The full picture"),Ne>=400&&Lo("When there's nothing left to add"),t>=4e3&&Ne>=300&&Lo("Polymath"),t>=8e3&&Ne>=400&&Lo("Renaissance baker"),Qt.Cursor.amount+Qt.Grandma.amount>=777&&Lo("The elder scrolls");let a=!0;Object.keys(Do).forEach((e=>{eo(Do[e])||(a=!1)})),a&&Lo("Spooky cookies");let r=!0;if(Object.keys(Ho).forEach((e=>{eo(Ho[e])||(r=!1)})),r&&Lo("Let it snow"),eo("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{eo(e[o].name)&&(t+=1)})),t>=e.length&&Lo("O Fortuna")}}function zo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){ko(),Qt[e].amount+=t;const o=Qt[e];"Cursor"===e?(o.amount>=1&&Lo("Click"),o.amount>=2&&Lo("Double-click"),o.amount>=50&&Lo("Mouse wheel"),o.amount>=100&&Lo("Of Mice and Men"),o.amount>=200&&Lo("The Digital"),o.amount>=300&&Lo("Extreme polydactyly"),o.amount>=400&&Lo("Dr. T"),o.amount>=500&&Lo("Thumbs, phalanges, metacarpals"),o.amount>=600&&Lo("With her finger and her thumb"),o.amount>=700&&Lo("Gotta hand it to you"),o.amount>=800&&Lo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Lo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Fe;return Ao(),Io(),n!==Fe&&Ao(),Ie-Game.cookiesPs}(o,e),1!==e&&(Pe=1)})),t}function Vo(){Object.keys(Game.Objects).forEach((e=>{mt[e].price=Wo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),ht[e].price=Wo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),gt[e].price=Wo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function _o(){mt=zo(1),ht=zo(10),gt=zo(100),Gt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){ko(),"Shimmering veil [on]"===qt[e].name?qt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===qt[e].name?qt["Golden switch [off]"].bought=0:qt[e].bought=(qt[e].bought+1)%2,qt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ne+=1),"Elder Pledge"===e?(Oe+=1,Oe>0&&Lo("Elder nap"),Oe>=5&&Lo("Elder slumber")):"Elder Covenant"===e?Lo("Elder calm"):"Prism heart biscuits"===e?Lo("Lovely cookies"):"Heavenly key"===e&&Lo("Wholesome");const t=Fe;Ao(),Io(),t!==Fe&&Ao();const o=function(){let e=0;eo("Thousand fingers")&&(e+=.1),eo("Million fingers")&&(e*=5),eo("Billion fingers")&&(e*=10),eo("Trillion fingers")&&(e*=20),eo("Quadrillion fingers")&&(e*=20),eo("Quintillion fingers")&&(e*=20),eo("Sextillion fingers")&&(e*=20),eo("Septillion fingers")&&(e*=20),eo("Octillion fingers")&&(e*=20),eo("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Qt).forEach((e=>{t+=Qt[e].amount})),t-=Qt.Cursor.amount,e*=t,eo("Plastic mouse")&&(e+=.01*Ie),eo("Iron mouse")&&(e+=.01*Ie),eo("Titanium mouse")&&(e+=.01*Ie),eo("Adamantium mouse")&&(e+=.01*Ie),eo("Unobtainium mouse")&&(e+=.01*Ie),eo("Eludium mouse")&&(e+=.01*Ie),eo("Wishalloy mouse")&&(e+=.01*Ie),eo("Fantasteel mouse")&&(e+=.01*Ie),eo("Nevercrack mouse")&&(e+=.01*Ie),eo("Armythril mouse")&&(e+=.01*Ie),eo("Technobsidian mouse")&&(e+=.01*Ie),eo("Plasmarble mouse")&&(e+=.01*Ie),eo("Miraculite mouse")&&(e+=.01*Ie),eo("Fortune #104")&&(e+=.01*Ie);let o=1;if(eo("Santa's helpers")&&(o*=1.1),eo("Cookie egg")&&(o*=1.1),eo("Halo gloves")&&(o*=1.1),eo("Dragon claw")&&(o*=1.03),eo("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,eo("Luminous gloves")?20:10)),o*=Zt("click"),Qt.Temple.minigameLoaded&&to){const e=to("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Kt("Dragon Cursor");let n=o*Game.ComputeCps(1,eo("Reinforced index finger")+eo("Carpal tunnel prevention cream")+eo("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Ie-Game.cookiesPs,o]:[Ie-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Gt[t]={bonus:Game.cookiesPs-Ge},1===e.CalcWrink?Gt[t].bonus-=we:2===e.CalcWrink&&(Gt[t].bonus-=ve),Number.isFinite(Gt[t].bonus)||(Gt[t].bonus=0)):(Gt[t]={},o[0]&&(Gt[t].bonus=o[0]),o[1]&&(Gt[t].bonusMouse=o[1]))}))}function Xo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Pt=Xo(7,e,lt),Mt=2*Pt[1]/lt,St=Pt[2]/60/60/6/rt,Nt=Xo(6,e,st),Bt=2*Nt[1]/st,Et=Nt[2]/60/60/6/rt,Wt=Xo(7,7*e,lt),Ot=2*Wt[1]/lt,Ft=Wt[2]/60/60/6/rt,jt=Xo(6,7*e,st),Lt=2*jt[1]/st,At=jt[2]/60/60/6/rt}function qo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Me,i=Math.max(0,o-Se)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?xt+=e:"cookie"===o.pool?Tt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(vt+=e)}}))}function Ko(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),pt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(pt*=2)}}function Jo(){qe=900*at/.15,qe*=rt;const e=xo();e>0?qe/=e:qe=0,Ye=lt*(.15*qe)+13,Ke=st*(.15*qe)+13,Je=7*qe,Ze=lt*(.15*Je)+13,et=st*(.15*Je)+13,tt=2*qe,ot=.15*tt,nt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountnt&&(nt=2*Game.Objects[e].price,it=e)}))}function Zo(){let e=1,t=1,o=1;eo("Green yeast digestives")&&(o*=1.01),eo("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),lt=o*e,st=o*t,rt=1,0===Game.shimmerTypes.golden.n&&(rt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function en(){ft=0,Ct=0,yt=[0,null];for(let e=0;eyt[0]&&(yt=[t,e]))}}function tn(){go(),en(),Jo(),Zo(),Qo(),Yo(),Ko(),de=new Po(q[q.length-1]),pe=new Po(q[q.length-1]),ue=new Po(q[q.length-1]),me=new Po(q[q.length-1]),he=new Po(Y[Y.length-1]),ge=new Po(5),qo(),Bo(),_o(),Vo(),Fo()}const on={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,Colours:{Blue:"#4bb8f0",Green:"#00ff00",Yellow:"#ffff00",Orange:"#ff7f00",Red:"#ff0000",Purple:"#ff00ff",Gray:"#b3b3b3",Pink:"#ff1493",Brown:"#8b4513"},BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},nn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function an(){1===e.BotBar?(l("CMBotBar").style.display="",po()):l("CMBotBar").style.display="none",mo()}function rn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),po(),io(),ao()}function ln(){let t="";for(let o=0;o0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class un extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const mn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){Ue=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Aabreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){rn()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){rn()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){rn()})),ScaleCutoff:new un("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=$:Game.sayTime=M.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){io()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new un("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),Colours:new class extends cn{constructor(e,t,o,n){super(e,t),this.desc=o,this.func=n}}("colour","Colours",{Blue:"Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels",Green:"Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels",Yellow:"Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels",Orange:"Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels",Red:"Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels",Purple:"Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels",Gray:"Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar",Pink:"Standard colour is pink. Used for Dragonflight bar",Brown:"Standard colour is brown. Used for Dragon Harvest bar"},(function(){ln()})),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){an()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){ho()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),mo()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ao()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ao()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){io()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ao()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(ae).forEach((e=>{ae[e].style.display="block",ae[e].style.left=Vt[e].l.style.left,ae[e].style.top=Vt[e].l.style.top})):Object.keys(ae).forEach((e=>ae[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){e.WrinklerButtons?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new un("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){To()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new un("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){nn(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new pn("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){nn(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new pn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){nn(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new pn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new pn("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){nn(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new pn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){nn(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new pn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){nn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new pn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function hn(){return JSON.stringify({settings:e,version:"2.031.6"})}function gn(){if(Xe!==Game.dragonLevel||Ue){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Qt[e]=yo(e)})),qt=[],Object.keys(Game.Upgrades).forEach((e=>{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Achievements).forEach((e=>{Yt[e]=fo(e)})),ko()}let yn=!1;function bn(t,o){1===e[o]&&3===t&&!1===yn||1===t?(l("CMWhiteScreen").style.opacity="0.5",3===t?(l("CMWhiteScreen").style.display="inline",setTimeout((function(){bn(2,o)}),1e3/Game.fps)):setTimeout((function(){bn(0,o)}),1e3/Game.fps)):2===t?(l("CMWhiteScreen").style.opacity="1",setTimeout((function(){bn(1,o)}),1e3/Game.fps)):0===t&&(l("CMWhiteScreen").style.display="none")}function kn(t,o,n,i){if((1===e[o]||i)&&!1===yn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Gn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===yn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function wn(){if(ne!==Game.OnAscend&&(ne=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(an(),ho()),uo()),!Game.OnAscend&&0===Game.AscendTimer){a!==Object.keys(Game.mods).length&&(Cn(),tn(),a=Object.keys(Game.mods).length),Ue&&(_o(),Game.Has("Golden switch [off]")?(ko(),qt["Golden switch [off]"].bought=0,Ao(),at=Ie):at=Game.cookiesPs,Zo(),Jo(),Yo(),Qo(),gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Xt[e][t]=fn(e,t)}(),Ko(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;ko();let t=2;5!==Ae&&18!==Ae||(t-=1),5!==je&&18!==je||(t-=1),Ae=5,je=18;for(let e=0;e{Qt[t].amount>0&&(e=t)})),Qt[e].amount-=1,Ee-=1}return Object.keys(Qt).forEach((t=>{const o=Qt[t];e+=no(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),_t=e}(),Ue=0);const t=Game.auraMult("Fierce Hoarder")>0;!Be&&t?(Be=!0,Pe=1):Be&&!t&&(Be=!1,Pe=1),Pe&&(Vo(),Pe=0),function(){en(),Fo(),function(){bt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}kt=e,bt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Bo(),qo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);$t=se(e/ro())}(),k=0,Vt={},Object.keys(Game.shimmers).forEach((e=>{Vt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],k+=1)})),Object.keys(ae).forEach((e=>{void 0===Vt[e]&&(ae[e].parentNode.removeChild(ae[e]),delete ae[e])})),C!==Game.shimmerTypes.golden.n?(C=Game.shimmerTypes.golden.n,C&&(y{void 0===ae[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},ae[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),y=k,0===k&&(Rt=0)):1===e.GCTimer&&C&&Object.keys(ae).forEach((e=>{ae[e].style.opacity=Vt[e].l.style.opacity,ae[e].style.transform=Vt[e].l.style.transform,ae[e].textContent=Math.ceil(Vt[e].life/Game.fps)})),g!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(g=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,g&&(bn(3,"FortuneFlash"),kn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Gn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),h!==Game.shimmerTypes.reindeer.spawned&&(h=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(Ut=Game.shimmers[e])})),bn(3,"SeaFlash"),kn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Gn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&f!==Game.Objects.Farm.minigame.nextStep&&(0!==f&&f0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>G?(G=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?bn(3,"WrinklerMaxFlash"):bn(3,"WrinklerFlash"),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?kn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):kn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Gn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Gn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):G=t}}()}}function vn(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${hn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function xn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t;let o=!1;Object.keys(on).forEach((t=>{void 0===e[t]?(o=!0,e[t]=on[t]):"Header"!==t&&"Colors"!==t?-1===t.indexOf("SoundURL")?e[t]>-1&&e[t]{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=on[t][n])})):Object.keys(on.Colors).forEach((n=>{void 0!==e[t][n]&&"string"==typeof e[t][n]||(o=!0,e[t][n]=on[t][n])}))})),o&&vn(),wn(),Object.keys(on).forEach((e=>{"Header"!==e&&void 0!==mn[e].func&&mn[e].func()}))}else xn(on)}function Tn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Mn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Wo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${le(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${ce((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(le(Game.Objects[o].bulkPrice)).join(le((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ee=t,te=o,Mo(),l("tooltip").innerHTML}function Sn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(x[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Pn(){if(!u&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];d=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){d(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),vn()}function Ln(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Wn(o),Game.UpdateMenu()},n.appendChild(i),n}function An(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function jn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Dn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Ln("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+lo()0&&(t.appendChild(An("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(le(e)))),t.appendChild(An("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(se(e/ct)))))}const l=function(e){let t=Game.cookiesPs;ko(),0===qt["Heavenly key"].bought&&(qt["Heavenly chip secret"].bought=1,qt["Heavenly cookie stand"].bought=1,qt["Heavenly bakery"].bought=1,qt["Heavenly confectionery"].bought=1,qt["Heavenly key"].bought=1,Ao(),t=Ie,ko()),Dt>=1e6&&Lo("Sacrifice"),Dt>=1e9&&Lo("Oblivion"),Dt>=1e12&&Lo("From scratch"),Dt>=1e15&&Lo("Nihilism"),Dt>=1e18&&Lo("Dematerialize"),Dt>=1e21&&Lo("Nil zero zilch"),Dt>=1e24&&Lo("Transcendence"),Dt>=1e27&&Lo("Obliterate"),Dt>=1e30&&Lo("Negative void"),Dt>=1e33&&Lo("To crumbs, you say?"),Dt>=1e36&&Lo("You get nothing"),Dt>=1e39&&Lo("Humble rebeginnings"),Dt>=1e42&&Lo("The end of the world"),Dt>=1e45&&Lo("Oh, you're back"),Dt>=1e48&&Lo("Lazarus"),Dt>=1e51&&Lo("Smurf account"),Dt>=1e54&&Lo("If at first you don't succeed"),qt["Heavenly chip secret"].bought=1,qt["Heavenly cookie stand"].bought=1,qt["Heavenly bakery"].bought=1,qt["Heavenly confectionery"].bought=1,qt["Heavenly key"].bought=1,Le=e;const o=Fe;Ao(),Io(),o!==Fe&&Ao();const n=Ie-t;return Le=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(le(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(An("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(An("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(An("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(An("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Ln("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${le(ft)} / ${le(Ct)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Tn()},e.appendChild(t),o.appendChild(An("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${le(yt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==yt[1]&&(Game.wrinklers[yt[1]].hp=0)},n.appendChild(i),o.appendChild(An("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==yt[1]?yt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Do).forEach((e=>{Game.Has(Do[e])||(n.push(Do[e]),o=!0)}));const i=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(i.push(Ho[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=[];Object.keys(Uo).forEach((e=>{Game.HasUnlocked(Uo[e])||(s.push(Uo[e]),o=!0)}));const c=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),d=Game.Has("Century egg");if(("christmas"===Game.season||o||c||d)&&(t.appendChild(Ln("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(An("basic","Halloween cookies left to buy",jn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}t.appendChild(An("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${le(100*(1-e))}% / ${le(100*(1-.9*e))}%`)))}if(0!==i.length){t.appendChild(An("basic","Christmas cookies left to buy",jn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}t.appendChild(An("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${le(100*(1-e))}%`)))}0!==a.length&&t.appendChild(An("basic","Valentine cookies left to buy",jn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(An("basic","Normal easter eggs left to unlock",jn(r))),t.appendChild(An("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${le(100*e(.98)[0])}% / ${le(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(An("basic","Rare easter eggs left to unlock",jn(l))),t.appendChild(An("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${le(100*e(.98)[1])}% / ${le(100*e(.9)[1])}%`)))),0!==s.length&&t.appendChild(An("basic","Rare plant drops left to unlock",jn(s))),"christmas"===Game.season&&t.appendChild(An("basic","Reindeer reward",document.createTextNode(le(pt)))),c&&t.appendChild(An("withTooltip","Chocolate egg cookies",document.createTextNode(le(ut)),"ChoEggTooltipPlaceholder")),d&&t.appendChild(An("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(dt-1))/100+"%")))}return t}()),o.appendChild(Ln("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(An("basic",`Average Cookies Per Second (Past ${q[e.AvgCPSHist]<60?`${q[e.AvgCPSHist]} seconds`:q[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(le(ro(),3)))),o.appendChild(An("basic",`Average Cookie Clicks Per Second (Past ${Y[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(le(wt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(jo).forEach((t=>{Game.Has(jo[t])||e.push(jo[t])})),0!==e.length&&o.appendChild(An("basic","Fortune Upgrades Left to Buy",jn(e)))}if(e.ShowMissedGC&&o.appendChild(An("basic","Missed Golden Cookies",document.createTextNode(le(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(An("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(vt){const t=vt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=vt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}}}))}const Hn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Rn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Un(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Wn(t),Game.UpdateMenu()},n.appendChild(i),n}function $n(t){const o=document.createElement("div");if(o.className="listing","bool"===mn[t].type){const n=document.createElement("a");mn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=On+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===mn[t].label.length?(e[t]=0,mn[t].toggle&&(l(On+t).className="option off")):l(On+t).className="option",void 0!==mn[t].func&&mn[t].func(),l(On+t).innerHTML=mn[t].label[e[t]],vn()}(t)},n.textContent=mn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=mn[t].desc,o.appendChild(i),o}if("vol"===mn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=mn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Fn(t)},r.onchange=function(){Fn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){kn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===mn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${mn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=On+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${On+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,vn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=mn[t].desc,o.appendChild(s),o}if("color"===mn[t].type){o.className="";for(let t=0;tthis.max&&console.log("TEST"),e[t]=this.value,vn(),rn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=mn[t].desc,o.appendChild(a),o}return o}function In(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function zn(){M.Beautify=Beautify,Beautify=le,M.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){M.CalculateGains(),Ue=1},M.tooltip={},M.tooltip.draw=Game.tooltip.draw,M.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){M.tooltip.drawMod(e,t,o)},M.tooltip.update=Game.tooltip.update,M.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){M.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},M.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){In(M.UpdateWrinklers)},M.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){In(M.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){In(Game.ClickCookie)}),!1),M.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){M.RebuildUpgrades(),T=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},M.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=Qt[Game.ObjectsById[e].name].name;Qt[o].amount-=1,Ee-=1,t=Qt[o].basePrice*Game.priceIncrease**Math.max(0,Qt[o].amount-1-Qt[o].free),t=Game.modifyBuildingPrice(Qt[o],t),t=Math.ceil(t);break}const o=Fe;return Ao(),Io(),o!==Fe&&Ao(),[Ie-Game.cookiesPs,t]}(t),n=se(o/(e+Game.cookiesPs)),i=le(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${le(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},M.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){M.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},M.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Nn().picker&&void 0!==Nn().picker.owner||(M.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Hn).forEach((t=>{const n=Un(t,Hn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys(Rn).forEach((t=>{const n=Un(t,Rn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(mn).forEach((e=>{mn[e].group===t&&o.appendChild($n(e))}))})):Object.keys(mn).forEach((e=>{mn[e].group===t&&o.appendChild($n(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){xn(on)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Dn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Wn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},M.sayTime=Game.sayTime,$=function(e,t){return Number.isNaN(e)||e<=0?M.sayTime(e,t):se(e/Game.fps,1)},M.Logic=Game.Logic,Game.Logic=function(){M.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),re=`${Game.OnAscend?"Ascending! ":""}${le(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=re;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,g&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=h?`[R${Math.ceil(Ut.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=re;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),g&&(t=!0,e+="[F]"),"christmas"===Game.season&&h&&(e+=`[R${Math.ceil(Ut.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${le(Game.prestige)}.
(CpS +${le(Game.prestige)}%)`,n+='
'),n+=Se<1?"Ascending now would grant you no prestige.":Se<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${le(Se)} prestige levels (+${le(Se)}% CpS)
and ${le(Se)} heavenly chips to spend.`,n+='
',n+=`You need ${le(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${$t} to reach the next level and you are making ${le(ct,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Vn(){Cn(),Jo(),tn(),a=Object.keys(Game.mods).length,w=document.createElement("style"),w.type="text/css",w.id="CMCSS",document.head.appendChild(w),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=S+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",N)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",B)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",B)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",B)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{co(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=so("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:L},{id:"CMTimerBarGCBar",color:W}]);e.appendChild(t);const o=so("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:L},{id:"CMTimerBarRenBar",color:O}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=P+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(B,"Better than the best PP of a building option")),e.appendChild(o(E,"Same as the best PP building option")),e.appendChild(o(N,"Within the top 10 of PP for buildings")),e.appendChild(o(O,"Within the top 20 of PP for buildings")),e.appendChild(o(F,"Within the top 30 of PP for buildings")),e.appendChild(o(W,"Outside of the top 30 of PP for buildings")),e.appendChild(o(L,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=S+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",B)),e.appendChild(o("CMUpgradeBarGreen",E)),e.appendChild(o("CMUpgradeBarYellow",N)),e.appendChild(o("CMUpgradeBarOrange",O)),e.appendChild(o("CMUpgradeBarRed",F)),e.appendChild(o("CMUpgradeBarPurple",W)),e.appendChild(o("CMUpgradeBarGray",L)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMWhiteScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(H).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(H[e][0],H[e][1],H[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Tn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==yt[1]&&(Game.wrinklers[yt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(v[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(r=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("s","Lump")}),"this"),Game.tooltip.wobble()}),m=Game.LoadMinigames,Game.LoadMinigames=function(){m(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Sn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Bn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){I=1},l("backgroundLeftCanvas").onmouseout=function(){I=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{V[e]=0}))},zn(),Bn(),Game.CalculateGains(),xn(),U=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const _n={init:function(){yn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Vn(),Game.registerHook("draw",So),Game.registerHook("logic",wn),yn=!1)},load:function(e){const t=JSON.parse(e);Cn(),xn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:hn};Game.registerMod("CookieMonster",_n)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index 82003b5f..9421e77e 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};const t=["","","M","G","T","P","E","Z","Y"],n=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],i=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let a,r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w=[],x=[],T=[],M={};const S="CMText",B="CMBack",P="Blue",E="Green",N="Yellow",O="Orange",F="Red",W="Purple",L="Gray",A="Pink",j="Brown",U=[L,P,E,N,O,F,W,A,j],D=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],H={};let R,$,I=0,z=-1,V=[],_=1,X=1,Q=1;const q=[10,15,30,60,300,600,900,1800],Y=[1,5,10,15,30],K={Frenzy:N,"Dragon Harvest":j,"Elder frenzy":E,Clot:F,"Click frenzy":P,Dragonflight:A};let J,Z,ee,te,oe,ne,ie,ae={},re="";function le(o,a,r){const l=e.ScaleDecimals+1;if(o===1/0)return"Infinity";if(void 0===o)return"0";if(0===e.Scale)return M.Beautify(o,a);if(Number.isFinite(o)){let s="";if(0===o)return o.toString();if(o>.001&&o=.01&&o=.01&&o=.01&&o315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function ce(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=E):(n=se(t),o=t>300?F:t>60?O:N),{text:n,color:o}}let de,pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Be,Pe,Ee,Ne,Oe,Fe,We,Le,Ae,je,Ue,De,He,Re,$e,Ie,ze,Ve=0,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=1,lt=1,st=1,ct=0,dt=0,pt=0,ut=0,mt={},ht={},gt={},ft=0,Ct=0,yt=[0,null],bt=0,kt=0,Gt={},vt={},wt={},xt={},Tt={},Mt=0,St=0,Bt=[],Pt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Ut=0,Dt=0,Ht={},Rt={},$t=0,It=0,zt=[],Vt={},_t=0,Xt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Qt=[],qt=[],Yt=[];function Kt(e){let t=0;return Game.dragonAuras[Ae].name!==e&&Game.dragonAuras[je].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Ae].name&&"Reality Bending"!==Game.dragonAuras[je].name||(t+=.1),t}function Jt(){let e=.25;return e*=1+Kt("Earth Shatterer"),e}function Zt(e,t){return void 0===$e[e]?void 0===t?1:t:$e[e]}function eo(e){const t=qt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function to(e){if(Game.hasGod){void 0===Qt.Temple.minigame&&(Qt.Temple.minigame=Game.Objects.Temple.minigame);const t=Qt.Temple.minigame.gods[e];if(Ue===t.id)return 1;if(De===t.id)return 2;if(He===t.id)return 3}return!1}function oo(e,t){let o=t;if(eo("Season savings")&&(o*=.99),eo("Santa's dominion")&&(o*=.99),eo("Faberge egg")&&(o*=.99),eo("Divine discount")&&(o*=.99),eo("Fortune #100")&&(o*=.99),o*=1-.02*Kt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&eo(e.fortune.name)&&(o*=.93),o*=Zt("buildingCost"),Qt.Temple.minigameLoaded){const e=to("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function no(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function io(){let t=Game.buyBulk;if(1===Game.buyMode?X=t:t=X,1===t?t=mt:10===t?t=ht:100===t&&(t=gt),1===Game.buyMode?1===e.BuildColor?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e.Colors[t[o].color]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(mt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=le(no(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(mt).map((e=>{const t=mt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const t=mt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eU.indexOf(t.color)?1:U.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?_=i:i=_,1===i&&(i=mt),10===i&&(i=ht),100===i&&(i=gt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=le(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=S+i[o].color,n=e.PPDisplayTime?se(Math.round(i[o].pp)):le(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=ce((Game.Objects[o].bulkPrice-(Game.cookies+lo()))/ro());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=S+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&eo(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(eo(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&eo(e.fortune.name)&&(t*=1.07),e.grandma&&eo(e.grandma.name)&&(t*=1+.01*Qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&eo(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function yo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;eo("Thousand fingers")&&(t+=.1),eo("Million fingers")&&(t*=5),eo("Billion fingers")&&(t*=10),eo("Trillion fingers")&&(t*=20),eo("Quadrillion fingers")&&(t*=20),eo("Quintillion fingers")&&(t*=20),eo("Sextillion fingers")&&(t*=20),eo("Septillion fingers")&&(t*=20),eo("Octillion fingers")&&(t*=20),eo("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Qt).forEach((e=>{"Cursor"!==Qt[e].name&&(n+=Qt[e].amount)})),t*=n,o*=Co(e),o*=Game.magicCpS("Cursor"),o*=Zt("cursorCps"),Game.ComputeCps(.1,eo("Reinforced index finger")+eo("Carpal tunnel prevention cream")+eo("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{eo(Game.GrandmaSynergies[e])&&(o*=2)})),eo("Bingo center/Research facility")&&(o*=4),eo("Ritual rolling pins")&&(o*=2),eo("Naughty list")&&(o*=2),eo("Elderwort biscuits")&&(o*=1.02),o*=Zt("grandmaCps"),eo("Cat ladies"))for(let e=0;e{"Grandma"!==Qt[e].name&&(i+=Qt[e].amount)})),o*=1+.01*Kt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=Co(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function bo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Qt).forEach((t=>{Qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(eo("Starlove")&&(e=3),Game.hasGod){const t=to("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function ko(){Ne=Game.UpgradesOwned,Oe=Game.pledges,Fe=Game.AchievementsOwned,We=Game.heavenlyPower,Le=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Qt[e];void 0===o&&(Qt[e]=yo(e),o=Qt[e],co(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ue=t.minigame.slot[0],De=t.minigame.slot[1],He=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e]),o.bought=t.bought,qt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Yt[e];void 0===o&&(Yt[e]=fo(e),o=Yt[e]),o.won=t.won,Yt[e]=o})),go(),Ae=Ve,je=_e}function Go(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(Go("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(Go("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(Go("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(Go("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ee){e.appendChild(Go("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function wo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function To(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Mo(){if(ko(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ee?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?Q=t:t=Q,1===Game.buyBulk?t=mt:10===Game.buyBulk?t=ht:100===Game.buyBulk&&(t=gt),J=Game.Objects[te].bulkPrice,Z=t[te].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=le(Z,2);const o=Math.round(Z/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=S+t[te].color,e.PPDisplayTime?l("CMTooltipPP").textContent=se(t[te].pp):l("CMTooltipPP").textContent=le(t[te].pp,2),l("CMTooltipPP").className=S+t[te].color;const n=ce((J-(Game.cookies+lo()))/ro());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[te[1]][te[0]][0]-1].matureBase,o=t.plantsById[t.plot[te[1]][te[0]][0]-1].name;l("CMTooltipBorder").appendChild(Go("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${le(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${le(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${le(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${le(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ee?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(Go("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=so(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==K[Game.buffs[t].name]?K[Game.buffs[t].name]:W,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ie!==n&&(ie=n,mo())}}(),po(),Mo(),function(){if(1===e.TooltipWrink&&1===I){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===V[t]||void 0===V[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),z=t,V[t]=1}}else V[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[z],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[z].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=le(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,le(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Po(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+_t;Game.cpsSucked>0&&(o+=ft),Ut=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-fe,i=Math.max(0,Game.cookies-Ce)/n,a=Math.max(0,ft-ye)/n,r=Math.max(0,yt[0]-be)/n,l=Math.max(0,o-ut)/n,s=(Game.cookieClicks-ke)/n;for(let e=0;ezt[30][0]?F:W,0!==Number(e.PPSecondsLowerLimit)&&o/ro()0&&(n=F),n}function No(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=L;else{t[n].color=Eo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+lo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||zt.push([t[n].pp,o])}))}function Fo(){!function(){It=1/0,zt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Oo(mt,1),Oo(ht,10),Oo(gt,100),zt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;zt[t][1]>Game.cookies&&(t+=1,zt.length!==t+1););It=zt[e.PPExcludeTop][t],No(mt,1),No(ht,10),No(gt,100)}(),Object.keys(Gt).forEach((e=>{Game.cookiesPs?Gt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+lo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Gt[e].bonus:Gt[e].pp=Game.Upgrades[e].getPrice()/Gt[e].bonus,Number.isNaN(Gt[e].pp)&&(Gt[e].pp=1/0),Gt[e].color=Eo(Gt[e],Game.Upgrades[e].getPrice())}))}function Wo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),$e=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Le)*We*function(){let e=0;if(eo("Heavenly chip secret")&&(e+=.05),eo("Heavenly cookie stand")&&(e+=.2),eo("Heavenly bakery")&&(e+=.25),eo("Heavenly confectionery")&&(e+=.25),eo("Heavenly key")&&(e+=.25),e*=1+.05*Kt("Dragon God"),eo("Lucky digit")&&(e*=1.01),eo("Lucky number")&&(e*=1.01),eo("Lucky payout")&&(e*=1.01),Game.hasGod){const t=to("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=Zt("cps"),eo("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];eo(o.name)&&("function"==typeof o.power?e*=1+.01*qt[o.name].power(qt[o.name]):e*=1+.01*o.power)})),eo("Specialized chocolate chips")&&(e*=1.01),eo("Designer cocoa beans")&&(e*=1.02),eo("Underworld ovens")&&(e*=1.03),eo("Exotic nuts")&&(e*=1.04),eo("Arcane sugar")&&(e*=1.05),eo("Increased merriness")&&(e*=1.15),eo("Improved jolliness")&&(e*=1.15),eo("A lump of coal")&&(e*=1.01),eo("An itchy sweater")&&(e*=1.01),eo("Santa's dominion")&&(e*=1.2),eo("Fortune #100")&&(e*=1.01),eo("Fortune #101")&&(e*=1.07),eo("Dragon scale")&&(e*=1.03);let o=1;if(to){let t=to("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=to("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=to("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=to("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=to("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}eo("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Fe/25;let i=1;if(eo("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Kt("Breath of Milk"),to){const e=to("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=Zt("milk");let a=1;eo("Kitten helpers")&&(a*=1+.1*n*i),eo("Kitten workers")&&(a*=1+.125*n*i),eo("Kitten engineers")&&(a*=1+.15*n*i),eo("Kitten overseers")&&(a*=1+.175*n*i),eo("Kitten managers")&&(a*=1+.2*n*i),eo("Kitten accountants")&&(a*=1+.2*n*i),eo("Kitten specialists")&&(a*=1+.2*n*i),eo("Kitten experts")&&(a*=1+.2*n*i),eo("Kitten consultants")&&(a*=1+.2*n*i),eo("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),eo("Kitten marketeers")&&(a*=1+.15*n*i),eo("Kitten analysts")&&(a*=1+.125*n*i),eo("Kitten executives")&&(a*=1+.115*n*i),eo("Kitten angels")&&(a*=1+.1*n*i),eo("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Qt).forEach((e=>{const t=Qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&eo("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Ie+=t.amount*a})),eo('"egg"')&&(Ie+=9),e*=a;let r=1;if(eo("Chicken egg")&&(r*=1.01),eo("Duck egg")&&(r*=1.01),eo("Turkey egg")&&(r*=1.01),eo("Quail egg")&&(r*=1.01),eo("Robin egg")&&(r*=1.01),eo("Ostrich egg")&&(r*=1.01),eo("Cassowary egg")&&(r*=1.01),eo("Salmon roe")&&(r*=1.01),eo("Frogspawn")&&(r*=1.01),eo("Shark egg")&&(r*=1.01),eo("Turtle egg")&&(r*=1.01),eo("Ant larva")&&(r*=1.01),eo("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),dt=1+.1*(1-(1-e/100)**3),r*=dt}e*=r,eo("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Kt("Radiant Appetite");const l=Ie*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Lo(Game.CpsAchievements[e].name)})),ze=l;const{n:s}=Game.shimmerTypes.golden,c=Kt("Dragon's Fortune");for(let t=0;t{eo(e[o])&&(t+=.1)}))}e*=t}if(eo("Shimmering veil [off]")){let t=.5;eo("Reinforced membrane")&&(t+=.1),e*=1+t}eo("Magic shenanigans")&&(e*=1e3),eo("Occult obstruction")&&(e*=0),Ie=Game.runModHookOnValue("cps",Ie),e*=xo(),Ie*=e}const jo=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Uo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Do=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ho=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Ro=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function $o(e){return Yt[e]?Yt[e].won:0}function Io(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{eo(Game.GrandmaSynergies[t])&&(e+=1)})),!$o("Elder")&&e>=7&&Lo("Elder"),!$o("Veteran")&&e>=14&&Lo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Qt).forEach((e=>{t+=Qt[e].amount,i=Math.min(Qt[e].amount,i),$o("Mathematician")||Qt[e].amount=1&&Lo("One with everything"),1===o&&Lo("Mathematician"),1===n&&Lo("Base 10"),i>=100&&Lo("Centennial"),i>=150&&Lo("Centennial and a half"),i>=200&&Lo("Bicentennial"),i>=250&&Lo("Bicentennial and a half"),i>=300&&Lo("Tricentennial"),i>=350&&Lo("Tricentennial and a half"),i>=400&&Lo("Quadricentennial"),i>=450&&Lo("Quadricentennial and a half"),i>=500&&Lo("Quincentennial"),i>=550&&Lo("Quincentennial and a half"),i>=600&&Lo("Sexcentennial"),t>=100&&Lo("Builder"),t>=500&&Lo("Architect"),t>=1e3&&Lo("Engineer"),t>=2e3&&Lo("Lord of Constructs"),t>=4e3&&Lo("Grand design"),t>=8e3&&Lo("Ecumenopolis"),Ne>=20&&Lo("Enhancer"),Ne>=50&&Lo("Augmenter"),Ne>=100&&Lo("Upgrader"),Ne>=200&&Lo("Lord of Progress"),Ne>=300&&Lo("The full picture"),Ne>=400&&Lo("When there's nothing left to add"),t>=4e3&&Ne>=300&&Lo("Polymath"),t>=8e3&&Ne>=400&&Lo("Renaissance baker"),Qt.Cursor.amount+Qt.Grandma.amount>=777&&Lo("The elder scrolls");let a=!0;Object.keys(Uo).forEach((e=>{eo(Uo[e])||(a=!1)})),a&&Lo("Spooky cookies");let r=!0;if(Object.keys(Do).forEach((e=>{eo(Do[e])||(r=!1)})),r&&Lo("Let it snow"),eo("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{eo(e[o].name)&&(t+=1)})),t>=e.length&&Lo("O Fortuna")}}function zo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){ko(),Qt[e].amount+=t;const o=Qt[e];"Cursor"===e?(o.amount>=1&&Lo("Click"),o.amount>=2&&Lo("Double-click"),o.amount>=50&&Lo("Mouse wheel"),o.amount>=100&&Lo("Of Mice and Men"),o.amount>=200&&Lo("The Digital"),o.amount>=300&&Lo("Extreme polydactyly"),o.amount>=400&&Lo("Dr. T"),o.amount>=500&&Lo("Thumbs, phalanges, metacarpals"),o.amount>=600&&Lo("With her finger and her thumb"),o.amount>=700&&Lo("Gotta hand it to you"),o.amount>=800&&Lo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Lo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Fe;return Ao(),Io(),n!==Fe&&Ao(),Ie-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function Vo(){Object.keys(Game.Objects).forEach((e=>{mt[e].price=Wo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),ht[e].price=Wo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),gt[e].price=Wo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function _o(){mt=zo(1),ht=zo(10),gt=zo(100),Gt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){ko(),"Shimmering veil [on]"===qt[e].name?qt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===qt[e].name?qt["Golden switch [off]"].bought=0:qt[e].bought=(qt[e].bought+1)%2,qt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ne+=1),"Elder Pledge"===e?(Oe+=1,Oe>0&&Lo("Elder nap"),Oe>=5&&Lo("Elder slumber")):"Elder Covenant"===e?Lo("Elder calm"):"Prism heart biscuits"===e?Lo("Lovely cookies"):"Heavenly key"===e&&Lo("Wholesome");const t=Fe;Ao(),Io(),t!==Fe&&Ao();const o=function(){let e=0;eo("Thousand fingers")&&(e+=.1),eo("Million fingers")&&(e*=5),eo("Billion fingers")&&(e*=10),eo("Trillion fingers")&&(e*=20),eo("Quadrillion fingers")&&(e*=20),eo("Quintillion fingers")&&(e*=20),eo("Sextillion fingers")&&(e*=20),eo("Septillion fingers")&&(e*=20),eo("Octillion fingers")&&(e*=20),eo("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Qt).forEach((e=>{t+=Qt[e].amount})),t-=Qt.Cursor.amount,e*=t,eo("Plastic mouse")&&(e+=.01*Ie),eo("Iron mouse")&&(e+=.01*Ie),eo("Titanium mouse")&&(e+=.01*Ie),eo("Adamantium mouse")&&(e+=.01*Ie),eo("Unobtainium mouse")&&(e+=.01*Ie),eo("Eludium mouse")&&(e+=.01*Ie),eo("Wishalloy mouse")&&(e+=.01*Ie),eo("Fantasteel mouse")&&(e+=.01*Ie),eo("Nevercrack mouse")&&(e+=.01*Ie),eo("Armythril mouse")&&(e+=.01*Ie),eo("Technobsidian mouse")&&(e+=.01*Ie),eo("Plasmarble mouse")&&(e+=.01*Ie),eo("Miraculite mouse")&&(e+=.01*Ie),eo("Fortune #104")&&(e+=.01*Ie);let o=1;if(eo("Santa's helpers")&&(o*=1.1),eo("Cookie egg")&&(o*=1.1),eo("Halo gloves")&&(o*=1.1),eo("Dragon claw")&&(o*=1.03),eo("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,eo("Luminous gloves")?20:10)),o*=Zt("click"),Qt.Temple.minigameLoaded&&to){const e=to("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Kt("Dragon Cursor");let n=o*Game.ComputeCps(1,eo("Reinforced index finger")+eo("Carpal tunnel prevention cream")+eo("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Ie-Game.cookiesPs,o]:[Ie-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Gt[t]={bonus:Game.cookiesPs-Ge},1===e.CalcWrink?Gt[t].bonus-=ve:2===e.CalcWrink&&(Gt[t].bonus-=we),Number.isFinite(Gt[t].bonus)||(Gt[t].bonus=0)):(Gt[t]={},o[0]&&(Gt[t].bonus=o[0]),o[1]&&(Gt[t].bonusMouse=o[1]))}))}function Xo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Xo(7,e,lt),Mt=2*Bt[1]/lt,St=Bt[2]/60/60/6/rt,Nt=Xo(6,e,st),Pt=2*Nt[1]/st,Et=Nt[2]/60/60/6/rt,Wt=Xo(7,7*e,lt),Ot=2*Wt[1]/lt,Ft=Wt[2]/60/60/6/rt,jt=Xo(6,7*e,st),Lt=2*jt[1]/st,At=jt[2]/60/60/6/rt}function qo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Me,i=Math.max(0,o-Se)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?xt+=e:"cookie"===o.pool?Tt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(wt+=e)}}))}function Ko(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),pt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(pt*=2)}}function Jo(){qe=900*at/.15,qe*=rt;const e=xo();e>0?qe/=e:qe=0,Ye=lt*(.15*qe)+13,Ke=st*(.15*qe)+13,Je=7*qe,Ze=lt*(.15*Je)+13,et=st*(.15*Je)+13,tt=2*qe,ot=.15*tt,nt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountnt&&(nt=2*Game.Objects[e].price,it=e)}))}function Zo(){let e=1,t=1,o=1;eo("Green yeast digestives")&&(o*=1.01),eo("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),lt=o*e,st=o*t,rt=1,0===Game.shimmerTypes.golden.n&&(rt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function en(){ft=0,Ct=0,yt=[0,null];for(let e=0;eyt[0]&&(yt=[t,e]))}}function tn(){go(),en(),Jo(),Zo(),Qo(),Yo(),Ko(),de=new Bo(q[q.length-1]),pe=new Bo(q[q.length-1]),ue=new Bo(q[q.length-1]),me=new Bo(q[q.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(5),qo(),Po(),_o(),Vo(),Fo()}const on={BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,BuildColor:1,PPDisplayTime:0,UpBarColor:1,UpgradeBarFixedPos:1,CalcWrink:0,CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,PPOnlyConsiderBuyable:0,ToolWarnBon:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,DragonAuraInfo:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,TimeFormat:0,DetailedTime:1,GrimoireBar:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,Colors:{Blue:"#4bb8f0",Green:"#00ff00",Yellow:"#ffff00",Orange:"#ff7f00",Red:"#ff0000",Purple:"#ff00ff",Gray:"#b3b3b3",Pink:"#ff1493",Brown:"#8b4513"},SortBuildings:0,SortUpgrades:0,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,BulkBuyBlock:0,Header:{BarsColors:1,Calculation:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Tooltip:1,Statistics:1,Notation:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},nn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function an(){1===e.BotBar?(l("CMBotBar").style.display="",po()):l("CMBotBar").style.display="none",mo()}function rn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),po(),io(),ao()}function ln(){let t="";for(let o=0;o0?Ht.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class un extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const mn={BotBar:new dn("bool","BarsColors",["Bottom Bar OFF","Bottom Bar ON"],"Building Information",!0,(function(){an()})),TimerBar:new dn("bool","BarsColors",["Timer Bar OFF","Timer Bar ON"],"Timers of Golden Cookie, Season Popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){ho()})),TimerBarPos:new dn("bool","BarsColors",["Timer Bar Position (Top Left)","Timer Bar Position (Bottom)"],"Placement of the Timer Bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),mo()})),TimerBarOverlay:new dn("bool","BarsColors",["Timer Bar Overlay OFF","Timer Bar Overlay Only Seconds","Timer Bar Overlay Full"],"Overlay on timers displaying seconds and/or percentage left",!0),SortBuildings:new dn("bool","BarsColors",["Sort Buildings: Default","Sort Buildings: PP of x1 purchase","Sort Buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){io()})),SortUpgrades:new dn("bool","BarsColors",["Sort Upgrades: Default","Sort Upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ao()})),BuildColor:new dn("bool","BarsColors",["Building Colors OFF","Building Colors ON"],"Color code buildings",!0,(function(){io()})),PPDisplayTime:new dn("bool","BarsColors",["PP As Value (Standard)","PP As Time Unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),UpBarColor:new dn("bool","BarsColors",["Upgrade Colors/Bar OFF","Upgrade Colors with Bar ON","Upgrade Colors without Bar ON"],"Color code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ao()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ao()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),Colors:new class extends cn{constructor(e,t,o,n){super(e,t),this.desc=o,this.func=n}}("color","BarsColors",{Blue:"Color Blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels",Green:"Color Green. Used to show best PP building, for Blood Frenzy bar, and for various labels",Yellow:"Color Yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels",Orange:"Color Orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels",Red:"Color Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels",Purple:"Color Purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels",Gray:"Color Gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar",Pink:"Color Pink. Used for Dragonflight bar",Brown:"Color Brown. Used for Dragon Harvest bar"},(function(){ln()})),UpgradeBarFixedPos:new dn("bool","BarsColors",["Upgrade Bar Fixed Position OFF","Upgrade Bar Fixed Position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),CalcWrink:new dn("bool","Calculation",["Calculate with Wrinklers OFF","Calculate with Wrinklers ON","Calculate with Single Fattest Wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) Wrinklers",!0,(function(){Re=!0})),CPSMode:new dn("bool","Calculation",["Current Cookies Per Second","Average Cookies Per Second"],"Calculate times using current Cookies Per Second or average Cookies Per Second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS for past 10s","Average CPS for past 15s","Average CPS for past 30s","Average CPS for past 1m","Average CPS for past 5m","Average CPS for past 10m","Average CPS for past 15m","Average CPS for past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average Cookie Clicks for past 1s","Average Cookie Clicks for past 5s","Average Cookie Clicks for past 10s","Average Cookie Clicks for past 15s","Average Cookie Clicks for past 30s"],"How much time average Cookie Clicks should consider",!1),PPExcludeTop:new dn("bool","Calculation",["Don't Ignore Any","Ignore 1st Best","Ignore 1st and 2nd Best","Ignore 1st, 2nd and 3rd Best"],"Makes CookieMonster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Calculation",["Rigidel Mode OFF","Rigidel Mode ON"],'Makes CookieMonster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new un("numscale","Calculation","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),PPOnlyConsiderBuyable:new dn("bool","Calculation",["Don't Ignore Non-Buyable","Ignore Non-Buyable"],"Makes CookieMonster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),ToolWarnBon:new dn("bool","Calculation",["Calculate Tooltip Warning With Bonus CPS OFF","Calculate Tooltip Warning With Bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title Pinned Tab Highlight"],'Update title with Golden Cookie/Season Popup timers; pinned tab highlight only changes the title when a Golden Cookie/Season Popup spawns; "!" means that Golden Cookie/Reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider Game Volume Setting OFF","Consider Game Volume Setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when Golden Cookie spawns",!0,(function(){nn(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on Golden Cookie",!0),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on Golden Cookie",!0),GCVolume:new pn("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a Golden Cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when Fortune Cookie is on the Ticker",!0,(function(){nn(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on Fortune Cookie",!0),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on Fortune Cookie",!0),FortuneVolume:new pn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the Ticker has a Fortune Cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on Season Popup",!0,(function(){nn(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on Season Popup",!0),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on Season Popup",!0),SeaVolume:new pn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when a Season Special spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on Garden Tick",!0),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on Garden Tick",!0),GardVolume:new pn("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){nn(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new pn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a Wrinkler appears",!0,(function(){nn(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a Wrinkler appears",!0),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a Wrinkler appears",!0),WrinklerVolume:new pn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a Wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of Wrinklers has appeared",!0,(function(){nn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxVolume:new pn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of Wrinklers has appeared"),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/Upgrade Tooltip Information OFF","Building/Upgrade Tooltip Information ON"],"Extra information in Building/Upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings Tooltip Amortization Information OFF","Buildings Tooltip Amortization Information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip Lucky Warning OFF","Tooltip Lucky Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip Lucky Frenzy Warning OFF","Tooltip Lucky Frenzy Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip Conjure Warning OFF","Tooltip Conjure Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip Conjure Frenzy Warning OFF","Tooltip Conjure Frenzy Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip Edifice Warning OFF","Tooltip Edifice Warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new un("numscale","Tooltip","Tooltip Warning At x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip Warning Position (Left)","Tooltip Warning Position (Bottom)"],"Placement of the warning boxes",!1,(function(){To()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire Tooltip Information OFF","Grimoire Tooltip Information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler Tooltip OFF","Wrinkler Tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar Lump Tooltip OFF","Sugar Lump Tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden Plots Tooltip OFF","Garden Plots Tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Show Extra Info Pantheon Tooltip OFF","Show Extra Info Pantheon Tooltip ON"],"Shows additional info in the pantheon tooltip",!0),DragonAuraInfo:new dn("bool","Tooltip",["Extra Dragon Aura Info OFF","Extra Dragon Aura Info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing Upgrades OFF","Missing Upgrades ON"],"Shows Missing upgrades in Stats Menu. This feature can be laggy for users with a low amount of unlocked achievements.",!0),UpStats:new dn("bool","Statistics",["Statistics Update Rate (Default)","Statistics Update Rate (1s)"],"Default Game rate is once every 5 seconds",!1),TimeFormat:new dn("bool","Statistics",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Statistics",["Detailed Time OFF","Detailed Time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=$:Game.sayTime=M.sayTime})),GrimoireBar:new dn("bool","Statistics",["Grimoire Magic Meter Timer OFF","Grimoire Magic Meter Timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),HeavenlyChipsTarget:new un("numscale","Statistics","Heavenly Chips Target: ",'Use this to set a Heavenly Chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many Golden Cookies you have missed",!0),Scale:new dn("bool","Notation",["Game's Setting Scale","Metric","Short Scale","Short Scale (Abbreviated)","Scientific Notation","Engineering Notation"],"Change how long numbers are handled",!1,(function(){rn()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){rn()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (Standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){rn()})),ScaleCutoff:new un("numscale","Notation","Notation Cut-off Point: ","The number from which CookieMonster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),GCTimer:new dn("bool","Miscellaneous",["Golden Cookie Timer OFF","Golden Cookie Timer ON"],"A timer on the Golden Cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(ae).forEach((e=>{ae[e].style.display="block",ae[e].style.left=Vt[e].l.style.left,ae[e].style.top=Vt[e].l.style.top})):Object.keys(ae).forEach((e=>ae[e].style.display="none"))})),Favicon:new dn("bool","Miscellaneous",["Favicon OFF","Favicon ON"],"Update favicon with Golden/Wrath Cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","Miscellaneous",["Extra Wrinkler Buttons OFF","Extra Wrinkler Buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){e.WrinklerButtons?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")})),HideSectionsButtons:new dn("bool","Miscellaneous",["Hide Upgrades/Buildings Button OFF","Hide Upgrades/Buildings Button ON"],"Show buttons for hiding and showing the upgrades and buildings section in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function hn(){return JSON.stringify({settings:e,version:"2.031.6"})}function gn(){if(Xe!==Game.dragonLevel||Re){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Qt[e]=yo(e)})),qt=[],Object.keys(Game.Upgrades).forEach((e=>{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Achievements).forEach((e=>{Yt[e]=fo(e)})),ko()}let yn=!1;function bn(t,o){1===e[o]&&3===t&&!1===yn||1===t?(l("CMWhiteScreen").style.opacity="0.5",3===t?(l("CMWhiteScreen").style.display="inline",setTimeout((function(){bn(2,o)}),1e3/Game.fps)):setTimeout((function(){bn(0,o)}),1e3/Game.fps)):2===t?(l("CMWhiteScreen").style.opacity="1",setTimeout((function(){bn(1,o)}),1e3/Game.fps)):0===t&&(l("CMWhiteScreen").style.display="none")}function kn(t,o,n,i){if((1===e[o]||i)&&!1===yn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Gn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===yn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ne!==Game.OnAscend&&(ne=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(an(),ho()),uo()),!Game.OnAscend&&0===Game.AscendTimer){a!==Object.keys(Game.mods).length&&(Cn(),tn(),a=Object.keys(Game.mods).length),Re&&(_o(),Game.Has("Golden switch [off]")?(ko(),qt["Golden switch [off]"].bought=0,Ao(),at=Ie):at=Game.cookiesPs,Zo(),Jo(),Yo(),Qo(),gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Xt[e][t]=fn(e,t)}(),Ko(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;ko();let t=2;5!==Ae&&18!==Ae||(t-=1),5!==je&&18!==je||(t-=1),Ae=5,je=18;for(let e=0;e{Qt[t].amount>0&&(e=t)})),Qt[e].amount-=1,Ee-=1}return Object.keys(Qt).forEach((t=>{const o=Qt[t];e+=no(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),_t=e}(),Re=0);const t=Game.auraMult("Fierce Hoarder")>0;!Pe&&t?(Pe=!0,Be=1):Pe&&!t&&(Pe=!1,Be=1),Be&&(Vo(),Be=0),function(){en(),Fo(),function(){bt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}kt=e,bt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Po(),qo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);$t=se(e/ro())}(),k=0,Vt={},Object.keys(Game.shimmers).forEach((e=>{Vt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Ht=Game.shimmers[e],k+=1)})),Object.keys(ae).forEach((e=>{void 0===Vt[e]&&(ae[e].parentNode.removeChild(ae[e]),delete ae[e])})),C!==Game.shimmerTypes.golden.n?(C=Game.shimmerTypes.golden.n,C&&(y{void 0===ae[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},ae[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),y=k,0===k&&(Ht=0)):1===e.GCTimer&&C&&Object.keys(ae).forEach((e=>{ae[e].style.opacity=Vt[e].l.style.opacity,ae[e].style.transform=Vt[e].l.style.transform,ae[e].textContent=Math.ceil(Vt[e].life/Game.fps)})),g!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(g=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,g&&(bn(3,"FortuneFlash"),kn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Gn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),h!==Game.shimmerTypes.reindeer.spawned&&(h=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(Rt=Game.shimmers[e])})),bn(3,"SeaFlash"),kn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Gn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&f!==Game.Objects.Farm.minigame.nextStep&&(0!==f&&f0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>G?(G=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?bn(3,"WrinklerMaxFlash"):bn(3,"WrinklerFlash"),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?kn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):kn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Gn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Gn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):G=t}}()}}function wn(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${hn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function xn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t;let o=!1;Object.keys(on).forEach((t=>{void 0===e[t]?(o=!0,e[t]=on[t]):"Header"!==t&&"Colors"!==t?-1===t.indexOf("SoundURL")?e[t]>-1&&e[t]{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=on[t][n])})):Object.keys(on.Colors).forEach((n=>{void 0!==e[t][n]&&"string"==typeof e[t][n]||(o=!0,e[t][n]=on[t][n])}))})),o&&wn(),vn(),Object.keys(on).forEach((e=>{"Header"!==e&&void 0!==mn[e].func&&mn[e].func()}))}else xn(on)}function Tn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Mn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Wo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${le(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${ce((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(le(Game.Objects[o].bulkPrice)).join(le((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ee=t,te=o,Mo(),l("tooltip").innerHTML}function Sn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(x[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Bn(){if(!u&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];d=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){d(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),wn()}function Ln(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Wn(o),Game.UpdateMenu()},n.appendChild(i),n}function An(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(H[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function jn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Un(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Ln("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+lo()0&&(t.appendChild(An("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(le(e)))),t.appendChild(An("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(se(e/ct)))))}const l=function(e){let t=Game.cookiesPs;ko(),0===qt["Heavenly key"].bought&&(qt["Heavenly chip secret"].bought=1,qt["Heavenly cookie stand"].bought=1,qt["Heavenly bakery"].bought=1,qt["Heavenly confectionery"].bought=1,qt["Heavenly key"].bought=1,Ao(),t=Ie,ko()),Ut>=1e6&&Lo("Sacrifice"),Ut>=1e9&&Lo("Oblivion"),Ut>=1e12&&Lo("From scratch"),Ut>=1e15&&Lo("Nihilism"),Ut>=1e18&&Lo("Dematerialize"),Ut>=1e21&&Lo("Nil zero zilch"),Ut>=1e24&&Lo("Transcendence"),Ut>=1e27&&Lo("Obliterate"),Ut>=1e30&&Lo("Negative void"),Ut>=1e33&&Lo("To crumbs, you say?"),Ut>=1e36&&Lo("You get nothing"),Ut>=1e39&&Lo("Humble rebeginnings"),Ut>=1e42&&Lo("The end of the world"),Ut>=1e45&&Lo("Oh, you're back"),Ut>=1e48&&Lo("Lazarus"),Ut>=1e51&&Lo("Smurf account"),Ut>=1e54&&Lo("If at first you don't succeed"),qt["Heavenly chip secret"].bought=1,qt["Heavenly cookie stand"].bought=1,qt["Heavenly bakery"].bought=1,qt["Heavenly confectionery"].bought=1,qt["Heavenly key"].bought=1,Le=e;const o=Fe;Ao(),Io(),o!==Fe&&Ao();const n=Ie-t;return Le=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(le(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(An("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(An("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(An("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(An("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Ln("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${le(ft)} / ${le(Ct)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Tn()},e.appendChild(t),o.appendChild(An("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${le(yt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==yt[1]&&(Game.wrinklers[yt[1]].hp=0)},n.appendChild(i),o.appendChild(An("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==yt[1]?yt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(n.push(Uo[e]),o=!0)}));const i=[];Object.keys(Do).forEach((e=>{Game.Has(Do[e])||(i.push(Do[e]),o=!0)}));const a=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(a.push(Ho[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=[];Object.keys(Ro).forEach((e=>{Game.HasUnlocked(Ro[e])||(s.push(Ro[e]),o=!0)}));const c=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),d=Game.Has("Century egg");if(("christmas"===Game.season||o||c||d)&&(t.appendChild(Ln("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(An("basic","Halloween cookies left to buy",jn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}t.appendChild(An("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${le(100*(1-e))}% / ${le(100*(1-.9*e))}%`)))}if(0!==i.length){t.appendChild(An("basic","Christmas cookies left to buy",jn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}t.appendChild(An("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${le(100*(1-e))}%`)))}0!==a.length&&t.appendChild(An("basic","Valentine cookies left to buy",jn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(An("basic","Normal easter eggs left to unlock",jn(r))),t.appendChild(An("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${le(100*e(.98)[0])}% / ${le(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(An("basic","Rare easter eggs left to unlock",jn(l))),t.appendChild(An("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${le(100*e(.98)[1])}% / ${le(100*e(.9)[1])}%`)))),0!==s.length&&t.appendChild(An("basic","Rare plant drops left to unlock",jn(s))),"christmas"===Game.season&&t.appendChild(An("basic","Reindeer reward",document.createTextNode(le(pt)))),c&&t.appendChild(An("withTooltip","Chocolate egg cookies",document.createTextNode(le(ut)),"ChoEggTooltipPlaceholder")),d&&t.appendChild(An("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(dt-1))/100+"%")))}return t}()),o.appendChild(Ln("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(An("basic",`Average Cookies Per Second (Past ${q[e.AvgCPSHist]<60?`${q[e.AvgCPSHist]} seconds`:q[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(le(ro(),3)))),o.appendChild(An("basic",`Average Cookie Clicks Per Second (Past ${Y[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(le(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(jo).forEach((t=>{Game.Has(jo[t])||e.push(jo[t])})),0!==e.length&&o.appendChild(An("basic","Fortune Upgrades Left to Buy",jn(e)))}if(e.ShowMissedGC&&o.appendChild(An("basic","Missed Golden Cookies",document.createTextNode(le(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(An("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(wt){const t=wt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=wt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}}}))}const Dn={BarsColors:"Bars/Colors",Calculation:"Calculation",Notification:"Notification",Tooltip:"Tooltips and additional insights",Statistics:"Statistics",Notation:"Notation",Miscellaneous:"Miscellaneous"},Hn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Rn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Wn(t),Game.UpdateMenu()},n.appendChild(i),n}function $n(t){const o=document.createElement("div");if(o.className="listing","bool"===mn[t].type){const n=document.createElement("a");mn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=On+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===mn[t].label.length?(e[t]=0,mn[t].toggle&&(l(On+t).className="option off")):l(On+t).className="option",void 0!==mn[t].func&&mn[t].func(),l(On+t).innerHTML=mn[t].label[e[t]],wn()}(t)},n.textContent=mn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=mn[t].desc,o.appendChild(i),o}if("vol"===mn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=mn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Fn(t)},r.onchange=function(){Fn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){kn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===mn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${mn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=On+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${On+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,wn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=mn[t].desc,o.appendChild(s),o}if("color"===mn[t].type){o.className="";for(let t=0;tthis.max&&console.log("TEST"),e[t]=this.value,wn(),rn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=mn[t].desc,o.appendChild(a),o}return o}function In(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function zn(){M.Beautify=Beautify,Beautify=le,M.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){M.CalculateGains(),Re=1},M.tooltip={},M.tooltip.draw=Game.tooltip.draw,M.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){M.tooltip.drawMod(e,t,o)},M.tooltip.update=Game.tooltip.update,M.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){M.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},M.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){In(M.UpdateWrinklers)},M.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){In(M.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){In(Game.ClickCookie)}),!1),M.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){M.RebuildUpgrades(),T=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},M.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=Qt[Game.ObjectsById[e].name].name;Qt[o].amount-=1,Ee-=1,t=Qt[o].basePrice*Game.priceIncrease**Math.max(0,Qt[o].amount-1-Qt[o].free),t=Game.modifyBuildingPrice(Qt[o],t),t=Math.ceil(t);break}const o=Fe;return Ao(),Io(),o!==Fe&&Ao(),[Ie-Game.cookiesPs,t]}(t),n=se(o/(e+Game.cookiesPs)),i=le(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${le(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},M.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){M.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},M.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Nn().picker&&void 0!==Nn().picker.owner||(M.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Dn).forEach((t=>{const n=Rn(t,Dn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys(Hn).forEach((t=>{const n=Rn(t,Hn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(mn).forEach((e=>{mn[e].group===t&&o.appendChild($n(e))}))})):Object.keys(mn).forEach((e=>{mn[e].group===t&&o.appendChild($n(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){xn(on)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Un(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Wn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},M.sayTime=Game.sayTime,$=function(e,t){return Number.isNaN(e)||e<=0?M.sayTime(e,t):se(e/Game.fps,1)},M.Logic=Game.Logic,Game.Logic=function(){M.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),re=`${Game.OnAscend?"Ascending! ":""}${le(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=re;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Ht?Ht.wrath?`[W${Math.ceil(Ht.life/Game.fps)}]`:`[G${Math.ceil(Ht.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,g&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=h?`[R${Math.ceil(Rt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=re;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Ht&&(t=!0,Ht.wrath?e+=`[W${Math.ceil(Ht.life/Game.fps)}]`:e+=`[G${Math.ceil(Ht.life/Game.fps)}]`),g&&(t=!0,e+="[F]"),"christmas"===Game.season&&h&&(e+=`[R${Math.ceil(Rt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${le(Game.prestige)}.
(CpS +${le(Game.prestige)}%)`,n+='
'),n+=Se<1?"Ascending now would grant you no prestige.":Se<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${le(Se)} prestige levels (+${le(Se)}% CpS)
and ${le(Se)} heavenly chips to spend.`,n+='
',n+=`You need ${le(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${$t} to reach the next level and you are making ${le(ct,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Vn(){Cn(),Jo(),tn(),a=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColor="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=S+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",N)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",P)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",P)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",P)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{co(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColor="black";const t=so("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:L},{id:"CMTimerBarGCBar",color:W}]);e.appendChild(t);const o=so("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:L},{id:"CMTimerBarRenBar",color:O}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColor="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(P,"Better than the best PP of a building option")),e.appendChild(o(E,"Same as the best PP building option")),e.appendChild(o(N,"Within the top 10 of PP for buildings")),e.appendChild(o(O,"Within the top 20 of PP for buildings")),e.appendChild(o(F,"Within the top 30 of PP for buildings")),e.appendChild(o(W,"Outside of the top 30 of PP for buildings")),e.appendChild(o(L,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=S+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",P)),e.appendChild(o("CMUpgradeBarGreen",E)),e.appendChild(o("CMUpgradeBarYellow",N)),e.appendChild(o("CMUpgradeBarOrange",O)),e.appendChild(o("CMUpgradeBarRed",F)),e.appendChild(o("CMUpgradeBarPurple",W)),e.appendChild(o("CMUpgradeBarGray",L)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMWhiteScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(D).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),H[e]=n}(D[e][0],D[e][1],D[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Tn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==yt[1]&&(Game.wrinklers[yt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(w[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(r=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("s","Lump")}),"this"),Game.tooltip.wobble()}),m=Game.LoadMinigames,Game.LoadMinigames=function(){m(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Sn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Pn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){I=1},l("backgroundLeftCanvas").onmouseout=function(){I=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{V[e]=0}))},zn(),Pn(),Game.CalculateGains(),xn(),R=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const _n={init:function(){yn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Vn(),Game.registerHook("draw",So),Game.registerHook("logic",vn),yn=!1)},load:function(e){const t=JSON.parse(e);Cn(),xn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:hn};Game.registerMod("CookieMonster",_n)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};const t=["","","M","G","T","P","E","Z","Y"],n=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],i=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let a,r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v=[],x=[],T=[],M={};const S="CMText",P="CMBack",B="Blue",E="Green",N="Yellow",O="Orange",F="Red",W="Purple",L="Gray",A="Pink",j="Brown",D=[L,B,E,N,O,F,W,A,j],H=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let U,$,I=0,z=-1,V=[],_=1,X=1,Q=1;const q=[10,15,30,60,300,600,900,1800],Y=[1,5,10,15,30],K={Frenzy:N,"Dragon Harvest":j,"Elder frenzy":E,Clot:F,"Click frenzy":B,Dragonflight:A};let J,Z,ee,te,oe,ne,ie,ae={},re="";function le(o,a,r){const l=e.ScaleDecimals+1;if(o===1/0)return"Infinity";if(void 0===o)return"0";if(0===e.Scale)return M.Beautify(o,a);if(Number.isFinite(o)){let s="";if(0===o)return o.toString();if(o>.001&&o=.01&&o=.01&&o=.01&&o315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function ce(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=E):(n=se(t),o=t>300?F:t>60?O:N),{text:n,color:o}}let de,pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Re,Ue,$e,Ie,ze,Ve=0,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=1,lt=1,st=1,ct=0,dt=0,pt=0,ut=0,mt={},ht={},gt={},ft=0,Ct=0,yt=[0,null],bt=0,kt=0,Gt={},wt={},vt={},xt={},Tt={},Mt=0,St=0,Pt=[],Bt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Dt=0,Ht=0,Rt={},Ut={},$t=0,It=0,zt=[],Vt={},_t=0,Xt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Qt=[],qt=[],Yt=[];function Kt(e){let t=0;return Game.dragonAuras[Ae].name!==e&&Game.dragonAuras[je].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Ae].name&&"Reality Bending"!==Game.dragonAuras[je].name||(t+=.1),t}function Jt(){let e=.25;return e*=1+Kt("Earth Shatterer"),e}function Zt(e,t){return void 0===$e[e]?void 0===t?1:t:$e[e]}function eo(e){const t=qt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function to(e){if(Game.hasGod){void 0===Qt.Temple.minigame&&(Qt.Temple.minigame=Game.Objects.Temple.minigame);const t=Qt.Temple.minigame.gods[e];if(De===t.id)return 1;if(He===t.id)return 2;if(Re===t.id)return 3}return!1}function oo(e,t){let o=t;if(eo("Season savings")&&(o*=.99),eo("Santa's dominion")&&(o*=.99),eo("Faberge egg")&&(o*=.99),eo("Divine discount")&&(o*=.99),eo("Fortune #100")&&(o*=.99),o*=1-.02*Kt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&eo(e.fortune.name)&&(o*=.93),o*=Zt("buildingCost"),Qt.Temple.minigameLoaded){const e=to("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function no(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function io(){let t=Game.buyBulk;if(1===Game.buyMode?X=t:t=X,1===t?t=mt:10===t?t=ht:100===t&&(t=gt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e.Colours[t[o].color]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(mt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=le(no(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(mt).map((e=>{const t=mt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return D.indexOf(e.color)>D.indexOf(t.color)?1:D.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return D.indexOf(e.color)>D.indexOf(t.color)?1:D.indexOf(e.color){const t=mt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eD.indexOf(t.color)?1:D.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?_=i:i=_,1===i&&(i=mt),10===i&&(i=ht),100===i&&(i=gt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=le(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=S+i[o].color,n=e.PPDisplayTime?se(Math.round(i[o].pp)):le(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=ce((Game.Objects[o].bulkPrice-(Game.cookies+lo()))/ro());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=S+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&eo(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(eo(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&eo(e.fortune.name)&&(t*=1.07),e.grandma&&eo(e.grandma.name)&&(t*=1+.01*Qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&eo(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function yo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;eo("Thousand fingers")&&(t+=.1),eo("Million fingers")&&(t*=5),eo("Billion fingers")&&(t*=10),eo("Trillion fingers")&&(t*=20),eo("Quadrillion fingers")&&(t*=20),eo("Quintillion fingers")&&(t*=20),eo("Sextillion fingers")&&(t*=20),eo("Septillion fingers")&&(t*=20),eo("Octillion fingers")&&(t*=20),eo("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Qt).forEach((e=>{"Cursor"!==Qt[e].name&&(n+=Qt[e].amount)})),t*=n,o*=Co(e),o*=Game.magicCpS("Cursor"),o*=Zt("cursorCps"),Game.ComputeCps(.1,eo("Reinforced index finger")+eo("Carpal tunnel prevention cream")+eo("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{eo(Game.GrandmaSynergies[e])&&(o*=2)})),eo("Bingo center/Research facility")&&(o*=4),eo("Ritual rolling pins")&&(o*=2),eo("Naughty list")&&(o*=2),eo("Elderwort biscuits")&&(o*=1.02),o*=Zt("grandmaCps"),eo("Cat ladies"))for(let e=0;e{"Grandma"!==Qt[e].name&&(i+=Qt[e].amount)})),o*=1+.01*Kt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=Co(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function bo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Qt).forEach((t=>{Qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(eo("Starlove")&&(e=3),Game.hasGod){const t=to("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function ko(){Ne=Game.UpgradesOwned,Oe=Game.pledges,Fe=Game.AchievementsOwned,We=Game.heavenlyPower,Le=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Qt[e];void 0===o&&(Qt[e]=yo(e),o=Qt[e],co(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(De=t.minigame.slot[0],He=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e]),o.bought=t.bought,qt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Yt[e];void 0===o&&(Yt[e]=fo(e),o=Yt[e]),o.won=t.won,Yt[e]=o})),go(),Ae=Ve,je=_e}function Go(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function wo(e){e.appendChild(Go("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(Go("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(Go("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(Go("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ee){e.appendChild(Go("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function vo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function To(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Mo(){if(ko(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ee?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(wo(l("CMTooltipBorder")),1===Game.buyMode?Q=t:t=Q,1===Game.buyBulk?t=mt:10===Game.buyBulk?t=ht:100===Game.buyBulk&&(t=gt),J=Game.Objects[te].bulkPrice,Z=t[te].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=le(Z,2);const o=Math.round(Z/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=S+t[te].color,e.PPDisplayTime?l("CMTooltipPP").textContent=se(t[te].pp):l("CMTooltipPP").textContent=le(t[te].pp,2),l("CMTooltipPP").className=S+t[te].color;const n=ce((J-(Game.cookies+lo()))/ro());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[te[1]][te[0]][0]-1].matureBase,o=t.plantsById[t.plot[te[1]][te[0]][0]-1].name;l("CMTooltipBorder").appendChild(Go("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${le(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${le(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${le(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${le(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ee?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(Go("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=so(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==K[Game.buffs[t].name]?K[Game.buffs[t].name]:W,a.lastChild.children[1].className=P+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ie!==n&&(ie=n,mo())}}(),po(),Mo(),function(){if(1===e.TooltipWrink&&1===I){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===V[t]||void 0===V[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),z=t,V[t]=1}}else V[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[z],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[z].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=le(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,le(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Po{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Bo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+_t;Game.cpsSucked>0&&(o+=ft),Dt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-fe,i=Math.max(0,Game.cookies-Ce)/n,a=Math.max(0,ft-ye)/n,r=Math.max(0,yt[0]-be)/n,l=Math.max(0,o-ut)/n,s=(Game.cookieClicks-ke)/n;for(let e=0;ezt[30][0]?F:W,0!==Number(e.PPSecondsLowerLimit)&&o/ro()0&&(n=F),n}function No(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=L;else{t[n].color=Eo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+lo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||zt.push([t[n].pp,o])}))}function Fo(){!function(){It=1/0,zt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Oo(mt,1),Oo(ht,10),Oo(gt,100),zt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;zt[t][1]>Game.cookies&&(t+=1,zt.length!==t+1););It=zt[e.PPExcludeTop][t],No(mt,1),No(ht,10),No(gt,100)}(),Object.keys(Gt).forEach((e=>{Game.cookiesPs?Gt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+lo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Gt[e].bonus:Gt[e].pp=Game.Upgrades[e].getPrice()/Gt[e].bonus,Number.isNaN(Gt[e].pp)&&(Gt[e].pp=1/0),Gt[e].color=Eo(Gt[e],Game.Upgrades[e].getPrice())}))}function Wo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),$e=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Le)*We*function(){let e=0;if(eo("Heavenly chip secret")&&(e+=.05),eo("Heavenly cookie stand")&&(e+=.2),eo("Heavenly bakery")&&(e+=.25),eo("Heavenly confectionery")&&(e+=.25),eo("Heavenly key")&&(e+=.25),e*=1+.05*Kt("Dragon God"),eo("Lucky digit")&&(e*=1.01),eo("Lucky number")&&(e*=1.01),eo("Lucky payout")&&(e*=1.01),Game.hasGod){const t=to("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=Zt("cps"),eo("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];eo(o.name)&&("function"==typeof o.power?e*=1+.01*qt[o.name].power(qt[o.name]):e*=1+.01*o.power)})),eo("Specialized chocolate chips")&&(e*=1.01),eo("Designer cocoa beans")&&(e*=1.02),eo("Underworld ovens")&&(e*=1.03),eo("Exotic nuts")&&(e*=1.04),eo("Arcane sugar")&&(e*=1.05),eo("Increased merriness")&&(e*=1.15),eo("Improved jolliness")&&(e*=1.15),eo("A lump of coal")&&(e*=1.01),eo("An itchy sweater")&&(e*=1.01),eo("Santa's dominion")&&(e*=1.2),eo("Fortune #100")&&(e*=1.01),eo("Fortune #101")&&(e*=1.07),eo("Dragon scale")&&(e*=1.03);let o=1;if(to){let t=to("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=to("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=to("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=to("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=to("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}eo("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Fe/25;let i=1;if(eo("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Kt("Breath of Milk"),to){const e=to("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=Zt("milk");let a=1;eo("Kitten helpers")&&(a*=1+.1*n*i),eo("Kitten workers")&&(a*=1+.125*n*i),eo("Kitten engineers")&&(a*=1+.15*n*i),eo("Kitten overseers")&&(a*=1+.175*n*i),eo("Kitten managers")&&(a*=1+.2*n*i),eo("Kitten accountants")&&(a*=1+.2*n*i),eo("Kitten specialists")&&(a*=1+.2*n*i),eo("Kitten experts")&&(a*=1+.2*n*i),eo("Kitten consultants")&&(a*=1+.2*n*i),eo("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),eo("Kitten marketeers")&&(a*=1+.15*n*i),eo("Kitten analysts")&&(a*=1+.125*n*i),eo("Kitten executives")&&(a*=1+.115*n*i),eo("Kitten angels")&&(a*=1+.1*n*i),eo("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Qt).forEach((e=>{const t=Qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&eo("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Ie+=t.amount*a})),eo('"egg"')&&(Ie+=9),e*=a;let r=1;if(eo("Chicken egg")&&(r*=1.01),eo("Duck egg")&&(r*=1.01),eo("Turkey egg")&&(r*=1.01),eo("Quail egg")&&(r*=1.01),eo("Robin egg")&&(r*=1.01),eo("Ostrich egg")&&(r*=1.01),eo("Cassowary egg")&&(r*=1.01),eo("Salmon roe")&&(r*=1.01),eo("Frogspawn")&&(r*=1.01),eo("Shark egg")&&(r*=1.01),eo("Turtle egg")&&(r*=1.01),eo("Ant larva")&&(r*=1.01),eo("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),dt=1+.1*(1-(1-e/100)**3),r*=dt}e*=r,eo("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Kt("Radiant Appetite");const l=Ie*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Lo(Game.CpsAchievements[e].name)})),ze=l;const{n:s}=Game.shimmerTypes.golden,c=Kt("Dragon's Fortune");for(let t=0;t{eo(e[o])&&(t+=.1)}))}e*=t}if(eo("Shimmering veil [off]")){let t=.5;eo("Reinforced membrane")&&(t+=.1),e*=1+t}eo("Magic shenanigans")&&(e*=1e3),eo("Occult obstruction")&&(e*=0),Ie=Game.runModHookOnValue("cps",Ie),e*=xo(),Ie*=e}const jo=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Do=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ho=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Uo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function $o(e){return Yt[e]?Yt[e].won:0}function Io(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{eo(Game.GrandmaSynergies[t])&&(e+=1)})),!$o("Elder")&&e>=7&&Lo("Elder"),!$o("Veteran")&&e>=14&&Lo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Qt).forEach((e=>{t+=Qt[e].amount,i=Math.min(Qt[e].amount,i),$o("Mathematician")||Qt[e].amount=1&&Lo("One with everything"),1===o&&Lo("Mathematician"),1===n&&Lo("Base 10"),i>=100&&Lo("Centennial"),i>=150&&Lo("Centennial and a half"),i>=200&&Lo("Bicentennial"),i>=250&&Lo("Bicentennial and a half"),i>=300&&Lo("Tricentennial"),i>=350&&Lo("Tricentennial and a half"),i>=400&&Lo("Quadricentennial"),i>=450&&Lo("Quadricentennial and a half"),i>=500&&Lo("Quincentennial"),i>=550&&Lo("Quincentennial and a half"),i>=600&&Lo("Sexcentennial"),t>=100&&Lo("Builder"),t>=500&&Lo("Architect"),t>=1e3&&Lo("Engineer"),t>=2e3&&Lo("Lord of Constructs"),t>=4e3&&Lo("Grand design"),t>=8e3&&Lo("Ecumenopolis"),Ne>=20&&Lo("Enhancer"),Ne>=50&&Lo("Augmenter"),Ne>=100&&Lo("Upgrader"),Ne>=200&&Lo("Lord of Progress"),Ne>=300&&Lo("The full picture"),Ne>=400&&Lo("When there's nothing left to add"),t>=4e3&&Ne>=300&&Lo("Polymath"),t>=8e3&&Ne>=400&&Lo("Renaissance baker"),Qt.Cursor.amount+Qt.Grandma.amount>=777&&Lo("The elder scrolls");let a=!0;Object.keys(Do).forEach((e=>{eo(Do[e])||(a=!1)})),a&&Lo("Spooky cookies");let r=!0;if(Object.keys(Ho).forEach((e=>{eo(Ho[e])||(r=!1)})),r&&Lo("Let it snow"),eo("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{eo(e[o].name)&&(t+=1)})),t>=e.length&&Lo("O Fortuna")}}function zo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){ko(),Qt[e].amount+=t;const o=Qt[e];"Cursor"===e?(o.amount>=1&&Lo("Click"),o.amount>=2&&Lo("Double-click"),o.amount>=50&&Lo("Mouse wheel"),o.amount>=100&&Lo("Of Mice and Men"),o.amount>=200&&Lo("The Digital"),o.amount>=300&&Lo("Extreme polydactyly"),o.amount>=400&&Lo("Dr. T"),o.amount>=500&&Lo("Thumbs, phalanges, metacarpals"),o.amount>=600&&Lo("With her finger and her thumb"),o.amount>=700&&Lo("Gotta hand it to you"),o.amount>=800&&Lo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Lo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Fe;return Ao(),Io(),n!==Fe&&Ao(),Ie-Game.cookiesPs}(o,e),1!==e&&(Pe=1)})),t}function Vo(){Object.keys(Game.Objects).forEach((e=>{mt[e].price=Wo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),ht[e].price=Wo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),gt[e].price=Wo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function _o(){mt=zo(1),ht=zo(10),gt=zo(100),Gt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){ko(),"Shimmering veil [on]"===qt[e].name?qt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===qt[e].name?qt["Golden switch [off]"].bought=0:qt[e].bought=(qt[e].bought+1)%2,qt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ne+=1),"Elder Pledge"===e?(Oe+=1,Oe>0&&Lo("Elder nap"),Oe>=5&&Lo("Elder slumber")):"Elder Covenant"===e?Lo("Elder calm"):"Prism heart biscuits"===e?Lo("Lovely cookies"):"Heavenly key"===e&&Lo("Wholesome");const t=Fe;Ao(),Io(),t!==Fe&&Ao();const o=function(){let e=0;eo("Thousand fingers")&&(e+=.1),eo("Million fingers")&&(e*=5),eo("Billion fingers")&&(e*=10),eo("Trillion fingers")&&(e*=20),eo("Quadrillion fingers")&&(e*=20),eo("Quintillion fingers")&&(e*=20),eo("Sextillion fingers")&&(e*=20),eo("Septillion fingers")&&(e*=20),eo("Octillion fingers")&&(e*=20),eo("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Qt).forEach((e=>{t+=Qt[e].amount})),t-=Qt.Cursor.amount,e*=t,eo("Plastic mouse")&&(e+=.01*Ie),eo("Iron mouse")&&(e+=.01*Ie),eo("Titanium mouse")&&(e+=.01*Ie),eo("Adamantium mouse")&&(e+=.01*Ie),eo("Unobtainium mouse")&&(e+=.01*Ie),eo("Eludium mouse")&&(e+=.01*Ie),eo("Wishalloy mouse")&&(e+=.01*Ie),eo("Fantasteel mouse")&&(e+=.01*Ie),eo("Nevercrack mouse")&&(e+=.01*Ie),eo("Armythril mouse")&&(e+=.01*Ie),eo("Technobsidian mouse")&&(e+=.01*Ie),eo("Plasmarble mouse")&&(e+=.01*Ie),eo("Miraculite mouse")&&(e+=.01*Ie),eo("Fortune #104")&&(e+=.01*Ie);let o=1;if(eo("Santa's helpers")&&(o*=1.1),eo("Cookie egg")&&(o*=1.1),eo("Halo gloves")&&(o*=1.1),eo("Dragon claw")&&(o*=1.03),eo("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,eo("Luminous gloves")?20:10)),o*=Zt("click"),Qt.Temple.minigameLoaded&&to){const e=to("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Kt("Dragon Cursor");let n=o*Game.ComputeCps(1,eo("Reinforced index finger")+eo("Carpal tunnel prevention cream")+eo("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Ie-Game.cookiesPs,o]:[Ie-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Gt[t]={bonus:Game.cookiesPs-Ge},1===e.CalcWrink?Gt[t].bonus-=we:2===e.CalcWrink&&(Gt[t].bonus-=ve),Number.isFinite(Gt[t].bonus)||(Gt[t].bonus=0)):(Gt[t]={},o[0]&&(Gt[t].bonus=o[0]),o[1]&&(Gt[t].bonusMouse=o[1]))}))}function Xo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Pt=Xo(7,e,lt),Mt=2*Pt[1]/lt,St=Pt[2]/60/60/6/rt,Nt=Xo(6,e,st),Bt=2*Nt[1]/st,Et=Nt[2]/60/60/6/rt,Wt=Xo(7,7*e,lt),Ot=2*Wt[1]/lt,Ft=Wt[2]/60/60/6/rt,jt=Xo(6,7*e,st),Lt=2*jt[1]/st,At=jt[2]/60/60/6/rt}function qo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Me,i=Math.max(0,o-Se)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?xt+=e:"cookie"===o.pool?Tt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(vt+=e)}}))}function Ko(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),pt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(pt*=2)}}function Jo(){qe=900*at/.15,qe*=rt;const e=xo();e>0?qe/=e:qe=0,Ye=lt*(.15*qe)+13,Ke=st*(.15*qe)+13,Je=7*qe,Ze=lt*(.15*Je)+13,et=st*(.15*Je)+13,tt=2*qe,ot=.15*tt,nt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountnt&&(nt=2*Game.Objects[e].price,it=e)}))}function Zo(){let e=1,t=1,o=1;eo("Green yeast digestives")&&(o*=1.01),eo("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),lt=o*e,st=o*t,rt=1,0===Game.shimmerTypes.golden.n&&(rt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function en(){ft=0,Ct=0,yt=[0,null];for(let e=0;eyt[0]&&(yt=[t,e]))}}function tn(){go(),en(),Jo(),Zo(),Qo(),Yo(),Ko(),de=new Po(q[q.length-1]),pe=new Po(q[q.length-1]),ue=new Po(q[q.length-1]),me=new Po(q[q.length-1]),he=new Po(Y[Y.length-1]),ge=new Po(5),qo(),Bo(),_o(),Vo(),Fo()}const on={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,Colours:{Blue:"#4bb8f0",Green:"#00ff00",Yellow:"#ffff00",Orange:"#ff7f00",Red:"#ff0000",Purple:"#ff00ff",Gray:"#b3b3b3",Pink:"#ff1493",Brown:"#8b4513"},BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},nn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function an(){1===e.BotBar?(l("CMBotBar").style.display="",po()):l("CMBotBar").style.display="none",mo()}function rn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),po(),io(),ao()}function ln(){let t="";for(let o=0;o0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class un extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const mn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){Ue=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Aabreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){rn()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){rn()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){rn()})),ScaleCutoff:new un("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=$:Game.sayTime=M.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){io()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new un("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),Colours:new class extends cn{constructor(e,t,o,n){super(e,t),this.desc=o,this.func=n}}("colour","Colours",{Blue:"Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels",Green:"Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels",Yellow:"Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels",Orange:"Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels",Red:"Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels",Purple:"Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels",Gray:"Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar",Pink:"Standard colour is pink. Used for Dragonflight bar",Brown:"Standard colour is brown. Used for Dragon Harvest bar"},(function(){ln()})),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){an()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){ho()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),mo()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ao()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ao()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){io()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ao()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(ae).forEach((e=>{ae[e].style.display="block",ae[e].style.left=Vt[e].l.style.left,ae[e].style.top=Vt[e].l.style.top})):Object.keys(ae).forEach((e=>ae[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){e.WrinklerButtons?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new un("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){To()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new un("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){nn(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new pn("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){nn(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new pn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){nn(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new pn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new pn("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){nn(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new pn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){nn(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new pn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){nn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new pn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function hn(){return JSON.stringify({settings:e,version:"2.031.6"})}function gn(){if(Xe!==Game.dragonLevel||Ue){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Qt[e]=yo(e)})),qt=[],Object.keys(Game.Upgrades).forEach((e=>{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Achievements).forEach((e=>{Yt[e]=fo(e)})),ko()}let yn=!1;function bn(t,o){1===e[o]&&3===t&&!1===yn||1===t?(l("CMWhiteScreen").style.opacity="0.5",3===t?(l("CMWhiteScreen").style.display="inline",setTimeout((function(){bn(2,o)}),1e3/Game.fps)):setTimeout((function(){bn(0,o)}),1e3/Game.fps)):2===t?(l("CMWhiteScreen").style.opacity="1",setTimeout((function(){bn(1,o)}),1e3/Game.fps)):0===t&&(l("CMWhiteScreen").style.display="none")}function kn(t,o,n,i){if((1===e[o]||i)&&!1===yn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Gn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===yn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function wn(){if(ne!==Game.OnAscend&&(ne=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(an(),ho()),uo()),!Game.OnAscend&&0===Game.AscendTimer){a!==Object.keys(Game.mods).length&&(Cn(),tn(),a=Object.keys(Game.mods).length),Ue&&(_o(),Game.Has("Golden switch [off]")?(ko(),qt["Golden switch [off]"].bought=0,Ao(),at=Ie):at=Game.cookiesPs,Zo(),Jo(),Yo(),Qo(),gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Xt[e][t]=fn(e,t)}(),Ko(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;ko();let t=2;5!==Ae&&18!==Ae||(t-=1),5!==je&&18!==je||(t-=1),Ae=5,je=18;for(let e=0;e{Qt[t].amount>0&&(e=t)})),Qt[e].amount-=1,Ee-=1}return Object.keys(Qt).forEach((t=>{const o=Qt[t];e+=no(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),_t=e}(),Ue=0);const t=Game.auraMult("Fierce Hoarder")>0;!Be&&t?(Be=!0,Pe=1):Be&&!t&&(Be=!1,Pe=1),Pe&&(Vo(),Pe=0),function(){en(),Fo(),function(){bt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}kt=e,bt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Bo(),qo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);$t=se(e/ro())}(),k=0,Vt={},Object.keys(Game.shimmers).forEach((e=>{Vt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],k+=1)})),Object.keys(ae).forEach((e=>{void 0===Vt[e]&&(ae[e].parentNode.removeChild(ae[e]),delete ae[e])})),C!==Game.shimmerTypes.golden.n?(C=Game.shimmerTypes.golden.n,C&&(y{void 0===ae[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},ae[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),y=k,0===k&&(Rt=0)):1===e.GCTimer&&C&&Object.keys(ae).forEach((e=>{ae[e].style.opacity=Vt[e].l.style.opacity,ae[e].style.transform=Vt[e].l.style.transform,ae[e].textContent=Math.ceil(Vt[e].life/Game.fps)})),g!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(g=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,g&&(bn(3,"FortuneFlash"),kn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Gn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),h!==Game.shimmerTypes.reindeer.spawned&&(h=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(Ut=Game.shimmers[e])})),bn(3,"SeaFlash"),kn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Gn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&f!==Game.Objects.Farm.minigame.nextStep&&(0!==f&&f0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>G?(G=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?bn(3,"WrinklerMaxFlash"):bn(3,"WrinklerFlash"),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?kn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):kn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Gn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Gn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):G=t}}()}}function vn(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${hn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function xn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t;let o=!1;Object.keys(on).forEach((t=>{void 0===e[t]?(o=!0,e[t]=on[t]):"Header"!==t&&"Colors"!==t?-1===t.indexOf("SoundURL")?e[t]>-1&&e[t]{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=on[t][n])})):Object.keys(on.Colors).forEach((n=>{void 0!==e[t][n]&&"string"==typeof e[t][n]||(o=!0,e[t][n]=on[t][n])}))})),o&&vn(),wn(),Object.keys(on).forEach((e=>{"Header"!==e&&void 0!==mn[e].func&&mn[e].func()}))}else xn(on)}function Tn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Mn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Wo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${le(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${ce((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(le(Game.Objects[o].bulkPrice)).join(le((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ee=t,te=o,Mo(),l("tooltip").innerHTML}function Sn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(x[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Pn(){if(!u&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];d=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){d(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),vn()}function Ln(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Wn(o),Game.UpdateMenu()},n.appendChild(i),n}function An(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function jn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Dn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Ln("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+lo()0&&(t.appendChild(An("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(le(e)))),t.appendChild(An("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(se(e/ct)))))}const l=function(e){let t=Game.cookiesPs;ko(),0===qt["Heavenly key"].bought&&(qt["Heavenly chip secret"].bought=1,qt["Heavenly cookie stand"].bought=1,qt["Heavenly bakery"].bought=1,qt["Heavenly confectionery"].bought=1,qt["Heavenly key"].bought=1,Ao(),t=Ie,ko()),Dt>=1e6&&Lo("Sacrifice"),Dt>=1e9&&Lo("Oblivion"),Dt>=1e12&&Lo("From scratch"),Dt>=1e15&&Lo("Nihilism"),Dt>=1e18&&Lo("Dematerialize"),Dt>=1e21&&Lo("Nil zero zilch"),Dt>=1e24&&Lo("Transcendence"),Dt>=1e27&&Lo("Obliterate"),Dt>=1e30&&Lo("Negative void"),Dt>=1e33&&Lo("To crumbs, you say?"),Dt>=1e36&&Lo("You get nothing"),Dt>=1e39&&Lo("Humble rebeginnings"),Dt>=1e42&&Lo("The end of the world"),Dt>=1e45&&Lo("Oh, you're back"),Dt>=1e48&&Lo("Lazarus"),Dt>=1e51&&Lo("Smurf account"),Dt>=1e54&&Lo("If at first you don't succeed"),qt["Heavenly chip secret"].bought=1,qt["Heavenly cookie stand"].bought=1,qt["Heavenly bakery"].bought=1,qt["Heavenly confectionery"].bought=1,qt["Heavenly key"].bought=1,Le=e;const o=Fe;Ao(),Io(),o!==Fe&&Ao();const n=Ie-t;return Le=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(le(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(An("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(An("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(An("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(An("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Ln("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${le(ft)} / ${le(Ct)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Tn()},e.appendChild(t),o.appendChild(An("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${le(yt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==yt[1]&&(Game.wrinklers[yt[1]].hp=0)},n.appendChild(i),o.appendChild(An("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==yt[1]?yt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Do).forEach((e=>{Game.Has(Do[e])||(n.push(Do[e]),o=!0)}));const i=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(i.push(Ho[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=[];Object.keys(Uo).forEach((e=>{Game.HasUnlocked(Uo[e])||(s.push(Uo[e]),o=!0)}));const c=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),d=Game.Has("Century egg");if(("christmas"===Game.season||o||c||d)&&(t.appendChild(Ln("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(An("basic","Halloween cookies left to buy",jn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}t.appendChild(An("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${le(100*(1-e))}% / ${le(100*(1-.9*e))}%`)))}if(0!==i.length){t.appendChild(An("basic","Christmas cookies left to buy",jn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}t.appendChild(An("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${le(100*(1-e))}%`)))}0!==a.length&&t.appendChild(An("basic","Valentine cookies left to buy",jn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(An("basic","Normal easter eggs left to unlock",jn(r))),t.appendChild(An("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${le(100*e(.98)[0])}% / ${le(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(An("basic","Rare easter eggs left to unlock",jn(l))),t.appendChild(An("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${le(100*e(.98)[1])}% / ${le(100*e(.9)[1])}%`)))),0!==s.length&&t.appendChild(An("basic","Rare plant drops left to unlock",jn(s))),"christmas"===Game.season&&t.appendChild(An("basic","Reindeer reward",document.createTextNode(le(pt)))),c&&t.appendChild(An("withTooltip","Chocolate egg cookies",document.createTextNode(le(ut)),"ChoEggTooltipPlaceholder")),d&&t.appendChild(An("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(dt-1))/100+"%")))}return t}()),o.appendChild(Ln("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(An("basic",`Average Cookies Per Second (Past ${q[e.AvgCPSHist]<60?`${q[e.AvgCPSHist]} seconds`:q[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(le(ro(),3)))),o.appendChild(An("basic",`Average Cookie Clicks Per Second (Past ${Y[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(le(wt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(jo).forEach((t=>{Game.Has(jo[t])||e.push(jo[t])})),0!==e.length&&o.appendChild(An("basic","Fortune Upgrades Left to Buy",jn(e)))}if(e.ShowMissedGC&&o.appendChild(An("basic","Missed Golden Cookies",document.createTextNode(le(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(An("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(vt){const t=vt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=vt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}}}))}const Hn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Rn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Un(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Wn(t),Game.UpdateMenu()},n.appendChild(i),n}function $n(t){const o=document.createElement("div");if(o.className="listing","bool"===mn[t].type){const n=document.createElement("a");mn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=On+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===mn[t].label.length?(e[t]=0,mn[t].toggle&&(l(On+t).className="option off")):l(On+t).className="option",void 0!==mn[t].func&&mn[t].func(),l(On+t).innerHTML=mn[t].label[e[t]],vn()}(t)},n.textContent=mn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=mn[t].desc,o.appendChild(i),o}if("vol"===mn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=mn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Fn(t)},r.onchange=function(){Fn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){kn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===mn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${mn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=On+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${On+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,vn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=mn[t].desc,o.appendChild(s),o}if("color"===mn[t].type){o.className="";for(let t=0;tthis.max&&console.log("TEST"),e[t]=this.value,vn(),rn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=mn[t].desc,o.appendChild(a),o}return o}function In(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function zn(){M.Beautify=Beautify,Beautify=le,M.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){M.CalculateGains(),Ue=1},M.tooltip={},M.tooltip.draw=Game.tooltip.draw,M.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){M.tooltip.drawMod(e,t,o)},M.tooltip.update=Game.tooltip.update,M.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){M.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},M.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){In(M.UpdateWrinklers)},M.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){In(M.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){In(Game.ClickCookie)}),!1),M.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){M.RebuildUpgrades(),T=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},M.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=Qt[Game.ObjectsById[e].name].name;Qt[o].amount-=1,Ee-=1,t=Qt[o].basePrice*Game.priceIncrease**Math.max(0,Qt[o].amount-1-Qt[o].free),t=Game.modifyBuildingPrice(Qt[o],t),t=Math.ceil(t);break}const o=Fe;return Ao(),Io(),o!==Fe&&Ao(),[Ie-Game.cookiesPs,t]}(t),n=se(o/(e+Game.cookiesPs)),i=le(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${le(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},M.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){M.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},M.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Nn().picker&&void 0!==Nn().picker.owner||(M.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Hn).forEach((t=>{const n=Un(t,Hn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys(Rn).forEach((t=>{const n=Un(t,Rn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(mn).forEach((e=>{mn[e].group===t&&o.appendChild($n(e))}))})):Object.keys(mn).forEach((e=>{mn[e].group===t&&o.appendChild($n(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){xn(on)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Dn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Wn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},M.sayTime=Game.sayTime,$=function(e,t){return Number.isNaN(e)||e<=0?M.sayTime(e,t):se(e/Game.fps,1)},M.Logic=Game.Logic,Game.Logic=function(){M.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),re=`${Game.OnAscend?"Ascending! ":""}${le(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=re;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,g&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=h?`[R${Math.ceil(Ut.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=re;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),g&&(t=!0,e+="[F]"),"christmas"===Game.season&&h&&(e+=`[R${Math.ceil(Ut.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${le(Game.prestige)}.
(CpS +${le(Game.prestige)}%)`,n+='
'),n+=Se<1?"Ascending now would grant you no prestige.":Se<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${le(Se)} prestige levels (+${le(Se)}% CpS)
and ${le(Se)} heavenly chips to spend.`,n+='
',n+=`You need ${le(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${$t} to reach the next level and you are making ${le(ct,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Vn(){Cn(),Jo(),tn(),a=Object.keys(Game.mods).length,w=document.createElement("style"),w.type="text/css",w.id="CMCSS",document.head.appendChild(w),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=S+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",N)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",B)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",B)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",B)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{co(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=so("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:L},{id:"CMTimerBarGCBar",color:W}]);e.appendChild(t);const o=so("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:L},{id:"CMTimerBarRenBar",color:O}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=P+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(B,"Better than the best PP of a building option")),e.appendChild(o(E,"Same as the best PP building option")),e.appendChild(o(N,"Within the top 10 of PP for buildings")),e.appendChild(o(O,"Within the top 20 of PP for buildings")),e.appendChild(o(F,"Within the top 30 of PP for buildings")),e.appendChild(o(W,"Outside of the top 30 of PP for buildings")),e.appendChild(o(L,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=S+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",B)),e.appendChild(o("CMUpgradeBarGreen",E)),e.appendChild(o("CMUpgradeBarYellow",N)),e.appendChild(o("CMUpgradeBarOrange",O)),e.appendChild(o("CMUpgradeBarRed",F)),e.appendChild(o("CMUpgradeBarPurple",W)),e.appendChild(o("CMUpgradeBarGray",L)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMWhiteScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(H).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(H[e][0],H[e][1],H[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Tn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==yt[1]&&(Game.wrinklers[yt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(v[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(r=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("s","Lump")}),"this"),Game.tooltip.wobble()}),m=Game.LoadMinigames,Game.LoadMinigames=function(){m(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Sn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Bn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){I=1},l("backgroundLeftCanvas").onmouseout=function(){I=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{V[e]=0}))},zn(),Bn(),Game.CalculateGains(),xn(),U=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const _n={init:function(){yn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Vn(),Game.registerHook("draw",So),Game.registerHook("logic",wn),yn=!1)},load:function(e){const t=JSON.parse(e);Cn(),xn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:hn};Game.registerMod("CookieMonster",_n)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index 61e9620c..9da934fe 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColorTextPre","ColorBackPre","ColorBlue","ColorGreen","ColorYellow","ColorOrange","ColorRed","ColorPurple","ColorGray","ColorPink","ColorBrown","Colors","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColors","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColor","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","Game","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColor","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColor","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColor","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColor","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","elderWrath","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColor","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColor","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","matureBase","plantName","GardenPlots","totalGain","mortal","tile","immortal","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColor","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColor","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","UpgradeBarFixedPos","GeneralSound","GCNotification","GCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","TooltipAmor","DragonAuraInfo","TooltipAscendButton","MissingUpgrades","DetailedTime","GrimoireBar","HeavenlyChipsTarget","ShowMissedGC","Blue","Green","Yellow","Orange","Red","Purple","Gray","Pink","Brown","GCTimer","Favicon","WrinklerButtons","HideSectionsButtons","BulkBuyBlock","Header","BarsColors","Calculation","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Tooltip","Statistics","Notation","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateColors","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingVolume","SettingInputNumber","SettingsData","insertBefore","save","stringify","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColor","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColorFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColor","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColor","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColorFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColorFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColor","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColor","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColor","bakeberryFrag","chocorootColor","chocorootFrag","queenbeetColor","queenbeetFrag","duketaterColor","duketaterFrag","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","missingPlantDrops","centEgg","failRateHalloween","dropRateMult","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","Prompt","outerHTML","ClosePrompt","innerDiv","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","groupObject","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateWhiteScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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I,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAe,SACfC,EAAe,SAMfC,EAAY,OACZC,EAAa,QACbC,EAAc,SACdC,EAAc,SACdC,EAAW,MACXC,EAAc,SACdC,EAAY,OACZC,EAAY,OACZC,EAAa,QACbC,EAAS,CACbH,EACAN,EACAC,EACAC,EACAC,EACAC,EACAC,EACAE,EACAC,GAUIE,EAAc,CAClB,CAAC,6BAA8B,oCAAqC,SACpE,CACE,2CACA,6EACA,SAEF,CACE,6BACA,qPACA,SAEF,CACE,8BACA,kEACA,SAEF,CACE,kCACA,2PACA,SAEF,CACE,0BACA,gLA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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","Colours","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","Game","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","elderWrath","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","matureBase","plantName","GardenPlots","totalGain","mortal","tile","immortal","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","Blue","Green","Yellow","Orange","Red","Purple","Gray","Pink","Brown","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","WrinklerButtons","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Calculation","Notation","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateColours","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","mod","Colors","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","missingPlantDrops","centEgg","failRateHalloween","dropRateMult","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","Prompt","outerHTML","ClosePrompt","innerDiv","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","groupObject","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateWhiteScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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I,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAU,CACdH,EACAN,EACAC,EACAC,EACAC,EACAC,EACAC,EACAE,EACAC,GAUIE,EAAc,CAClB,CAAC,6BAA8B,oCAAqC,SACpE,CACE,2CACA,6EACA,SAEF,CACE,6BACA,qPACA,SAEF,CACE,8BACA,kEACA,SAEF,CACE,kCACA,2PACA,SAEF,CACE,0BACA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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file diff --git a/src/Cache/PP/Building.js b/src/Cache/PP/Building.js index 34d67638..85517447 100644 --- a/src/Cache/PP/Building.js +++ b/src/Cache/PP/Building.js @@ -2,7 +2,7 @@ /* eslint-disable no-unused-vars */ import { CMOptions } from '../../Config/VariablesAndData'; import GetWrinkConfigBank from '../../Disp/HelperFunctions/GetWrinkConfigBank'; -import { ColorGray } from '../../Disp/VariablesAndData'; +import { ColourGray } from '../../Disp/VariablesAndData'; import { CacheMinPP, CacheObjects1, @@ -17,10 +17,10 @@ import ColourOfPP from './ColourOfPP'; * It saves all date in CM.Cache.Objects... * It is called by CM.Cache.CacheBuildingsPP() */ -function CacheColor(target, amount) { +function CacheColour(target, amount) { Object.keys(target).forEach((i) => { if (CMOptions.PPRigidelMode && amount === 1) { - target[i].color = ColorGray; + target[i].color = ColourGray; return; } target[i].color = ColourOfPP( @@ -29,7 +29,7 @@ function CacheColor(target, amount) { ); // Colour based on excluding certain top-buildings for (let j = 0; j < CMOptions.PPExcludeTop; j++) { - if (target[i].pp === CachePPArray[j][0]) target[i].color = ColorGray; + if (target[i].pp === CachePPArray[j][0]) target[i].color = ColourGray; } }); } @@ -75,7 +75,7 @@ export default function CacheBuildingsPP() { } CacheMinPP = CachePPArray[CMOptions.PPExcludeTop][indexOfMin]; - CacheColor(CacheObjects1, 1); - CacheColor(CacheObjects10, 10); - CacheColor(CacheObjects100, 100); + CacheColour(CacheObjects1, 1); + CacheColour(CacheObjects10, 10); + CacheColour(CacheObjects100, 100); } diff --git a/src/Cache/PP/ColourOfPP.js b/src/Cache/PP/ColourOfPP.js index 6940ca45..7d810446 100644 --- a/src/Cache/PP/ColourOfPP.js +++ b/src/Cache/PP/ColourOfPP.js @@ -1,13 +1,13 @@ import { CMOptions } from '../../Config/VariablesAndData'; import GetCPS from '../../Disp/HelperFunctions/GetCPS'; import { - ColorBlue, - ColorGray, - ColorGreen, - ColorOrange, - ColorPurple, - ColorRed, - ColorYellow, + ColourBlue, + ColourGray, + ColourGreen, + ColourOrange, + ColourPurple, + ColourRed, + ColourYellow, } from '../../Disp/VariablesAndData'; import { CacheMinPP, CachePPArray } from '../VariablesAndData'; @@ -21,22 +21,22 @@ import { CacheMinPP, CachePPArray } from '../VariablesAndData'; export default function ColourOfPP(me, price) { let color = ''; // Colour based on PP - if (me.pp <= 0 || me.pp === Infinity) color = ColorGray; - else if (me.pp < CacheMinPP) color = ColorBlue; - else if (me.pp === CacheMinPP) color = ColorGreen; - else if (me.pp < CachePPArray[10][0]) color = ColorYellow; - else if (me.pp < CachePPArray[20][0]) color = ColorOrange; - else if (me.pp > CachePPArray[30][0]) color = ColorRed; - else color = ColorPurple; + if (me.pp <= 0 || me.pp === Infinity) color = ColourGray; + else if (me.pp < CacheMinPP) color = ColourBlue; + else if (me.pp === CacheMinPP) color = ColourGreen; + else if (me.pp < CachePPArray[10][0]) color = ColourYellow; + else if (me.pp < CachePPArray[20][0]) color = ColourOrange; + else if (me.pp > CachePPArray[30][0]) color = ColourRed; + else color = ColourPurple; // Colour based on price in terms of CPS if (Number(CMOptions.PPSecondsLowerLimit) !== 0) { if (price / GetCPS() < Number(CMOptions.PPSecondsLowerLimit)) - color = ColorBlue; + color = ColourBlue; } // Colour based on being able to purchase if (CMOptions.PPOnlyConsiderBuyable) { - if (price - Game.cookies > 0) color = ColorRed; + if (price - Game.cookies > 0) color = ColourRed; } return color; } diff --git a/src/Config/Toggles/ToggleUpgradeBarAndColor.js b/src/Config/Toggles/ToggleUpgradeBarAndColour.js similarity index 92% rename from src/Config/Toggles/ToggleUpgradeBarAndColor.js rename to src/Config/Toggles/ToggleUpgradeBarAndColour.js index 227b0e14..90ac188b 100644 --- a/src/Config/Toggles/ToggleUpgradeBarAndColor.js +++ b/src/Config/Toggles/ToggleUpgradeBarAndColour.js @@ -1,9 +1,6 @@ import UpdateUpgrades from '../../Disp/BuildingsUpgrades/Upgrades'; import { CMOptions } from '../VariablesAndData'; -/** - * Section: Functions related to the Upgrade Bar - /** * This function toggles the upgrade bar and the colours of upgrades * It is called by a change in CM.Options.UpBarColor diff --git a/src/Data/Sectionheaders.js b/src/Data/Sectionheaders.js index 9c8e9ecd..9161002d 100644 --- a/src/Data/Sectionheaders.js +++ b/src/Data/Sectionheaders.js @@ -2,12 +2,13 @@ /** Display titles of the headers of the Cookie Monster settings section */ export const ConfigGroups = { - BarsColors: 'Bars/Colors', Calculation: 'Calculation', - Notification: 'Notification', - Tooltip: 'Tooltips and additional insights', - Statistics: 'Statistics', Notation: 'Notation', + Colours: 'Colours and colour coding', + BarsDisplay: 'Infobars and visual settings', + Tooltip: 'Tooltips', + Statistics: 'Statistics', + Notification: 'Notifications', Miscellaneous: 'Miscellaneous', }; diff --git a/src/Data/SettingsData.js b/src/Data/SettingsData.js index 53c1a882..5eb16fd0 100644 --- a/src/Data/SettingsData.js +++ b/src/Data/SettingsData.js @@ -6,14 +6,14 @@ import ToggleDetailedTime from '../Config/Toggles/ToggleDetailedTime'; import ToggleGCTimer from '../Config/Toggles/ToggleGCTimer'; import ToggleSectionHideButtons from '../Config/Toggles/ToggleSectionHideButtons'; import ToggleToolWarnPos from '../Config/Toggles/ToggleToolWarnPos'; -import ToggleUpgradeBarAndColor from '../Config/Toggles/ToggleUpgradeBarAndColor'; +import ToggleUpgradeBarAndColour from '../Config/Toggles/ToggleUpgradeBarAndColour'; import ToggleUpgradeBarFixedPos from '../Config/Toggles/ToggleUpgradeBarFixedPos'; import ToggleWrinklerButtons from '../Config/Toggles/ToggleWrinklerButtons'; import { CMOptions } from '../Config/VariablesAndData'; import UpdateBuildings from '../Disp/BuildingsUpgrades/Buildings'; import UpdateUpgrades from '../Disp/BuildingsUpgrades/Upgrades'; import RefreshScale from '../Disp/HelperFunctions/RefreshScale'; -import UpdateColors from '../Disp/HelperFunctions/UpdateColors'; +import UpdateColours from '../Disp/HelperFunctions/UpdateColours'; import { UpdateFavicon } from '../Disp/TabTitle/FavIcon'; import { SimDoSims } from '../Sim/VariablesAndData'; import { @@ -25,12 +25,206 @@ import { /** This includes all options of CookieMonster and their relevant data */ const Config = { - // Barscolors + // Calculation + CPSMode: new SettingStandard( + 'bool', + 'Calculation', + ['Current cookies per second', 'Average cookies per second'], + 'Calculate times using current cookies per second or average cookies per second', + false, + ), + AvgCPSHist: new SettingStandard( + 'bool', + 'Calculation', + [ + 'Average CPS in past 10s', + 'Average CPS in past 15s', + 'Average CPS in past 30s', + 'Average CPS in past 1m', + 'Average CPS in past 5m', + 'Average CPS in past 10m', + 'Average CPS in past 15m', + 'Average CPS in past 30m', + ], + 'How much time average Cookies Per Second should consider', + false, + ), + AvgClicksHist: new SettingStandard( + 'bool', + 'Calculation', + [ + 'Average clicks in past 1s', + 'Average clicks in past 5s', + 'Average clicks in past 10s', + 'Average clicks in past 15s', + 'Average clicks in past 30s', + ], + 'How much time average Cookie Clicks should consider', + false, + ), + CalcWrink: new SettingStandard( + 'bool', + 'Calculation', + [ + 'Calculate with wrinklers OFF', + 'Calculate with wrinklers ON', + 'Calculate with single fattest wrinkler ON', + ], + 'Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers', + true, + function () { + SimDoSims = true; + }, + ), + + // Notation + Scale: new SettingStandard( + 'bool', + 'Notation', + [ + "Game's setting scale", + 'Metric', + 'Short scale', + 'Short scale (Aabreviated)', + 'Scientific notation', + 'Engineering notation', + ], + 'Change how long numbers are formatted', + false, + function () { + RefreshScale(); + }, + ), + ScaleDecimals: new SettingStandard( + 'bool', + 'Notation', + ['1 decimals', '2 decimals', '3 decimals'], + `Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game's Setting Scale"`, + false, + function () { + RefreshScale(); + }, + ), + ScaleSeparator: new SettingStandard( + 'bool', + 'Notation', + ['. for decimals (standard)', '. for thousands'], + 'Set the separator used for decimals and thousands', + false, + function () { + RefreshScale(); + }, + ), + ScaleCutoff: new SettingInputNumber( + 'numscale', + 'Notation', + 'Notation cut-off point: ', + 'The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations', + 1, + 999999999, + ), + TimeFormat: new SettingStandard( + 'bool', + 'Notation', + ['Time XXd, XXh, XXm, XXs', 'Time XX:XX:XX:XX:XX'], + 'Change the time format', + false, + ), + DetailedTime: new SettingStandard( + 'bool', + 'Notation', + ['Detailed time OFF', 'Detailed time ON'], + 'Change how time is displayed in certain statistics and tooltips', + true, + function () { + ToggleDetailedTime(); + }, + ), + PPDisplayTime: new SettingStandard( + 'bool', + 'Notation', + ['PP as value (standard)', 'PP as time unit'], + 'Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.', + false, + ), + + // Colours + BuildColour: new SettingStandard( + 'bool', + 'Colours', + ['Building colours OFF', 'Building colours ON'], + 'Colour code buildings', + true, + function () { + UpdateBuildings(); + }, + ), + PPOnlyConsiderBuyable: new SettingStandard( + 'bool', + 'Colours', + ["Don't ignore non-buyable", 'Ignore non-buyable'], + "Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'", + true, + ), + PPExcludeTop: new SettingStandard( + 'bool', + 'Colours', + [ + "Don't ignore any", + 'Ignore 1st best', + 'Ignore 1st and 2nd best', + 'Ignore 1st, 2nd and 3rd best', + ], + 'Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values', + true, + ), + PPRigidelMode: new SettingStandard( + 'bool', + 'Colours', + ['Rigidel mode OFF', 'Rigidel mode ON'], + 'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel', + true, + ), + PPSecondsLowerLimit: new SettingInputNumber( + 'numscale', + 'Colours', + 'Lower limit for PP (in seconds): ', + 'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option', + 0, + Infinity, + ), + Colours: new SettingColours( + 'colour', + 'Colours', + { + Blue: + 'Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels', + Green: + 'Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels', + Yellow: + 'Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels', + Orange: + 'Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels', + Red: + 'Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels', + Purple: + 'Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels', + Gray: + 'Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar', + Pink: 'Standard colour is pink. Used for Dragonflight bar', + Brown: 'Standard colour is brown. Used for Dragon Harvest bar', + }, + function () { + UpdateColours(); + }, + ), + + // BarsDisplay BotBar: new SettingStandard( 'bool', - 'BarsColors', - ['Bottom Bar OFF', 'Bottom Bar ON'], - 'Building Information', + 'BarsDisplay', + ['Bottom bar OFF', 'Bottom bar ON'], + 'Building information', true, function () { ToggleBotBar(); @@ -38,9 +232,9 @@ const Config = { ), TimerBar: new SettingStandard( 'bool', - 'BarsColors', - ['Timer Bar OFF', 'Timer Bar ON'], - 'Timers of Golden Cookie, Season Popup, Frenzy (Normal, Clot, Elder), Click Frenzy', + 'BarsDisplay', + ['Timer bar OFF', 'Timer bar ON'], + 'Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy', true, function () { ToggleTimerBar(); @@ -48,9 +242,9 @@ const Config = { ), TimerBarPos: new SettingStandard( 'bool', - 'BarsColors', - ['Timer Bar Position (Top Left)', 'Timer Bar Position (Bottom)'], - 'Placement of the Timer Bar', + 'BarsDisplay', + ['Timer bar position (top left)', 'Timer bar position (bottom)'], + 'Placement of the timer bar', false, function () { ToggleTimerBarPos(); @@ -58,22 +252,46 @@ const Config = { ), TimerBarOverlay: new SettingStandard( 'bool', - 'BarsColors', + 'BarsDisplay', [ - 'Timer Bar Overlay OFF', - 'Timer Bar Overlay Only Seconds', - 'Timer Bar Overlay Full', + 'Timer bar overlay OFF', + 'Timer bar overlay only seconds', + 'Timer bar overlay full', ], 'Overlay on timers displaying seconds and/or percentage left', true, ), + UpBarColour: new SettingStandard( + 'bool', + 'BarsDisplay', + [ + 'Upgrade colours/bar OFF', + 'Upgrade colours with bar ON', + 'Upgrade colours without bar ON', + ], + 'Colour code upgrades and optionally add a counter bar', + false, + function () { + ToggleUpgradeBarAndColour(); + }, + ), + UpgradeBarFixedPos: new SettingStandard( + 'bool', + 'BarsDisplay', + ['Upgrade bar fixed position OFF', 'Upgrade bar fixed position ON'], + 'Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling', + true, + function () { + ToggleUpgradeBarFixedPos(); + }, + ), SortBuildings: new SettingStandard( 'bool', - 'BarsColors', + 'BarsDisplay', [ - 'Sort Buildings: Default', - 'Sort Buildings: PP of x1 purchase', - 'Sort Buildings: PP of selected bulk mode', + 'Sort buildings: default', + 'Sort buildings: PP of x1 purchase', + 'Sort buildings: PP of selected bulk mode', ], 'Sort the display of buildings in either default order or by PP', false, @@ -83,174 +301,231 @@ const Config = { ), SortUpgrades: new SettingStandard( 'bool', - 'BarsColors', - ['Sort Upgrades: Default', 'Sort Upgrades: PP'], + 'BarsDisplay', + ['Sort upgrades: default', 'Sort upgrades: PP'], 'Sort the display of upgrades in either default order or by PP', false, function () { UpdateUpgrades(); }, ), - BuildColor: new SettingStandard( + DragonAuraInfo: new SettingStandard( 'bool', - 'BarsColors', - ['Building Colors OFF', 'Building Colors ON'], - 'Color code buildings', + 'BarsDisplay', + ['Extra dragon aura info OFF', 'Extra dragon aura info ON'], + 'Shows information about changes in CPS and costs in the dragon aura interface.', true, - function () { - UpdateBuildings(); - }, ), - PPDisplayTime: new SettingStandard( + GrimoireBar: new SettingStandard( 'bool', - 'BarsColors', - ['PP As Value (Standard)', 'PP As Time Unit'], - 'Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.', - false, + 'BarsDisplay', + ['Grimoire magic meter timer OFF', 'Grimoire magic meter timer ON'], + 'A timer on how long before the Grimoire magic meter is full', + true, ), - UpBarColor: new SettingStandard( + GCTimer: new SettingStandard( 'bool', - 'BarsColors', - [ - 'Upgrade Colors/Bar OFF', - 'Upgrade Colors with Bar ON', - 'Upgrade Colors without Bar ON', - ], - 'Color code upgrades and optionally add a counter bar', - false, + 'BarsDisplay', + ['Golden cookie timer OFF', 'Golden cookie timer ON'], + 'A timer on the golden cookie when it has been spawned', + true, function () { - ToggleUpgradeBarAndColor(); + ToggleGCTimer(); }, ), - Colors: new SettingColours( - 'color', - 'BarsColors', - { - Blue: - 'Color Blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels', - Green: - 'Color Green. Used to show best PP building, for Blood Frenzy bar, and for various labels', - Yellow: - 'Color Yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels', - Orange: - 'Color Orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels', - Red: - 'Color Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels', - Purple: - 'Color Purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels', - Gray: - 'Color Gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar', - Pink: 'Color Pink. Used for Dragonflight bar', - Brown: 'Color Brown. Used for Dragon Harvest bar', - }, + Favicon: new SettingStandard( + 'bool', + 'BarsDisplay', + ['Favicon OFF', 'Favicon ON'], + 'Update favicon with golden/wrath cookie', + true, function () { - UpdateColors(); + UpdateFavicon(); }, ), - UpgradeBarFixedPos: new SettingStandard( + WrinklerButtons: new SettingStandard( 'bool', - 'BarsColors', - ['Upgrade Bar Fixed Position OFF', 'Upgrade Bar Fixed Position ON'], - 'Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling', + 'BarsDisplay', + ['Extra wrinkler buttons OFF', 'Extra wrinkler buttons ON'], + 'Show buttons for popping wrinklers at bottom of cookie section', true, function () { - ToggleUpgradeBarFixedPos(); + ToggleWrinklerButtons(); }, ), - - // Calculation - CalcWrink: new SettingStandard( + HideSectionsButtons: new SettingStandard( 'bool', - 'Calculation', - [ - 'Calculate with Wrinklers OFF', - 'Calculate with Wrinklers ON', - 'Calculate with Single Fattest Wrinkler ON', - ], - 'Calculate times and average Cookies Per Second with (only the single non-shiny fattest) Wrinklers', + 'BarsDisplay', + ['Hide buildings/upgrades button OFF', 'Hide buildings/upgrades button ON'], + 'Show buttons for hiding and showing the buildings and upgrades sections in the right column', true, function () { - SimDoSims = true; + ToggleSectionHideButtons(); }, ), - CPSMode: new SettingStandard( + + // Tooltip + TooltipBuildUpgrade: new SettingStandard( 'bool', - 'Calculation', - ['Current Cookies Per Second', 'Average Cookies Per Second'], - 'Calculate times using current Cookies Per Second or average Cookies Per Second', - false, + 'Tooltip', + [ + 'Building/upgrade tooltip information OFF', + 'Building/upgrade tooltip information ON', + ], + 'Extra information in building/upgrade tooltips', + true, ), - AvgCPSHist: new SettingStandard( + TooltipAmor: new SettingStandard( 'bool', - 'Calculation', + 'Tooltip', [ - 'Average CPS for past 10s', - 'Average CPS for past 15s', - 'Average CPS for past 30s', - 'Average CPS for past 1m', - 'Average CPS for past 5m', - 'Average CPS for past 10m', - 'Average CPS for past 15m', - 'Average CPS for past 30m', + 'Buildings tooltip amortization information OFF', + 'Buildings tooltip amortization information ON', ], - 'How much time average Cookies Per Second should consider', - false, + 'Add amortization information to buildings tooltip', + true, ), - AvgClicksHist: new SettingStandard( + ToolWarnLucky: new SettingStandard( 'bool', - 'Calculation', + 'Tooltip', + ['Tooltip lucky warning OFF', 'Tooltip lucky warning ON'], + 'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards', + true, + ), + ToolWarnLuckyFrenzy: new SettingStandard( + 'bool', + 'Tooltip', + ['Tooltip lucky frenzy warning OFF', 'Tooltip lucky frenzy warning ON'], + 'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards', + true, + ), + ToolWarnConjure: new SettingStandard( + 'bool', + 'Tooltip', + ['Tooltip conjure warning OFF', 'Tooltip conjure warning ON'], + 'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards', + true, + ), + ToolWarnConjureFrenzy: new SettingStandard( + 'bool', + 'Tooltip', + ['Tooltip conjure frenzy warning OFF', 'Tooltip conjure frenzy warning ON'], + 'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active', + true, + ), + ToolWarnEdifice: new SettingStandard( + 'bool', + 'Tooltip', + ['Tooltip edifice warning OFF', 'Tooltip edifice warning ON'], + 'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building', + true, + ), + ToolWarnUser: new SettingInputNumber( + 'numscale', + 'Tooltip', + 'Tooltip warning at x times CPS: ', + 'Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether', + 0, + Infinity, + ), + ToolWarnBon: new SettingStandard( + 'bool', + 'Tooltip', [ - 'Average Cookie Clicks for past 1s', - 'Average Cookie Clicks for past 5s', - 'Average Cookie Clicks for past 10s', - 'Average Cookie Clicks for past 15s', - 'Average Cookie Clicks for past 30s', + 'Calculate tooltip warning with bonus CPS OFF', + 'Calculate tooltip warning with bonus CPS ON', ], - 'How much time average Cookie Clicks should consider', + 'Calculate the warning with or without the bonus CPS you get from buying', + true, + ), + ToolWarnPos: new SettingStandard( + 'bool', + 'Tooltip', + ['Tooltip warning position (left)', 'Tooltip warning position (bottom)'], + 'Placement of the warning boxes', false, + function () { + ToggleToolWarnPos(); + }, ), - PPExcludeTop: new SettingStandard( + TooltipGrim: new SettingStandard( 'bool', - 'Calculation', - [ - "Don't Ignore Any", - 'Ignore 1st Best', - 'Ignore 1st and 2nd Best', - 'Ignore 1st, 2nd and 3rd Best', - ], - 'Makes CookieMonster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values', + 'Tooltip', + ['Grimoire tooltip information OFF', 'Grimoire tooltip information ON'], + 'Extra information in tooltip for grimoire', true, ), - PPRigidelMode: new SettingStandard( + TooltipWrink: new SettingStandard( 'bool', - 'Calculation', - ['Rigidel Mode OFF', 'Rigidel Mode ON'], - 'Makes CookieMonster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel', + 'Tooltip', + ['Wrinkler tooltip OFF', 'Wrinkler tooltip ON'], + 'Shows the amount of cookies a wrinkler will give when popping it', true, ), - PPSecondsLowerLimit: new SettingInputNumber( + TooltipLump: new SettingStandard( + 'bool', + 'Tooltip', + ['Sugar lump tooltip OFF', 'Sugar lump tooltip ON'], + 'Shows the current Sugar Lump type in Sugar lump tooltip.', + true, + ), + TooltipPlots: new SettingStandard( + 'bool', + 'Tooltip', + ['Garden plots tooltip OFF', 'Garden plots tooltip ON'], + 'Shows a tooltip for plants that have a cookie reward.', + true, + ), + TooltipPantheon: new SettingStandard( + 'bool', + 'Tooltip', + ['Pantheon tooltip OFF', 'Pantheon tooltip ON'], + 'Shows additional info in the pantheon tooltip', + true, + ), + TooltipAscendButton: new SettingStandard( + 'bool', + 'Tooltip', + ['Show Extra Info Ascend Tooltip OFF', 'Show Extra Info Ascend Tooltip ON'], + 'Shows additional info in the ascend tooltip', + true, + ), + + // Statistics + Stats: new SettingStandard( + 'bool', + 'Statistics', + ['Statistics OFF', 'Statistics ON'], + 'Extra Cookie Monster statistics!', + true, + ), + MissingUpgrades: new SettingStandard( + 'bool', + 'Statistics', + ['Missing upgrades OFF', 'Missing upgrades ON'], + 'Shows missing upgrades in stats menu', + true, + ), + UpStats: new SettingStandard( + 'bool', + 'Statistics', + ['Statistics update rate (default)', 'Statistics update rate (1s)'], + 'Default rate is once every 5 seconds', + false, + ), + HeavenlyChipsTarget: new SettingInputNumber( 'numscale', - 'Calculation', - 'Lower limit for PP (in seconds): ', - 'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option', - 0, + 'Statistics', + 'Heavenly chips target: ', + 'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections', + 1, Infinity, ), - PPOnlyConsiderBuyable: new SettingStandard( - 'bool', - 'Calculation', - ["Don't Ignore Non-Buyable", 'Ignore Non-Buyable'], - "Makes CookieMonster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'", - true, - ), - ToolWarnBon: new SettingStandard( + ShowMissedGC: new SettingStandard( 'bool', - 'Calculation', - [ - 'Calculate Tooltip Warning With Bonus CPS OFF', - 'Calculate Tooltip Warning With Bonus CPS ON', - ], - 'Calculate the warning with or without the bonus CPS you get from buying', + 'Statistics', + ['Missed GC OFF', 'Missed GC ON'], + 'Show a stat in the statistics screen that counts how many golden cookies you have missed', true, ), @@ -258,14 +533,14 @@ const Config = { Title: new SettingStandard( 'bool', 'NotificationGeneral', - ['Title OFF', 'Title ON', 'Title Pinned Tab Highlight'], - 'Update title with Golden Cookie/Season Popup timers; pinned tab highlight only changes the title when a Golden Cookie/Season Popup spawns; "!" means that Golden Cookie/Reindeer can spawn', + ['Title OFF', 'Title ON', 'Title pinned tab highlight'], + 'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn', true, ), GeneralSound: new SettingStandard( 'bool', 'NotificationGeneral', - ['Consider Game Volume Setting OFF', 'Consider Game Volume Setting ON'], + ['Consider game volume setting OFF', 'Consider game volume setting ON'], 'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down', true, ), @@ -273,7 +548,7 @@ const Config = { 'bool', 'NotificationGC', ['Notification OFF', 'Notification ON'], - 'Create a notification when Golden Cookie spawns', + 'Create a notification when golden cookie spawns', true, function () { CheckNotificationPermissions(CMOptions.GCNotification); @@ -283,14 +558,14 @@ const Config = { 'bool', 'NotificationGC', ['Flash OFF', 'Flash ON'], - 'Flash screen on Golden Cookie', + 'Flash screen on golden cookie', true, ), GCSound: new SettingStandard( 'bool', 'NotificationGC', ['Sound OFF', 'Sound ON'], - 'Play a sound on Golden Cookie', + 'Play a sound on golden cookie', true, ), GCVolume: new SettingVolume('vol', 'NotificationGC', [], 'Volume'), @@ -298,13 +573,13 @@ const Config = { 'url', 'NotificationGC', 'Sound URL:', - 'URL of the sound to be played when a Golden Cookie spawns', + 'URL of the sound to be played when a golden cookie spawns', ), FortuneNotification: new SettingStandard( 'bool', 'NotificationFC', ['Notification OFF', 'Notification ON'], - 'Create a notification when Fortune Cookie is on the Ticker', + 'Create a notification when fortune cookie is on the ticker', true, function () { CheckNotificationPermissions(CMOptions.FortuneNotification); @@ -314,29 +589,28 @@ const Config = { 'bool', 'NotificationFC', ['Flash OFF', 'Flash ON'], - 'Flash screen on Fortune Cookie', + 'Flash screen on fortune cookie spawn', true, ), FortuneSound: new SettingStandard( 'bool', 'NotificationFC', ['Sound OFF', 'Sound ON'], - 'Play a sound on Fortune Cookie', + 'Play a sound on fortune cookie spawn', true, ), FortuneVolume: new SettingVolume('vol', 'NotificationFC', [], 'Volume'), - FortuneSoundURL: new SettingStandard( 'url', 'NotificationFC', 'Sound URL:', - 'URL of the sound to be played when the Ticker has a Fortune Cookie', + 'URL of the sound to be played when the ticker has a fortune cookie', ), SeaNotification: new SettingStandard( 'bool', 'NotificationSea', ['Notification OFF', 'Notification ON'], - 'Create a notification on Season Popup', + 'Create a notification on season popup', true, function () { CheckNotificationPermissions(CMOptions.SeaNotification); @@ -346,14 +620,14 @@ const Config = { 'bool', 'NotificationSea', ['Flash OFF', 'Flash ON'], - 'Flash screen on Season Popup', + 'Flash screen on season popup', true, ), SeaSound: new SettingStandard( 'bool', 'NotificationSea', ['Sound OFF', 'Sound ON'], - 'Play a sound on Season Popup', + 'Play a sound on season popup', true, ), SeaVolume: new SettingVolume('vol', 'NotificationSea', [], 'Volume'), @@ -361,20 +635,20 @@ const Config = { 'url', 'NotificationSea', 'Sound URL:', - 'URL of the sound to be played when a Season Special spawns', + 'URL of the sound to be played when on season popup spawns', ), GardFlash: new SettingStandard( 'bool', 'NotificationGard', ['Garden Tick Flash OFF', 'Flash ON'], - 'Flash screen on Garden Tick', + 'Flash screen on garden tick', true, ), GardSound: new SettingStandard( 'bool', 'NotificationGard', ['Sound OFF', 'Sound ON'], - 'Play a sound on Garden Tick', + 'Play a sound on garden tick', true, ), GardVolume: new SettingVolume('vol', 'NotificationGard', [], 'Volume'), @@ -419,7 +693,7 @@ const Config = { 'bool', 'NotificationWrink', ['Notification OFF', 'Notification ON'], - 'Create a notification when a Wrinkler appears', + 'Create a notification when a wrinkler appears', true, function () { CheckNotificationPermissions(CMOptions.WrinklerNotification); @@ -429,14 +703,14 @@ const Config = { 'bool', 'NotificationWrink', ['Flash OFF', 'Flash ON'], - 'Flash screen when a Wrinkler appears', + 'Flash screen when a wrinkler appears', true, ), WrinklerSound: new SettingStandard( 'bool', 'NotificationWrink', ['Sound OFF', 'Sound ON'], - 'Play a sound when a Wrinkler appears', + 'Play a sound when a wrinkler appears', true, ), WrinklerVolume: new SettingVolume('vol', 'NotificationWrink', [], 'Volume'), @@ -444,13 +718,13 @@ const Config = { 'url', 'NotificationWrink', 'Sound URL:', - 'URL of the sound to be played when a Wrinkler appears', + 'URL of the sound to be played when a wrinkler appears', ), WrinklerMaxNotification: new SettingStandard( 'bool', 'NotificationWrinkMax', ['Notification OFF', 'Notification ON'], - 'Create a notification when the maximum amount of Wrinklers has appeared', + 'Create a notification when the maximum amount of wrinklers has appeared', true, function () { CheckNotificationPermissions(CMOptions.WrinklerMaxNotification); @@ -467,7 +741,7 @@ const Config = { 'bool', 'NotificationWrinkMax', ['Sound OFF', 'Sound ON'], - 'Play a sound when the maximum amount of Wrinklers has appeared', + 'Play a sound when the maximum amount of wrinklers has appeared', true, ), WrinklerMaxVolume: new SettingVolume( @@ -480,286 +754,10 @@ const Config = { 'url', 'NotificationWrinkMax', 'Sound URL:', - 'URL of the sound to be played when the maximum amount of Wrinklers has appeared', - ), - - // Tooltip - TooltipBuildUpgrade: new SettingStandard( - 'bool', - 'Tooltip', - [ - 'Building/Upgrade Tooltip Information OFF', - 'Building/Upgrade Tooltip Information ON', - ], - 'Extra information in Building/Upgrade tooltips', - true, - ), - TooltipAmor: new SettingStandard( - 'bool', - 'Tooltip', - [ - 'Buildings Tooltip Amortization Information OFF', - 'Buildings Tooltip Amortization Information ON', - ], - 'Add amortization information to buildings tooltip', - true, - ), - ToolWarnLucky: new SettingStandard( - 'bool', - 'Tooltip', - ['Tooltip Lucky Warning OFF', 'Tooltip Lucky Warning ON'], - 'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards', - true, - ), - ToolWarnLuckyFrenzy: new SettingStandard( - 'bool', - 'Tooltip', - ['Tooltip Lucky Frenzy Warning OFF', 'Tooltip Lucky Frenzy Warning ON'], - 'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards', - true, - ), - ToolWarnConjure: new SettingStandard( - 'bool', - 'Tooltip', - ['Tooltip Conjure Warning OFF', 'Tooltip Conjure Warning ON'], - 'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards', - true, - ), - ToolWarnConjureFrenzy: new SettingStandard( - 'bool', - 'Tooltip', - ['Tooltip Conjure Frenzy Warning OFF', 'Tooltip Conjure Frenzy Warning ON'], - 'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active', - true, - ), - ToolWarnEdifice: new SettingStandard( - 'bool', - 'Tooltip', - ['Tooltip Edifice Warning OFF', 'Tooltip Edifice Warning ON'], - 'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building', - true, - ), - ToolWarnUser: new SettingInputNumber( - 'numscale', - 'Tooltip', - 'Tooltip Warning At x times CPS: ', - 'Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether', - 0, - Infinity, - ), - ToolWarnPos: new SettingStandard( - 'bool', - 'Tooltip', - ['Tooltip Warning Position (Left)', 'Tooltip Warning Position (Bottom)'], - 'Placement of the warning boxes', - false, - function () { - ToggleToolWarnPos(); - }, - ), - TooltipGrim: new SettingStandard( - 'bool', - 'Tooltip', - ['Grimoire Tooltip Information OFF', 'Grimoire Tooltip Information ON'], - 'Extra information in tooltip for grimoire', - true, - ), - TooltipWrink: new SettingStandard( - 'bool', - 'Tooltip', - ['Wrinkler Tooltip OFF', 'Wrinkler Tooltip ON'], - 'Shows the amount of cookies a wrinkler will give when popping it', - true, - ), - TooltipLump: new SettingStandard( - 'bool', - 'Tooltip', - ['Sugar Lump Tooltip OFF', 'Sugar Lump Tooltip ON'], - 'Shows the current Sugar Lump type in Sugar lump tooltip.', - true, - ), - TooltipPlots: new SettingStandard( - 'bool', - 'Tooltip', - ['Garden Plots Tooltip OFF', 'Garden Plots Tooltip ON'], - 'Shows a tooltip for plants that have a cookie reward.', - true, - ), - TooltipPantheon: new SettingStandard( - 'bool', - 'Tooltip', - [ - 'Show Extra Info Pantheon Tooltip OFF', - 'Show Extra Info Pantheon Tooltip ON', - ], - 'Shows additional info in the pantheon tooltip', - true, - ), - DragonAuraInfo: new SettingStandard( - 'bool', - 'Tooltip', - ['Extra Dragon Aura Info OFF', 'Extra Dragon Aura Info ON'], - 'Shows information about changes in CPS and costs in the dragon aura interface.', - true, - ), - TooltipAscendButton: new SettingStandard( - 'bool', - 'Tooltip', - ['Show Extra Info Ascend Tooltip OFF', 'Show Extra Info Ascend Tooltip ON'], - 'Shows additional info in the ascend tooltip', - true, - ), - - // Statistics - Stats: new SettingStandard( - 'bool', - 'Statistics', - ['Statistics OFF', 'Statistics ON'], - 'Extra Cookie Monster statistics!', - true, - ), - MissingUpgrades: new SettingStandard( - 'bool', - 'Statistics', - ['Missing Upgrades OFF', 'Missing Upgrades ON'], - 'Shows Missing upgrades in Stats Menu. This feature can be laggy for users with a low amount of unlocked achievements.', - true, - ), - UpStats: new SettingStandard( - 'bool', - 'Statistics', - ['Statistics Update Rate (Default)', 'Statistics Update Rate (1s)'], - 'Default Game rate is once every 5 seconds', - false, - ), - TimeFormat: new SettingStandard( - 'bool', - 'Statistics', - ['Time XXd, XXh, XXm, XXs', 'Time XX:XX:XX:XX:XX'], - 'Change the time format', - false, - ), - DetailedTime: new SettingStandard( - 'bool', - 'Statistics', - ['Detailed Time OFF', 'Detailed Time ON'], - 'Change how time is displayed in certain statistics and tooltips', - true, - function () { - ToggleDetailedTime(); - }, - ), - GrimoireBar: new SettingStandard( - 'bool', - 'Statistics', - ['Grimoire Magic Meter Timer OFF', 'Grimoire Magic Meter Timer ON'], - 'A timer on how long before the Grimoire magic meter is full', - true, - ), - HeavenlyChipsTarget: new SettingInputNumber( - 'numscale', - 'Statistics', - 'Heavenly Chips Target: ', - 'Use this to set a Heavenly Chips target that will be counted towards in the "prestige" statsistics sections', - 1, - Infinity, - ), - ShowMissedGC: new SettingStandard( - 'bool', - 'Statistics', - ['Missed GC OFF', 'Missed GC ON'], - 'Show a stat in the statistics screen that counts how many Golden Cookies you have missed', - true, - ), - - // Notation - Scale: new SettingStandard( - 'bool', - 'Notation', - [ - "Game's Setting Scale", - 'Metric', - 'Short Scale', - 'Short Scale (Abbreviated)', - 'Scientific Notation', - 'Engineering Notation', - ], - 'Change how long numbers are handled', - false, - function () { - RefreshScale(); - }, - ), - ScaleDecimals: new SettingStandard( - 'bool', - 'Notation', - ['1 decimals', '2 decimals', '3 decimals'], - `Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game's Setting Scale"`, - false, - function () { - RefreshScale(); - }, - ), - ScaleSeparator: new SettingStandard( - 'bool', - 'Notation', - ['. for decimals (Standard)', '. for thousands'], - 'Set the separator used for decimals and thousands', - false, - function () { - RefreshScale(); - }, - ), - ScaleCutoff: new SettingInputNumber( - 'numscale', - 'Notation', - 'Notation Cut-off Point: ', - 'The number from which CookieMonster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations', - 1, - 999999999, + 'URL of the sound to be played when the maximum amount of wrinklers has appeared', ), // Miscellaneous - GCTimer: new SettingStandard( - 'bool', - 'Miscellaneous', - ['Golden Cookie Timer OFF', 'Golden Cookie Timer ON'], - 'A timer on the Golden Cookie when it has been spawned', - true, - function () { - ToggleGCTimer(); - }, - ), - Favicon: new SettingStandard( - 'bool', - 'Miscellaneous', - ['Favicon OFF', 'Favicon ON'], - 'Update favicon with Golden/Wrath Cookie', - true, - function () { - UpdateFavicon(); - }, - ), - WrinklerButtons: new SettingStandard( - 'bool', - 'Miscellaneous', - ['Extra Wrinkler Buttons OFF', 'Extra Wrinkler Buttons ON'], - 'Show buttons for popping wrinklers at bottom of cookie section', - true, - function () { - ToggleWrinklerButtons(); - }, - ), - HideSectionsButtons: new SettingStandard( - 'bool', - 'Miscellaneous', - ['Hide Upgrades/Buildings Button OFF', 'Hide Upgrades/Buildings Button ON'], - 'Show buttons for hiding and showing the upgrades and buildings section in the right column', - true, - function () { - ToggleSectionHideButtons(); - }, - ), BulkBuyBlock: new SettingStandard( 'bool', 'Miscellaneous', diff --git a/src/Data/SettingsDefault.js b/src/Data/SettingsDefault.js index e419b167..d53b8931 100644 --- a/src/Data/SettingsDefault.js +++ b/src/Data/SettingsDefault.js @@ -1,22 +1,67 @@ /** This array describes all default settings */ const ConfigDefault = { - BotBar: 1, - TimerBar: 1, - TimerBarPos: 0, - TimerBarOverlay: 2, - BuildColor: 1, - PPDisplayTime: 0, - UpBarColor: 1, - UpgradeBarFixedPos: 1, - CalcWrink: 0, CPSMode: 1, AvgCPSHist: 3, AvgClicksHist: 0, + CalcWrink: 0, + Scale: 2, + ScaleDecimals: 2, + ScaleSeparator: 0, + ScaleCutoff: 999999, + TimeFormat: 0, + DetailedTime: 1, + PPDisplayTime: 0, + BuildColour: 1, + PPOnlyConsiderBuyable: 0, PPExcludeTop: 0, PPRigidelMode: 0, PPSecondsLowerLimit: 0, - PPOnlyConsiderBuyable: 0, + Colours: { + Blue: '#4bb8f0', + Green: '#00ff00', + Yellow: '#ffff00', + Orange: '#ff7f00', + Red: '#ff0000', + Purple: '#ff00ff', + Gray: '#b3b3b3', + Pink: '#ff1493', + Brown: '#8b4513', + }, + BotBar: 1, + TimerBar: 1, + TimerBarPos: 0, + TimerBarOverlay: 2, + UpBarColour: 1, + UpgradeBarFixedPos: 1, + SortBuildings: 0, + SortUpgrades: 0, + DragonAuraInfo: 1, + GrimoireBar: 1, + GCTimer: 1, + Favicon: 1, + WrinklerButtons: 1, + HideSectionsButtons: 0, + TooltipBuildUpgrade: 1, + TooltipAmor: 0, + ToolWarnLucky: 1, + ToolWarnLuckyFrenzy: 1, + ToolWarnConjure: 1, + ToolWarnConjureFrenzy: 1, + ToolWarnEdifice: 1, + ToolWarnUser: 0, ToolWarnBon: 1, + ToolWarnPos: 1, + TooltipGrim: 1, + TooltipWrink: 1, + TooltipLump: 1, + TooltipPlots: 1, + TooltipPantheon: 1, + TooltipAscendButton: 1, + Stats: 1, + MissingUpgrades: 1, + UpStats: 1, + HeavenlyChipsTarget: 1, + ShowMissedGC: 1, Title: 1, GeneralSound: 1, GCNotification: 0, @@ -58,55 +103,14 @@ const ConfigDefault = { WrinklerMaxVolume: 100, WrinklerMaxSoundURL: 'https://freesound.org/data/previews/152/152743_15663-lq.mp3', - TooltipBuildUpgrade: 1, - TooltipAmor: 0, - ToolWarnLucky: 1, - ToolWarnLuckyFrenzy: 1, - ToolWarnConjure: 1, - ToolWarnConjureFrenzy: 1, - ToolWarnEdifice: 1, - ToolWarnUser: 0, - ToolWarnPos: 1, - TooltipGrim: 1, - TooltipWrink: 1, - TooltipLump: 1, - TooltipPlots: 1, - TooltipPantheon: 1, - DragonAuraInfo: 1, - TooltipAscendButton: 1, - Stats: 1, - MissingUpgrades: 1, - UpStats: 1, - TimeFormat: 0, - DetailedTime: 1, - GrimoireBar: 1, - HeavenlyChipsTarget: 1, - ShowMissedGC: 1, - Scale: 2, - ScaleDecimals: 2, - ScaleSeparator: 0, - ScaleCutoff: 999999, - Colors: { - Blue: '#4bb8f0', - Green: '#00ff00', - Yellow: '#ffff00', - Orange: '#ff7f00', - Red: '#ff0000', - Purple: '#ff00ff', - Gray: '#b3b3b3', - Pink: '#ff1493', - Brown: '#8b4513', - }, - SortBuildings: 0, - SortUpgrades: 0, - GCTimer: 1, - Favicon: 1, - WrinklerButtons: 1, - HideSectionsButtons: 0, BulkBuyBlock: 0, Header: { - BarsColors: 1, Calculation: 1, + Notation: 1, + Colours: 1, + BarsDisplay: 1, + Tooltip: 1, + Statistics: 1, Notification: 1, NotificationGeneral: 1, NotificationGC: 1, @@ -116,9 +120,6 @@ const ConfigDefault = { NotificationMagi: 1, NotificationWrink: 1, NotificationWrinkMax: 1, - Tooltip: 1, - Statistics: 1, - Notation: 1, Miscellaneous: 1, Lucky: 1, Chain: 1, diff --git a/src/Disp/BeautifyAndFormatting/BeautifyFormatting.js b/src/Disp/BeautifyAndFormatting/BeautifyFormatting.js index a3764f9c..bd4cdc11 100644 --- a/src/Disp/BeautifyAndFormatting/BeautifyFormatting.js +++ b/src/Disp/BeautifyAndFormatting/BeautifyFormatting.js @@ -5,10 +5,10 @@ import { CMOptions } from '../../Config/VariablesAndData'; import { metric, shortScale, shortScaleAbbreviated } from '../../Data/Scales'; import { BackupFunctions } from '../../Main/VariablesAndData'; import { - ColorGreen, - ColorOrange, - ColorRed, - ColorYellow, + ColourGreen, + ColourOrange, + ColourRed, + ColourYellow, } from '../VariablesAndData'; /** @@ -134,18 +134,18 @@ export function FormatTime(time, longFormat) { * @param {number} time Time to be coloured * @returns {{string, string}} {text, color} Both the formatted time and color as strings in an array */ -export function GetTimeColor(time) { +export function GetTimeColour(time) { let color; let text; if (time <= 0) { if (CMOptions.TimeFormat) text = '00:00:00:00:00'; else text = 'Done!'; - color = ColorGreen; + color = ColourGreen; } else { text = FormatTime(time); - if (time > 300) color = ColorRed; - else if (time > 60) color = ColorOrange; - else color = ColorYellow; + if (time > 300) color = ColourRed; + else if (time > 60) color = ColourOrange; + else color = ColourYellow; } return { text, color }; } diff --git a/src/Disp/BuildingsUpgrades/Buildings.js b/src/Disp/BuildingsUpgrades/Buildings.js index e6c6452d..4be8f39f 100644 --- a/src/Disp/BuildingsUpgrades/Buildings.js +++ b/src/Disp/BuildingsUpgrades/Buildings.js @@ -7,7 +7,7 @@ import { import { CMOptions } from '../../Config/VariablesAndData'; import BuildingSell from '../../Sim/SimulationEvents/SellBuilding'; import { Beautify } from '../BeautifyAndFormatting/BeautifyFormatting'; -import { Colors, LastTargetBuildings } from '../VariablesAndData'; +import { Colours, LastTargetBuildings } from '../VariablesAndData'; /** * Section: Functions related to right column of the screen (buildings/upgrades) @@ -15,8 +15,8 @@ import { Colors, LastTargetBuildings } from '../VariablesAndData'; /** * This function adjusts some things in the column of buildings. * It colours them, helps display the correct sell-price and shuffles the order when CM.Options.SortBuildings is set - * The function is called by CM.Disp.Draw(), CM.Disp.UpdateColors() & CM.Disp.RefreshScale() - * And by changes in CM.Options.BuildColor, CM.Options.SortBuild & CM.Data.Config.BulkBuildColor + * The function is called by CM.Disp.Draw(), CM.Disp.UpdateColours() & CM.Disp.RefreshScale() + * And by changes in CM.Options.BuildColour, CM.Options.SortBuild & CM.Data.Config.BulkBuildColour */ export default function UpdateBuildings() { let target = Game.buyBulk; @@ -30,10 +30,10 @@ export default function UpdateBuildings() { else if (target === 100) target = CacheObjects100; if (Game.buyMode === 1) { - if (CMOptions.BuildColor === 1) { + if (CMOptions.BuildColour === 1) { Object.keys(target).forEach((i) => { l(`productPrice${Game.Objects[i].id}`).style.color = - CMOptions.Colors[target[i].color]; + CMOptions.Colours[target[i].color]; }); } else { Object.keys(Game.Objects).forEach((i) => { @@ -72,9 +72,9 @@ export default function UpdateBuildings() { }); arr.sort(function (a, b) { - return Colors.indexOf(a.color) > Colors.indexOf(b.color) + return Colours.indexOf(a.color) > Colours.indexOf(b.color) ? 1 - : Colors.indexOf(a.color) < Colors.indexOf(b.color) + : Colours.indexOf(a.color) < Colours.indexOf(b.color) ? -1 : a.pp < b.pp ? -1 @@ -89,9 +89,9 @@ export default function UpdateBuildings() { }); arr.sort(function (a, b) { - return Colors.indexOf(a.color) > Colors.indexOf(b.color) + return Colours.indexOf(a.color) > Colours.indexOf(b.color) ? 1 - : Colors.indexOf(a.color) < Colors.indexOf(b.color) + : Colours.indexOf(a.color) < Colours.indexOf(b.color) ? -1 : a.pp < b.pp ? -1 diff --git a/src/Disp/BuildingsUpgrades/UpgradeBar.js b/src/Disp/BuildingsUpgrades/UpgradeBar.js index 5f989419..08bfe134 100644 --- a/src/Disp/BuildingsUpgrades/UpgradeBar.js +++ b/src/Disp/BuildingsUpgrades/UpgradeBar.js @@ -1,13 +1,13 @@ import { - ColorBackPre, - ColorBlue, - ColorGray, - ColorGreen, - ColorOrange, - ColorPurple, - ColorRed, - ColorTextPre, - ColorYellow, + ColourBackPre, + ColourBlue, + ColourGray, + ColourGreen, + ColourOrange, + ColourPurple, + ColourRed, + ColourTextPre, + ColourYellow, } from '../VariablesAndData'; /** @@ -28,7 +28,7 @@ function CreateUpgradeBarLegend() { const div = document.createElement('div'); div.style.verticalAlign = 'middle'; const span = document.createElement('span'); - span.className = ColorBackPre + color; + span.className = ColourBackPre + color; span.style.display = 'inline-block'; span.style.height = '10px'; span.style.width = '10px'; @@ -39,24 +39,24 @@ function CreateUpgradeBarLegend() { }; legend.appendChild( - legendLine(ColorBlue, 'Better than the best PP of a building option'), + legendLine(ColourBlue, 'Better than the best PP of a building option'), ); legend.appendChild( - legendLine(ColorGreen, 'Same as the best PP building option'), + legendLine(ColourGreen, 'Same as the best PP building option'), ); legend.appendChild( - legendLine(ColorYellow, 'Within the top 10 of PP for buildings'), + legendLine(ColourYellow, 'Within the top 10 of PP for buildings'), ); legend.appendChild( - legendLine(ColorOrange, 'Within the top 20 of PP for buildings'), + legendLine(ColourOrange, 'Within the top 20 of PP for buildings'), ); legend.appendChild( - legendLine(ColorRed, 'Within the top 30 of PP for buildings'), + legendLine(ColourRed, 'Within the top 30 of PP for buildings'), ); legend.appendChild( - legendLine(ColorPurple, 'Outside of the top 30 of PP for buildings'), + legendLine(ColourPurple, 'Outside of the top 30 of PP for buildings'), ); - legend.appendChild(legendLine(ColorGray, 'Negative or infinity PP')); + legend.appendChild(legendLine(ColourGray, 'Negative or infinity PP')); return legend; } @@ -67,7 +67,7 @@ export default function CreateUpgradeBar() { const UpgradeBar = document.createElement('div'); UpgradeBar.id = 'CMUpgradeBar'; UpgradeBar.style.width = '100%'; - UpgradeBar.style.backgroundColor = 'black'; + UpgradeBar.style.backgroundColour = 'black'; UpgradeBar.style.textAlign = 'center'; UpgradeBar.style.fontWeight = 'bold'; UpgradeBar.style.display = 'none'; @@ -85,19 +85,19 @@ export default function CreateUpgradeBar() { const upgradeNumber = function (id, color) { const span = document.createElement('span'); span.id = id; - span.className = ColorTextPre + color; + span.className = ColourTextPre + color; span.style.width = '14.28571428571429%'; span.style.display = 'inline-block'; span.textContent = '0'; return span; }; - UpgradeBar.appendChild(upgradeNumber('CMUpgradeBarBlue', ColorBlue)); - UpgradeBar.appendChild(upgradeNumber('CMUpgradeBarGreen', ColorGreen)); - UpgradeBar.appendChild(upgradeNumber('CMUpgradeBarYellow', ColorYellow)); - UpgradeBar.appendChild(upgradeNumber('CMUpgradeBarOrange', ColorOrange)); - UpgradeBar.appendChild(upgradeNumber('CMUpgradeBarRed', ColorRed)); - UpgradeBar.appendChild(upgradeNumber('CMUpgradeBarPurple', ColorPurple)); - UpgradeBar.appendChild(upgradeNumber('CMUpgradeBarGray', ColorGray)); + UpgradeBar.appendChild(upgradeNumber('CMUpgradeBarBlue', ColourBlue)); + UpgradeBar.appendChild(upgradeNumber('CMUpgradeBarGreen', ColourGreen)); + UpgradeBar.appendChild(upgradeNumber('CMUpgradeBarYellow', ColourYellow)); + UpgradeBar.appendChild(upgradeNumber('CMUpgradeBarOrange', ColourOrange)); + UpgradeBar.appendChild(upgradeNumber('CMUpgradeBarRed', ColourRed)); + UpgradeBar.appendChild(upgradeNumber('CMUpgradeBarPurple', ColourPurple)); + UpgradeBar.appendChild(upgradeNumber('CMUpgradeBarGray', ColourGray)); l('upgrades').parentNode.insertBefore( UpgradeBar, diff --git a/src/Disp/BuildingsUpgrades/Upgrades.js b/src/Disp/BuildingsUpgrades/Upgrades.js index 35c14227..d94c2694 100644 --- a/src/Disp/BuildingsUpgrades/Upgrades.js +++ b/src/Disp/BuildingsUpgrades/Upgrades.js @@ -2,26 +2,26 @@ import { CacheUpgrades } from '../../Cache/VariablesAndData'; import { CMOptions } from '../../Config/VariablesAndData'; import { - ColorBackPre, - ColorBlue, - ColorGray, - ColorGreen, - ColorOrange, - ColorPurple, - ColorRed, - Colors, - ColorYellow, + ColourBackPre, + ColourBlue, + ColourGray, + ColourGreen, + ColourOrange, + ColourPurple, + ColourRed, + Colours, + ColourYellow, } from '../VariablesAndData'; /** * This function adjusts some things in the upgrades section * It colours them and shuffles the order when CM.Options.SortBuildings is set - * The function is called by CM.Disp.Draw(), CM.Disp.ToggleUpgradeBarAndColor & CM.Disp.RefreshScale() + * The function is called by CM.Disp.Draw(), CM.Disp.ToggleUpgradeBarAndColour & CM.Disp.RefreshScale() * And by changes in CM.Options.SortUpgrades */ export default function UpdateUpgrades() { // This counts the amount of upgrades for each pp group and updates the Upgrade Bar - if (CMOptions.UpBarColor > 0) { + if (CMOptions.UpBarColour > 0) { let blue = 0; let green = 0; let yellow = 0; @@ -32,31 +32,31 @@ export default function UpdateUpgrades() { Object.keys(Game.UpgradesInStore).forEach((i) => { const me = Game.UpgradesInStore[i]; - let addedColor = false; + let addedColour = false; for (let j = 0; j < l(`upgrade${i}`).childNodes.length; j += 1) { if ( - l(`upgrade${i}`).childNodes[j].className.indexOf(ColorBackPre) !== -1 + l(`upgrade${i}`).childNodes[j].className.indexOf(ColourBackPre) !== -1 ) { l(`upgrade${i}`).childNodes[j].className = - ColorBackPre + CacheUpgrades[me.name].color; - addedColor = true; + ColourBackPre + CacheUpgrades[me.name].color; + addedColour = true; break; } } - if (!addedColor) { + if (!addedColour) { const div = document.createElement('div'); div.style.width = '10px'; div.style.height = '10px'; - div.className = ColorBackPre + CacheUpgrades[me.name].color; + div.className = ColourBackPre + CacheUpgrades[me.name].color; l(`upgrade${i}`).appendChild(div); } - if (CacheUpgrades[me.name].color === ColorBlue) blue += 1; - else if (CacheUpgrades[me.name].color === ColorGreen) green += 1; - else if (CacheUpgrades[me.name].color === ColorYellow) yellow += 1; - else if (CacheUpgrades[me.name].color === ColorOrange) orange += 1; - else if (CacheUpgrades[me.name].color === ColorRed) red += 1; - else if (CacheUpgrades[me.name].color === ColorPurple) purple += 1; - else if (CacheUpgrades[me.name].color === ColorGray) gray += 1; + if (CacheUpgrades[me.name].color === ColourBlue) blue += 1; + else if (CacheUpgrades[me.name].color === ColourGreen) green += 1; + else if (CacheUpgrades[me.name].color === ColourYellow) yellow += 1; + else if (CacheUpgrades[me.name].color === ColourOrange) orange += 1; + else if (CacheUpgrades[me.name].color === ColourRed) red += 1; + else if (CacheUpgrades[me.name].color === ColourPurple) purple += 1; + else if (CacheUpgrades[me.name].color === ColourGray) gray += 1; }); l('CMUpgradeBarBlue').textContent = blue; @@ -81,9 +81,9 @@ export default function UpdateUpgrades() { if (CMOptions.SortUpgrades) { arr.sort(function (a, b) { - return Colors.indexOf(a.color) > Colors.indexOf(b.color) + return Colours.indexOf(a.color) > Colours.indexOf(b.color) ? 1 - : Colors.indexOf(a.color) < Colors.indexOf(b.color) + : Colours.indexOf(a.color) < Colours.indexOf(b.color) ? -1 : a.pp < b.pp ? -1 diff --git a/src/Disp/HelperFunctions/GetLumpColor.js b/src/Disp/HelperFunctions/GetLumpColor.js deleted file mode 100644 index 8da19d6b..00000000 --- a/src/Disp/HelperFunctions/GetLumpColor.js +++ /dev/null @@ -1,33 +0,0 @@ -import { - ColorGray, - ColorGreen, - ColorOrange, - ColorPurple, - ColorRed, - ColorYellow, -} from '../VariablesAndData'; - -/** - * This function returns Name and Color as object for sugar lump type that is given as input param. - * It is called by CM.Disp.UpdateTooltipSugarLump() - * @param {string} type Sugar Lump Type. - * @returns {{string}, {string}} text, color An array containing the text and display-color of the sugar lump - */ -export default function GetLumpColor(type) { - if (type === 0) { - return { text: 'Normal', color: ColorGray }; - } - if (type === 1) { - return { text: 'Bifurcated', color: ColorGreen }; - } - if (type === 2) { - return { text: 'Golden', color: ColorYellow }; - } - if (type === 3) { - return { text: 'Meaty', color: ColorOrange }; - } - if (type === 4) { - return { text: 'Caramelized', color: ColorPurple }; - } - return { text: 'Unknown Sugar Lump', color: ColorRed }; -} diff --git a/src/Disp/HelperFunctions/GetLumpColour.js b/src/Disp/HelperFunctions/GetLumpColour.js new file mode 100644 index 00000000..decb7bd0 --- /dev/null +++ b/src/Disp/HelperFunctions/GetLumpColour.js @@ -0,0 +1,33 @@ +import { + ColourGray, + ColourGreen, + ColourOrange, + ColourPurple, + ColourRed, + ColourYellow, +} from '../VariablesAndData'; + +/** + * This function returns Name and Colour as object for sugar lump type that is given as input param. + * It is called by CM.Disp.UpdateTooltipSugarLump() + * @param {string} type Sugar Lump Type. + * @returns {{string}, {string}} text, color An array containing the text and display-color of the sugar lump + */ +export default function GetLumpColour(type) { + if (type === 0) { + return { text: 'Normal', color: ColourGray }; + } + if (type === 1) { + return { text: 'Bifurcated', color: ColourGreen }; + } + if (type === 2) { + return { text: 'Golden', color: ColourYellow }; + } + if (type === 3) { + return { text: 'Meaty', color: ColourOrange }; + } + if (type === 4) { + return { text: 'Caramelized', color: ColourPurple }; + } + return { text: 'Unknown Sugar Lump', color: ColourRed }; +} diff --git a/src/Disp/HelperFunctions/UpdateColors.js b/src/Disp/HelperFunctions/UpdateColors.js deleted file mode 100644 index c80fa7c6..00000000 --- a/src/Disp/HelperFunctions/UpdateColors.js +++ /dev/null @@ -1,33 +0,0 @@ -import { CMOptions } from '../../Config/VariablesAndData'; -import UpdateBuildings from '../BuildingsUpgrades/Buildings'; -import { - ColorBackPre, - ColorBorderPre, - Colors, - ColorTextPre, -} from '../VariablesAndData'; - -/** - * This function changes/refreshes colours if the user has set new standard colours - * The function is therefore called by a change in CM.Options.Colors - */ -export default function UpdateColors() { - let str = ''; - for (let i = 0; i < Colors.length; i++) { - str += `.${ColorTextPre}${Colors[i]} { color: ${ - CMOptions.Colors[Colors[i]] - }; }\n`; - } - for (let i = 0; i < Colors.length; i++) { - str += `.${ColorBackPre}${Colors[i]} { background-color: ${ - CMOptions.Colors[Colors[i]] - }; }\n`; - } - for (let i = 0; i < Colors.length; i++) { - str += `.${ColorBorderPre}${Colors[i]} { border: 1px solid ${ - CMOptions.Colors[Colors[i]] - }; }\n`; - } - l('CMCSS').textContent = str; - UpdateBuildings(); // Class has been already set -} diff --git a/src/Disp/HelperFunctions/UpdateColours.js b/src/Disp/HelperFunctions/UpdateColours.js new file mode 100644 index 00000000..4d1440ca --- /dev/null +++ b/src/Disp/HelperFunctions/UpdateColours.js @@ -0,0 +1,33 @@ +import { CMOptions } from '../../Config/VariablesAndData'; +import UpdateBuildings from '../BuildingsUpgrades/Buildings'; +import { + ColourBackPre, + ColourBorderPre, + Colours, + ColourTextPre, +} from '../VariablesAndData'; + +/** + * This function changes/refreshes colours if the user has set new standard colours + * The function is therefore called by a change in CM.Options.Colours + */ +export default function UpdateColours() { + let str = ''; + for (let i = 0; i < Colours.length; i++) { + str += `.${ColourTextPre}${Colours[i]} { color: ${ + CMOptions.Colours[Colours[i]] + }; }\n`; + } + for (let i = 0; i < Colours.length; i++) { + str += `.${ColourBackPre}${Colours[i]} { background-color: ${ + CMOptions.Colours[Colours[i]] + }; }\n`; + } + for (let i = 0; i < Colours.length; i++) { + str += `.${ColourBorderPre}${Colours[i]} { border: 1px solid ${ + CMOptions.Colours[Colours[i]] + }; }\n`; + } + l('CMCSS').textContent = str; + UpdateBuildings(); // Class has been already set +} diff --git a/src/Disp/InfoBars/BottomBar.js b/src/Disp/InfoBars/BottomBar.js index 33ecf842..bf56557a 100644 --- a/src/Disp/InfoBars/BottomBar.js +++ b/src/Disp/InfoBars/BottomBar.js @@ -10,14 +10,14 @@ import { VersionMajor, VersionMinor } from '../../Data/Moddata'; import { Beautify, FormatTime, - GetTimeColor, + GetTimeColour, } from '../BeautifyAndFormatting/BeautifyFormatting'; import GetCPS from '../HelperFunctions/GetCPS'; import GetWrinkConfigBank from '../HelperFunctions/GetWrinkConfigBank'; import { - ColorBlue, - ColorTextPre, - ColorYellow, + ColourBlue, + ColourTextPre, + ColourYellow, LastTargetBotBar, } from '../VariablesAndData'; import { CreateBotBarBuildingColumn } from './CreateDOMElements'; @@ -32,7 +32,7 @@ export function CreateBotBar() { BotBar.style.width = '100%'; BotBar.style.position = 'absolute'; BotBar.style.display = 'none'; - BotBar.style.backgroundColor = '#262224'; + BotBar.style.backgroundColour = '#262224'; BotBar.style.backgroundImage = 'linear-gradient(to bottom, #4d4548, #000000)'; BotBar.style.borderTop = '1px solid black'; BotBar.style.overflow = 'auto'; @@ -48,19 +48,21 @@ export function CreateBotBar() { const firstCol = function (text, color) { const td = document.createElement('td'); td.style.textAlign = 'right'; - td.className = ColorTextPre + color; + td.className = ColourTextPre + color; td.textContent = text; return td; }; const type = tbody.appendChild(document.createElement('tr')); type.style.fontWeight = 'bold'; - type.appendChild(firstCol(`CM ${VersionMajor}.${VersionMinor}`, ColorYellow)); + type.appendChild( + firstCol(`CM ${VersionMajor}.${VersionMinor}`, ColourYellow), + ); const bonus = tbody.appendChild(document.createElement('tr')); - bonus.appendChild(firstCol('Bonus Income', ColorBlue)); + bonus.appendChild(firstCol('Bonus Income', ColourBlue)); const pp = tbody.appendChild(document.createElement('tr')); - pp.appendChild(firstCol('Payback Period', ColorBlue)); + pp.appendChild(firstCol('Payback Period', ColourBlue)); const time = tbody.appendChild(document.createElement('tr')); - time.appendChild(firstCol('Time Left', ColorBlue)); + time.appendChild(firstCol('Time Left', ColourBlue)); l('wrapper').appendChild(BotBar); @@ -94,7 +96,7 @@ export function UpdateBotBar() { ].textContent = Beautify(target[i].bonus, 2); l('CMBotBar').firstChild.firstChild.childNodes[2].childNodes[ count - ].className = ColorTextPre + target[i].color; + ].className = ColourTextPre + target[i].color; let PPString; if (CMOptions.PPDisplayTime) PPString = FormatTime(Math.round(target[i].pp)); @@ -102,24 +104,24 @@ export function UpdateBotBar() { l('CMBotBar').firstChild.firstChild.childNodes[2].childNodes[ count ].textContent = PPString; - const timeColor = GetTimeColor( + const timeColour = GetTimeColour( (Game.Objects[i].bulkPrice - (Game.cookies + GetWrinkConfigBank())) / GetCPS(), ); l('CMBotBar').firstChild.firstChild.childNodes[3].childNodes[ count - ].className = ColorTextPre + timeColor.color; + ].className = ColourTextPre + timeColour.color; if ( - timeColor.text === 'Done!' && + timeColour.text === 'Done!' && Game.cookies < Game.Objects[i].bulkPrice ) { l('CMBotBar').firstChild.firstChild.childNodes[3].childNodes[ count - ].textContent = `${timeColor.text} (with Wrink)`; + ].textContent = `${timeColour.text} (with Wrink)`; } else l('CMBotBar').firstChild.firstChild.childNodes[3].childNodes[ count - ].textContent = timeColor.text; + ].textContent = timeColour.text; }); } } diff --git a/src/Disp/InfoBars/CreateDOMElements.js b/src/Disp/InfoBars/CreateDOMElements.js index 01fb3715..5bd6b17c 100644 --- a/src/Disp/InfoBars/CreateDOMElements.js +++ b/src/Disp/InfoBars/CreateDOMElements.js @@ -1,6 +1,6 @@ /** Functions to create various DOM elements used by the Bars */ -import { ColorBackPre, ColorBlue, ColorTextPre } from '../VariablesAndData'; +import { ColourBackPre, ColourBlue, ColourTextPre } from '../VariablesAndData'; /** * This function creates an indivudual timer for the timer bar @@ -47,7 +47,7 @@ export function CreateTimer(id, name, bars) { colorBar.style.borderBottomRightRadius = '10px'; } if (typeof bars[i].color !== 'undefined') { - colorBar.className = ColorBackPre + bars[i].color; + colorBar.className = ColourBackPre + bars[i].color; } div.appendChild(colorBar); } @@ -83,7 +83,7 @@ export function CreateBotBarBuildingColumn(buildingName) { ); const span = header.appendChild(document.createElement('span')); - span.className = ColorTextPre + ColorBlue; + span.className = ColourTextPre + ColourBlue; header.appendChild(document.createTextNode(')')); type.lastChild.style.paddingLeft = '8px'; diff --git a/src/Disp/InfoBars/TimerBar.js b/src/Disp/InfoBars/TimerBar.js index 3c2bbb18..541037e7 100644 --- a/src/Disp/InfoBars/TimerBar.js +++ b/src/Disp/InfoBars/TimerBar.js @@ -3,11 +3,11 @@ import { UpdateBotTimerBarPosition } from '../../Config/SpecificToggles'; import { CMOptions } from '../../Config/VariablesAndData'; import { - BuffColors, - ColorBackPre, - ColorGray, - ColorOrange, - ColorPurple, + BuffColours, + ColourBackPre, + ColourGray, + ColourOrange, + ColourPurple, LastNumberOfTimers, } from '../VariablesAndData'; import { CreateTimer } from './CreateDOMElements'; @@ -23,19 +23,19 @@ export function CreateTimerBar() { TimerBar.style.height = '0px'; TimerBar.style.fontSize = '10px'; TimerBar.style.fontWeight = 'bold'; - TimerBar.style.backgroundColor = 'black'; + TimerBar.style.backgroundColour = 'black'; // Create standard Golden Cookie bar const CMTimerBarGC = CreateTimer('CMTimerBarGC', 'Next Cookie', [ - { id: 'CMTimerBarGCMinBar', color: ColorGray }, - { id: 'CMTimerBarGCBar', color: ColorPurple }, + { id: 'CMTimerBarGCMinBar', color: ColourGray }, + { id: 'CMTimerBarGCBar', color: ColourPurple }, ]); TimerBar.appendChild(CMTimerBarGC); // Create standard Reindeer bar const CMTimerBarRen = CreateTimer('CMTimerBarRen', 'Next Reindeer', [ - { id: 'CMTimerBarRenMinBar', color: ColorGray }, - { id: 'CMTimerBarRenBar', color: ColorOrange }, + { id: 'CMTimerBarRenMinBar', color: ColourGray }, + { id: 'CMTimerBarRenBar', color: ColourOrange }, ]); TimerBar.appendChild(CMTimerBarRen); const TimerBarBuffTimers = document.createElement('div'); @@ -166,12 +166,12 @@ export function UpdateTimerBar() { { id: `${Game.buffs[i].name}Bar` }, ]); timer.style.display = ''; - let classColor = ''; + let classColour = ''; // Gives specific timers specific colors - if (typeof BuffColors[Game.buffs[i].name] !== 'undefined') { - classColor = BuffColors[Game.buffs[i].name]; - } else classColor = ColorPurple; - timer.lastChild.children[1].className = ColorBackPre + classColor; + if (typeof BuffColours[Game.buffs[i].name] !== 'undefined') { + classColour = BuffColours[Game.buffs[i].name]; + } else classColour = ColourPurple; + timer.lastChild.children[1].className = ColourBackPre + classColour; timer.lastChild.children[1].style.color = 'black'; if (CMOptions.TimerBarOverlay === 2) timer.lastChild.children[1].textContent = `${Math.round( diff --git a/src/Disp/MenuSections/CreateStatsSections.js b/src/Disp/MenuSections/CreateStatsSections.js index ee11f277..3d1b901e 100644 --- a/src/Disp/MenuSections/CreateStatsSections.js +++ b/src/Disp/MenuSections/CreateStatsSections.js @@ -45,7 +45,7 @@ import { import GetCPS from '../HelperFunctions/GetCPS'; import GetWrinkConfigBank from '../HelperFunctions/GetWrinkConfigBank'; -import { ColorGreen, ColorRed, ColorTextPre } from '../VariablesAndData'; +import { ColourGreen, ColourRed, ColourTextPre } from '../VariablesAndData'; import { StatsListing, StatsHeader, StatsMissDisp } from './CreateDOMElements'; /** @@ -61,8 +61,8 @@ export function LuckySection() { const section = document.createElement('div'); section.className = 'CMStatsLuckySection'; - const luckyColor = - Game.cookies + GetWrinkConfigBank() < CacheLucky ? ColorRed : ColorGreen; + const luckyColour = + Game.cookies + GetWrinkConfigBank() < CacheLucky ? ColourRed : ColourGreen; const luckyTime = Game.cookies + GetWrinkConfigBank() < CacheLucky ? FormatTime( @@ -72,7 +72,7 @@ export function LuckySection() { const luckyReqFrag = document.createDocumentFragment(); const luckyReqSpan = document.createElement('span'); luckyReqSpan.style.fontWeight = 'bold'; - luckyReqSpan.className = ColorTextPre + luckyColor; + luckyReqSpan.className = ColourTextPre + luckyColour; luckyReqSpan.textContent = Beautify(CacheLucky); luckyReqFrag.appendChild(luckyReqSpan); if (luckyTime !== '') { @@ -89,10 +89,10 @@ export function LuckySection() { ), ); - const luckyColorFrenzy = + const luckyColourFrenzy = Game.cookies + GetWrinkConfigBank() < CacheLuckyFrenzy - ? ColorRed - : ColorGreen; + ? ColourRed + : ColourGreen; const luckyTimeFrenzy = Game.cookies + GetWrinkConfigBank() < CacheLuckyFrenzy ? FormatTime( @@ -102,7 +102,7 @@ export function LuckySection() { const luckyReqFrenFrag = document.createDocumentFragment(); const luckyReqFrenSpan = document.createElement('span'); luckyReqFrenSpan.style.fontWeight = 'bold'; - luckyReqFrenSpan.className = ColorTextPre + luckyColorFrenzy; + luckyReqFrenSpan.className = ColourTextPre + luckyColourFrenzy; luckyReqFrenSpan.textContent = Beautify(CacheLuckyFrenzy); luckyReqFrenFrag.appendChild(luckyReqFrenSpan); if (luckyTimeFrenzy !== '') { @@ -123,7 +123,7 @@ export function LuckySection() { const luckyRewardMaxSpan = document.createElement('span'); luckyRewardMaxSpan.style.fontWeight = 'bold'; - luckyRewardMaxSpan.className = ColorTextPre + CacheLuckyReward; + luckyRewardMaxSpan.className = ColourTextPre + CacheLuckyReward; luckyRewardMaxSpan.textContent = Beautify(CacheLuckyReward) + (luckySplit ? ` / ${Beautify(CacheLuckyWrathReward)}` : ''); @@ -138,7 +138,7 @@ export function LuckySection() { const luckyRewardFrenzyMaxSpan = document.createElement('span'); luckyRewardFrenzyMaxSpan.style.fontWeight = 'bold'; - luckyRewardFrenzyMaxSpan.className = ColorTextPre + luckyRewardFrenzyMaxSpan; + luckyRewardFrenzyMaxSpan.className = ColourTextPre + luckyRewardFrenzyMaxSpan; luckyRewardFrenzyMaxSpan.textContent = Beautify(CacheLuckyRewardFrenzy) + (luckySplit ? ` / ${Beautify(CacheLuckyWrathRewardFrenzy)}` : ''); @@ -158,7 +158,7 @@ export function LuckySection() { ) + 13; const luckyCurSpan = document.createElement('span'); luckyCurSpan.style.fontWeight = 'bold'; - luckyCurSpan.className = ColorTextPre + luckyCurSpan; + luckyCurSpan.className = ColourTextPre + luckyCurSpan; luckyCurSpan.textContent = Beautify(CacheGoldenCookiesMult * luckyCurBase) + (luckySplit ? ` / ${Beautify(CacheWrathCookiesMult * luckyCurBase)}` : ''); @@ -186,10 +186,10 @@ export function ChainSection() { const section = document.createElement('div'); section.className = 'CMStatsChainSection'; - const chainColor = + const chainColour = Game.cookies + GetWrinkConfigBank() < CacheChainRequired - ? ColorRed - : ColorGreen; + ? ColourRed + : ColourGreen; const chainTime = Game.cookies + GetWrinkConfigBank() < CacheChainRequired ? FormatTime( @@ -200,7 +200,7 @@ export function ChainSection() { const chainReqFrag = document.createDocumentFragment(); const chainReqSpan = document.createElement('span'); chainReqSpan.style.fontWeight = 'bold'; - chainReqSpan.className = ColorTextPre + chainColor; + chainReqSpan.className = ColourTextPre + chainColour; chainReqSpan.textContent = Beautify(CacheChainRequired); chainReqFrag.appendChild(chainReqSpan); if (chainTime !== '') { @@ -217,10 +217,10 @@ export function ChainSection() { ), ); - const chainWrathColor = + const chainWrathColour = Game.cookies + GetWrinkConfigBank() < CacheChainWrathRequired - ? ColorRed - : ColorGreen; + ? ColourRed + : ColourGreen; const chainWrathTime = Game.cookies + GetWrinkConfigBank() < CacheChainWrathRequired ? FormatTime( @@ -231,7 +231,7 @@ export function ChainSection() { const chainWrathReqFrag = document.createDocumentFragment(); const chainWrathReqSpan = document.createElement('span'); chainWrathReqSpan.style.fontWeight = 'bold'; - chainWrathReqSpan.className = ColorTextPre + chainWrathColor; + chainWrathReqSpan.className = ColourTextPre + chainWrathColour; chainWrathReqSpan.textContent = Beautify(CacheChainWrathRequired); chainWrathReqFrag.appendChild(chainWrathReqSpan); if (chainWrathTime !== '') { @@ -248,10 +248,10 @@ export function ChainSection() { ), ); - const chainColorFrenzy = + const chainColourFrenzy = Game.cookies + GetWrinkConfigBank() < CacheChainFrenzyRequired - ? ColorRed - : ColorGreen; + ? ColourRed + : ColourGreen; const chainTimeFrenzy = Game.cookies + GetWrinkConfigBank() < CacheChainFrenzyRequired ? FormatTime( @@ -262,7 +262,7 @@ export function ChainSection() { const chainReqFrenFrag = document.createDocumentFragment(); const chainReqFrenSpan = document.createElement('span'); chainReqFrenSpan.style.fontWeight = 'bold'; - chainReqFrenSpan.className = ColorTextPre + chainColorFrenzy; + chainReqFrenSpan.className = ColourTextPre + chainColourFrenzy; chainReqFrenSpan.textContent = Beautify(CacheChainFrenzyRequired); chainReqFrenFrag.appendChild(chainReqFrenSpan); if (chainTimeFrenzy !== '') { @@ -279,10 +279,10 @@ export function ChainSection() { ), ); - const chainWrathColorFrenzy = + const chainWrathColourFrenzy = Game.cookies + GetWrinkConfigBank() < CacheChainFrenzyWrathRequired - ? ColorRed - : ColorGreen; + ? ColourRed + : ColourGreen; const chainWrathTimeFrenzy = Game.cookies + GetWrinkConfigBank() < CacheChainFrenzyWrathRequired ? FormatTime( @@ -294,7 +294,7 @@ export function ChainSection() { const chainWrathReqFrenFrag = document.createDocumentFragment(); const chainWrathReqFrenSpan = document.createElement('span'); chainWrathReqFrenSpan.style.fontWeight = 'bold'; - chainWrathReqFrenSpan.className = ColorTextPre + chainWrathColorFrenzy; + chainWrathReqFrenSpan.className = ColourTextPre + chainWrathColourFrenzy; chainWrathReqFrenSpan.textContent = Beautify(CacheChainFrenzyWrathRequired); chainWrathReqFrenFrag.appendChild(chainWrathReqFrenSpan); if (chainWrathTimeFrenzy !== '') { @@ -397,8 +397,10 @@ export function SpellsSection() { const section = document.createElement('div'); section.className = 'CMStatsSpellsSection'; - const conjureColor = - Game.cookies + GetWrinkConfigBank() < CacheConjure ? ColorRed : ColorGreen; + const conjureColour = + Game.cookies + GetWrinkConfigBank() < CacheConjure + ? ColourRed + : ColourGreen; const conjureTime = Game.cookies + GetWrinkConfigBank() < CacheConjure ? FormatTime( @@ -409,7 +411,7 @@ export function SpellsSection() { const conjureReqFrag = document.createDocumentFragment(); const conjureReqSpan = document.createElement('span'); conjureReqSpan.style.fontWeight = 'bold'; - conjureReqSpan.className = ColorTextPre + conjureColor; + conjureReqSpan.className = ColourTextPre + conjureColour; conjureReqSpan.textContent = Beautify(CacheConjure); conjureReqFrag.appendChild(conjureReqSpan); if (conjureTime !== '') { @@ -434,10 +436,10 @@ export function SpellsSection() { ), ); - const conjureFrenzyColor = + const conjureFrenzyColour = Game.cookies + GetWrinkConfigBank() < CacheConjure * 7 - ? ColorRed - : ColorGreen; + ? ColourRed + : ColourGreen; const conjureFrenzyCur = Math.min( (Game.cookies + GetWrinkConfigBank()) * 0.15, CacheNoGoldSwitchCookiesPS * 60 * 30, @@ -452,7 +454,7 @@ export function SpellsSection() { const conjureFrenzyReqFrag = document.createDocumentFragment(); const conjureFrenzyReqSpan = document.createElement('span'); conjureFrenzyReqSpan.style.fontWeight = 'bold'; - conjureFrenzyReqSpan.className = ColorTextPre + conjureFrenzyColor; + conjureFrenzyReqSpan.className = ColourTextPre + conjureFrenzyColour; conjureFrenzyReqSpan.textContent = Beautify(CacheConjure * 7); conjureFrenzyReqFrag.appendChild(conjureFrenzyReqSpan); if (conjureFrenzyTime !== '') { @@ -507,11 +509,11 @@ export function GardenSection() { const section = document.createElement('div'); section.className = 'CMStatsGardenSection'; - const bakeberryColor = - Game.cookies < Game.cookiesPs * 60 * 10 * 100 ? ColorRed : ColorGreen; + const bakeberryColour = + Game.cookies < Game.cookiesPs * 60 * 10 * 100 ? ColourRed : ColourGreen; const bakeberryFrag = document.createElement('span'); bakeberryFrag.style.fontWeight = 'bold'; - bakeberryFrag.className = ColorTextPre + bakeberryColor; + bakeberryFrag.className = ColourTextPre + bakeberryColour; bakeberryFrag.textContent = Beautify(Game.cookiesPs * 60 * 10 * 100); section.appendChild( StatsListing( @@ -521,11 +523,11 @@ export function GardenSection() { ), ); - const chocorootColor = - Game.cookies < Game.cookiesPs * 60 * 100 ? ColorRed : ColorGreen; + const chocorootColour = + Game.cookies < Game.cookiesPs * 60 * 100 ? ColourRed : ColourGreen; const chocorootFrag = document.createElement('span'); chocorootFrag.style.fontWeight = 'bold'; - chocorootFrag.className = ColorTextPre + chocorootColor; + chocorootFrag.className = ColourTextPre + chocorootColour; chocorootFrag.textContent = Beautify(Game.cookiesPs * 60 * 100); section.appendChild( StatsListing( @@ -535,11 +537,11 @@ export function GardenSection() { ), ); - const queenbeetColor = - Game.cookies < Game.cookiesPs * 60 * 60 * 25 ? ColorRed : ColorGreen; + const queenbeetColour = + Game.cookies < Game.cookiesPs * 60 * 60 * 25 ? ColourRed : ColourGreen; const queenbeetFrag = document.createElement('span'); queenbeetFrag.style.fontWeight = 'bold'; - queenbeetFrag.className = ColorTextPre + queenbeetColor; + queenbeetFrag.className = ColourTextPre + queenbeetColour; queenbeetFrag.textContent = Beautify(Game.cookiesPs * 60 * 60 * 25); section.appendChild( StatsListing( @@ -549,11 +551,11 @@ export function GardenSection() { ), ); - const duketaterColor = - Game.cookies < Game.cookiesPs * 60 * 15 * 100 ? ColorRed : ColorGreen; + const duketaterColour = + Game.cookies < Game.cookiesPs * 60 * 15 * 100 ? ColourRed : ColourGreen; const duketaterFrag = document.createElement('span'); duketaterFrag.style.fontWeight = 'bold'; - duketaterFrag.className = ColorTextPre + duketaterColor; + duketaterFrag.className = ColourTextPre + duketaterColour; duketaterFrag.textContent = Beautify(Game.cookiesPs * 60 * 15 * 100); section.appendChild( StatsListing( diff --git a/src/Disp/MenuSections/SettingsPage.js b/src/Disp/MenuSections/SettingsPage.js index 4807ae6b..1e2bd0c0 100644 --- a/src/Disp/MenuSections/SettingsPage.js +++ b/src/Disp/MenuSections/SettingsPage.js @@ -19,9 +19,9 @@ import { import Config from '../../Data/SettingsData'; import ConfigDefault from '../../Data/SettingsDefault'; import RefreshScale from '../HelperFunctions/RefreshScale'; -import UpdateColors from '../HelperFunctions/UpdateColors'; +import UpdateColours from '../HelperFunctions/UpdateColours'; import PlaySound from '../Notifications/Sound'; -import { Colors } from '../VariablesAndData'; +import { Colours } from '../VariablesAndData'; /** * This function creates a header-object for the options page @@ -169,24 +169,24 @@ function CreatePrefOption(config) { } if (Config[config].type === 'color') { div.className = ''; - for (let i = 0; i < Colors.length; i++) { + for (let i = 0; i < Colours.length; i++) { const innerDiv = document.createElement('div'); innerDiv.className = 'listing'; const input = document.createElement('input'); - input.id = Colors[i]; + input.id = Colours[i]; input.style.width = '65px'; - input.setAttribute('value', CMOptions.Colors[Colors[i]]); + input.setAttribute('value', CMOptions.Colours[Colours[i]]); innerDiv.appendChild(input); const change = function () { - CMOptions.Colors[this.targetElement.id] = this.toHEXString(); - UpdateColors(); + CMOptions.Colours[this.targetElement.id] = this.toHEXString(); + UpdateColours(); SaveConfig(); Game.UpdateMenu(); }; // eslint-disable-next-line no-new new JsColor(input, { hash: true, position: 'right', onInput: change }); const label = document.createElement('label'); - label.textContent = Config.Colors.desc[Colors[i]]; + label.textContent = Config.Colours.desc[Colours[i]]; innerDiv.appendChild(label); div.appendChild(innerDiv); } diff --git a/src/Disp/Tooltips/CreateTooltip.js b/src/Disp/Tooltips/CreateTooltip.js index 609913d7..3823f4c5 100644 --- a/src/Disp/Tooltips/CreateTooltip.js +++ b/src/Disp/Tooltips/CreateTooltip.js @@ -1,13 +1,13 @@ /* eslint-disable no-param-reassign */ import { CMOptions } from '../../Config/VariablesAndData'; import { - ColorTextPre, - ColorBorderPre, - ColorGray, - ColorBlue, - ColorRed, - ColorYellow, - ColorPurple, + ColourTextPre, + ColourBorderPre, + ColourGray, + ColourBlue, + ColourRed, + ColourYellow, + ColourPurple, TooltipType, } from '../VariablesAndData'; @@ -24,7 +24,7 @@ export function TooltipCreateTooltipBox() { tooltipBox.style.padding = '4px'; tooltipBox.style.margin = '0px -4px'; tooltipBox.id = 'CMTooltipBorder'; - tooltipBox.className = ColorTextPre + ColorGray; + tooltipBox.className = ColourTextPre + ColourGray; return tooltipBox; } @@ -37,7 +37,7 @@ export function TooltipCreateHeader(text) { const div = document.createElement('div'); div.style.fontWeight = 'bold'; div.id = `${text}Title`; - div.className = ColorTextPre + ColorBlue; + div.className = ColourTextPre + ColourBlue; div.textContent = text; return div; } @@ -66,13 +66,13 @@ export function TooltipCreateWarningSection() { box.id = boxId; box.style.display = 'none'; box.style.transition = 'opacity 0.1s ease-out'; - box.className = ColorBorderPre + color; + box.className = ColourBorderPre + color; box.style.padding = '2px'; box.style.background = '#000 url(img/darkNoise.png)'; const labelDiv = document.createElement('div'); box.appendChild(labelDiv); const labelSpan = document.createElement('span'); - labelSpan.className = ColorTextPre + color; + labelSpan.className = ColourTextPre + color; labelSpan.style.fontWeight = 'bold'; labelSpan.textContent = labelTextFront; labelDiv.appendChild(labelSpan); @@ -89,7 +89,7 @@ export function TooltipCreateWarningSection() { TooltipWarn.appendChild( create( 'CMDispTooltipWarnLucky', - ColorRed, + ColourRed, 'Warning: ', 'Purchase of this item will put you under the number of Cookies required for "Lucky!"', 'CMDispTooltipWarnLuckyText', @@ -99,7 +99,7 @@ export function TooltipCreateWarningSection() { TooltipWarn.appendChild( create( 'CMDispTooltipWarnLuckyFrenzy', - ColorYellow, + ColourYellow, 'Warning: ', 'Purchase of this item will put you under the number of Cookies required for "Lucky!" (Frenzy)', 'CMDispTooltipWarnLuckyFrenzyText', @@ -109,7 +109,7 @@ export function TooltipCreateWarningSection() { TooltipWarn.appendChild( create( 'CMDispTooltipWarnConjure', - ColorPurple, + ColourPurple, 'Warning: ', 'Purchase of this item will put you under the number of Cookies required for "Conjure Baked Goods"', 'CMDispTooltipWarnConjureText', @@ -119,7 +119,7 @@ export function TooltipCreateWarningSection() { TooltipWarn.appendChild( create( 'CMDispTooltipWarnConjureFrenzy', - ColorPurple, + ColourPurple, 'Warning: ', 'Purchase of this item will put you under the number of Cookies required for "Conjure Baked Goods" (Frenzy)', 'CMDispTooltipWarnConjureFrenzyText', @@ -129,7 +129,7 @@ export function TooltipCreateWarningSection() { TooltipWarn.appendChild( create( 'CMDispTooltipWarnEdifice', - ColorPurple, + ColourPurple, 'Warning: ', 'Purchase of this item will put you under the number of Cookies needed for "Spontaneous Edifice" to possibly give you your most expensive building"', 'CMDispTooltipWarnEdificeText', @@ -139,7 +139,7 @@ export function TooltipCreateWarningSection() { TooltipWarn.appendChild( create( 'CMDispTooltipWarnUser', - ColorRed, + ColourRed, 'Warning: ', `Purchase of this item will put you under the number of Cookies equal to ${CMOptions.ToolWarnUser} seconds of CPS`, 'CMDispTooltipWarnUserText', diff --git a/src/Disp/Tooltips/Tooltip.js b/src/Disp/Tooltips/Tooltip.js index a7edcaa9..dedfb6fb 100644 --- a/src/Disp/Tooltips/Tooltip.js +++ b/src/Disp/Tooltips/Tooltip.js @@ -3,7 +3,7 @@ import UpdateTooltips, * as UpdateTooltip from './UpdateTooltips'; import { TooltipCreateTooltipBox } from './CreateTooltip'; import { Beautify, - GetTimeColor, + GetTimeColour, } from '../BeautifyAndFormatting/BeautifyFormatting'; import CopyData from '../../Sim/SimulationData/CopyData'; import { @@ -65,7 +65,7 @@ export function CreateTooltip(type, name) { `so far
${Beautify(amortizeAmount)} ${ Math.floor(amortizeAmount) === 1 ? 'cookie' : 'cookies' } left to amortize (${ - GetTimeColor( + GetTimeColour( (buildPrice - Game.Objects[name].totalCookies) / (Game.Objects[name].storedTotalCps * Game.globalCpsMult), ).text diff --git a/src/Disp/Tooltips/TypesOfTooltips/Building.js b/src/Disp/Tooltips/TypesOfTooltips/Building.js index 44c9460d..c205f356 100644 --- a/src/Disp/Tooltips/TypesOfTooltips/Building.js +++ b/src/Disp/Tooltips/TypesOfTooltips/Building.js @@ -8,12 +8,12 @@ import { SimObjects } from '../../../Sim/VariablesAndData'; import { Beautify, FormatTime, - GetTimeColor, + GetTimeColour, } from '../../BeautifyAndFormatting/BeautifyFormatting'; import GetCPS from '../../HelperFunctions/GetCPS'; import GetWrinkConfigBank from '../../HelperFunctions/GetWrinkConfigBank'; import { - ColorTextPre, + ColourTextPre, LastTargetTooltipBuilding, TooltipBonusIncome, TooltipName, @@ -54,22 +54,23 @@ export default function Building() { CMOptions.ScaleSeparator ? ',' : '.' }01% of income)`; } - l('CMTooltipBorder').className = ColorTextPre + target[TooltipName].color; + l('CMTooltipBorder').className = + ColourTextPre + target[TooltipName].color; if (CMOptions.PPDisplayTime) l('CMTooltipPP').textContent = FormatTime(target[TooltipName].pp); else l('CMTooltipPP').textContent = Beautify(target[TooltipName].pp, 2); - l('CMTooltipPP').className = ColorTextPre + target[TooltipName].color; - const timeColor = GetTimeColor( + l('CMTooltipPP').className = ColourTextPre + target[TooltipName].color; + const timeColour = GetTimeColour( (TooltipPrice - (Game.cookies + GetWrinkConfigBank())) / GetCPS(), ); - l('CMTooltipTime').textContent = timeColor.text; + l('CMTooltipTime').textContent = timeColour.text; if ( - timeColor.text === 'Done!' && + timeColour.text === 'Done!' && Game.cookies < target[TooltipName].price ) { - l('CMTooltipTime').textContent = `${timeColor.text} (with Wrink)`; - } else l('CMTooltipTime').textContent = timeColor.text; - l('CMTooltipTime').className = ColorTextPre + timeColor.color; + l('CMTooltipTime').textContent = `${timeColour.text} (with Wrink)`; + } else l('CMTooltipTime').textContent = timeColour.text; + l('CMTooltipTime').className = ColourTextPre + timeColour.color; } // Add "production left till next achievement"-bar diff --git a/src/Disp/Tooltips/TypesOfTooltips/Grimoire.js b/src/Disp/Tooltips/TypesOfTooltips/Grimoire.js index f2718520..10e9b0a0 100644 --- a/src/Disp/Tooltips/TypesOfTooltips/Grimoire.js +++ b/src/Disp/Tooltips/TypesOfTooltips/Grimoire.js @@ -2,11 +2,11 @@ import { CacheNoGoldSwitchCookiesPS } from '../../../Cache/VariablesAndData'; import { CMOptions } from '../../../Config/VariablesAndData'; import { Beautify, - GetTimeColor, + GetTimeColour, } from '../../BeautifyAndFormatting/BeautifyFormatting'; import CalculateGrimoireRefillTime from '../../HelperFunctions/CalculateGrimoireRefillTime'; import GetWrinkConfigBank from '../../HelperFunctions/GetWrinkConfigBank'; -import { ColorTextPre, TooltipName } from '../../VariablesAndData'; +import { ColourTextPre, TooltipName } from '../../VariablesAndData'; import * as Create from '../CreateTooltip'; /** @@ -25,11 +25,11 @@ export default function Grimoire() { const time = document.createElement('div'); time.id = 'CMTooltipTime'; tooltipBox.appendChild(time); - const timeColor = GetTimeColor( + const timeColour = GetTimeColour( CalculateGrimoireRefillTime(minigame.magic, minigame.magicM, spellCost), ); - time.textContent = timeColor.text; - time.className = ColorTextPre + timeColor.color; + time.textContent = timeColour.text; + time.className = ColourTextPre + timeColour.color; // Time left untill magic spent is recovered if (spellCost <= minigame.magic) { @@ -37,15 +37,15 @@ export default function Grimoire() { const recover = document.createElement('div'); recover.id = 'CMTooltipRecover'; tooltipBox.appendChild(recover); - const recoverColor = GetTimeColor( + const recoverColour = GetTimeColour( CalculateGrimoireRefillTime( Math.max(0, minigame.magic - spellCost), minigame.magicM, minigame.magic, ), ); - recover.textContent = recoverColor.text; - recover.className = ColorTextPre + recoverColor.color; + recover.textContent = recoverColour.text; + recover.className = ColourTextPre + recoverColour.color; } // Extra information on cookies gained when spell is Conjure Baked Goods (Name === 0) diff --git a/src/Disp/Tooltips/TypesOfTooltips/SugarLump.js b/src/Disp/Tooltips/TypesOfTooltips/SugarLump.js index 405bb394..8f1a3438 100644 --- a/src/Disp/Tooltips/TypesOfTooltips/SugarLump.js +++ b/src/Disp/Tooltips/TypesOfTooltips/SugarLump.js @@ -1,6 +1,6 @@ import { CMOptions } from '../../../Config/VariablesAndData'; -import GetLumpColor from '../../HelperFunctions/GetLumpColor'; -import { ColorTextPre } from '../../VariablesAndData'; +import GetLumpColour from '../../HelperFunctions/GetLumpColour'; +import { ColourTextPre } from '../../VariablesAndData'; import * as Create from '../CreateTooltip'; /** * This function adds extra info to the Sugar Lump tooltip @@ -15,8 +15,8 @@ export default function SugarLump() { const lumpType = document.createElement('div'); lumpType.id = 'CMTooltipTime'; tooltipBox.appendChild(lumpType); - const lumpColor = GetLumpColor(Game.lumpCurrentType); - lumpType.textContent = lumpColor.text; - lumpType.className = ColorTextPre + lumpColor.color; + const lumpColour = GetLumpColour(Game.lumpCurrentType); + lumpType.textContent = lumpColour.text; + lumpType.className = ColourTextPre + lumpColour.color; } else l('CMTooltipArea').style.display = 'none'; } diff --git a/src/Disp/Tooltips/TypesOfTooltips/Upgrade.js b/src/Disp/Tooltips/TypesOfTooltips/Upgrade.js index e33feeaa..9499045f 100644 --- a/src/Disp/Tooltips/TypesOfTooltips/Upgrade.js +++ b/src/Disp/Tooltips/TypesOfTooltips/Upgrade.js @@ -6,12 +6,12 @@ import { CMOptions } from '../../../Config/VariablesAndData'; import { Beautify, FormatTime, - GetTimeColor, + GetTimeColour, } from '../../BeautifyAndFormatting/BeautifyFormatting'; import GetCPS from '../../HelperFunctions/GetCPS'; import GetWrinkConfigBank from '../../HelperFunctions/GetWrinkConfigBank'; import { - ColorTextPre, + ColourTextPre, TooltipBonusIncome, TooltipBonusMouse, TooltipName, @@ -56,7 +56,7 @@ export default function Upgrade() { }01% of income)`; } l('CMTooltipBorder').className = - ColorTextPre + + ColourTextPre + CacheUpgrades[Game.UpgradesInStore[TooltipName].name].color; // If clicking power upgrade if (TooltipBonusMouse) { @@ -81,21 +81,21 @@ export default function Upgrade() { 2, ); l('CMTooltipPP').className = - ColorTextPre + + ColourTextPre + CacheUpgrades[Game.UpgradesInStore[TooltipName].name].color; } } - const timeColor = GetTimeColor( + const timeColour = GetTimeColour( (TooltipPrice - (Game.cookies + GetWrinkConfigBank())) / GetCPS(), ); - l('CMTooltipTime').textContent = timeColor.text; + l('CMTooltipTime').textContent = timeColour.text; if ( - timeColor.text === 'Done!' && + timeColour.text === 'Done!' && Game.cookies < Game.UpgradesInStore[TooltipName].getPrice() ) { - l('CMTooltipTime').textContent = `${timeColor.text} (with Wrink)`; - } else l('CMTooltipTime').textContent = timeColor.text; - l('CMTooltipTime').className = ColorTextPre + timeColor.color; + l('CMTooltipTime').textContent = `${timeColour.text} (with Wrink)`; + } else l('CMTooltipTime').textContent = timeColour.text; + l('CMTooltipTime').className = ColourTextPre + timeColour.color; // Add extra info to Chocolate egg tooltip if (Game.UpgradesInStore[TooltipName].name === 'Chocolate egg') { diff --git a/src/Disp/VariablesAndData.js b/src/Disp/VariablesAndData.js index e58b7af1..30f26edc 100644 --- a/src/Disp/VariablesAndData.js +++ b/src/Disp/VariablesAndData.js @@ -7,32 +7,32 @@ export let DispCSS; /** * These are variables used to create DOM object names and id (e.g., 'CMTextTooltip) */ -export const ColorTextPre = 'CMText'; -export const ColorBackPre = 'CMBack'; -export const ColorBorderPre = 'CMBorder'; +export const ColourTextPre = 'CMText'; +export const ColourBackPre = 'CMBack'; +export const ColourBorderPre = 'CMBorder'; /** * These are variables which can be set in the options by the user to standardize colours throughout CookieMonster */ -export const ColorBlue = 'Blue'; -export const ColorGreen = 'Green'; -export const ColorYellow = 'Yellow'; -export const ColorOrange = 'Orange'; -export const ColorRed = 'Red'; -export const ColorPurple = 'Purple'; -export const ColorGray = 'Gray'; -export const ColorPink = 'Pink'; -export const ColorBrown = 'Brown'; -export const Colors = [ - ColorGray, - ColorBlue, - ColorGreen, - ColorYellow, - ColorOrange, - ColorRed, - ColorPurple, - ColorPink, - ColorBrown, +export const ColourBlue = 'Blue'; +export const ColourGreen = 'Green'; +export const ColourYellow = 'Yellow'; +export const ColourOrange = 'Orange'; +export const ColourRed = 'Red'; +export const ColourPurple = 'Purple'; +export const ColourGray = 'Gray'; +export const ColourPink = 'Pink'; +export const ColourBrown = 'Brown'; +export const Colours = [ + ColourGray, + ColourBlue, + ColourGreen, + ColourYellow, + ColourOrange, + ColourRed, + ColourPurple, + ColourPink, + ColourBrown, ]; /** @@ -116,13 +116,13 @@ export const ClickTimes = [1, 5, 10, 15, 30]; /** * This array is used to give certain timers specific colours */ -export const BuffColors = { - Frenzy: ColorYellow, - 'Dragon Harvest': ColorBrown, - 'Elder frenzy': ColorGreen, - Clot: ColorRed, - 'Click frenzy': ColorBlue, - Dragonflight: ColorPink, +export const BuffColours = { + Frenzy: ColourYellow, + 'Dragon Harvest': ColourBrown, + 'Elder frenzy': ColourGreen, + Clot: ColourRed, + 'Click frenzy': ColourBlue, + Dragonflight: ColourPink, }; /** From 48c3bad33631995e22cca73a0928d02bd1f3bade Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Fri, 26 Mar 2021 13:08:04 +0100 Subject: [PATCH 02/30] Fixed #726 --- CookieMonster.js | 2 +- dist/CookieMonster.js | 2 +- dist/CookieMonster.js.map | 2 +- src/Disp/MenuSections/CreateStatsSections.js | 43 +++++++++++--------- 4 files changed, 27 insertions(+), 22 deletions(-) diff --git a/CookieMonster.js b/CookieMonster.js index 9421e77e..ae6fb577 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};const t=["","","M","G","T","P","E","Z","Y"],n=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],i=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let a,r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v=[],x=[],T=[],M={};const S="CMText",P="CMBack",B="Blue",E="Green",N="Yellow",O="Orange",F="Red",W="Purple",L="Gray",A="Pink",j="Brown",D=[L,B,E,N,O,F,W,A,j],H=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let U,$,I=0,z=-1,V=[],_=1,X=1,Q=1;const q=[10,15,30,60,300,600,900,1800],Y=[1,5,10,15,30],K={Frenzy:N,"Dragon Harvest":j,"Elder frenzy":E,Clot:F,"Click frenzy":B,Dragonflight:A};let J,Z,ee,te,oe,ne,ie,ae={},re="";function le(o,a,r){const l=e.ScaleDecimals+1;if(o===1/0)return"Infinity";if(void 0===o)return"0";if(0===e.Scale)return M.Beautify(o,a);if(Number.isFinite(o)){let s="";if(0===o)return o.toString();if(o>.001&&o=.01&&o=.01&&o=.01&&o315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function ce(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=E):(n=se(t),o=t>300?F:t>60?O:N),{text:n,color:o}}let de,pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Re,Ue,$e,Ie,ze,Ve=0,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=1,lt=1,st=1,ct=0,dt=0,pt=0,ut=0,mt={},ht={},gt={},ft=0,Ct=0,yt=[0,null],bt=0,kt=0,Gt={},wt={},vt={},xt={},Tt={},Mt=0,St=0,Pt=[],Bt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Dt=0,Ht=0,Rt={},Ut={},$t=0,It=0,zt=[],Vt={},_t=0,Xt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Qt=[],qt=[],Yt=[];function Kt(e){let t=0;return Game.dragonAuras[Ae].name!==e&&Game.dragonAuras[je].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Ae].name&&"Reality Bending"!==Game.dragonAuras[je].name||(t+=.1),t}function Jt(){let e=.25;return e*=1+Kt("Earth Shatterer"),e}function Zt(e,t){return void 0===$e[e]?void 0===t?1:t:$e[e]}function eo(e){const t=qt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function to(e){if(Game.hasGod){void 0===Qt.Temple.minigame&&(Qt.Temple.minigame=Game.Objects.Temple.minigame);const t=Qt.Temple.minigame.gods[e];if(De===t.id)return 1;if(He===t.id)return 2;if(Re===t.id)return 3}return!1}function oo(e,t){let o=t;if(eo("Season savings")&&(o*=.99),eo("Santa's dominion")&&(o*=.99),eo("Faberge egg")&&(o*=.99),eo("Divine discount")&&(o*=.99),eo("Fortune #100")&&(o*=.99),o*=1-.02*Kt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&eo(e.fortune.name)&&(o*=.93),o*=Zt("buildingCost"),Qt.Temple.minigameLoaded){const e=to("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function no(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function io(){let t=Game.buyBulk;if(1===Game.buyMode?X=t:t=X,1===t?t=mt:10===t?t=ht:100===t&&(t=gt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e.Colours[t[o].color]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(mt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=le(no(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(mt).map((e=>{const t=mt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return D.indexOf(e.color)>D.indexOf(t.color)?1:D.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return D.indexOf(e.color)>D.indexOf(t.color)?1:D.indexOf(e.color){const t=mt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eD.indexOf(t.color)?1:D.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?_=i:i=_,1===i&&(i=mt),10===i&&(i=ht),100===i&&(i=gt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=le(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=S+i[o].color,n=e.PPDisplayTime?se(Math.round(i[o].pp)):le(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=ce((Game.Objects[o].bulkPrice-(Game.cookies+lo()))/ro());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=S+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&eo(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(eo(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&eo(e.fortune.name)&&(t*=1.07),e.grandma&&eo(e.grandma.name)&&(t*=1+.01*Qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&eo(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function yo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;eo("Thousand fingers")&&(t+=.1),eo("Million fingers")&&(t*=5),eo("Billion fingers")&&(t*=10),eo("Trillion fingers")&&(t*=20),eo("Quadrillion fingers")&&(t*=20),eo("Quintillion fingers")&&(t*=20),eo("Sextillion fingers")&&(t*=20),eo("Septillion fingers")&&(t*=20),eo("Octillion fingers")&&(t*=20),eo("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Qt).forEach((e=>{"Cursor"!==Qt[e].name&&(n+=Qt[e].amount)})),t*=n,o*=Co(e),o*=Game.magicCpS("Cursor"),o*=Zt("cursorCps"),Game.ComputeCps(.1,eo("Reinforced index finger")+eo("Carpal tunnel prevention cream")+eo("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{eo(Game.GrandmaSynergies[e])&&(o*=2)})),eo("Bingo center/Research facility")&&(o*=4),eo("Ritual rolling pins")&&(o*=2),eo("Naughty list")&&(o*=2),eo("Elderwort biscuits")&&(o*=1.02),o*=Zt("grandmaCps"),eo("Cat ladies"))for(let e=0;e{"Grandma"!==Qt[e].name&&(i+=Qt[e].amount)})),o*=1+.01*Kt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=Co(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function bo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Qt).forEach((t=>{Qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(eo("Starlove")&&(e=3),Game.hasGod){const t=to("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function ko(){Ne=Game.UpgradesOwned,Oe=Game.pledges,Fe=Game.AchievementsOwned,We=Game.heavenlyPower,Le=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Qt[e];void 0===o&&(Qt[e]=yo(e),o=Qt[e],co(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(De=t.minigame.slot[0],He=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e]),o.bought=t.bought,qt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Yt[e];void 0===o&&(Yt[e]=fo(e),o=Yt[e]),o.won=t.won,Yt[e]=o})),go(),Ae=Ve,je=_e}function Go(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function wo(e){e.appendChild(Go("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(Go("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(Go("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(Go("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ee){e.appendChild(Go("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function vo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function To(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Mo(){if(ko(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ee?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(wo(l("CMTooltipBorder")),1===Game.buyMode?Q=t:t=Q,1===Game.buyBulk?t=mt:10===Game.buyBulk?t=ht:100===Game.buyBulk&&(t=gt),J=Game.Objects[te].bulkPrice,Z=t[te].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=le(Z,2);const o=Math.round(Z/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=S+t[te].color,e.PPDisplayTime?l("CMTooltipPP").textContent=se(t[te].pp):l("CMTooltipPP").textContent=le(t[te].pp,2),l("CMTooltipPP").className=S+t[te].color;const n=ce((J-(Game.cookies+lo()))/ro());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[te[1]][te[0]][0]-1].matureBase,o=t.plantsById[t.plot[te[1]][te[0]][0]-1].name;l("CMTooltipBorder").appendChild(Go("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${le(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${le(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${le(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${le(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ee?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(Go("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=so(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==K[Game.buffs[t].name]?K[Game.buffs[t].name]:W,a.lastChild.children[1].className=P+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ie!==n&&(ie=n,mo())}}(),po(),Mo(),function(){if(1===e.TooltipWrink&&1===I){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===V[t]||void 0===V[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),z=t,V[t]=1}}else V[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[z],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[z].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=le(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,le(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Po{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Bo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+_t;Game.cpsSucked>0&&(o+=ft),Dt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-fe,i=Math.max(0,Game.cookies-Ce)/n,a=Math.max(0,ft-ye)/n,r=Math.max(0,yt[0]-be)/n,l=Math.max(0,o-ut)/n,s=(Game.cookieClicks-ke)/n;for(let e=0;ezt[30][0]?F:W,0!==Number(e.PPSecondsLowerLimit)&&o/ro()0&&(n=F),n}function No(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=L;else{t[n].color=Eo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+lo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||zt.push([t[n].pp,o])}))}function Fo(){!function(){It=1/0,zt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Oo(mt,1),Oo(ht,10),Oo(gt,100),zt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;zt[t][1]>Game.cookies&&(t+=1,zt.length!==t+1););It=zt[e.PPExcludeTop][t],No(mt,1),No(ht,10),No(gt,100)}(),Object.keys(Gt).forEach((e=>{Game.cookiesPs?Gt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+lo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Gt[e].bonus:Gt[e].pp=Game.Upgrades[e].getPrice()/Gt[e].bonus,Number.isNaN(Gt[e].pp)&&(Gt[e].pp=1/0),Gt[e].color=Eo(Gt[e],Game.Upgrades[e].getPrice())}))}function Wo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),$e=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Le)*We*function(){let e=0;if(eo("Heavenly chip secret")&&(e+=.05),eo("Heavenly cookie stand")&&(e+=.2),eo("Heavenly bakery")&&(e+=.25),eo("Heavenly confectionery")&&(e+=.25),eo("Heavenly key")&&(e+=.25),e*=1+.05*Kt("Dragon God"),eo("Lucky digit")&&(e*=1.01),eo("Lucky number")&&(e*=1.01),eo("Lucky payout")&&(e*=1.01),Game.hasGod){const t=to("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=Zt("cps"),eo("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];eo(o.name)&&("function"==typeof o.power?e*=1+.01*qt[o.name].power(qt[o.name]):e*=1+.01*o.power)})),eo("Specialized chocolate chips")&&(e*=1.01),eo("Designer cocoa beans")&&(e*=1.02),eo("Underworld ovens")&&(e*=1.03),eo("Exotic nuts")&&(e*=1.04),eo("Arcane sugar")&&(e*=1.05),eo("Increased merriness")&&(e*=1.15),eo("Improved jolliness")&&(e*=1.15),eo("A lump of coal")&&(e*=1.01),eo("An itchy sweater")&&(e*=1.01),eo("Santa's dominion")&&(e*=1.2),eo("Fortune #100")&&(e*=1.01),eo("Fortune #101")&&(e*=1.07),eo("Dragon scale")&&(e*=1.03);let o=1;if(to){let t=to("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=to("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=to("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=to("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=to("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}eo("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Fe/25;let i=1;if(eo("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Kt("Breath of Milk"),to){const e=to("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=Zt("milk");let a=1;eo("Kitten helpers")&&(a*=1+.1*n*i),eo("Kitten workers")&&(a*=1+.125*n*i),eo("Kitten engineers")&&(a*=1+.15*n*i),eo("Kitten overseers")&&(a*=1+.175*n*i),eo("Kitten managers")&&(a*=1+.2*n*i),eo("Kitten accountants")&&(a*=1+.2*n*i),eo("Kitten specialists")&&(a*=1+.2*n*i),eo("Kitten experts")&&(a*=1+.2*n*i),eo("Kitten consultants")&&(a*=1+.2*n*i),eo("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),eo("Kitten marketeers")&&(a*=1+.15*n*i),eo("Kitten analysts")&&(a*=1+.125*n*i),eo("Kitten executives")&&(a*=1+.115*n*i),eo("Kitten angels")&&(a*=1+.1*n*i),eo("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Qt).forEach((e=>{const t=Qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&eo("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Ie+=t.amount*a})),eo('"egg"')&&(Ie+=9),e*=a;let r=1;if(eo("Chicken egg")&&(r*=1.01),eo("Duck egg")&&(r*=1.01),eo("Turkey egg")&&(r*=1.01),eo("Quail egg")&&(r*=1.01),eo("Robin egg")&&(r*=1.01),eo("Ostrich egg")&&(r*=1.01),eo("Cassowary egg")&&(r*=1.01),eo("Salmon roe")&&(r*=1.01),eo("Frogspawn")&&(r*=1.01),eo("Shark egg")&&(r*=1.01),eo("Turtle egg")&&(r*=1.01),eo("Ant larva")&&(r*=1.01),eo("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),dt=1+.1*(1-(1-e/100)**3),r*=dt}e*=r,eo("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Kt("Radiant Appetite");const l=Ie*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Lo(Game.CpsAchievements[e].name)})),ze=l;const{n:s}=Game.shimmerTypes.golden,c=Kt("Dragon's Fortune");for(let t=0;t{eo(e[o])&&(t+=.1)}))}e*=t}if(eo("Shimmering veil [off]")){let t=.5;eo("Reinforced membrane")&&(t+=.1),e*=1+t}eo("Magic shenanigans")&&(e*=1e3),eo("Occult obstruction")&&(e*=0),Ie=Game.runModHookOnValue("cps",Ie),e*=xo(),Ie*=e}const jo=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Do=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ho=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Uo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function $o(e){return Yt[e]?Yt[e].won:0}function Io(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{eo(Game.GrandmaSynergies[t])&&(e+=1)})),!$o("Elder")&&e>=7&&Lo("Elder"),!$o("Veteran")&&e>=14&&Lo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Qt).forEach((e=>{t+=Qt[e].amount,i=Math.min(Qt[e].amount,i),$o("Mathematician")||Qt[e].amount=1&&Lo("One with everything"),1===o&&Lo("Mathematician"),1===n&&Lo("Base 10"),i>=100&&Lo("Centennial"),i>=150&&Lo("Centennial and a half"),i>=200&&Lo("Bicentennial"),i>=250&&Lo("Bicentennial and a half"),i>=300&&Lo("Tricentennial"),i>=350&&Lo("Tricentennial and a half"),i>=400&&Lo("Quadricentennial"),i>=450&&Lo("Quadricentennial and a half"),i>=500&&Lo("Quincentennial"),i>=550&&Lo("Quincentennial and a half"),i>=600&&Lo("Sexcentennial"),t>=100&&Lo("Builder"),t>=500&&Lo("Architect"),t>=1e3&&Lo("Engineer"),t>=2e3&&Lo("Lord of Constructs"),t>=4e3&&Lo("Grand design"),t>=8e3&&Lo("Ecumenopolis"),Ne>=20&&Lo("Enhancer"),Ne>=50&&Lo("Augmenter"),Ne>=100&&Lo("Upgrader"),Ne>=200&&Lo("Lord of Progress"),Ne>=300&&Lo("The full picture"),Ne>=400&&Lo("When there's nothing left to add"),t>=4e3&&Ne>=300&&Lo("Polymath"),t>=8e3&&Ne>=400&&Lo("Renaissance baker"),Qt.Cursor.amount+Qt.Grandma.amount>=777&&Lo("The elder scrolls");let a=!0;Object.keys(Do).forEach((e=>{eo(Do[e])||(a=!1)})),a&&Lo("Spooky cookies");let r=!0;if(Object.keys(Ho).forEach((e=>{eo(Ho[e])||(r=!1)})),r&&Lo("Let it snow"),eo("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{eo(e[o].name)&&(t+=1)})),t>=e.length&&Lo("O Fortuna")}}function zo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){ko(),Qt[e].amount+=t;const o=Qt[e];"Cursor"===e?(o.amount>=1&&Lo("Click"),o.amount>=2&&Lo("Double-click"),o.amount>=50&&Lo("Mouse wheel"),o.amount>=100&&Lo("Of Mice and Men"),o.amount>=200&&Lo("The Digital"),o.amount>=300&&Lo("Extreme polydactyly"),o.amount>=400&&Lo("Dr. T"),o.amount>=500&&Lo("Thumbs, phalanges, metacarpals"),o.amount>=600&&Lo("With her finger and her thumb"),o.amount>=700&&Lo("Gotta hand it to you"),o.amount>=800&&Lo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Lo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Fe;return Ao(),Io(),n!==Fe&&Ao(),Ie-Game.cookiesPs}(o,e),1!==e&&(Pe=1)})),t}function Vo(){Object.keys(Game.Objects).forEach((e=>{mt[e].price=Wo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),ht[e].price=Wo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),gt[e].price=Wo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function _o(){mt=zo(1),ht=zo(10),gt=zo(100),Gt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){ko(),"Shimmering veil [on]"===qt[e].name?qt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===qt[e].name?qt["Golden switch [off]"].bought=0:qt[e].bought=(qt[e].bought+1)%2,qt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ne+=1),"Elder Pledge"===e?(Oe+=1,Oe>0&&Lo("Elder nap"),Oe>=5&&Lo("Elder slumber")):"Elder Covenant"===e?Lo("Elder calm"):"Prism heart biscuits"===e?Lo("Lovely cookies"):"Heavenly key"===e&&Lo("Wholesome");const t=Fe;Ao(),Io(),t!==Fe&&Ao();const o=function(){let e=0;eo("Thousand fingers")&&(e+=.1),eo("Million fingers")&&(e*=5),eo("Billion fingers")&&(e*=10),eo("Trillion fingers")&&(e*=20),eo("Quadrillion fingers")&&(e*=20),eo("Quintillion fingers")&&(e*=20),eo("Sextillion fingers")&&(e*=20),eo("Septillion fingers")&&(e*=20),eo("Octillion fingers")&&(e*=20),eo("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Qt).forEach((e=>{t+=Qt[e].amount})),t-=Qt.Cursor.amount,e*=t,eo("Plastic mouse")&&(e+=.01*Ie),eo("Iron mouse")&&(e+=.01*Ie),eo("Titanium mouse")&&(e+=.01*Ie),eo("Adamantium mouse")&&(e+=.01*Ie),eo("Unobtainium mouse")&&(e+=.01*Ie),eo("Eludium mouse")&&(e+=.01*Ie),eo("Wishalloy mouse")&&(e+=.01*Ie),eo("Fantasteel mouse")&&(e+=.01*Ie),eo("Nevercrack mouse")&&(e+=.01*Ie),eo("Armythril mouse")&&(e+=.01*Ie),eo("Technobsidian mouse")&&(e+=.01*Ie),eo("Plasmarble mouse")&&(e+=.01*Ie),eo("Miraculite mouse")&&(e+=.01*Ie),eo("Fortune #104")&&(e+=.01*Ie);let o=1;if(eo("Santa's helpers")&&(o*=1.1),eo("Cookie egg")&&(o*=1.1),eo("Halo gloves")&&(o*=1.1),eo("Dragon claw")&&(o*=1.03),eo("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,eo("Luminous gloves")?20:10)),o*=Zt("click"),Qt.Temple.minigameLoaded&&to){const e=to("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Kt("Dragon Cursor");let n=o*Game.ComputeCps(1,eo("Reinforced index finger")+eo("Carpal tunnel prevention cream")+eo("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Ie-Game.cookiesPs,o]:[Ie-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Gt[t]={bonus:Game.cookiesPs-Ge},1===e.CalcWrink?Gt[t].bonus-=we:2===e.CalcWrink&&(Gt[t].bonus-=ve),Number.isFinite(Gt[t].bonus)||(Gt[t].bonus=0)):(Gt[t]={},o[0]&&(Gt[t].bonus=o[0]),o[1]&&(Gt[t].bonusMouse=o[1]))}))}function Xo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Pt=Xo(7,e,lt),Mt=2*Pt[1]/lt,St=Pt[2]/60/60/6/rt,Nt=Xo(6,e,st),Bt=2*Nt[1]/st,Et=Nt[2]/60/60/6/rt,Wt=Xo(7,7*e,lt),Ot=2*Wt[1]/lt,Ft=Wt[2]/60/60/6/rt,jt=Xo(6,7*e,st),Lt=2*jt[1]/st,At=jt[2]/60/60/6/rt}function qo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Me,i=Math.max(0,o-Se)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?xt+=e:"cookie"===o.pool?Tt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(vt+=e)}}))}function Ko(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),pt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(pt*=2)}}function Jo(){qe=900*at/.15,qe*=rt;const e=xo();e>0?qe/=e:qe=0,Ye=lt*(.15*qe)+13,Ke=st*(.15*qe)+13,Je=7*qe,Ze=lt*(.15*Je)+13,et=st*(.15*Je)+13,tt=2*qe,ot=.15*tt,nt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountnt&&(nt=2*Game.Objects[e].price,it=e)}))}function Zo(){let e=1,t=1,o=1;eo("Green yeast digestives")&&(o*=1.01),eo("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),lt=o*e,st=o*t,rt=1,0===Game.shimmerTypes.golden.n&&(rt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function en(){ft=0,Ct=0,yt=[0,null];for(let e=0;eyt[0]&&(yt=[t,e]))}}function tn(){go(),en(),Jo(),Zo(),Qo(),Yo(),Ko(),de=new Po(q[q.length-1]),pe=new Po(q[q.length-1]),ue=new Po(q[q.length-1]),me=new Po(q[q.length-1]),he=new Po(Y[Y.length-1]),ge=new Po(5),qo(),Bo(),_o(),Vo(),Fo()}const on={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,Colours:{Blue:"#4bb8f0",Green:"#00ff00",Yellow:"#ffff00",Orange:"#ff7f00",Red:"#ff0000",Purple:"#ff00ff",Gray:"#b3b3b3",Pink:"#ff1493",Brown:"#8b4513"},BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},nn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function an(){1===e.BotBar?(l("CMBotBar").style.display="",po()):l("CMBotBar").style.display="none",mo()}function rn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),po(),io(),ao()}function ln(){let t="";for(let o=0;o0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class un extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const mn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){Ue=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Aabreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){rn()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){rn()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){rn()})),ScaleCutoff:new un("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=$:Game.sayTime=M.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){io()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new un("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),Colours:new class extends cn{constructor(e,t,o,n){super(e,t),this.desc=o,this.func=n}}("colour","Colours",{Blue:"Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels",Green:"Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels",Yellow:"Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels",Orange:"Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels",Red:"Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels",Purple:"Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels",Gray:"Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar",Pink:"Standard colour is pink. Used for Dragonflight bar",Brown:"Standard colour is brown. Used for Dragon Harvest bar"},(function(){ln()})),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){an()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){ho()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),mo()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ao()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ao()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){io()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ao()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(ae).forEach((e=>{ae[e].style.display="block",ae[e].style.left=Vt[e].l.style.left,ae[e].style.top=Vt[e].l.style.top})):Object.keys(ae).forEach((e=>ae[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){e.WrinklerButtons?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new un("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){To()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new un("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){nn(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new pn("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){nn(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new pn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){nn(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new pn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new pn("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){nn(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new pn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){nn(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new pn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){nn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new pn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function hn(){return JSON.stringify({settings:e,version:"2.031.6"})}function gn(){if(Xe!==Game.dragonLevel||Ue){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Qt[e]=yo(e)})),qt=[],Object.keys(Game.Upgrades).forEach((e=>{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Achievements).forEach((e=>{Yt[e]=fo(e)})),ko()}let yn=!1;function bn(t,o){1===e[o]&&3===t&&!1===yn||1===t?(l("CMWhiteScreen").style.opacity="0.5",3===t?(l("CMWhiteScreen").style.display="inline",setTimeout((function(){bn(2,o)}),1e3/Game.fps)):setTimeout((function(){bn(0,o)}),1e3/Game.fps)):2===t?(l("CMWhiteScreen").style.opacity="1",setTimeout((function(){bn(1,o)}),1e3/Game.fps)):0===t&&(l("CMWhiteScreen").style.display="none")}function kn(t,o,n,i){if((1===e[o]||i)&&!1===yn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Gn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===yn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function wn(){if(ne!==Game.OnAscend&&(ne=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(an(),ho()),uo()),!Game.OnAscend&&0===Game.AscendTimer){a!==Object.keys(Game.mods).length&&(Cn(),tn(),a=Object.keys(Game.mods).length),Ue&&(_o(),Game.Has("Golden switch [off]")?(ko(),qt["Golden switch [off]"].bought=0,Ao(),at=Ie):at=Game.cookiesPs,Zo(),Jo(),Yo(),Qo(),gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Xt[e][t]=fn(e,t)}(),Ko(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;ko();let t=2;5!==Ae&&18!==Ae||(t-=1),5!==je&&18!==je||(t-=1),Ae=5,je=18;for(let e=0;e{Qt[t].amount>0&&(e=t)})),Qt[e].amount-=1,Ee-=1}return Object.keys(Qt).forEach((t=>{const o=Qt[t];e+=no(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),_t=e}(),Ue=0);const t=Game.auraMult("Fierce Hoarder")>0;!Be&&t?(Be=!0,Pe=1):Be&&!t&&(Be=!1,Pe=1),Pe&&(Vo(),Pe=0),function(){en(),Fo(),function(){bt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}kt=e,bt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Bo(),qo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);$t=se(e/ro())}(),k=0,Vt={},Object.keys(Game.shimmers).forEach((e=>{Vt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],k+=1)})),Object.keys(ae).forEach((e=>{void 0===Vt[e]&&(ae[e].parentNode.removeChild(ae[e]),delete ae[e])})),C!==Game.shimmerTypes.golden.n?(C=Game.shimmerTypes.golden.n,C&&(y{void 0===ae[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},ae[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),y=k,0===k&&(Rt=0)):1===e.GCTimer&&C&&Object.keys(ae).forEach((e=>{ae[e].style.opacity=Vt[e].l.style.opacity,ae[e].style.transform=Vt[e].l.style.transform,ae[e].textContent=Math.ceil(Vt[e].life/Game.fps)})),g!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(g=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,g&&(bn(3,"FortuneFlash"),kn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Gn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),h!==Game.shimmerTypes.reindeer.spawned&&(h=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(Ut=Game.shimmers[e])})),bn(3,"SeaFlash"),kn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Gn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&f!==Game.Objects.Farm.minigame.nextStep&&(0!==f&&f0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>G?(G=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?bn(3,"WrinklerMaxFlash"):bn(3,"WrinklerFlash"),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?kn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):kn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Gn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Gn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):G=t}}()}}function vn(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${hn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function xn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t;let o=!1;Object.keys(on).forEach((t=>{void 0===e[t]?(o=!0,e[t]=on[t]):"Header"!==t&&"Colors"!==t?-1===t.indexOf("SoundURL")?e[t]>-1&&e[t]{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=on[t][n])})):Object.keys(on.Colors).forEach((n=>{void 0!==e[t][n]&&"string"==typeof e[t][n]||(o=!0,e[t][n]=on[t][n])}))})),o&&vn(),wn(),Object.keys(on).forEach((e=>{"Header"!==e&&void 0!==mn[e].func&&mn[e].func()}))}else xn(on)}function Tn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Mn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Wo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${le(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${ce((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(le(Game.Objects[o].bulkPrice)).join(le((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ee=t,te=o,Mo(),l("tooltip").innerHTML}function Sn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(x[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Pn(){if(!u&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];d=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){d(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),vn()}function Ln(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Wn(o),Game.UpdateMenu()},n.appendChild(i),n}function An(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function jn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Dn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Ln("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+lo()0&&(t.appendChild(An("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(le(e)))),t.appendChild(An("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(se(e/ct)))))}const l=function(e){let t=Game.cookiesPs;ko(),0===qt["Heavenly key"].bought&&(qt["Heavenly chip secret"].bought=1,qt["Heavenly cookie stand"].bought=1,qt["Heavenly bakery"].bought=1,qt["Heavenly confectionery"].bought=1,qt["Heavenly key"].bought=1,Ao(),t=Ie,ko()),Dt>=1e6&&Lo("Sacrifice"),Dt>=1e9&&Lo("Oblivion"),Dt>=1e12&&Lo("From scratch"),Dt>=1e15&&Lo("Nihilism"),Dt>=1e18&&Lo("Dematerialize"),Dt>=1e21&&Lo("Nil zero zilch"),Dt>=1e24&&Lo("Transcendence"),Dt>=1e27&&Lo("Obliterate"),Dt>=1e30&&Lo("Negative void"),Dt>=1e33&&Lo("To crumbs, you say?"),Dt>=1e36&&Lo("You get nothing"),Dt>=1e39&&Lo("Humble rebeginnings"),Dt>=1e42&&Lo("The end of the world"),Dt>=1e45&&Lo("Oh, you're back"),Dt>=1e48&&Lo("Lazarus"),Dt>=1e51&&Lo("Smurf account"),Dt>=1e54&&Lo("If at first you don't succeed"),qt["Heavenly chip secret"].bought=1,qt["Heavenly cookie stand"].bought=1,qt["Heavenly bakery"].bought=1,qt["Heavenly confectionery"].bought=1,qt["Heavenly key"].bought=1,Le=e;const o=Fe;Ao(),Io(),o!==Fe&&Ao();const n=Ie-t;return Le=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(le(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(An("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(An("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(An("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(An("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Ln("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${le(ft)} / ${le(Ct)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Tn()},e.appendChild(t),o.appendChild(An("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${le(yt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==yt[1]&&(Game.wrinklers[yt[1]].hp=0)},n.appendChild(i),o.appendChild(An("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==yt[1]?yt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Do).forEach((e=>{Game.Has(Do[e])||(n.push(Do[e]),o=!0)}));const i=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(i.push(Ho[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=[];Object.keys(Uo).forEach((e=>{Game.HasUnlocked(Uo[e])||(s.push(Uo[e]),o=!0)}));const c=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),d=Game.Has("Century egg");if(("christmas"===Game.season||o||c||d)&&(t.appendChild(Ln("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(An("basic","Halloween cookies left to buy",jn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}t.appendChild(An("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${le(100*(1-e))}% / ${le(100*(1-.9*e))}%`)))}if(0!==i.length){t.appendChild(An("basic","Christmas cookies left to buy",jn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}t.appendChild(An("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${le(100*(1-e))}%`)))}0!==a.length&&t.appendChild(An("basic","Valentine cookies left to buy",jn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(An("basic","Normal easter eggs left to unlock",jn(r))),t.appendChild(An("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${le(100*e(.98)[0])}% / ${le(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(An("basic","Rare easter eggs left to unlock",jn(l))),t.appendChild(An("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${le(100*e(.98)[1])}% / ${le(100*e(.9)[1])}%`)))),0!==s.length&&t.appendChild(An("basic","Rare plant drops left to unlock",jn(s))),"christmas"===Game.season&&t.appendChild(An("basic","Reindeer reward",document.createTextNode(le(pt)))),c&&t.appendChild(An("withTooltip","Chocolate egg cookies",document.createTextNode(le(ut)),"ChoEggTooltipPlaceholder")),d&&t.appendChild(An("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(dt-1))/100+"%")))}return t}()),o.appendChild(Ln("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(An("basic",`Average Cookies Per Second (Past ${q[e.AvgCPSHist]<60?`${q[e.AvgCPSHist]} seconds`:q[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(le(ro(),3)))),o.appendChild(An("basic",`Average Cookie Clicks Per Second (Past ${Y[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(le(wt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(jo).forEach((t=>{Game.Has(jo[t])||e.push(jo[t])})),0!==e.length&&o.appendChild(An("basic","Fortune Upgrades Left to Buy",jn(e)))}if(e.ShowMissedGC&&o.appendChild(An("basic","Missed Golden Cookies",document.createTextNode(le(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(An("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(vt){const t=vt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=vt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}}}))}const Hn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Rn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Un(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Wn(t),Game.UpdateMenu()},n.appendChild(i),n}function $n(t){const o=document.createElement("div");if(o.className="listing","bool"===mn[t].type){const n=document.createElement("a");mn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=On+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===mn[t].label.length?(e[t]=0,mn[t].toggle&&(l(On+t).className="option off")):l(On+t).className="option",void 0!==mn[t].func&&mn[t].func(),l(On+t).innerHTML=mn[t].label[e[t]],vn()}(t)},n.textContent=mn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=mn[t].desc,o.appendChild(i),o}if("vol"===mn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=mn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Fn(t)},r.onchange=function(){Fn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){kn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===mn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${mn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=On+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${On+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,vn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=mn[t].desc,o.appendChild(s),o}if("color"===mn[t].type){o.className="";for(let t=0;tthis.max&&console.log("TEST"),e[t]=this.value,vn(),rn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=mn[t].desc,o.appendChild(a),o}return o}function In(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function zn(){M.Beautify=Beautify,Beautify=le,M.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){M.CalculateGains(),Ue=1},M.tooltip={},M.tooltip.draw=Game.tooltip.draw,M.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){M.tooltip.drawMod(e,t,o)},M.tooltip.update=Game.tooltip.update,M.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){M.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},M.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){In(M.UpdateWrinklers)},M.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){In(M.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){In(Game.ClickCookie)}),!1),M.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){M.RebuildUpgrades(),T=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},M.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=Qt[Game.ObjectsById[e].name].name;Qt[o].amount-=1,Ee-=1,t=Qt[o].basePrice*Game.priceIncrease**Math.max(0,Qt[o].amount-1-Qt[o].free),t=Game.modifyBuildingPrice(Qt[o],t),t=Math.ceil(t);break}const o=Fe;return Ao(),Io(),o!==Fe&&Ao(),[Ie-Game.cookiesPs,t]}(t),n=se(o/(e+Game.cookiesPs)),i=le(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${le(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},M.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){M.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},M.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Nn().picker&&void 0!==Nn().picker.owner||(M.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Hn).forEach((t=>{const n=Un(t,Hn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys(Rn).forEach((t=>{const n=Un(t,Rn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(mn).forEach((e=>{mn[e].group===t&&o.appendChild($n(e))}))})):Object.keys(mn).forEach((e=>{mn[e].group===t&&o.appendChild($n(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){xn(on)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Dn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Wn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},M.sayTime=Game.sayTime,$=function(e,t){return Number.isNaN(e)||e<=0?M.sayTime(e,t):se(e/Game.fps,1)},M.Logic=Game.Logic,Game.Logic=function(){M.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),re=`${Game.OnAscend?"Ascending! ":""}${le(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=re;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,g&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=h?`[R${Math.ceil(Ut.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=re;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),g&&(t=!0,e+="[F]"),"christmas"===Game.season&&h&&(e+=`[R${Math.ceil(Ut.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${le(Game.prestige)}.
(CpS +${le(Game.prestige)}%)`,n+='
'),n+=Se<1?"Ascending now would grant you no prestige.":Se<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${le(Se)} prestige levels (+${le(Se)}% CpS)
and ${le(Se)} heavenly chips to spend.`,n+='
',n+=`You need ${le(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${$t} to reach the next level and you are making ${le(ct,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Vn(){Cn(),Jo(),tn(),a=Object.keys(Game.mods).length,w=document.createElement("style"),w.type="text/css",w.id="CMCSS",document.head.appendChild(w),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=S+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",N)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",B)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",B)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",B)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{co(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=so("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:L},{id:"CMTimerBarGCBar",color:W}]);e.appendChild(t);const o=so("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:L},{id:"CMTimerBarRenBar",color:O}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=P+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(B,"Better than the best PP of a building option")),e.appendChild(o(E,"Same as the best PP building option")),e.appendChild(o(N,"Within the top 10 of PP for buildings")),e.appendChild(o(O,"Within the top 20 of PP for buildings")),e.appendChild(o(F,"Within the top 30 of PP for buildings")),e.appendChild(o(W,"Outside of the top 30 of PP for buildings")),e.appendChild(o(L,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=S+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",B)),e.appendChild(o("CMUpgradeBarGreen",E)),e.appendChild(o("CMUpgradeBarYellow",N)),e.appendChild(o("CMUpgradeBarOrange",O)),e.appendChild(o("CMUpgradeBarRed",F)),e.appendChild(o("CMUpgradeBarPurple",W)),e.appendChild(o("CMUpgradeBarGray",L)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMWhiteScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(H).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(H[e][0],H[e][1],H[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Tn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==yt[1]&&(Game.wrinklers[yt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(v[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(r=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("s","Lump")}),"this"),Game.tooltip.wobble()}),m=Game.LoadMinigames,Game.LoadMinigames=function(){m(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Sn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Bn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){I=1},l("backgroundLeftCanvas").onmouseout=function(){I=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{V[e]=0}))},zn(),Bn(),Game.CalculateGains(),xn(),U=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const _n={init:function(){yn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Vn(),Game.registerHook("draw",So),Game.registerHook("logic",wn),yn=!1)},load:function(e){const t=JSON.parse(e);Cn(),xn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:hn};Game.registerMod("CookieMonster",_n)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};const t=["","","M","G","T","P","E","Z","Y"],n=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],i=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let a,r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v=[],x=[],T=[],M={};const S="CMText",P="CMBack",B="Blue",E="Green",N="Yellow",O="Orange",F="Red",W="Purple",L="Gray",A="Pink",j="Brown",D=[L,B,E,N,O,F,W,A,j],H=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let U,$,I=0,z=-1,V=[],_=1,X=1,Q=1;const q=[10,15,30,60,300,600,900,1800],Y=[1,5,10,15,30],K={Frenzy:N,"Dragon Harvest":j,"Elder frenzy":E,Clot:F,"Click frenzy":B,Dragonflight:A};let J,Z,ee,te,oe,ne,ie,ae={},re="";function le(o,a,r){const l=e.ScaleDecimals+1;if(o===1/0)return"Infinity";if(void 0===o)return"0";if(0===e.Scale)return M.Beautify(o,a);if(Number.isFinite(o)){let s="";if(0===o)return o.toString();if(o>.001&&o=.01&&o=.01&&o=.01&&o315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function ce(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=E):(n=se(t),o=t>300?F:t>60?O:N),{text:n,color:o}}let de,pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Re,Ue,$e,Ie,ze,Ve=0,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=1,lt=1,st=1,ct=0,dt=0,pt=0,ut=0,mt={},ht={},gt={},ft=0,Ct=0,yt=[0,null],bt=0,kt=0,Gt={},wt={},vt={},xt={},Tt={},Mt=0,St=0,Pt=[],Bt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Dt=0,Ht=0,Rt={},Ut={},$t=0,It=0,zt=[],Vt={},_t=0,Xt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Qt=[],qt=[],Yt=[];function Kt(e){let t=0;return Game.dragonAuras[Ae].name!==e&&Game.dragonAuras[je].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Ae].name&&"Reality Bending"!==Game.dragonAuras[je].name||(t+=.1),t}function Jt(){let e=.25;return e*=1+Kt("Earth Shatterer"),e}function Zt(e,t){return void 0===$e[e]?void 0===t?1:t:$e[e]}function eo(e){const t=qt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function to(e){if(Game.hasGod){void 0===Qt.Temple.minigame&&(Qt.Temple.minigame=Game.Objects.Temple.minigame);const t=Qt.Temple.minigame.gods[e];if(De===t.id)return 1;if(He===t.id)return 2;if(Re===t.id)return 3}return!1}function oo(e,t){let o=t;if(eo("Season savings")&&(o*=.99),eo("Santa's dominion")&&(o*=.99),eo("Faberge egg")&&(o*=.99),eo("Divine discount")&&(o*=.99),eo("Fortune #100")&&(o*=.99),o*=1-.02*Kt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&eo(e.fortune.name)&&(o*=.93),o*=Zt("buildingCost"),Qt.Temple.minigameLoaded){const e=to("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function no(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function io(){let t=Game.buyBulk;if(1===Game.buyMode?X=t:t=X,1===t?t=mt:10===t?t=ht:100===t&&(t=gt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e.Colours[t[o].color]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(mt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=le(no(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(mt).map((e=>{const t=mt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return D.indexOf(e.color)>D.indexOf(t.color)?1:D.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return D.indexOf(e.color)>D.indexOf(t.color)?1:D.indexOf(e.color){const t=mt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eD.indexOf(t.color)?1:D.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?_=i:i=_,1===i&&(i=mt),10===i&&(i=ht),100===i&&(i=gt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=le(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=S+i[o].color,n=e.PPDisplayTime?se(Math.round(i[o].pp)):le(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=ce((Game.Objects[o].bulkPrice-(Game.cookies+lo()))/ro());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=S+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&eo(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(eo(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&eo(e.fortune.name)&&(t*=1.07),e.grandma&&eo(e.grandma.name)&&(t*=1+.01*Qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&eo(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function yo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;eo("Thousand fingers")&&(t+=.1),eo("Million fingers")&&(t*=5),eo("Billion fingers")&&(t*=10),eo("Trillion fingers")&&(t*=20),eo("Quadrillion fingers")&&(t*=20),eo("Quintillion fingers")&&(t*=20),eo("Sextillion fingers")&&(t*=20),eo("Septillion fingers")&&(t*=20),eo("Octillion fingers")&&(t*=20),eo("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Qt).forEach((e=>{"Cursor"!==Qt[e].name&&(n+=Qt[e].amount)})),t*=n,o*=Co(e),o*=Game.magicCpS("Cursor"),o*=Zt("cursorCps"),Game.ComputeCps(.1,eo("Reinforced index finger")+eo("Carpal tunnel prevention cream")+eo("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{eo(Game.GrandmaSynergies[e])&&(o*=2)})),eo("Bingo center/Research facility")&&(o*=4),eo("Ritual rolling pins")&&(o*=2),eo("Naughty list")&&(o*=2),eo("Elderwort biscuits")&&(o*=1.02),o*=Zt("grandmaCps"),eo("Cat ladies"))for(let e=0;e{"Grandma"!==Qt[e].name&&(i+=Qt[e].amount)})),o*=1+.01*Kt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=Co(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function bo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Qt).forEach((t=>{Qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(eo("Starlove")&&(e=3),Game.hasGod){const t=to("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function ko(){Ne=Game.UpgradesOwned,Oe=Game.pledges,Fe=Game.AchievementsOwned,We=Game.heavenlyPower,Le=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Qt[e];void 0===o&&(Qt[e]=yo(e),o=Qt[e],co(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(De=t.minigame.slot[0],He=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e]),o.bought=t.bought,qt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Yt[e];void 0===o&&(Yt[e]=fo(e),o=Yt[e]),o.won=t.won,Yt[e]=o})),go(),Ae=Ve,je=_e}function Go(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function wo(e){e.appendChild(Go("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(Go("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(Go("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(Go("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ee){e.appendChild(Go("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function vo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function To(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Mo(){if(ko(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ee?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(wo(l("CMTooltipBorder")),1===Game.buyMode?Q=t:t=Q,1===Game.buyBulk?t=mt:10===Game.buyBulk?t=ht:100===Game.buyBulk&&(t=gt),J=Game.Objects[te].bulkPrice,Z=t[te].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=le(Z,2);const o=Math.round(Z/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=S+t[te].color,e.PPDisplayTime?l("CMTooltipPP").textContent=se(t[te].pp):l("CMTooltipPP").textContent=le(t[te].pp,2),l("CMTooltipPP").className=S+t[te].color;const n=ce((J-(Game.cookies+lo()))/ro());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[te[1]][te[0]][0]-1].matureBase,o=t.plantsById[t.plot[te[1]][te[0]][0]-1].name;l("CMTooltipBorder").appendChild(Go("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${le(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${le(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${le(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${le(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ee?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(Go("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=so(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==K[Game.buffs[t].name]?K[Game.buffs[t].name]:W,a.lastChild.children[1].className=P+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ie!==n&&(ie=n,mo())}}(),po(),Mo(),function(){if(1===e.TooltipWrink&&1===I){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===V[t]||void 0===V[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),z=t,V[t]=1}}else V[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[z],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[z].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=le(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,le(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Po{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Bo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+_t;Game.cpsSucked>0&&(o+=ft),Dt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-fe,i=Math.max(0,Game.cookies-Ce)/n,a=Math.max(0,ft-ye)/n,r=Math.max(0,yt[0]-be)/n,l=Math.max(0,o-ut)/n,s=(Game.cookieClicks-ke)/n;for(let e=0;ezt[30][0]?F:W,0!==Number(e.PPSecondsLowerLimit)&&o/ro()0&&(n=F),n}function No(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=L;else{t[n].color=Eo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+lo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||zt.push([t[n].pp,o])}))}function Fo(){!function(){It=1/0,zt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Oo(mt,1),Oo(ht,10),Oo(gt,100),zt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;zt[t][1]>Game.cookies&&(t+=1,zt.length!==t+1););It=zt[e.PPExcludeTop][t],No(mt,1),No(ht,10),No(gt,100)}(),Object.keys(Gt).forEach((e=>{Game.cookiesPs?Gt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+lo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Gt[e].bonus:Gt[e].pp=Game.Upgrades[e].getPrice()/Gt[e].bonus,Number.isNaN(Gt[e].pp)&&(Gt[e].pp=1/0),Gt[e].color=Eo(Gt[e],Game.Upgrades[e].getPrice())}))}function Wo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),$e=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Le)*We*function(){let e=0;if(eo("Heavenly chip secret")&&(e+=.05),eo("Heavenly cookie stand")&&(e+=.2),eo("Heavenly bakery")&&(e+=.25),eo("Heavenly confectionery")&&(e+=.25),eo("Heavenly key")&&(e+=.25),e*=1+.05*Kt("Dragon God"),eo("Lucky digit")&&(e*=1.01),eo("Lucky number")&&(e*=1.01),eo("Lucky payout")&&(e*=1.01),Game.hasGod){const t=to("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=Zt("cps"),eo("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];eo(o.name)&&("function"==typeof o.power?e*=1+.01*qt[o.name].power(qt[o.name]):e*=1+.01*o.power)})),eo("Specialized chocolate chips")&&(e*=1.01),eo("Designer cocoa beans")&&(e*=1.02),eo("Underworld ovens")&&(e*=1.03),eo("Exotic nuts")&&(e*=1.04),eo("Arcane sugar")&&(e*=1.05),eo("Increased merriness")&&(e*=1.15),eo("Improved jolliness")&&(e*=1.15),eo("A lump of coal")&&(e*=1.01),eo("An itchy sweater")&&(e*=1.01),eo("Santa's dominion")&&(e*=1.2),eo("Fortune #100")&&(e*=1.01),eo("Fortune #101")&&(e*=1.07),eo("Dragon scale")&&(e*=1.03);let o=1;if(to){let t=to("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=to("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=to("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=to("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=to("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}eo("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Fe/25;let i=1;if(eo("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Kt("Breath of Milk"),to){const e=to("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=Zt("milk");let a=1;eo("Kitten helpers")&&(a*=1+.1*n*i),eo("Kitten workers")&&(a*=1+.125*n*i),eo("Kitten engineers")&&(a*=1+.15*n*i),eo("Kitten overseers")&&(a*=1+.175*n*i),eo("Kitten managers")&&(a*=1+.2*n*i),eo("Kitten accountants")&&(a*=1+.2*n*i),eo("Kitten specialists")&&(a*=1+.2*n*i),eo("Kitten experts")&&(a*=1+.2*n*i),eo("Kitten consultants")&&(a*=1+.2*n*i),eo("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),eo("Kitten marketeers")&&(a*=1+.15*n*i),eo("Kitten analysts")&&(a*=1+.125*n*i),eo("Kitten executives")&&(a*=1+.115*n*i),eo("Kitten angels")&&(a*=1+.1*n*i),eo("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Qt).forEach((e=>{const t=Qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&eo("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Ie+=t.amount*a})),eo('"egg"')&&(Ie+=9),e*=a;let r=1;if(eo("Chicken egg")&&(r*=1.01),eo("Duck egg")&&(r*=1.01),eo("Turkey egg")&&(r*=1.01),eo("Quail egg")&&(r*=1.01),eo("Robin egg")&&(r*=1.01),eo("Ostrich egg")&&(r*=1.01),eo("Cassowary egg")&&(r*=1.01),eo("Salmon roe")&&(r*=1.01),eo("Frogspawn")&&(r*=1.01),eo("Shark egg")&&(r*=1.01),eo("Turtle egg")&&(r*=1.01),eo("Ant larva")&&(r*=1.01),eo("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),dt=1+.1*(1-(1-e/100)**3),r*=dt}e*=r,eo("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Kt("Radiant Appetite");const l=Ie*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Lo(Game.CpsAchievements[e].name)})),ze=l;const{n:s}=Game.shimmerTypes.golden,c=Kt("Dragon's Fortune");for(let t=0;t{eo(e[o])&&(t+=.1)}))}e*=t}if(eo("Shimmering veil [off]")){let t=.5;eo("Reinforced membrane")&&(t+=.1),e*=1+t}eo("Magic shenanigans")&&(e*=1e3),eo("Occult obstruction")&&(e*=0),Ie=Game.runModHookOnValue("cps",Ie),e*=xo(),Ie*=e}const jo=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Do=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ho=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Uo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function $o(e){return Yt[e]?Yt[e].won:0}function Io(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{eo(Game.GrandmaSynergies[t])&&(e+=1)})),!$o("Elder")&&e>=7&&Lo("Elder"),!$o("Veteran")&&e>=14&&Lo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Qt).forEach((e=>{t+=Qt[e].amount,i=Math.min(Qt[e].amount,i),$o("Mathematician")||Qt[e].amount=1&&Lo("One with everything"),1===o&&Lo("Mathematician"),1===n&&Lo("Base 10"),i>=100&&Lo("Centennial"),i>=150&&Lo("Centennial and a half"),i>=200&&Lo("Bicentennial"),i>=250&&Lo("Bicentennial and a half"),i>=300&&Lo("Tricentennial"),i>=350&&Lo("Tricentennial and a half"),i>=400&&Lo("Quadricentennial"),i>=450&&Lo("Quadricentennial and a half"),i>=500&&Lo("Quincentennial"),i>=550&&Lo("Quincentennial and a half"),i>=600&&Lo("Sexcentennial"),t>=100&&Lo("Builder"),t>=500&&Lo("Architect"),t>=1e3&&Lo("Engineer"),t>=2e3&&Lo("Lord of Constructs"),t>=4e3&&Lo("Grand design"),t>=8e3&&Lo("Ecumenopolis"),Ne>=20&&Lo("Enhancer"),Ne>=50&&Lo("Augmenter"),Ne>=100&&Lo("Upgrader"),Ne>=200&&Lo("Lord of Progress"),Ne>=300&&Lo("The full picture"),Ne>=400&&Lo("When there's nothing left to add"),t>=4e3&&Ne>=300&&Lo("Polymath"),t>=8e3&&Ne>=400&&Lo("Renaissance baker"),Qt.Cursor.amount+Qt.Grandma.amount>=777&&Lo("The elder scrolls");let a=!0;Object.keys(Do).forEach((e=>{eo(Do[e])||(a=!1)})),a&&Lo("Spooky cookies");let r=!0;if(Object.keys(Ho).forEach((e=>{eo(Ho[e])||(r=!1)})),r&&Lo("Let it snow"),eo("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{eo(e[o].name)&&(t+=1)})),t>=e.length&&Lo("O Fortuna")}}function zo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){ko(),Qt[e].amount+=t;const o=Qt[e];"Cursor"===e?(o.amount>=1&&Lo("Click"),o.amount>=2&&Lo("Double-click"),o.amount>=50&&Lo("Mouse wheel"),o.amount>=100&&Lo("Of Mice and Men"),o.amount>=200&&Lo("The Digital"),o.amount>=300&&Lo("Extreme polydactyly"),o.amount>=400&&Lo("Dr. T"),o.amount>=500&&Lo("Thumbs, phalanges, metacarpals"),o.amount>=600&&Lo("With her finger and her thumb"),o.amount>=700&&Lo("Gotta hand it to you"),o.amount>=800&&Lo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Lo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Fe;return Ao(),Io(),n!==Fe&&Ao(),Ie-Game.cookiesPs}(o,e),1!==e&&(Pe=1)})),t}function Vo(){Object.keys(Game.Objects).forEach((e=>{mt[e].price=Wo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),ht[e].price=Wo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),gt[e].price=Wo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function _o(){mt=zo(1),ht=zo(10),gt=zo(100),Gt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){ko(),"Shimmering veil [on]"===qt[e].name?qt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===qt[e].name?qt["Golden switch [off]"].bought=0:qt[e].bought=(qt[e].bought+1)%2,qt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ne+=1),"Elder Pledge"===e?(Oe+=1,Oe>0&&Lo("Elder nap"),Oe>=5&&Lo("Elder slumber")):"Elder Covenant"===e?Lo("Elder calm"):"Prism heart biscuits"===e?Lo("Lovely cookies"):"Heavenly key"===e&&Lo("Wholesome");const t=Fe;Ao(),Io(),t!==Fe&&Ao();const o=function(){let e=0;eo("Thousand fingers")&&(e+=.1),eo("Million fingers")&&(e*=5),eo("Billion fingers")&&(e*=10),eo("Trillion fingers")&&(e*=20),eo("Quadrillion fingers")&&(e*=20),eo("Quintillion fingers")&&(e*=20),eo("Sextillion fingers")&&(e*=20),eo("Septillion fingers")&&(e*=20),eo("Octillion fingers")&&(e*=20),eo("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Qt).forEach((e=>{t+=Qt[e].amount})),t-=Qt.Cursor.amount,e*=t,eo("Plastic mouse")&&(e+=.01*Ie),eo("Iron mouse")&&(e+=.01*Ie),eo("Titanium mouse")&&(e+=.01*Ie),eo("Adamantium mouse")&&(e+=.01*Ie),eo("Unobtainium mouse")&&(e+=.01*Ie),eo("Eludium mouse")&&(e+=.01*Ie),eo("Wishalloy mouse")&&(e+=.01*Ie),eo("Fantasteel mouse")&&(e+=.01*Ie),eo("Nevercrack mouse")&&(e+=.01*Ie),eo("Armythril mouse")&&(e+=.01*Ie),eo("Technobsidian mouse")&&(e+=.01*Ie),eo("Plasmarble mouse")&&(e+=.01*Ie),eo("Miraculite mouse")&&(e+=.01*Ie),eo("Fortune #104")&&(e+=.01*Ie);let o=1;if(eo("Santa's helpers")&&(o*=1.1),eo("Cookie egg")&&(o*=1.1),eo("Halo gloves")&&(o*=1.1),eo("Dragon claw")&&(o*=1.03),eo("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,eo("Luminous gloves")?20:10)),o*=Zt("click"),Qt.Temple.minigameLoaded&&to){const e=to("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Kt("Dragon Cursor");let n=o*Game.ComputeCps(1,eo("Reinforced index finger")+eo("Carpal tunnel prevention cream")+eo("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Ie-Game.cookiesPs,o]:[Ie-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Gt[t]={bonus:Game.cookiesPs-Ge},1===e.CalcWrink?Gt[t].bonus-=we:2===e.CalcWrink&&(Gt[t].bonus-=ve),Number.isFinite(Gt[t].bonus)||(Gt[t].bonus=0)):(Gt[t]={},o[0]&&(Gt[t].bonus=o[0]),o[1]&&(Gt[t].bonusMouse=o[1]))}))}function Xo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Pt=Xo(7,e,lt),Mt=2*Pt[1]/lt,St=Pt[2]/60/60/6/rt,Nt=Xo(6,e,st),Bt=2*Nt[1]/st,Et=Nt[2]/60/60/6/rt,Wt=Xo(7,7*e,lt),Ot=2*Wt[1]/lt,Ft=Wt[2]/60/60/6/rt,jt=Xo(6,7*e,st),Lt=2*jt[1]/st,At=jt[2]/60/60/6/rt}function qo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Me,i=Math.max(0,o-Se)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?xt+=e:"cookie"===o.pool?Tt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(vt+=e)}}))}function Ko(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),pt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(pt*=2)}}function Jo(){qe=900*at/.15,qe*=rt;const e=xo();e>0?qe/=e:qe=0,Ye=lt*(.15*qe)+13,Ke=st*(.15*qe)+13,Je=7*qe,Ze=lt*(.15*Je)+13,et=st*(.15*Je)+13,tt=2*qe,ot=.15*tt,nt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountnt&&(nt=2*Game.Objects[e].price,it=e)}))}function Zo(){let e=1,t=1,o=1;eo("Green yeast digestives")&&(o*=1.01),eo("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),lt=o*e,st=o*t,rt=1,0===Game.shimmerTypes.golden.n&&(rt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function en(){ft=0,Ct=0,yt=[0,null];for(let e=0;eyt[0]&&(yt=[t,e]))}}function tn(){go(),en(),Jo(),Zo(),Qo(),Yo(),Ko(),de=new Po(q[q.length-1]),pe=new Po(q[q.length-1]),ue=new Po(q[q.length-1]),me=new Po(q[q.length-1]),he=new Po(Y[Y.length-1]),ge=new Po(5),qo(),Bo(),_o(),Vo(),Fo()}const on={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,Colours:{Blue:"#4bb8f0",Green:"#00ff00",Yellow:"#ffff00",Orange:"#ff7f00",Red:"#ff0000",Purple:"#ff00ff",Gray:"#b3b3b3",Pink:"#ff1493",Brown:"#8b4513"},BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},nn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function an(){1===e.BotBar?(l("CMBotBar").style.display="",po()):l("CMBotBar").style.display="none",mo()}function rn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),po(),io(),ao()}function ln(){let t="";for(let o=0;o0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class un extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const mn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){Ue=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Aabreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){rn()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){rn()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){rn()})),ScaleCutoff:new un("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=$:Game.sayTime=M.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){io()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new un("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),Colours:new class extends cn{constructor(e,t,o,n){super(e,t),this.desc=o,this.func=n}}("colour","Colours",{Blue:"Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels",Green:"Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels",Yellow:"Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels",Orange:"Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels",Red:"Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels",Purple:"Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels",Gray:"Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar",Pink:"Standard colour is pink. Used for Dragonflight bar",Brown:"Standard colour is brown. Used for Dragon Harvest bar"},(function(){ln()})),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){an()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){ho()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),mo()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ao()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ao()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){io()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ao()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(ae).forEach((e=>{ae[e].style.display="block",ae[e].style.left=Vt[e].l.style.left,ae[e].style.top=Vt[e].l.style.top})):Object.keys(ae).forEach((e=>ae[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){e.WrinklerButtons?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new un("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){To()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new un("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){nn(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new pn("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){nn(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new pn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){nn(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new pn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new pn("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){nn(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new pn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){nn(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new pn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){nn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new pn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function hn(){return JSON.stringify({settings:e,version:"2.031.6"})}function gn(){if(Xe!==Game.dragonLevel||Ue){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Qt[e]=yo(e)})),qt=[],Object.keys(Game.Upgrades).forEach((e=>{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Achievements).forEach((e=>{Yt[e]=fo(e)})),ko()}let yn=!1;function bn(t,o){1===e[o]&&3===t&&!1===yn||1===t?(l("CMWhiteScreen").style.opacity="0.5",3===t?(l("CMWhiteScreen").style.display="inline",setTimeout((function(){bn(2,o)}),1e3/Game.fps)):setTimeout((function(){bn(0,o)}),1e3/Game.fps)):2===t?(l("CMWhiteScreen").style.opacity="1",setTimeout((function(){bn(1,o)}),1e3/Game.fps)):0===t&&(l("CMWhiteScreen").style.display="none")}function kn(t,o,n,i){if((1===e[o]||i)&&!1===yn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Gn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===yn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function wn(){if(ne!==Game.OnAscend&&(ne=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(an(),ho()),uo()),!Game.OnAscend&&0===Game.AscendTimer){a!==Object.keys(Game.mods).length&&(Cn(),tn(),a=Object.keys(Game.mods).length),Ue&&(_o(),Game.Has("Golden switch [off]")?(ko(),qt["Golden switch [off]"].bought=0,Ao(),at=Ie):at=Game.cookiesPs,Zo(),Jo(),Yo(),Qo(),gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Xt[e][t]=fn(e,t)}(),Ko(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;ko();let t=2;5!==Ae&&18!==Ae||(t-=1),5!==je&&18!==je||(t-=1),Ae=5,je=18;for(let e=0;e{Qt[t].amount>0&&(e=t)})),Qt[e].amount-=1,Ee-=1}return Object.keys(Qt).forEach((t=>{const o=Qt[t];e+=no(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),_t=e}(),Ue=0);const t=Game.auraMult("Fierce Hoarder")>0;!Be&&t?(Be=!0,Pe=1):Be&&!t&&(Be=!1,Pe=1),Pe&&(Vo(),Pe=0),function(){en(),Fo(),function(){bt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}kt=e,bt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Bo(),qo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);$t=se(e/ro())}(),k=0,Vt={},Object.keys(Game.shimmers).forEach((e=>{Vt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],k+=1)})),Object.keys(ae).forEach((e=>{void 0===Vt[e]&&(ae[e].parentNode.removeChild(ae[e]),delete ae[e])})),C!==Game.shimmerTypes.golden.n?(C=Game.shimmerTypes.golden.n,C&&(y{void 0===ae[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},ae[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),y=k,0===k&&(Rt=0)):1===e.GCTimer&&C&&Object.keys(ae).forEach((e=>{ae[e].style.opacity=Vt[e].l.style.opacity,ae[e].style.transform=Vt[e].l.style.transform,ae[e].textContent=Math.ceil(Vt[e].life/Game.fps)})),g!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(g=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,g&&(bn(3,"FortuneFlash"),kn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Gn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),h!==Game.shimmerTypes.reindeer.spawned&&(h=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(Ut=Game.shimmers[e])})),bn(3,"SeaFlash"),kn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Gn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&f!==Game.Objects.Farm.minigame.nextStep&&(0!==f&&f0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>G?(G=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?bn(3,"WrinklerMaxFlash"):bn(3,"WrinklerFlash"),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?kn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):kn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Gn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Gn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):G=t}}()}}function vn(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${hn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function xn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t;let o=!1;Object.keys(on).forEach((t=>{void 0===e[t]?(o=!0,e[t]=on[t]):"Header"!==t&&"Colors"!==t?-1===t.indexOf("SoundURL")?e[t]>-1&&e[t]{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=on[t][n])})):Object.keys(on.Colors).forEach((n=>{void 0!==e[t][n]&&"string"==typeof e[t][n]||(o=!0,e[t][n]=on[t][n])}))})),o&&vn(),wn(),Object.keys(on).forEach((e=>{"Header"!==e&&void 0!==mn[e].func&&mn[e].func()}))}else xn(on)}function Tn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Mn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Wo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${le(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${ce((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(le(Game.Objects[o].bulkPrice)).join(le((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ee=t,te=o,Mo(),l("tooltip").innerHTML}function Sn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(x[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Pn(){if(!u&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];d=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){d(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),vn()}function Ln(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Wn(o),Game.UpdateMenu()},n.appendChild(i),n}function An(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function jn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Dn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Ln("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+lo(){Game.HasUnlocked(Uo[e])||c.push(Uo[e])})),0!==c.length&&e.appendChild(An("basic","Rare plant drops left to unlock",jn(c))),e}())),o.appendChild(Ln("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Dt+Game.cookiesReset+ft+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?ut:0)));t.appendChild(An("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${le(Game.prestige)} / ${le(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Dt+Game.cookiesReset+ft+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&ut?ut:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(le(n)));const a=document.createElement("small");a.textContent=` (${se(n/Ht,1)})`,i.appendChild(a),t.appendChild(An("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(An("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${le(Game.heavenlyChips)} / ${le(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(An("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(le(ct,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(An("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(le(e)))),t.appendChild(An("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(se(e/ct)))))}const l=function(e){let t=Game.cookiesPs;ko(),0===qt["Heavenly key"].bought&&(qt["Heavenly chip secret"].bought=1,qt["Heavenly cookie stand"].bought=1,qt["Heavenly bakery"].bought=1,qt["Heavenly confectionery"].bought=1,qt["Heavenly key"].bought=1,Ao(),t=Ie,ko()),Dt>=1e6&&Lo("Sacrifice"),Dt>=1e9&&Lo("Oblivion"),Dt>=1e12&&Lo("From scratch"),Dt>=1e15&&Lo("Nihilism"),Dt>=1e18&&Lo("Dematerialize"),Dt>=1e21&&Lo("Nil zero zilch"),Dt>=1e24&&Lo("Transcendence"),Dt>=1e27&&Lo("Obliterate"),Dt>=1e30&&Lo("Negative void"),Dt>=1e33&&Lo("To crumbs, you say?"),Dt>=1e36&&Lo("You get nothing"),Dt>=1e39&&Lo("Humble rebeginnings"),Dt>=1e42&&Lo("The end of the world"),Dt>=1e45&&Lo("Oh, you're back"),Dt>=1e48&&Lo("Lazarus"),Dt>=1e51&&Lo("Smurf account"),Dt>=1e54&&Lo("If at first you don't succeed"),qt["Heavenly chip secret"].bought=1,qt["Heavenly cookie stand"].bought=1,qt["Heavenly bakery"].bought=1,qt["Heavenly confectionery"].bought=1,qt["Heavenly key"].bought=1,Le=e;const o=Fe;Ao(),Io(),o!==Fe&&Ao();const n=Ie-t;return Le=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(le(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(An("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(An("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(An("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(An("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Ln("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${le(ft)} / ${le(Ct)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Tn()},e.appendChild(t),o.appendChild(An("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${le(yt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==yt[1]&&(Game.wrinklers[yt[1]].hp=0)},n.appendChild(i),o.appendChild(An("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==yt[1]?yt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Do).forEach((e=>{Game.Has(Do[e])||(n.push(Do[e]),o=!0)}));const i=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(i.push(Ho[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Ln("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(An("basic","Halloween cookies left to buy",jn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(An("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${le((1-e)*o*100)}% / ${le((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(An("basic","Christmas cookies left to buy",jn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(An("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${le((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(An("basic","Valentine cookies left to buy",jn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(An("basic","Normal easter eggs left to unlock",jn(r))),t.appendChild(An("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${le(100*e(.98)[0])}% / ${le(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(An("basic","Rare easter eggs left to unlock",jn(l))),t.appendChild(An("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${le(100*e(.98)[1])}% / ${le(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(An("basic","Reindeer reward",document.createTextNode(le(pt)))),s&&t.appendChild(An("withTooltip","Chocolate egg cookies",document.createTextNode(le(ut)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(An("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(dt-1))/100+"%")))}return t}()),o.appendChild(Ln("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(An("basic",`Average Cookies Per Second (Past ${q[e.AvgCPSHist]<60?`${q[e.AvgCPSHist]} seconds`:q[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(le(ro(),3)))),o.appendChild(An("basic",`Average Cookie Clicks Per Second (Past ${Y[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(le(wt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(jo).forEach((t=>{Game.Has(jo[t])||e.push(jo[t])})),0!==e.length&&o.appendChild(An("basic","Fortune Upgrades Left to Buy",jn(e)))}if(e.ShowMissedGC&&o.appendChild(An("basic","Missed Golden Cookies",document.createTextNode(le(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(An("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(vt){const t=vt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=vt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}}}))}const Hn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Rn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Un(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Wn(t),Game.UpdateMenu()},n.appendChild(i),n}function $n(t){const o=document.createElement("div");if(o.className="listing","bool"===mn[t].type){const n=document.createElement("a");mn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=On+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===mn[t].label.length?(e[t]=0,mn[t].toggle&&(l(On+t).className="option off")):l(On+t).className="option",void 0!==mn[t].func&&mn[t].func(),l(On+t).innerHTML=mn[t].label[e[t]],vn()}(t)},n.textContent=mn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=mn[t].desc,o.appendChild(i),o}if("vol"===mn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=mn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Fn(t)},r.onchange=function(){Fn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){kn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===mn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${mn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=On+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${On+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,vn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=mn[t].desc,o.appendChild(s),o}if("color"===mn[t].type){o.className="";for(let t=0;tthis.max&&console.log("TEST"),e[t]=this.value,vn(),rn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=mn[t].desc,o.appendChild(a),o}return o}function In(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function zn(){M.Beautify=Beautify,Beautify=le,M.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){M.CalculateGains(),Ue=1},M.tooltip={},M.tooltip.draw=Game.tooltip.draw,M.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){M.tooltip.drawMod(e,t,o)},M.tooltip.update=Game.tooltip.update,M.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){M.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},M.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){In(M.UpdateWrinklers)},M.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){In(M.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){In(Game.ClickCookie)}),!1),M.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){M.RebuildUpgrades(),T=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},M.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=Qt[Game.ObjectsById[e].name].name;Qt[o].amount-=1,Ee-=1,t=Qt[o].basePrice*Game.priceIncrease**Math.max(0,Qt[o].amount-1-Qt[o].free),t=Game.modifyBuildingPrice(Qt[o],t),t=Math.ceil(t);break}const o=Fe;return Ao(),Io(),o!==Fe&&Ao(),[Ie-Game.cookiesPs,t]}(t),n=se(o/(e+Game.cookiesPs)),i=le(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${le(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},M.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){M.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},M.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Nn().picker&&void 0!==Nn().picker.owner||(M.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Hn).forEach((t=>{const n=Un(t,Hn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys(Rn).forEach((t=>{const n=Un(t,Rn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(mn).forEach((e=>{mn[e].group===t&&o.appendChild($n(e))}))})):Object.keys(mn).forEach((e=>{mn[e].group===t&&o.appendChild($n(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){xn(on)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Dn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Wn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},M.sayTime=Game.sayTime,$=function(e,t){return Number.isNaN(e)||e<=0?M.sayTime(e,t):se(e/Game.fps,1)},M.Logic=Game.Logic,Game.Logic=function(){M.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),re=`${Game.OnAscend?"Ascending! ":""}${le(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=re;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,g&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=h?`[R${Math.ceil(Ut.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=re;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),g&&(t=!0,e+="[F]"),"christmas"===Game.season&&h&&(e+=`[R${Math.ceil(Ut.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${le(Game.prestige)}.
(CpS +${le(Game.prestige)}%)`,n+='
'),n+=Se<1?"Ascending now would grant you no prestige.":Se<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${le(Se)} prestige levels (+${le(Se)}% CpS)
and ${le(Se)} heavenly chips to spend.`,n+='
',n+=`You need ${le(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${$t} to reach the next level and you are making ${le(ct,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Vn(){Cn(),Jo(),tn(),a=Object.keys(Game.mods).length,w=document.createElement("style"),w.type="text/css",w.id="CMCSS",document.head.appendChild(w),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=S+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",N)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",B)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",B)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",B)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{co(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=so("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:L},{id:"CMTimerBarGCBar",color:W}]);e.appendChild(t);const o=so("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:L},{id:"CMTimerBarRenBar",color:O}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=P+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(B,"Better than the best PP of a building option")),e.appendChild(o(E,"Same as the best PP building option")),e.appendChild(o(N,"Within the top 10 of PP for buildings")),e.appendChild(o(O,"Within the top 20 of PP for buildings")),e.appendChild(o(F,"Within the top 30 of PP for buildings")),e.appendChild(o(W,"Outside of the top 30 of PP for buildings")),e.appendChild(o(L,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=S+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",B)),e.appendChild(o("CMUpgradeBarGreen",E)),e.appendChild(o("CMUpgradeBarYellow",N)),e.appendChild(o("CMUpgradeBarOrange",O)),e.appendChild(o("CMUpgradeBarRed",F)),e.appendChild(o("CMUpgradeBarPurple",W)),e.appendChild(o("CMUpgradeBarGray",L)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMWhiteScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(H).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(H[e][0],H[e][1],H[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Tn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==yt[1]&&(Game.wrinklers[yt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(v[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(r=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("s","Lump")}),"this"),Game.tooltip.wobble()}),m=Game.LoadMinigames,Game.LoadMinigames=function(){m(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Sn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Bn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){I=1},l("backgroundLeftCanvas").onmouseout=function(){I=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{V[e]=0}))},zn(),Bn(),Game.CalculateGains(),xn(),U=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const _n={init:function(){yn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Vn(),Game.registerHook("draw",So),Game.registerHook("logic",wn),yn=!1)},load:function(e){const t=JSON.parse(e);Cn(),xn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:hn};Game.registerMod("CookieMonster",_n)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index 9421e77e..ae6fb577 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};const t=["","","M","G","T","P","E","Z","Y"],n=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],i=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let a,r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v=[],x=[],T=[],M={};const S="CMText",P="CMBack",B="Blue",E="Green",N="Yellow",O="Orange",F="Red",W="Purple",L="Gray",A="Pink",j="Brown",D=[L,B,E,N,O,F,W,A,j],H=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let U,$,I=0,z=-1,V=[],_=1,X=1,Q=1;const q=[10,15,30,60,300,600,900,1800],Y=[1,5,10,15,30],K={Frenzy:N,"Dragon Harvest":j,"Elder frenzy":E,Clot:F,"Click frenzy":B,Dragonflight:A};let J,Z,ee,te,oe,ne,ie,ae={},re="";function le(o,a,r){const l=e.ScaleDecimals+1;if(o===1/0)return"Infinity";if(void 0===o)return"0";if(0===e.Scale)return M.Beautify(o,a);if(Number.isFinite(o)){let s="";if(0===o)return o.toString();if(o>.001&&o=.01&&o=.01&&o=.01&&o315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function ce(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=E):(n=se(t),o=t>300?F:t>60?O:N),{text:n,color:o}}let de,pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Re,Ue,$e,Ie,ze,Ve=0,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=1,lt=1,st=1,ct=0,dt=0,pt=0,ut=0,mt={},ht={},gt={},ft=0,Ct=0,yt=[0,null],bt=0,kt=0,Gt={},wt={},vt={},xt={},Tt={},Mt=0,St=0,Pt=[],Bt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Dt=0,Ht=0,Rt={},Ut={},$t=0,It=0,zt=[],Vt={},_t=0,Xt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Qt=[],qt=[],Yt=[];function Kt(e){let t=0;return Game.dragonAuras[Ae].name!==e&&Game.dragonAuras[je].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Ae].name&&"Reality Bending"!==Game.dragonAuras[je].name||(t+=.1),t}function Jt(){let e=.25;return e*=1+Kt("Earth Shatterer"),e}function Zt(e,t){return void 0===$e[e]?void 0===t?1:t:$e[e]}function eo(e){const t=qt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function to(e){if(Game.hasGod){void 0===Qt.Temple.minigame&&(Qt.Temple.minigame=Game.Objects.Temple.minigame);const t=Qt.Temple.minigame.gods[e];if(De===t.id)return 1;if(He===t.id)return 2;if(Re===t.id)return 3}return!1}function oo(e,t){let o=t;if(eo("Season savings")&&(o*=.99),eo("Santa's dominion")&&(o*=.99),eo("Faberge egg")&&(o*=.99),eo("Divine discount")&&(o*=.99),eo("Fortune #100")&&(o*=.99),o*=1-.02*Kt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&eo(e.fortune.name)&&(o*=.93),o*=Zt("buildingCost"),Qt.Temple.minigameLoaded){const e=to("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function no(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function io(){let t=Game.buyBulk;if(1===Game.buyMode?X=t:t=X,1===t?t=mt:10===t?t=ht:100===t&&(t=gt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e.Colours[t[o].color]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(mt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=le(no(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(mt).map((e=>{const t=mt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return D.indexOf(e.color)>D.indexOf(t.color)?1:D.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return D.indexOf(e.color)>D.indexOf(t.color)?1:D.indexOf(e.color){const t=mt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eD.indexOf(t.color)?1:D.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?_=i:i=_,1===i&&(i=mt),10===i&&(i=ht),100===i&&(i=gt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=le(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=S+i[o].color,n=e.PPDisplayTime?se(Math.round(i[o].pp)):le(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=ce((Game.Objects[o].bulkPrice-(Game.cookies+lo()))/ro());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=S+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&eo(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(eo(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&eo(e.fortune.name)&&(t*=1.07),e.grandma&&eo(e.grandma.name)&&(t*=1+.01*Qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&eo(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function yo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;eo("Thousand fingers")&&(t+=.1),eo("Million fingers")&&(t*=5),eo("Billion fingers")&&(t*=10),eo("Trillion fingers")&&(t*=20),eo("Quadrillion fingers")&&(t*=20),eo("Quintillion fingers")&&(t*=20),eo("Sextillion fingers")&&(t*=20),eo("Septillion fingers")&&(t*=20),eo("Octillion fingers")&&(t*=20),eo("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Qt).forEach((e=>{"Cursor"!==Qt[e].name&&(n+=Qt[e].amount)})),t*=n,o*=Co(e),o*=Game.magicCpS("Cursor"),o*=Zt("cursorCps"),Game.ComputeCps(.1,eo("Reinforced index finger")+eo("Carpal tunnel prevention cream")+eo("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{eo(Game.GrandmaSynergies[e])&&(o*=2)})),eo("Bingo center/Research facility")&&(o*=4),eo("Ritual rolling pins")&&(o*=2),eo("Naughty list")&&(o*=2),eo("Elderwort biscuits")&&(o*=1.02),o*=Zt("grandmaCps"),eo("Cat ladies"))for(let e=0;e{"Grandma"!==Qt[e].name&&(i+=Qt[e].amount)})),o*=1+.01*Kt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=Co(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function bo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Qt).forEach((t=>{Qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(eo("Starlove")&&(e=3),Game.hasGod){const t=to("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function ko(){Ne=Game.UpgradesOwned,Oe=Game.pledges,Fe=Game.AchievementsOwned,We=Game.heavenlyPower,Le=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Qt[e];void 0===o&&(Qt[e]=yo(e),o=Qt[e],co(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(De=t.minigame.slot[0],He=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e]),o.bought=t.bought,qt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Yt[e];void 0===o&&(Yt[e]=fo(e),o=Yt[e]),o.won=t.won,Yt[e]=o})),go(),Ae=Ve,je=_e}function Go(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function wo(e){e.appendChild(Go("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(Go("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(Go("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(Go("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ee){e.appendChild(Go("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function vo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function To(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Mo(){if(ko(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ee?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(wo(l("CMTooltipBorder")),1===Game.buyMode?Q=t:t=Q,1===Game.buyBulk?t=mt:10===Game.buyBulk?t=ht:100===Game.buyBulk&&(t=gt),J=Game.Objects[te].bulkPrice,Z=t[te].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=le(Z,2);const o=Math.round(Z/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=S+t[te].color,e.PPDisplayTime?l("CMTooltipPP").textContent=se(t[te].pp):l("CMTooltipPP").textContent=le(t[te].pp,2),l("CMTooltipPP").className=S+t[te].color;const n=ce((J-(Game.cookies+lo()))/ro());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[te[1]][te[0]][0]-1].matureBase,o=t.plantsById[t.plot[te[1]][te[0]][0]-1].name;l("CMTooltipBorder").appendChild(Go("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${le(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${le(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${le(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${le(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ee?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(Go("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=so(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==K[Game.buffs[t].name]?K[Game.buffs[t].name]:W,a.lastChild.children[1].className=P+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ie!==n&&(ie=n,mo())}}(),po(),Mo(),function(){if(1===e.TooltipWrink&&1===I){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===V[t]||void 0===V[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),z=t,V[t]=1}}else V[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[z],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[z].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=le(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,le(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Po{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Bo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+_t;Game.cpsSucked>0&&(o+=ft),Dt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-fe,i=Math.max(0,Game.cookies-Ce)/n,a=Math.max(0,ft-ye)/n,r=Math.max(0,yt[0]-be)/n,l=Math.max(0,o-ut)/n,s=(Game.cookieClicks-ke)/n;for(let e=0;ezt[30][0]?F:W,0!==Number(e.PPSecondsLowerLimit)&&o/ro()0&&(n=F),n}function No(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=L;else{t[n].color=Eo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+lo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||zt.push([t[n].pp,o])}))}function Fo(){!function(){It=1/0,zt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Oo(mt,1),Oo(ht,10),Oo(gt,100),zt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;zt[t][1]>Game.cookies&&(t+=1,zt.length!==t+1););It=zt[e.PPExcludeTop][t],No(mt,1),No(ht,10),No(gt,100)}(),Object.keys(Gt).forEach((e=>{Game.cookiesPs?Gt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+lo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Gt[e].bonus:Gt[e].pp=Game.Upgrades[e].getPrice()/Gt[e].bonus,Number.isNaN(Gt[e].pp)&&(Gt[e].pp=1/0),Gt[e].color=Eo(Gt[e],Game.Upgrades[e].getPrice())}))}function Wo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),$e=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Le)*We*function(){let e=0;if(eo("Heavenly chip secret")&&(e+=.05),eo("Heavenly cookie stand")&&(e+=.2),eo("Heavenly bakery")&&(e+=.25),eo("Heavenly confectionery")&&(e+=.25),eo("Heavenly key")&&(e+=.25),e*=1+.05*Kt("Dragon God"),eo("Lucky digit")&&(e*=1.01),eo("Lucky number")&&(e*=1.01),eo("Lucky payout")&&(e*=1.01),Game.hasGod){const t=to("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=Zt("cps"),eo("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];eo(o.name)&&("function"==typeof o.power?e*=1+.01*qt[o.name].power(qt[o.name]):e*=1+.01*o.power)})),eo("Specialized chocolate chips")&&(e*=1.01),eo("Designer cocoa beans")&&(e*=1.02),eo("Underworld ovens")&&(e*=1.03),eo("Exotic nuts")&&(e*=1.04),eo("Arcane sugar")&&(e*=1.05),eo("Increased merriness")&&(e*=1.15),eo("Improved jolliness")&&(e*=1.15),eo("A lump of coal")&&(e*=1.01),eo("An itchy sweater")&&(e*=1.01),eo("Santa's dominion")&&(e*=1.2),eo("Fortune #100")&&(e*=1.01),eo("Fortune #101")&&(e*=1.07),eo("Dragon scale")&&(e*=1.03);let o=1;if(to){let t=to("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=to("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=to("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=to("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=to("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}eo("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Fe/25;let i=1;if(eo("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Kt("Breath of Milk"),to){const e=to("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=Zt("milk");let a=1;eo("Kitten helpers")&&(a*=1+.1*n*i),eo("Kitten workers")&&(a*=1+.125*n*i),eo("Kitten engineers")&&(a*=1+.15*n*i),eo("Kitten overseers")&&(a*=1+.175*n*i),eo("Kitten managers")&&(a*=1+.2*n*i),eo("Kitten accountants")&&(a*=1+.2*n*i),eo("Kitten specialists")&&(a*=1+.2*n*i),eo("Kitten experts")&&(a*=1+.2*n*i),eo("Kitten consultants")&&(a*=1+.2*n*i),eo("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),eo("Kitten marketeers")&&(a*=1+.15*n*i),eo("Kitten analysts")&&(a*=1+.125*n*i),eo("Kitten executives")&&(a*=1+.115*n*i),eo("Kitten angels")&&(a*=1+.1*n*i),eo("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Qt).forEach((e=>{const t=Qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&eo("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Ie+=t.amount*a})),eo('"egg"')&&(Ie+=9),e*=a;let r=1;if(eo("Chicken egg")&&(r*=1.01),eo("Duck egg")&&(r*=1.01),eo("Turkey egg")&&(r*=1.01),eo("Quail egg")&&(r*=1.01),eo("Robin egg")&&(r*=1.01),eo("Ostrich egg")&&(r*=1.01),eo("Cassowary egg")&&(r*=1.01),eo("Salmon roe")&&(r*=1.01),eo("Frogspawn")&&(r*=1.01),eo("Shark egg")&&(r*=1.01),eo("Turtle egg")&&(r*=1.01),eo("Ant larva")&&(r*=1.01),eo("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),dt=1+.1*(1-(1-e/100)**3),r*=dt}e*=r,eo("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Kt("Radiant Appetite");const l=Ie*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Lo(Game.CpsAchievements[e].name)})),ze=l;const{n:s}=Game.shimmerTypes.golden,c=Kt("Dragon's Fortune");for(let t=0;t{eo(e[o])&&(t+=.1)}))}e*=t}if(eo("Shimmering veil [off]")){let t=.5;eo("Reinforced membrane")&&(t+=.1),e*=1+t}eo("Magic shenanigans")&&(e*=1e3),eo("Occult obstruction")&&(e*=0),Ie=Game.runModHookOnValue("cps",Ie),e*=xo(),Ie*=e}const jo=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Do=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ho=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Uo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function $o(e){return Yt[e]?Yt[e].won:0}function Io(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{eo(Game.GrandmaSynergies[t])&&(e+=1)})),!$o("Elder")&&e>=7&&Lo("Elder"),!$o("Veteran")&&e>=14&&Lo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Qt).forEach((e=>{t+=Qt[e].amount,i=Math.min(Qt[e].amount,i),$o("Mathematician")||Qt[e].amount=1&&Lo("One with everything"),1===o&&Lo("Mathematician"),1===n&&Lo("Base 10"),i>=100&&Lo("Centennial"),i>=150&&Lo("Centennial and a half"),i>=200&&Lo("Bicentennial"),i>=250&&Lo("Bicentennial and a half"),i>=300&&Lo("Tricentennial"),i>=350&&Lo("Tricentennial and a half"),i>=400&&Lo("Quadricentennial"),i>=450&&Lo("Quadricentennial and a half"),i>=500&&Lo("Quincentennial"),i>=550&&Lo("Quincentennial and a half"),i>=600&&Lo("Sexcentennial"),t>=100&&Lo("Builder"),t>=500&&Lo("Architect"),t>=1e3&&Lo("Engineer"),t>=2e3&&Lo("Lord of Constructs"),t>=4e3&&Lo("Grand design"),t>=8e3&&Lo("Ecumenopolis"),Ne>=20&&Lo("Enhancer"),Ne>=50&&Lo("Augmenter"),Ne>=100&&Lo("Upgrader"),Ne>=200&&Lo("Lord of Progress"),Ne>=300&&Lo("The full picture"),Ne>=400&&Lo("When there's nothing left to add"),t>=4e3&&Ne>=300&&Lo("Polymath"),t>=8e3&&Ne>=400&&Lo("Renaissance baker"),Qt.Cursor.amount+Qt.Grandma.amount>=777&&Lo("The elder scrolls");let a=!0;Object.keys(Do).forEach((e=>{eo(Do[e])||(a=!1)})),a&&Lo("Spooky cookies");let r=!0;if(Object.keys(Ho).forEach((e=>{eo(Ho[e])||(r=!1)})),r&&Lo("Let it snow"),eo("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{eo(e[o].name)&&(t+=1)})),t>=e.length&&Lo("O Fortuna")}}function zo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){ko(),Qt[e].amount+=t;const o=Qt[e];"Cursor"===e?(o.amount>=1&&Lo("Click"),o.amount>=2&&Lo("Double-click"),o.amount>=50&&Lo("Mouse wheel"),o.amount>=100&&Lo("Of Mice and Men"),o.amount>=200&&Lo("The Digital"),o.amount>=300&&Lo("Extreme polydactyly"),o.amount>=400&&Lo("Dr. T"),o.amount>=500&&Lo("Thumbs, phalanges, metacarpals"),o.amount>=600&&Lo("With her finger and her thumb"),o.amount>=700&&Lo("Gotta hand it to you"),o.amount>=800&&Lo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Lo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Fe;return Ao(),Io(),n!==Fe&&Ao(),Ie-Game.cookiesPs}(o,e),1!==e&&(Pe=1)})),t}function Vo(){Object.keys(Game.Objects).forEach((e=>{mt[e].price=Wo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),ht[e].price=Wo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),gt[e].price=Wo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function _o(){mt=zo(1),ht=zo(10),gt=zo(100),Gt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){ko(),"Shimmering veil [on]"===qt[e].name?qt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===qt[e].name?qt["Golden switch [off]"].bought=0:qt[e].bought=(qt[e].bought+1)%2,qt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ne+=1),"Elder Pledge"===e?(Oe+=1,Oe>0&&Lo("Elder nap"),Oe>=5&&Lo("Elder slumber")):"Elder Covenant"===e?Lo("Elder calm"):"Prism heart biscuits"===e?Lo("Lovely cookies"):"Heavenly key"===e&&Lo("Wholesome");const t=Fe;Ao(),Io(),t!==Fe&&Ao();const o=function(){let e=0;eo("Thousand fingers")&&(e+=.1),eo("Million fingers")&&(e*=5),eo("Billion fingers")&&(e*=10),eo("Trillion fingers")&&(e*=20),eo("Quadrillion fingers")&&(e*=20),eo("Quintillion fingers")&&(e*=20),eo("Sextillion fingers")&&(e*=20),eo("Septillion fingers")&&(e*=20),eo("Octillion fingers")&&(e*=20),eo("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Qt).forEach((e=>{t+=Qt[e].amount})),t-=Qt.Cursor.amount,e*=t,eo("Plastic mouse")&&(e+=.01*Ie),eo("Iron mouse")&&(e+=.01*Ie),eo("Titanium mouse")&&(e+=.01*Ie),eo("Adamantium mouse")&&(e+=.01*Ie),eo("Unobtainium mouse")&&(e+=.01*Ie),eo("Eludium mouse")&&(e+=.01*Ie),eo("Wishalloy mouse")&&(e+=.01*Ie),eo("Fantasteel mouse")&&(e+=.01*Ie),eo("Nevercrack mouse")&&(e+=.01*Ie),eo("Armythril mouse")&&(e+=.01*Ie),eo("Technobsidian mouse")&&(e+=.01*Ie),eo("Plasmarble mouse")&&(e+=.01*Ie),eo("Miraculite mouse")&&(e+=.01*Ie),eo("Fortune #104")&&(e+=.01*Ie);let o=1;if(eo("Santa's helpers")&&(o*=1.1),eo("Cookie egg")&&(o*=1.1),eo("Halo gloves")&&(o*=1.1),eo("Dragon claw")&&(o*=1.03),eo("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,eo("Luminous gloves")?20:10)),o*=Zt("click"),Qt.Temple.minigameLoaded&&to){const e=to("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Kt("Dragon Cursor");let n=o*Game.ComputeCps(1,eo("Reinforced index finger")+eo("Carpal tunnel prevention cream")+eo("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Ie-Game.cookiesPs,o]:[Ie-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Gt[t]={bonus:Game.cookiesPs-Ge},1===e.CalcWrink?Gt[t].bonus-=we:2===e.CalcWrink&&(Gt[t].bonus-=ve),Number.isFinite(Gt[t].bonus)||(Gt[t].bonus=0)):(Gt[t]={},o[0]&&(Gt[t].bonus=o[0]),o[1]&&(Gt[t].bonusMouse=o[1]))}))}function Xo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Pt=Xo(7,e,lt),Mt=2*Pt[1]/lt,St=Pt[2]/60/60/6/rt,Nt=Xo(6,e,st),Bt=2*Nt[1]/st,Et=Nt[2]/60/60/6/rt,Wt=Xo(7,7*e,lt),Ot=2*Wt[1]/lt,Ft=Wt[2]/60/60/6/rt,jt=Xo(6,7*e,st),Lt=2*jt[1]/st,At=jt[2]/60/60/6/rt}function qo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Me,i=Math.max(0,o-Se)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?xt+=e:"cookie"===o.pool?Tt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(vt+=e)}}))}function Ko(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),pt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(pt*=2)}}function Jo(){qe=900*at/.15,qe*=rt;const e=xo();e>0?qe/=e:qe=0,Ye=lt*(.15*qe)+13,Ke=st*(.15*qe)+13,Je=7*qe,Ze=lt*(.15*Je)+13,et=st*(.15*Je)+13,tt=2*qe,ot=.15*tt,nt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountnt&&(nt=2*Game.Objects[e].price,it=e)}))}function Zo(){let e=1,t=1,o=1;eo("Green yeast digestives")&&(o*=1.01),eo("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),lt=o*e,st=o*t,rt=1,0===Game.shimmerTypes.golden.n&&(rt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function en(){ft=0,Ct=0,yt=[0,null];for(let e=0;eyt[0]&&(yt=[t,e]))}}function tn(){go(),en(),Jo(),Zo(),Qo(),Yo(),Ko(),de=new Po(q[q.length-1]),pe=new Po(q[q.length-1]),ue=new Po(q[q.length-1]),me=new Po(q[q.length-1]),he=new Po(Y[Y.length-1]),ge=new Po(5),qo(),Bo(),_o(),Vo(),Fo()}const on={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,Colours:{Blue:"#4bb8f0",Green:"#00ff00",Yellow:"#ffff00",Orange:"#ff7f00",Red:"#ff0000",Purple:"#ff00ff",Gray:"#b3b3b3",Pink:"#ff1493",Brown:"#8b4513"},BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},nn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function an(){1===e.BotBar?(l("CMBotBar").style.display="",po()):l("CMBotBar").style.display="none",mo()}function rn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),po(),io(),ao()}function ln(){let t="";for(let o=0;o0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class un extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const mn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){Ue=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Aabreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){rn()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){rn()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){rn()})),ScaleCutoff:new un("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=$:Game.sayTime=M.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){io()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new un("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),Colours:new class extends cn{constructor(e,t,o,n){super(e,t),this.desc=o,this.func=n}}("colour","Colours",{Blue:"Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels",Green:"Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels",Yellow:"Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels",Orange:"Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels",Red:"Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels",Purple:"Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels",Gray:"Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar",Pink:"Standard colour is pink. Used for Dragonflight bar",Brown:"Standard colour is brown. Used for Dragon Harvest bar"},(function(){ln()})),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){an()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){ho()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),mo()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ao()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ao()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){io()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ao()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(ae).forEach((e=>{ae[e].style.display="block",ae[e].style.left=Vt[e].l.style.left,ae[e].style.top=Vt[e].l.style.top})):Object.keys(ae).forEach((e=>ae[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){e.WrinklerButtons?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new un("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){To()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new un("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){nn(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new pn("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){nn(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new pn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){nn(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new pn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new pn("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){nn(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new pn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){nn(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new pn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){nn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new pn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function hn(){return JSON.stringify({settings:e,version:"2.031.6"})}function gn(){if(Xe!==Game.dragonLevel||Ue){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Qt[e]=yo(e)})),qt=[],Object.keys(Game.Upgrades).forEach((e=>{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Achievements).forEach((e=>{Yt[e]=fo(e)})),ko()}let yn=!1;function bn(t,o){1===e[o]&&3===t&&!1===yn||1===t?(l("CMWhiteScreen").style.opacity="0.5",3===t?(l("CMWhiteScreen").style.display="inline",setTimeout((function(){bn(2,o)}),1e3/Game.fps)):setTimeout((function(){bn(0,o)}),1e3/Game.fps)):2===t?(l("CMWhiteScreen").style.opacity="1",setTimeout((function(){bn(1,o)}),1e3/Game.fps)):0===t&&(l("CMWhiteScreen").style.display="none")}function kn(t,o,n,i){if((1===e[o]||i)&&!1===yn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Gn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===yn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function wn(){if(ne!==Game.OnAscend&&(ne=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(an(),ho()),uo()),!Game.OnAscend&&0===Game.AscendTimer){a!==Object.keys(Game.mods).length&&(Cn(),tn(),a=Object.keys(Game.mods).length),Ue&&(_o(),Game.Has("Golden switch [off]")?(ko(),qt["Golden switch [off]"].bought=0,Ao(),at=Ie):at=Game.cookiesPs,Zo(),Jo(),Yo(),Qo(),gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Xt[e][t]=fn(e,t)}(),Ko(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;ko();let t=2;5!==Ae&&18!==Ae||(t-=1),5!==je&&18!==je||(t-=1),Ae=5,je=18;for(let e=0;e{Qt[t].amount>0&&(e=t)})),Qt[e].amount-=1,Ee-=1}return Object.keys(Qt).forEach((t=>{const o=Qt[t];e+=no(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),_t=e}(),Ue=0);const t=Game.auraMult("Fierce Hoarder")>0;!Be&&t?(Be=!0,Pe=1):Be&&!t&&(Be=!1,Pe=1),Pe&&(Vo(),Pe=0),function(){en(),Fo(),function(){bt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}kt=e,bt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Bo(),qo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);$t=se(e/ro())}(),k=0,Vt={},Object.keys(Game.shimmers).forEach((e=>{Vt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],k+=1)})),Object.keys(ae).forEach((e=>{void 0===Vt[e]&&(ae[e].parentNode.removeChild(ae[e]),delete ae[e])})),C!==Game.shimmerTypes.golden.n?(C=Game.shimmerTypes.golden.n,C&&(y{void 0===ae[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},ae[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),y=k,0===k&&(Rt=0)):1===e.GCTimer&&C&&Object.keys(ae).forEach((e=>{ae[e].style.opacity=Vt[e].l.style.opacity,ae[e].style.transform=Vt[e].l.style.transform,ae[e].textContent=Math.ceil(Vt[e].life/Game.fps)})),g!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(g=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,g&&(bn(3,"FortuneFlash"),kn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Gn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),h!==Game.shimmerTypes.reindeer.spawned&&(h=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(Ut=Game.shimmers[e])})),bn(3,"SeaFlash"),kn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Gn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&f!==Game.Objects.Farm.minigame.nextStep&&(0!==f&&f0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>G?(G=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?bn(3,"WrinklerMaxFlash"):bn(3,"WrinklerFlash"),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?kn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):kn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Gn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Gn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):G=t}}()}}function vn(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${hn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function xn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t;let o=!1;Object.keys(on).forEach((t=>{void 0===e[t]?(o=!0,e[t]=on[t]):"Header"!==t&&"Colors"!==t?-1===t.indexOf("SoundURL")?e[t]>-1&&e[t]{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=on[t][n])})):Object.keys(on.Colors).forEach((n=>{void 0!==e[t][n]&&"string"==typeof e[t][n]||(o=!0,e[t][n]=on[t][n])}))})),o&&vn(),wn(),Object.keys(on).forEach((e=>{"Header"!==e&&void 0!==mn[e].func&&mn[e].func()}))}else xn(on)}function Tn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Mn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Wo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${le(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${ce((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(le(Game.Objects[o].bulkPrice)).join(le((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ee=t,te=o,Mo(),l("tooltip").innerHTML}function Sn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(x[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Pn(){if(!u&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];d=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){d(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),vn()}function Ln(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Wn(o),Game.UpdateMenu()},n.appendChild(i),n}function An(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function jn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Dn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Ln("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+lo()0&&(t.appendChild(An("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(le(e)))),t.appendChild(An("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(se(e/ct)))))}const l=function(e){let t=Game.cookiesPs;ko(),0===qt["Heavenly key"].bought&&(qt["Heavenly chip secret"].bought=1,qt["Heavenly cookie stand"].bought=1,qt["Heavenly bakery"].bought=1,qt["Heavenly confectionery"].bought=1,qt["Heavenly key"].bought=1,Ao(),t=Ie,ko()),Dt>=1e6&&Lo("Sacrifice"),Dt>=1e9&&Lo("Oblivion"),Dt>=1e12&&Lo("From scratch"),Dt>=1e15&&Lo("Nihilism"),Dt>=1e18&&Lo("Dematerialize"),Dt>=1e21&&Lo("Nil zero zilch"),Dt>=1e24&&Lo("Transcendence"),Dt>=1e27&&Lo("Obliterate"),Dt>=1e30&&Lo("Negative void"),Dt>=1e33&&Lo("To crumbs, you say?"),Dt>=1e36&&Lo("You get nothing"),Dt>=1e39&&Lo("Humble rebeginnings"),Dt>=1e42&&Lo("The end of the world"),Dt>=1e45&&Lo("Oh, you're back"),Dt>=1e48&&Lo("Lazarus"),Dt>=1e51&&Lo("Smurf account"),Dt>=1e54&&Lo("If at first you don't succeed"),qt["Heavenly chip secret"].bought=1,qt["Heavenly cookie stand"].bought=1,qt["Heavenly bakery"].bought=1,qt["Heavenly confectionery"].bought=1,qt["Heavenly key"].bought=1,Le=e;const o=Fe;Ao(),Io(),o!==Fe&&Ao();const n=Ie-t;return Le=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(le(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(An("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(An("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(An("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(An("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Ln("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${le(ft)} / ${le(Ct)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Tn()},e.appendChild(t),o.appendChild(An("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${le(yt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==yt[1]&&(Game.wrinklers[yt[1]].hp=0)},n.appendChild(i),o.appendChild(An("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==yt[1]?yt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Do).forEach((e=>{Game.Has(Do[e])||(n.push(Do[e]),o=!0)}));const i=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(i.push(Ho[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=[];Object.keys(Uo).forEach((e=>{Game.HasUnlocked(Uo[e])||(s.push(Uo[e]),o=!0)}));const c=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),d=Game.Has("Century egg");if(("christmas"===Game.season||o||c||d)&&(t.appendChild(Ln("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(An("basic","Halloween cookies left to buy",jn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}t.appendChild(An("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${le(100*(1-e))}% / ${le(100*(1-.9*e))}%`)))}if(0!==i.length){t.appendChild(An("basic","Christmas cookies left to buy",jn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}t.appendChild(An("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${le(100*(1-e))}%`)))}0!==a.length&&t.appendChild(An("basic","Valentine cookies left to buy",jn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(An("basic","Normal easter eggs left to unlock",jn(r))),t.appendChild(An("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${le(100*e(.98)[0])}% / ${le(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(An("basic","Rare easter eggs left to unlock",jn(l))),t.appendChild(An("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${le(100*e(.98)[1])}% / ${le(100*e(.9)[1])}%`)))),0!==s.length&&t.appendChild(An("basic","Rare plant drops left to unlock",jn(s))),"christmas"===Game.season&&t.appendChild(An("basic","Reindeer reward",document.createTextNode(le(pt)))),c&&t.appendChild(An("withTooltip","Chocolate egg cookies",document.createTextNode(le(ut)),"ChoEggTooltipPlaceholder")),d&&t.appendChild(An("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(dt-1))/100+"%")))}return t}()),o.appendChild(Ln("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(An("basic",`Average Cookies Per Second (Past ${q[e.AvgCPSHist]<60?`${q[e.AvgCPSHist]} seconds`:q[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(le(ro(),3)))),o.appendChild(An("basic",`Average Cookie Clicks Per Second (Past ${Y[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(le(wt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(jo).forEach((t=>{Game.Has(jo[t])||e.push(jo[t])})),0!==e.length&&o.appendChild(An("basic","Fortune Upgrades Left to Buy",jn(e)))}if(e.ShowMissedGC&&o.appendChild(An("basic","Missed Golden Cookies",document.createTextNode(le(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(An("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(vt){const t=vt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=vt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}}}))}const Hn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Rn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Un(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Wn(t),Game.UpdateMenu()},n.appendChild(i),n}function $n(t){const o=document.createElement("div");if(o.className="listing","bool"===mn[t].type){const n=document.createElement("a");mn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=On+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===mn[t].label.length?(e[t]=0,mn[t].toggle&&(l(On+t).className="option off")):l(On+t).className="option",void 0!==mn[t].func&&mn[t].func(),l(On+t).innerHTML=mn[t].label[e[t]],vn()}(t)},n.textContent=mn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=mn[t].desc,o.appendChild(i),o}if("vol"===mn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=mn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Fn(t)},r.onchange=function(){Fn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){kn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===mn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${mn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=On+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${On+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,vn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=mn[t].desc,o.appendChild(s),o}if("color"===mn[t].type){o.className="";for(let t=0;tthis.max&&console.log("TEST"),e[t]=this.value,vn(),rn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=mn[t].desc,o.appendChild(a),o}return o}function In(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function zn(){M.Beautify=Beautify,Beautify=le,M.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){M.CalculateGains(),Ue=1},M.tooltip={},M.tooltip.draw=Game.tooltip.draw,M.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){M.tooltip.drawMod(e,t,o)},M.tooltip.update=Game.tooltip.update,M.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){M.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},M.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){In(M.UpdateWrinklers)},M.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){In(M.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){In(Game.ClickCookie)}),!1),M.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){M.RebuildUpgrades(),T=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},M.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=Qt[Game.ObjectsById[e].name].name;Qt[o].amount-=1,Ee-=1,t=Qt[o].basePrice*Game.priceIncrease**Math.max(0,Qt[o].amount-1-Qt[o].free),t=Game.modifyBuildingPrice(Qt[o],t),t=Math.ceil(t);break}const o=Fe;return Ao(),Io(),o!==Fe&&Ao(),[Ie-Game.cookiesPs,t]}(t),n=se(o/(e+Game.cookiesPs)),i=le(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${le(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},M.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){M.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},M.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Nn().picker&&void 0!==Nn().picker.owner||(M.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Hn).forEach((t=>{const n=Un(t,Hn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys(Rn).forEach((t=>{const n=Un(t,Rn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(mn).forEach((e=>{mn[e].group===t&&o.appendChild($n(e))}))})):Object.keys(mn).forEach((e=>{mn[e].group===t&&o.appendChild($n(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){xn(on)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Dn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Wn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},M.sayTime=Game.sayTime,$=function(e,t){return Number.isNaN(e)||e<=0?M.sayTime(e,t):se(e/Game.fps,1)},M.Logic=Game.Logic,Game.Logic=function(){M.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),re=`${Game.OnAscend?"Ascending! ":""}${le(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=re;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,g&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=h?`[R${Math.ceil(Ut.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=re;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),g&&(t=!0,e+="[F]"),"christmas"===Game.season&&h&&(e+=`[R${Math.ceil(Ut.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${le(Game.prestige)}.
(CpS +${le(Game.prestige)}%)`,n+='
'),n+=Se<1?"Ascending now would grant you no prestige.":Se<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${le(Se)} prestige levels (+${le(Se)}% CpS)
and ${le(Se)} heavenly chips to spend.`,n+='
',n+=`You need ${le(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${$t} to reach the next level and you are making ${le(ct,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Vn(){Cn(),Jo(),tn(),a=Object.keys(Game.mods).length,w=document.createElement("style"),w.type="text/css",w.id="CMCSS",document.head.appendChild(w),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=S+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",N)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",B)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",B)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",B)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{co(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=so("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:L},{id:"CMTimerBarGCBar",color:W}]);e.appendChild(t);const o=so("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:L},{id:"CMTimerBarRenBar",color:O}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=P+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(B,"Better than the best PP of a building option")),e.appendChild(o(E,"Same as the best PP building option")),e.appendChild(o(N,"Within the top 10 of PP for buildings")),e.appendChild(o(O,"Within the top 20 of PP for buildings")),e.appendChild(o(F,"Within the top 30 of PP for buildings")),e.appendChild(o(W,"Outside of the top 30 of PP for buildings")),e.appendChild(o(L,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=S+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",B)),e.appendChild(o("CMUpgradeBarGreen",E)),e.appendChild(o("CMUpgradeBarYellow",N)),e.appendChild(o("CMUpgradeBarOrange",O)),e.appendChild(o("CMUpgradeBarRed",F)),e.appendChild(o("CMUpgradeBarPurple",W)),e.appendChild(o("CMUpgradeBarGray",L)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMWhiteScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(H).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(H[e][0],H[e][1],H[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Tn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==yt[1]&&(Game.wrinklers[yt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(v[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(r=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("s","Lump")}),"this"),Game.tooltip.wobble()}),m=Game.LoadMinigames,Game.LoadMinigames=function(){m(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Sn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Bn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){I=1},l("backgroundLeftCanvas").onmouseout=function(){I=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{V[e]=0}))},zn(),Bn(),Game.CalculateGains(),xn(),U=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const _n={init:function(){yn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Vn(),Game.registerHook("draw",So),Game.registerHook("logic",wn),yn=!1)},load:function(e){const t=JSON.parse(e);Cn(),xn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:hn};Game.registerMod("CookieMonster",_n)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};const t=["","","M","G","T","P","E","Z","Y"],n=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],i=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let a,r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v=[],x=[],T=[],M={};const S="CMText",P="CMBack",B="Blue",E="Green",N="Yellow",O="Orange",F="Red",W="Purple",L="Gray",A="Pink",j="Brown",D=[L,B,E,N,O,F,W,A,j],H=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let U,$,I=0,z=-1,V=[],_=1,X=1,Q=1;const q=[10,15,30,60,300,600,900,1800],Y=[1,5,10,15,30],K={Frenzy:N,"Dragon Harvest":j,"Elder frenzy":E,Clot:F,"Click frenzy":B,Dragonflight:A};let J,Z,ee,te,oe,ne,ie,ae={},re="";function le(o,a,r){const l=e.ScaleDecimals+1;if(o===1/0)return"Infinity";if(void 0===o)return"0";if(0===e.Scale)return M.Beautify(o,a);if(Number.isFinite(o)){let s="";if(0===o)return o.toString();if(o>.001&&o=.01&&o=.01&&o=.01&&o315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function ce(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=E):(n=se(t),o=t>300?F:t>60?O:N),{text:n,color:o}}let de,pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Re,Ue,$e,Ie,ze,Ve=0,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=1,lt=1,st=1,ct=0,dt=0,pt=0,ut=0,mt={},ht={},gt={},ft=0,Ct=0,yt=[0,null],bt=0,kt=0,Gt={},wt={},vt={},xt={},Tt={},Mt=0,St=0,Pt=[],Bt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Dt=0,Ht=0,Rt={},Ut={},$t=0,It=0,zt=[],Vt={},_t=0,Xt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Qt=[],qt=[],Yt=[];function Kt(e){let t=0;return Game.dragonAuras[Ae].name!==e&&Game.dragonAuras[je].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Ae].name&&"Reality Bending"!==Game.dragonAuras[je].name||(t+=.1),t}function Jt(){let e=.25;return e*=1+Kt("Earth Shatterer"),e}function Zt(e,t){return void 0===$e[e]?void 0===t?1:t:$e[e]}function eo(e){const t=qt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function to(e){if(Game.hasGod){void 0===Qt.Temple.minigame&&(Qt.Temple.minigame=Game.Objects.Temple.minigame);const t=Qt.Temple.minigame.gods[e];if(De===t.id)return 1;if(He===t.id)return 2;if(Re===t.id)return 3}return!1}function oo(e,t){let o=t;if(eo("Season savings")&&(o*=.99),eo("Santa's dominion")&&(o*=.99),eo("Faberge egg")&&(o*=.99),eo("Divine discount")&&(o*=.99),eo("Fortune #100")&&(o*=.99),o*=1-.02*Kt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&eo(e.fortune.name)&&(o*=.93),o*=Zt("buildingCost"),Qt.Temple.minigameLoaded){const e=to("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function no(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function io(){let t=Game.buyBulk;if(1===Game.buyMode?X=t:t=X,1===t?t=mt:10===t?t=ht:100===t&&(t=gt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e.Colours[t[o].color]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(mt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=le(no(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(mt).map((e=>{const t=mt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return D.indexOf(e.color)>D.indexOf(t.color)?1:D.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return D.indexOf(e.color)>D.indexOf(t.color)?1:D.indexOf(e.color){const t=mt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eD.indexOf(t.color)?1:D.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?_=i:i=_,1===i&&(i=mt),10===i&&(i=ht),100===i&&(i=gt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=le(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=S+i[o].color,n=e.PPDisplayTime?se(Math.round(i[o].pp)):le(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=ce((Game.Objects[o].bulkPrice-(Game.cookies+lo()))/ro());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=S+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&eo(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(eo(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&eo(e.fortune.name)&&(t*=1.07),e.grandma&&eo(e.grandma.name)&&(t*=1+.01*Qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&eo(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function yo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;eo("Thousand fingers")&&(t+=.1),eo("Million fingers")&&(t*=5),eo("Billion fingers")&&(t*=10),eo("Trillion fingers")&&(t*=20),eo("Quadrillion fingers")&&(t*=20),eo("Quintillion fingers")&&(t*=20),eo("Sextillion fingers")&&(t*=20),eo("Septillion fingers")&&(t*=20),eo("Octillion fingers")&&(t*=20),eo("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Qt).forEach((e=>{"Cursor"!==Qt[e].name&&(n+=Qt[e].amount)})),t*=n,o*=Co(e),o*=Game.magicCpS("Cursor"),o*=Zt("cursorCps"),Game.ComputeCps(.1,eo("Reinforced index finger")+eo("Carpal tunnel prevention cream")+eo("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{eo(Game.GrandmaSynergies[e])&&(o*=2)})),eo("Bingo center/Research facility")&&(o*=4),eo("Ritual rolling pins")&&(o*=2),eo("Naughty list")&&(o*=2),eo("Elderwort biscuits")&&(o*=1.02),o*=Zt("grandmaCps"),eo("Cat ladies"))for(let e=0;e{"Grandma"!==Qt[e].name&&(i+=Qt[e].amount)})),o*=1+.01*Kt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=Co(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function bo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Qt).forEach((t=>{Qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(eo("Starlove")&&(e=3),Game.hasGod){const t=to("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function ko(){Ne=Game.UpgradesOwned,Oe=Game.pledges,Fe=Game.AchievementsOwned,We=Game.heavenlyPower,Le=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Qt[e];void 0===o&&(Qt[e]=yo(e),o=Qt[e],co(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(De=t.minigame.slot[0],He=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e]),o.bought=t.bought,qt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Yt[e];void 0===o&&(Yt[e]=fo(e),o=Yt[e]),o.won=t.won,Yt[e]=o})),go(),Ae=Ve,je=_e}function Go(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function wo(e){e.appendChild(Go("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(Go("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(Go("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(Go("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ee){e.appendChild(Go("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function vo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function To(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Mo(){if(ko(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ee?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(wo(l("CMTooltipBorder")),1===Game.buyMode?Q=t:t=Q,1===Game.buyBulk?t=mt:10===Game.buyBulk?t=ht:100===Game.buyBulk&&(t=gt),J=Game.Objects[te].bulkPrice,Z=t[te].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=le(Z,2);const o=Math.round(Z/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=S+t[te].color,e.PPDisplayTime?l("CMTooltipPP").textContent=se(t[te].pp):l("CMTooltipPP").textContent=le(t[te].pp,2),l("CMTooltipPP").className=S+t[te].color;const n=ce((J-(Game.cookies+lo()))/ro());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[te[1]][te[0]][0]-1].matureBase,o=t.plantsById[t.plot[te[1]][te[0]][0]-1].name;l("CMTooltipBorder").appendChild(Go("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${le(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${le(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${le(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${le(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ee?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(Go("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=so(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==K[Game.buffs[t].name]?K[Game.buffs[t].name]:W,a.lastChild.children[1].className=P+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ie!==n&&(ie=n,mo())}}(),po(),Mo(),function(){if(1===e.TooltipWrink&&1===I){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===V[t]||void 0===V[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),z=t,V[t]=1}}else V[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[z],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[z].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=le(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,le(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Po{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Bo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+_t;Game.cpsSucked>0&&(o+=ft),Dt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-fe,i=Math.max(0,Game.cookies-Ce)/n,a=Math.max(0,ft-ye)/n,r=Math.max(0,yt[0]-be)/n,l=Math.max(0,o-ut)/n,s=(Game.cookieClicks-ke)/n;for(let e=0;ezt[30][0]?F:W,0!==Number(e.PPSecondsLowerLimit)&&o/ro()0&&(n=F),n}function No(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=L;else{t[n].color=Eo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+lo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||zt.push([t[n].pp,o])}))}function Fo(){!function(){It=1/0,zt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Oo(mt,1),Oo(ht,10),Oo(gt,100),zt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;zt[t][1]>Game.cookies&&(t+=1,zt.length!==t+1););It=zt[e.PPExcludeTop][t],No(mt,1),No(ht,10),No(gt,100)}(),Object.keys(Gt).forEach((e=>{Game.cookiesPs?Gt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+lo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Gt[e].bonus:Gt[e].pp=Game.Upgrades[e].getPrice()/Gt[e].bonus,Number.isNaN(Gt[e].pp)&&(Gt[e].pp=1/0),Gt[e].color=Eo(Gt[e],Game.Upgrades[e].getPrice())}))}function Wo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),$e=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Le)*We*function(){let e=0;if(eo("Heavenly chip secret")&&(e+=.05),eo("Heavenly cookie stand")&&(e+=.2),eo("Heavenly bakery")&&(e+=.25),eo("Heavenly confectionery")&&(e+=.25),eo("Heavenly key")&&(e+=.25),e*=1+.05*Kt("Dragon God"),eo("Lucky digit")&&(e*=1.01),eo("Lucky number")&&(e*=1.01),eo("Lucky payout")&&(e*=1.01),Game.hasGod){const t=to("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=Zt("cps"),eo("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];eo(o.name)&&("function"==typeof o.power?e*=1+.01*qt[o.name].power(qt[o.name]):e*=1+.01*o.power)})),eo("Specialized chocolate chips")&&(e*=1.01),eo("Designer cocoa beans")&&(e*=1.02),eo("Underworld ovens")&&(e*=1.03),eo("Exotic nuts")&&(e*=1.04),eo("Arcane sugar")&&(e*=1.05),eo("Increased merriness")&&(e*=1.15),eo("Improved jolliness")&&(e*=1.15),eo("A lump of coal")&&(e*=1.01),eo("An itchy sweater")&&(e*=1.01),eo("Santa's dominion")&&(e*=1.2),eo("Fortune #100")&&(e*=1.01),eo("Fortune #101")&&(e*=1.07),eo("Dragon scale")&&(e*=1.03);let o=1;if(to){let t=to("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=to("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=to("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=to("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=to("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}eo("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Fe/25;let i=1;if(eo("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Kt("Breath of Milk"),to){const e=to("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=Zt("milk");let a=1;eo("Kitten helpers")&&(a*=1+.1*n*i),eo("Kitten workers")&&(a*=1+.125*n*i),eo("Kitten engineers")&&(a*=1+.15*n*i),eo("Kitten overseers")&&(a*=1+.175*n*i),eo("Kitten managers")&&(a*=1+.2*n*i),eo("Kitten accountants")&&(a*=1+.2*n*i),eo("Kitten specialists")&&(a*=1+.2*n*i),eo("Kitten experts")&&(a*=1+.2*n*i),eo("Kitten consultants")&&(a*=1+.2*n*i),eo("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),eo("Kitten marketeers")&&(a*=1+.15*n*i),eo("Kitten analysts")&&(a*=1+.125*n*i),eo("Kitten executives")&&(a*=1+.115*n*i),eo("Kitten angels")&&(a*=1+.1*n*i),eo("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Qt).forEach((e=>{const t=Qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&eo("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Ie+=t.amount*a})),eo('"egg"')&&(Ie+=9),e*=a;let r=1;if(eo("Chicken egg")&&(r*=1.01),eo("Duck egg")&&(r*=1.01),eo("Turkey egg")&&(r*=1.01),eo("Quail egg")&&(r*=1.01),eo("Robin egg")&&(r*=1.01),eo("Ostrich egg")&&(r*=1.01),eo("Cassowary egg")&&(r*=1.01),eo("Salmon roe")&&(r*=1.01),eo("Frogspawn")&&(r*=1.01),eo("Shark egg")&&(r*=1.01),eo("Turtle egg")&&(r*=1.01),eo("Ant larva")&&(r*=1.01),eo("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),dt=1+.1*(1-(1-e/100)**3),r*=dt}e*=r,eo("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Kt("Radiant Appetite");const l=Ie*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Lo(Game.CpsAchievements[e].name)})),ze=l;const{n:s}=Game.shimmerTypes.golden,c=Kt("Dragon's Fortune");for(let t=0;t{eo(e[o])&&(t+=.1)}))}e*=t}if(eo("Shimmering veil [off]")){let t=.5;eo("Reinforced membrane")&&(t+=.1),e*=1+t}eo("Magic shenanigans")&&(e*=1e3),eo("Occult obstruction")&&(e*=0),Ie=Game.runModHookOnValue("cps",Ie),e*=xo(),Ie*=e}const jo=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Do=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ho=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Uo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function $o(e){return Yt[e]?Yt[e].won:0}function Io(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{eo(Game.GrandmaSynergies[t])&&(e+=1)})),!$o("Elder")&&e>=7&&Lo("Elder"),!$o("Veteran")&&e>=14&&Lo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Qt).forEach((e=>{t+=Qt[e].amount,i=Math.min(Qt[e].amount,i),$o("Mathematician")||Qt[e].amount=1&&Lo("One with everything"),1===o&&Lo("Mathematician"),1===n&&Lo("Base 10"),i>=100&&Lo("Centennial"),i>=150&&Lo("Centennial and a half"),i>=200&&Lo("Bicentennial"),i>=250&&Lo("Bicentennial and a half"),i>=300&&Lo("Tricentennial"),i>=350&&Lo("Tricentennial and a half"),i>=400&&Lo("Quadricentennial"),i>=450&&Lo("Quadricentennial and a half"),i>=500&&Lo("Quincentennial"),i>=550&&Lo("Quincentennial and a half"),i>=600&&Lo("Sexcentennial"),t>=100&&Lo("Builder"),t>=500&&Lo("Architect"),t>=1e3&&Lo("Engineer"),t>=2e3&&Lo("Lord of Constructs"),t>=4e3&&Lo("Grand design"),t>=8e3&&Lo("Ecumenopolis"),Ne>=20&&Lo("Enhancer"),Ne>=50&&Lo("Augmenter"),Ne>=100&&Lo("Upgrader"),Ne>=200&&Lo("Lord of Progress"),Ne>=300&&Lo("The full picture"),Ne>=400&&Lo("When there's nothing left to add"),t>=4e3&&Ne>=300&&Lo("Polymath"),t>=8e3&&Ne>=400&&Lo("Renaissance baker"),Qt.Cursor.amount+Qt.Grandma.amount>=777&&Lo("The elder scrolls");let a=!0;Object.keys(Do).forEach((e=>{eo(Do[e])||(a=!1)})),a&&Lo("Spooky cookies");let r=!0;if(Object.keys(Ho).forEach((e=>{eo(Ho[e])||(r=!1)})),r&&Lo("Let it snow"),eo("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{eo(e[o].name)&&(t+=1)})),t>=e.length&&Lo("O Fortuna")}}function zo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){ko(),Qt[e].amount+=t;const o=Qt[e];"Cursor"===e?(o.amount>=1&&Lo("Click"),o.amount>=2&&Lo("Double-click"),o.amount>=50&&Lo("Mouse wheel"),o.amount>=100&&Lo("Of Mice and Men"),o.amount>=200&&Lo("The Digital"),o.amount>=300&&Lo("Extreme polydactyly"),o.amount>=400&&Lo("Dr. T"),o.amount>=500&&Lo("Thumbs, phalanges, metacarpals"),o.amount>=600&&Lo("With her finger and her thumb"),o.amount>=700&&Lo("Gotta hand it to you"),o.amount>=800&&Lo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Lo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Fe;return Ao(),Io(),n!==Fe&&Ao(),Ie-Game.cookiesPs}(o,e),1!==e&&(Pe=1)})),t}function Vo(){Object.keys(Game.Objects).forEach((e=>{mt[e].price=Wo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),ht[e].price=Wo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),gt[e].price=Wo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function _o(){mt=zo(1),ht=zo(10),gt=zo(100),Gt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){ko(),"Shimmering veil [on]"===qt[e].name?qt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===qt[e].name?qt["Golden switch [off]"].bought=0:qt[e].bought=(qt[e].bought+1)%2,qt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ne+=1),"Elder Pledge"===e?(Oe+=1,Oe>0&&Lo("Elder nap"),Oe>=5&&Lo("Elder slumber")):"Elder Covenant"===e?Lo("Elder calm"):"Prism heart biscuits"===e?Lo("Lovely cookies"):"Heavenly key"===e&&Lo("Wholesome");const t=Fe;Ao(),Io(),t!==Fe&&Ao();const o=function(){let e=0;eo("Thousand fingers")&&(e+=.1),eo("Million fingers")&&(e*=5),eo("Billion fingers")&&(e*=10),eo("Trillion fingers")&&(e*=20),eo("Quadrillion fingers")&&(e*=20),eo("Quintillion fingers")&&(e*=20),eo("Sextillion fingers")&&(e*=20),eo("Septillion fingers")&&(e*=20),eo("Octillion fingers")&&(e*=20),eo("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Qt).forEach((e=>{t+=Qt[e].amount})),t-=Qt.Cursor.amount,e*=t,eo("Plastic mouse")&&(e+=.01*Ie),eo("Iron mouse")&&(e+=.01*Ie),eo("Titanium mouse")&&(e+=.01*Ie),eo("Adamantium mouse")&&(e+=.01*Ie),eo("Unobtainium mouse")&&(e+=.01*Ie),eo("Eludium mouse")&&(e+=.01*Ie),eo("Wishalloy mouse")&&(e+=.01*Ie),eo("Fantasteel mouse")&&(e+=.01*Ie),eo("Nevercrack mouse")&&(e+=.01*Ie),eo("Armythril mouse")&&(e+=.01*Ie),eo("Technobsidian mouse")&&(e+=.01*Ie),eo("Plasmarble mouse")&&(e+=.01*Ie),eo("Miraculite mouse")&&(e+=.01*Ie),eo("Fortune #104")&&(e+=.01*Ie);let o=1;if(eo("Santa's helpers")&&(o*=1.1),eo("Cookie egg")&&(o*=1.1),eo("Halo gloves")&&(o*=1.1),eo("Dragon claw")&&(o*=1.03),eo("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,eo("Luminous gloves")?20:10)),o*=Zt("click"),Qt.Temple.minigameLoaded&&to){const e=to("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Kt("Dragon Cursor");let n=o*Game.ComputeCps(1,eo("Reinforced index finger")+eo("Carpal tunnel prevention cream")+eo("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Ie-Game.cookiesPs,o]:[Ie-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Gt[t]={bonus:Game.cookiesPs-Ge},1===e.CalcWrink?Gt[t].bonus-=we:2===e.CalcWrink&&(Gt[t].bonus-=ve),Number.isFinite(Gt[t].bonus)||(Gt[t].bonus=0)):(Gt[t]={},o[0]&&(Gt[t].bonus=o[0]),o[1]&&(Gt[t].bonusMouse=o[1]))}))}function Xo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Pt=Xo(7,e,lt),Mt=2*Pt[1]/lt,St=Pt[2]/60/60/6/rt,Nt=Xo(6,e,st),Bt=2*Nt[1]/st,Et=Nt[2]/60/60/6/rt,Wt=Xo(7,7*e,lt),Ot=2*Wt[1]/lt,Ft=Wt[2]/60/60/6/rt,jt=Xo(6,7*e,st),Lt=2*jt[1]/st,At=jt[2]/60/60/6/rt}function qo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Me,i=Math.max(0,o-Se)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?xt+=e:"cookie"===o.pool?Tt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(vt+=e)}}))}function Ko(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),pt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(pt*=2)}}function Jo(){qe=900*at/.15,qe*=rt;const e=xo();e>0?qe/=e:qe=0,Ye=lt*(.15*qe)+13,Ke=st*(.15*qe)+13,Je=7*qe,Ze=lt*(.15*Je)+13,et=st*(.15*Je)+13,tt=2*qe,ot=.15*tt,nt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountnt&&(nt=2*Game.Objects[e].price,it=e)}))}function Zo(){let e=1,t=1,o=1;eo("Green yeast digestives")&&(o*=1.01),eo("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),lt=o*e,st=o*t,rt=1,0===Game.shimmerTypes.golden.n&&(rt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function en(){ft=0,Ct=0,yt=[0,null];for(let e=0;eyt[0]&&(yt=[t,e]))}}function tn(){go(),en(),Jo(),Zo(),Qo(),Yo(),Ko(),de=new Po(q[q.length-1]),pe=new Po(q[q.length-1]),ue=new Po(q[q.length-1]),me=new Po(q[q.length-1]),he=new Po(Y[Y.length-1]),ge=new Po(5),qo(),Bo(),_o(),Vo(),Fo()}const on={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,Colours:{Blue:"#4bb8f0",Green:"#00ff00",Yellow:"#ffff00",Orange:"#ff7f00",Red:"#ff0000",Purple:"#ff00ff",Gray:"#b3b3b3",Pink:"#ff1493",Brown:"#8b4513"},BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},nn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function an(){1===e.BotBar?(l("CMBotBar").style.display="",po()):l("CMBotBar").style.display="none",mo()}function rn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),po(),io(),ao()}function ln(){let t="";for(let o=0;o0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class un extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const mn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){Ue=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Aabreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){rn()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){rn()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){rn()})),ScaleCutoff:new un("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=$:Game.sayTime=M.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){io()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new un("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),Colours:new class extends cn{constructor(e,t,o,n){super(e,t),this.desc=o,this.func=n}}("colour","Colours",{Blue:"Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels",Green:"Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels",Yellow:"Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels",Orange:"Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels",Red:"Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels",Purple:"Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels",Gray:"Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar",Pink:"Standard colour is pink. Used for Dragonflight bar",Brown:"Standard colour is brown. Used for Dragon Harvest bar"},(function(){ln()})),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){an()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){ho()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),mo()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ao()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ao()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){io()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ao()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(ae).forEach((e=>{ae[e].style.display="block",ae[e].style.left=Vt[e].l.style.left,ae[e].style.top=Vt[e].l.style.top})):Object.keys(ae).forEach((e=>ae[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){e.WrinklerButtons?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new un("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){To()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new un("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){nn(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new pn("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){nn(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new pn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){nn(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new pn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new pn("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){nn(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new pn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){nn(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new pn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){nn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new pn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function hn(){return JSON.stringify({settings:e,version:"2.031.6"})}function gn(){if(Xe!==Game.dragonLevel||Ue){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Qt[e]=yo(e)})),qt=[],Object.keys(Game.Upgrades).forEach((e=>{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Achievements).forEach((e=>{Yt[e]=fo(e)})),ko()}let yn=!1;function bn(t,o){1===e[o]&&3===t&&!1===yn||1===t?(l("CMWhiteScreen").style.opacity="0.5",3===t?(l("CMWhiteScreen").style.display="inline",setTimeout((function(){bn(2,o)}),1e3/Game.fps)):setTimeout((function(){bn(0,o)}),1e3/Game.fps)):2===t?(l("CMWhiteScreen").style.opacity="1",setTimeout((function(){bn(1,o)}),1e3/Game.fps)):0===t&&(l("CMWhiteScreen").style.display="none")}function kn(t,o,n,i){if((1===e[o]||i)&&!1===yn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Gn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===yn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function wn(){if(ne!==Game.OnAscend&&(ne=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(an(),ho()),uo()),!Game.OnAscend&&0===Game.AscendTimer){a!==Object.keys(Game.mods).length&&(Cn(),tn(),a=Object.keys(Game.mods).length),Ue&&(_o(),Game.Has("Golden switch [off]")?(ko(),qt["Golden switch [off]"].bought=0,Ao(),at=Ie):at=Game.cookiesPs,Zo(),Jo(),Yo(),Qo(),gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Xt[e][t]=fn(e,t)}(),Ko(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;ko();let t=2;5!==Ae&&18!==Ae||(t-=1),5!==je&&18!==je||(t-=1),Ae=5,je=18;for(let e=0;e{Qt[t].amount>0&&(e=t)})),Qt[e].amount-=1,Ee-=1}return Object.keys(Qt).forEach((t=>{const o=Qt[t];e+=no(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),_t=e}(),Ue=0);const t=Game.auraMult("Fierce Hoarder")>0;!Be&&t?(Be=!0,Pe=1):Be&&!t&&(Be=!1,Pe=1),Pe&&(Vo(),Pe=0),function(){en(),Fo(),function(){bt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}kt=e,bt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Bo(),qo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);$t=se(e/ro())}(),k=0,Vt={},Object.keys(Game.shimmers).forEach((e=>{Vt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],k+=1)})),Object.keys(ae).forEach((e=>{void 0===Vt[e]&&(ae[e].parentNode.removeChild(ae[e]),delete ae[e])})),C!==Game.shimmerTypes.golden.n?(C=Game.shimmerTypes.golden.n,C&&(y{void 0===ae[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},ae[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),y=k,0===k&&(Rt=0)):1===e.GCTimer&&C&&Object.keys(ae).forEach((e=>{ae[e].style.opacity=Vt[e].l.style.opacity,ae[e].style.transform=Vt[e].l.style.transform,ae[e].textContent=Math.ceil(Vt[e].life/Game.fps)})),g!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(g=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,g&&(bn(3,"FortuneFlash"),kn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Gn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),h!==Game.shimmerTypes.reindeer.spawned&&(h=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(Ut=Game.shimmers[e])})),bn(3,"SeaFlash"),kn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Gn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&f!==Game.Objects.Farm.minigame.nextStep&&(0!==f&&f0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>G?(G=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?bn(3,"WrinklerMaxFlash"):bn(3,"WrinklerFlash"),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?kn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):kn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Gn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Gn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):G=t}}()}}function vn(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${hn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function xn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t;let o=!1;Object.keys(on).forEach((t=>{void 0===e[t]?(o=!0,e[t]=on[t]):"Header"!==t&&"Colors"!==t?-1===t.indexOf("SoundURL")?e[t]>-1&&e[t]{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=on[t][n])})):Object.keys(on.Colors).forEach((n=>{void 0!==e[t][n]&&"string"==typeof e[t][n]||(o=!0,e[t][n]=on[t][n])}))})),o&&vn(),wn(),Object.keys(on).forEach((e=>{"Header"!==e&&void 0!==mn[e].func&&mn[e].func()}))}else xn(on)}function Tn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Mn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Wo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${le(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${ce((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(le(Game.Objects[o].bulkPrice)).join(le((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ee=t,te=o,Mo(),l("tooltip").innerHTML}function Sn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(x[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Pn(){if(!u&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];d=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){d(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),vn()}function Ln(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Wn(o),Game.UpdateMenu()},n.appendChild(i),n}function An(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function jn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Dn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Ln("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+lo(){Game.HasUnlocked(Uo[e])||c.push(Uo[e])})),0!==c.length&&e.appendChild(An("basic","Rare plant drops left to unlock",jn(c))),e}())),o.appendChild(Ln("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Dt+Game.cookiesReset+ft+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?ut:0)));t.appendChild(An("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${le(Game.prestige)} / ${le(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Dt+Game.cookiesReset+ft+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&ut?ut:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(le(n)));const a=document.createElement("small");a.textContent=` (${se(n/Ht,1)})`,i.appendChild(a),t.appendChild(An("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(An("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${le(Game.heavenlyChips)} / ${le(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(An("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(le(ct,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(An("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(le(e)))),t.appendChild(An("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(se(e/ct)))))}const l=function(e){let t=Game.cookiesPs;ko(),0===qt["Heavenly key"].bought&&(qt["Heavenly chip secret"].bought=1,qt["Heavenly cookie stand"].bought=1,qt["Heavenly bakery"].bought=1,qt["Heavenly confectionery"].bought=1,qt["Heavenly key"].bought=1,Ao(),t=Ie,ko()),Dt>=1e6&&Lo("Sacrifice"),Dt>=1e9&&Lo("Oblivion"),Dt>=1e12&&Lo("From scratch"),Dt>=1e15&&Lo("Nihilism"),Dt>=1e18&&Lo("Dematerialize"),Dt>=1e21&&Lo("Nil zero zilch"),Dt>=1e24&&Lo("Transcendence"),Dt>=1e27&&Lo("Obliterate"),Dt>=1e30&&Lo("Negative void"),Dt>=1e33&&Lo("To crumbs, you say?"),Dt>=1e36&&Lo("You get nothing"),Dt>=1e39&&Lo("Humble rebeginnings"),Dt>=1e42&&Lo("The end of the world"),Dt>=1e45&&Lo("Oh, you're back"),Dt>=1e48&&Lo("Lazarus"),Dt>=1e51&&Lo("Smurf account"),Dt>=1e54&&Lo("If at first you don't succeed"),qt["Heavenly chip secret"].bought=1,qt["Heavenly cookie stand"].bought=1,qt["Heavenly bakery"].bought=1,qt["Heavenly confectionery"].bought=1,qt["Heavenly key"].bought=1,Le=e;const o=Fe;Ao(),Io(),o!==Fe&&Ao();const n=Ie-t;return Le=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(le(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(An("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(An("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(An("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(An("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Ln("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${le(ft)} / ${le(Ct)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Tn()},e.appendChild(t),o.appendChild(An("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${le(yt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==yt[1]&&(Game.wrinklers[yt[1]].hp=0)},n.appendChild(i),o.appendChild(An("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==yt[1]?yt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Do).forEach((e=>{Game.Has(Do[e])||(n.push(Do[e]),o=!0)}));const i=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(i.push(Ho[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Ln("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(An("basic","Halloween cookies left to buy",jn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(An("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${le((1-e)*o*100)}% / ${le((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(An("basic","Christmas cookies left to buy",jn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(An("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${le((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(An("basic","Valentine cookies left to buy",jn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(An("basic","Normal easter eggs left to unlock",jn(r))),t.appendChild(An("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${le(100*e(.98)[0])}% / ${le(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(An("basic","Rare easter eggs left to unlock",jn(l))),t.appendChild(An("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${le(100*e(.98)[1])}% / ${le(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(An("basic","Reindeer reward",document.createTextNode(le(pt)))),s&&t.appendChild(An("withTooltip","Chocolate egg cookies",document.createTextNode(le(ut)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(An("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(dt-1))/100+"%")))}return t}()),o.appendChild(Ln("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(An("basic",`Average Cookies Per Second (Past ${q[e.AvgCPSHist]<60?`${q[e.AvgCPSHist]} seconds`:q[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(le(ro(),3)))),o.appendChild(An("basic",`Average Cookie Clicks Per Second (Past ${Y[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(le(wt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(jo).forEach((t=>{Game.Has(jo[t])||e.push(jo[t])})),0!==e.length&&o.appendChild(An("basic","Fortune Upgrades Left to Buy",jn(e)))}if(e.ShowMissedGC&&o.appendChild(An("basic","Missed Golden Cookies",document.createTextNode(le(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(An("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(vt){const t=vt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=vt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}}}))}const Hn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Rn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Un(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Wn(t),Game.UpdateMenu()},n.appendChild(i),n}function $n(t){const o=document.createElement("div");if(o.className="listing","bool"===mn[t].type){const n=document.createElement("a");mn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=On+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===mn[t].label.length?(e[t]=0,mn[t].toggle&&(l(On+t).className="option off")):l(On+t).className="option",void 0!==mn[t].func&&mn[t].func(),l(On+t).innerHTML=mn[t].label[e[t]],vn()}(t)},n.textContent=mn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=mn[t].desc,o.appendChild(i),o}if("vol"===mn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=mn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Fn(t)},r.onchange=function(){Fn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){kn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===mn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${mn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=On+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${On+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,vn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=mn[t].desc,o.appendChild(s),o}if("color"===mn[t].type){o.className="";for(let t=0;tthis.max&&console.log("TEST"),e[t]=this.value,vn(),rn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=mn[t].desc,o.appendChild(a),o}return o}function In(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function zn(){M.Beautify=Beautify,Beautify=le,M.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){M.CalculateGains(),Ue=1},M.tooltip={},M.tooltip.draw=Game.tooltip.draw,M.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){M.tooltip.drawMod(e,t,o)},M.tooltip.update=Game.tooltip.update,M.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){M.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},M.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){In(M.UpdateWrinklers)},M.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){In(M.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){In(Game.ClickCookie)}),!1),M.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){M.RebuildUpgrades(),T=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},M.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=Qt[Game.ObjectsById[e].name].name;Qt[o].amount-=1,Ee-=1,t=Qt[o].basePrice*Game.priceIncrease**Math.max(0,Qt[o].amount-1-Qt[o].free),t=Game.modifyBuildingPrice(Qt[o],t),t=Math.ceil(t);break}const o=Fe;return Ao(),Io(),o!==Fe&&Ao(),[Ie-Game.cookiesPs,t]}(t),n=se(o/(e+Game.cookiesPs)),i=le(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${le(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},M.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){M.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},M.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Nn().picker&&void 0!==Nn().picker.owner||(M.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Hn).forEach((t=>{const n=Un(t,Hn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys(Rn).forEach((t=>{const n=Un(t,Rn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(mn).forEach((e=>{mn[e].group===t&&o.appendChild($n(e))}))})):Object.keys(mn).forEach((e=>{mn[e].group===t&&o.appendChild($n(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){xn(on)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Dn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Wn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},M.sayTime=Game.sayTime,$=function(e,t){return Number.isNaN(e)||e<=0?M.sayTime(e,t):se(e/Game.fps,1)},M.Logic=Game.Logic,Game.Logic=function(){M.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),re=`${Game.OnAscend?"Ascending! ":""}${le(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=re;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,g&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=h?`[R${Math.ceil(Ut.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=re;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),g&&(t=!0,e+="[F]"),"christmas"===Game.season&&h&&(e+=`[R${Math.ceil(Ut.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${le(Game.prestige)}.
(CpS +${le(Game.prestige)}%)`,n+='
'),n+=Se<1?"Ascending now would grant you no prestige.":Se<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${le(Se)} prestige levels (+${le(Se)}% CpS)
and ${le(Se)} heavenly chips to spend.`,n+='
',n+=`You need ${le(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${$t} to reach the next level and you are making ${le(ct,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Vn(){Cn(),Jo(),tn(),a=Object.keys(Game.mods).length,w=document.createElement("style"),w.type="text/css",w.id="CMCSS",document.head.appendChild(w),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=S+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",N)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",B)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",B)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",B)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{co(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=so("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:L},{id:"CMTimerBarGCBar",color:W}]);e.appendChild(t);const o=so("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:L},{id:"CMTimerBarRenBar",color:O}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=P+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(B,"Better than the best PP of a building option")),e.appendChild(o(E,"Same as the best PP building option")),e.appendChild(o(N,"Within the top 10 of PP for buildings")),e.appendChild(o(O,"Within the top 20 of PP for buildings")),e.appendChild(o(F,"Within the top 30 of PP for buildings")),e.appendChild(o(W,"Outside of the top 30 of PP for buildings")),e.appendChild(o(L,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=S+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",B)),e.appendChild(o("CMUpgradeBarGreen",E)),e.appendChild(o("CMUpgradeBarYellow",N)),e.appendChild(o("CMUpgradeBarOrange",O)),e.appendChild(o("CMUpgradeBarRed",F)),e.appendChild(o("CMUpgradeBarPurple",W)),e.appendChild(o("CMUpgradeBarGray",L)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMWhiteScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(H).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(H[e][0],H[e][1],H[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Tn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==yt[1]&&(Game.wrinklers[yt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(v[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(r=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("s","Lump")}),"this"),Game.tooltip.wobble()}),m=Game.LoadMinigames,Game.LoadMinigames=function(){m(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Sn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Bn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){I=1},l("backgroundLeftCanvas").onmouseout=function(){I=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{V[e]=0}))},zn(),Bn(),Game.CalculateGains(),xn(),U=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const _n={init:function(){yn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Vn(),Game.registerHook("draw",So),Game.registerHook("logic",wn),yn=!1)},load:function(e){const t=JSON.parse(e);Cn(),xn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:hn};Game.registerMod("CookieMonster",_n)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index 9da934fe..b4ac06c3 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","Colours","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","Game","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","elderWrath","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","matureBase","plantName","GardenPlots","totalGain","mortal","tile","immortal","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","Blue","Green","Yellow","Orange","Red","Purple","Gray","Pink","Brown","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","WrinklerButtons","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Calculation","Notation","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateColours","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","mod","Colors","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","missingPlantDrops","centEgg","failRateHalloween","dropRateMult","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","Prompt","outerHTML","ClosePrompt","innerDiv","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","groupObject","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateWhiteScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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I,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAU,CACdH,EACAN,EACAC,EACAC,EACAC,EACAC,EACAC,EACAE,EACAC,GAUIE,EAAc,CAClB,CAAC,6BAA8B,oCAAqC,SACpE,CACE,2CACA,6EACA,SAEF,CACE,6BACA,qPACA,SAEF,CACE,8BACA,kEACA,SAEF,CACE,kCACA,2PACA,SAEF,CACE,0BACA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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","Colours","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","Game","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","elderWrath","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","matureBase","plantName","GardenPlots","totalGain","mortal","tile","immortal","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","Blue","Green","Yellow","Orange","Red","Purple","Gray","Pink","Brown","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","WrinklerButtons","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Calculation","Notation","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateColours","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","mod","Colors","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","Prompt","outerHTML","ClosePrompt","innerDiv","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","groupObject","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateWhiteScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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I,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAU,CACdH,EACAN,EACAC,EACAC,EACAC,EACAC,EACAC,EACAE,EACAC,GAUIE,EAAc,CAClB,CAAC,6BAA8B,oCAAqC,SACpE,CACE,2CACA,6EACA,SAEF,CACE,6BACA,qPACA,SAEF,CACE,8BACA,kEACA,SAEF,CACE,kCACA,2PACA,SAEF,CACE,0BACA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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file diff --git a/src/Disp/MenuSections/CreateStatsSections.js b/src/Disp/MenuSections/CreateStatsSections.js index 3d1b901e..8868db8c 100644 --- a/src/Disp/MenuSections/CreateStatsSections.js +++ b/src/Disp/MenuSections/CreateStatsSections.js @@ -564,6 +564,21 @@ export function GardenSection() { duketaterFrag, ), ); + const missingPlantDrops = []; + Object.keys(GameData.PlantDrops).forEach((i) => { + if (!Game.HasUnlocked(GameData.PlantDrops[i])) { + missingPlantDrops.push(GameData.PlantDrops[i]); + } + }); + if (missingPlantDrops.length !== 0) { + section.appendChild( + StatsListing( + 'basic', + 'Rare plant drops left to unlock', + StatsMissDisp(missingPlantDrops), + ), + ); + } return section; } @@ -791,13 +806,6 @@ export function SeasonSection() { specDisp = true; } }); - const missingPlantDrops = []; - Object.keys(GameData.PlantDrops).forEach((i) => { - if (!Game.HasUnlocked(GameData.PlantDrops[i])) { - missingPlantDrops.push(GameData.PlantDrops[i]); - specDisp = true; - } - }); const choEgg = Game.HasUnlocked('Chocolate egg') && !Game.Has('Chocolate egg'); const centEgg = Game.Has('Century egg'); @@ -823,13 +831,16 @@ export function SeasonSection() { else if (godLvl === 2) failRateHalloween *= 0.95; else if (godLvl === 3) failRateHalloween *= 0.97; } + const obtainedCookiesChance = missingHalloweenCookies.length / 7; section.appendChild( StatsListing( 'basic', 'Chance of receiving a cookie from wrinkler/shiny wrinkler', document.createTextNode( - `${Beautify((1 - failRateHalloween) * 100)}% / ${Beautify( - (1 - failRateHalloween * 0.9) * 100, + `${Beautify( + (1 - failRateHalloween) * obtainedCookiesChance * 100, + )}% / ${Beautify( + (1 - failRateHalloween * 0.9) * obtainedCookiesChance * 100, )}%`, ), ), @@ -853,12 +864,15 @@ export function SeasonSection() { else if (godLvl === 2) failRateChristmas *= 0.95; else if (godLvl === 3) failRateChristmas *= 0.97; } + const obtainedCookiesChance = missingChristmasCookies.length / 7; section.appendChild( StatsListing( 'basic', 'Chance of receiving a cookie from reindeer', document.createTextNode( - `${Beautify((1 - failRateChristmas) * 100)}%`, + `${Beautify( + (1 - failRateChristmas) * obtainedCookiesChance * 100, + )}%`, ), ), ); @@ -945,15 +959,6 @@ export function SeasonSection() { ), ); } - if (missingPlantDrops.length !== 0) { - section.appendChild( - StatsListing( - 'basic', - 'Rare plant drops left to unlock', - StatsMissDisp(missingPlantDrops), - ), - ); - } if (Game.season === 'christmas') section.appendChild( From fe8749e7b27bc7445a52155315ad5549099e9968 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Fri, 26 Mar 2021 16:26:57 +0100 Subject: [PATCH 03/30] Wrinkler button disappear when not active --- CookieMonster.js | 2 +- dist/CookieMonster.js | 2 +- dist/CookieMonster.js.map | 2 +- src/Config/Toggles/ToggleWrinklerButtons.js | 2 +- src/Disp/Draw.js | 4 ++++ src/Main/Initialization.js | 1 + 6 files changed, 9 insertions(+), 4 deletions(-) diff --git a/CookieMonster.js b/CookieMonster.js index ae6fb577..f9d751d0 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};const t=["","","M","G","T","P","E","Z","Y"],n=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],i=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let a,r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v=[],x=[],T=[],M={};const S="CMText",P="CMBack",B="Blue",E="Green",N="Yellow",O="Orange",F="Red",W="Purple",L="Gray",A="Pink",j="Brown",D=[L,B,E,N,O,F,W,A,j],H=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let U,$,I=0,z=-1,V=[],_=1,X=1,Q=1;const q=[10,15,30,60,300,600,900,1800],Y=[1,5,10,15,30],K={Frenzy:N,"Dragon Harvest":j,"Elder frenzy":E,Clot:F,"Click frenzy":B,Dragonflight:A};let J,Z,ee,te,oe,ne,ie,ae={},re="";function le(o,a,r){const l=e.ScaleDecimals+1;if(o===1/0)return"Infinity";if(void 0===o)return"0";if(0===e.Scale)return M.Beautify(o,a);if(Number.isFinite(o)){let s="";if(0===o)return o.toString();if(o>.001&&o=.01&&o=.01&&o=.01&&o315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function ce(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=E):(n=se(t),o=t>300?F:t>60?O:N),{text:n,color:o}}let de,pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Re,Ue,$e,Ie,ze,Ve=0,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=1,lt=1,st=1,ct=0,dt=0,pt=0,ut=0,mt={},ht={},gt={},ft=0,Ct=0,yt=[0,null],bt=0,kt=0,Gt={},wt={},vt={},xt={},Tt={},Mt=0,St=0,Pt=[],Bt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Dt=0,Ht=0,Rt={},Ut={},$t=0,It=0,zt=[],Vt={},_t=0,Xt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Qt=[],qt=[],Yt=[];function Kt(e){let t=0;return Game.dragonAuras[Ae].name!==e&&Game.dragonAuras[je].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Ae].name&&"Reality Bending"!==Game.dragonAuras[je].name||(t+=.1),t}function Jt(){let e=.25;return e*=1+Kt("Earth Shatterer"),e}function Zt(e,t){return void 0===$e[e]?void 0===t?1:t:$e[e]}function eo(e){const t=qt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function to(e){if(Game.hasGod){void 0===Qt.Temple.minigame&&(Qt.Temple.minigame=Game.Objects.Temple.minigame);const t=Qt.Temple.minigame.gods[e];if(De===t.id)return 1;if(He===t.id)return 2;if(Re===t.id)return 3}return!1}function oo(e,t){let o=t;if(eo("Season savings")&&(o*=.99),eo("Santa's dominion")&&(o*=.99),eo("Faberge egg")&&(o*=.99),eo("Divine discount")&&(o*=.99),eo("Fortune #100")&&(o*=.99),o*=1-.02*Kt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&eo(e.fortune.name)&&(o*=.93),o*=Zt("buildingCost"),Qt.Temple.minigameLoaded){const e=to("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function no(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function io(){let t=Game.buyBulk;if(1===Game.buyMode?X=t:t=X,1===t?t=mt:10===t?t=ht:100===t&&(t=gt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e.Colours[t[o].color]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(mt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=le(no(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(mt).map((e=>{const t=mt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return D.indexOf(e.color)>D.indexOf(t.color)?1:D.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return D.indexOf(e.color)>D.indexOf(t.color)?1:D.indexOf(e.color){const t=mt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eD.indexOf(t.color)?1:D.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?_=i:i=_,1===i&&(i=mt),10===i&&(i=ht),100===i&&(i=gt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=le(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=S+i[o].color,n=e.PPDisplayTime?se(Math.round(i[o].pp)):le(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=ce((Game.Objects[o].bulkPrice-(Game.cookies+lo()))/ro());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=S+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&eo(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(eo(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&eo(e.fortune.name)&&(t*=1.07),e.grandma&&eo(e.grandma.name)&&(t*=1+.01*Qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&eo(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function yo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;eo("Thousand fingers")&&(t+=.1),eo("Million fingers")&&(t*=5),eo("Billion fingers")&&(t*=10),eo("Trillion fingers")&&(t*=20),eo("Quadrillion fingers")&&(t*=20),eo("Quintillion fingers")&&(t*=20),eo("Sextillion fingers")&&(t*=20),eo("Septillion fingers")&&(t*=20),eo("Octillion fingers")&&(t*=20),eo("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Qt).forEach((e=>{"Cursor"!==Qt[e].name&&(n+=Qt[e].amount)})),t*=n,o*=Co(e),o*=Game.magicCpS("Cursor"),o*=Zt("cursorCps"),Game.ComputeCps(.1,eo("Reinforced index finger")+eo("Carpal tunnel prevention cream")+eo("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{eo(Game.GrandmaSynergies[e])&&(o*=2)})),eo("Bingo center/Research facility")&&(o*=4),eo("Ritual rolling pins")&&(o*=2),eo("Naughty list")&&(o*=2),eo("Elderwort biscuits")&&(o*=1.02),o*=Zt("grandmaCps"),eo("Cat ladies"))for(let e=0;e{"Grandma"!==Qt[e].name&&(i+=Qt[e].amount)})),o*=1+.01*Kt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=Co(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function bo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Qt).forEach((t=>{Qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(eo("Starlove")&&(e=3),Game.hasGod){const t=to("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function ko(){Ne=Game.UpgradesOwned,Oe=Game.pledges,Fe=Game.AchievementsOwned,We=Game.heavenlyPower,Le=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Qt[e];void 0===o&&(Qt[e]=yo(e),o=Qt[e],co(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(De=t.minigame.slot[0],He=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e]),o.bought=t.bought,qt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Yt[e];void 0===o&&(Yt[e]=fo(e),o=Yt[e]),o.won=t.won,Yt[e]=o})),go(),Ae=Ve,je=_e}function Go(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function wo(e){e.appendChild(Go("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(Go("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(Go("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(Go("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ee){e.appendChild(Go("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function vo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function To(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Mo(){if(ko(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ee?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(wo(l("CMTooltipBorder")),1===Game.buyMode?Q=t:t=Q,1===Game.buyBulk?t=mt:10===Game.buyBulk?t=ht:100===Game.buyBulk&&(t=gt),J=Game.Objects[te].bulkPrice,Z=t[te].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=le(Z,2);const o=Math.round(Z/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=S+t[te].color,e.PPDisplayTime?l("CMTooltipPP").textContent=se(t[te].pp):l("CMTooltipPP").textContent=le(t[te].pp,2),l("CMTooltipPP").className=S+t[te].color;const n=ce((J-(Game.cookies+lo()))/ro());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[te[1]][te[0]][0]-1].matureBase,o=t.plantsById[t.plot[te[1]][te[0]][0]-1].name;l("CMTooltipBorder").appendChild(Go("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${le(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${le(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${le(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${le(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ee?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(Go("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=so(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==K[Game.buffs[t].name]?K[Game.buffs[t].name]:W,a.lastChild.children[1].className=P+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ie!==n&&(ie=n,mo())}}(),po(),Mo(),function(){if(1===e.TooltipWrink&&1===I){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===V[t]||void 0===V[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),z=t,V[t]=1}}else V[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[z],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[z].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=le(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,le(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Po{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Bo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+_t;Game.cpsSucked>0&&(o+=ft),Dt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-fe,i=Math.max(0,Game.cookies-Ce)/n,a=Math.max(0,ft-ye)/n,r=Math.max(0,yt[0]-be)/n,l=Math.max(0,o-ut)/n,s=(Game.cookieClicks-ke)/n;for(let e=0;ezt[30][0]?F:W,0!==Number(e.PPSecondsLowerLimit)&&o/ro()0&&(n=F),n}function No(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=L;else{t[n].color=Eo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+lo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||zt.push([t[n].pp,o])}))}function Fo(){!function(){It=1/0,zt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Oo(mt,1),Oo(ht,10),Oo(gt,100),zt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;zt[t][1]>Game.cookies&&(t+=1,zt.length!==t+1););It=zt[e.PPExcludeTop][t],No(mt,1),No(ht,10),No(gt,100)}(),Object.keys(Gt).forEach((e=>{Game.cookiesPs?Gt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+lo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Gt[e].bonus:Gt[e].pp=Game.Upgrades[e].getPrice()/Gt[e].bonus,Number.isNaN(Gt[e].pp)&&(Gt[e].pp=1/0),Gt[e].color=Eo(Gt[e],Game.Upgrades[e].getPrice())}))}function Wo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),$e=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Le)*We*function(){let e=0;if(eo("Heavenly chip secret")&&(e+=.05),eo("Heavenly cookie stand")&&(e+=.2),eo("Heavenly bakery")&&(e+=.25),eo("Heavenly confectionery")&&(e+=.25),eo("Heavenly key")&&(e+=.25),e*=1+.05*Kt("Dragon God"),eo("Lucky digit")&&(e*=1.01),eo("Lucky number")&&(e*=1.01),eo("Lucky payout")&&(e*=1.01),Game.hasGod){const t=to("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=Zt("cps"),eo("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];eo(o.name)&&("function"==typeof o.power?e*=1+.01*qt[o.name].power(qt[o.name]):e*=1+.01*o.power)})),eo("Specialized chocolate chips")&&(e*=1.01),eo("Designer cocoa beans")&&(e*=1.02),eo("Underworld ovens")&&(e*=1.03),eo("Exotic nuts")&&(e*=1.04),eo("Arcane sugar")&&(e*=1.05),eo("Increased merriness")&&(e*=1.15),eo("Improved jolliness")&&(e*=1.15),eo("A lump of coal")&&(e*=1.01),eo("An itchy sweater")&&(e*=1.01),eo("Santa's dominion")&&(e*=1.2),eo("Fortune #100")&&(e*=1.01),eo("Fortune #101")&&(e*=1.07),eo("Dragon scale")&&(e*=1.03);let o=1;if(to){let t=to("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=to("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=to("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=to("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=to("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}eo("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Fe/25;let i=1;if(eo("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Kt("Breath of Milk"),to){const e=to("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=Zt("milk");let a=1;eo("Kitten helpers")&&(a*=1+.1*n*i),eo("Kitten workers")&&(a*=1+.125*n*i),eo("Kitten engineers")&&(a*=1+.15*n*i),eo("Kitten overseers")&&(a*=1+.175*n*i),eo("Kitten managers")&&(a*=1+.2*n*i),eo("Kitten accountants")&&(a*=1+.2*n*i),eo("Kitten specialists")&&(a*=1+.2*n*i),eo("Kitten experts")&&(a*=1+.2*n*i),eo("Kitten consultants")&&(a*=1+.2*n*i),eo("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),eo("Kitten marketeers")&&(a*=1+.15*n*i),eo("Kitten analysts")&&(a*=1+.125*n*i),eo("Kitten executives")&&(a*=1+.115*n*i),eo("Kitten angels")&&(a*=1+.1*n*i),eo("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Qt).forEach((e=>{const t=Qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&eo("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Ie+=t.amount*a})),eo('"egg"')&&(Ie+=9),e*=a;let r=1;if(eo("Chicken egg")&&(r*=1.01),eo("Duck egg")&&(r*=1.01),eo("Turkey egg")&&(r*=1.01),eo("Quail egg")&&(r*=1.01),eo("Robin egg")&&(r*=1.01),eo("Ostrich egg")&&(r*=1.01),eo("Cassowary egg")&&(r*=1.01),eo("Salmon roe")&&(r*=1.01),eo("Frogspawn")&&(r*=1.01),eo("Shark egg")&&(r*=1.01),eo("Turtle egg")&&(r*=1.01),eo("Ant larva")&&(r*=1.01),eo("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),dt=1+.1*(1-(1-e/100)**3),r*=dt}e*=r,eo("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Kt("Radiant Appetite");const l=Ie*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Lo(Game.CpsAchievements[e].name)})),ze=l;const{n:s}=Game.shimmerTypes.golden,c=Kt("Dragon's Fortune");for(let t=0;t{eo(e[o])&&(t+=.1)}))}e*=t}if(eo("Shimmering veil [off]")){let t=.5;eo("Reinforced membrane")&&(t+=.1),e*=1+t}eo("Magic shenanigans")&&(e*=1e3),eo("Occult obstruction")&&(e*=0),Ie=Game.runModHookOnValue("cps",Ie),e*=xo(),Ie*=e}const jo=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Do=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ho=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Uo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function $o(e){return Yt[e]?Yt[e].won:0}function Io(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{eo(Game.GrandmaSynergies[t])&&(e+=1)})),!$o("Elder")&&e>=7&&Lo("Elder"),!$o("Veteran")&&e>=14&&Lo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Qt).forEach((e=>{t+=Qt[e].amount,i=Math.min(Qt[e].amount,i),$o("Mathematician")||Qt[e].amount=1&&Lo("One with everything"),1===o&&Lo("Mathematician"),1===n&&Lo("Base 10"),i>=100&&Lo("Centennial"),i>=150&&Lo("Centennial and a half"),i>=200&&Lo("Bicentennial"),i>=250&&Lo("Bicentennial and a half"),i>=300&&Lo("Tricentennial"),i>=350&&Lo("Tricentennial and a half"),i>=400&&Lo("Quadricentennial"),i>=450&&Lo("Quadricentennial and a half"),i>=500&&Lo("Quincentennial"),i>=550&&Lo("Quincentennial and a half"),i>=600&&Lo("Sexcentennial"),t>=100&&Lo("Builder"),t>=500&&Lo("Architect"),t>=1e3&&Lo("Engineer"),t>=2e3&&Lo("Lord of Constructs"),t>=4e3&&Lo("Grand design"),t>=8e3&&Lo("Ecumenopolis"),Ne>=20&&Lo("Enhancer"),Ne>=50&&Lo("Augmenter"),Ne>=100&&Lo("Upgrader"),Ne>=200&&Lo("Lord of Progress"),Ne>=300&&Lo("The full picture"),Ne>=400&&Lo("When there's nothing left to add"),t>=4e3&&Ne>=300&&Lo("Polymath"),t>=8e3&&Ne>=400&&Lo("Renaissance baker"),Qt.Cursor.amount+Qt.Grandma.amount>=777&&Lo("The elder scrolls");let a=!0;Object.keys(Do).forEach((e=>{eo(Do[e])||(a=!1)})),a&&Lo("Spooky cookies");let r=!0;if(Object.keys(Ho).forEach((e=>{eo(Ho[e])||(r=!1)})),r&&Lo("Let it snow"),eo("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{eo(e[o].name)&&(t+=1)})),t>=e.length&&Lo("O Fortuna")}}function zo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){ko(),Qt[e].amount+=t;const o=Qt[e];"Cursor"===e?(o.amount>=1&&Lo("Click"),o.amount>=2&&Lo("Double-click"),o.amount>=50&&Lo("Mouse wheel"),o.amount>=100&&Lo("Of Mice and Men"),o.amount>=200&&Lo("The Digital"),o.amount>=300&&Lo("Extreme polydactyly"),o.amount>=400&&Lo("Dr. T"),o.amount>=500&&Lo("Thumbs, phalanges, metacarpals"),o.amount>=600&&Lo("With her finger and her thumb"),o.amount>=700&&Lo("Gotta hand it to you"),o.amount>=800&&Lo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Lo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Fe;return Ao(),Io(),n!==Fe&&Ao(),Ie-Game.cookiesPs}(o,e),1!==e&&(Pe=1)})),t}function Vo(){Object.keys(Game.Objects).forEach((e=>{mt[e].price=Wo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),ht[e].price=Wo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),gt[e].price=Wo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function _o(){mt=zo(1),ht=zo(10),gt=zo(100),Gt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){ko(),"Shimmering veil [on]"===qt[e].name?qt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===qt[e].name?qt["Golden switch [off]"].bought=0:qt[e].bought=(qt[e].bought+1)%2,qt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ne+=1),"Elder Pledge"===e?(Oe+=1,Oe>0&&Lo("Elder nap"),Oe>=5&&Lo("Elder slumber")):"Elder Covenant"===e?Lo("Elder calm"):"Prism heart biscuits"===e?Lo("Lovely cookies"):"Heavenly key"===e&&Lo("Wholesome");const t=Fe;Ao(),Io(),t!==Fe&&Ao();const o=function(){let e=0;eo("Thousand fingers")&&(e+=.1),eo("Million fingers")&&(e*=5),eo("Billion fingers")&&(e*=10),eo("Trillion fingers")&&(e*=20),eo("Quadrillion fingers")&&(e*=20),eo("Quintillion fingers")&&(e*=20),eo("Sextillion fingers")&&(e*=20),eo("Septillion fingers")&&(e*=20),eo("Octillion fingers")&&(e*=20),eo("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Qt).forEach((e=>{t+=Qt[e].amount})),t-=Qt.Cursor.amount,e*=t,eo("Plastic mouse")&&(e+=.01*Ie),eo("Iron mouse")&&(e+=.01*Ie),eo("Titanium mouse")&&(e+=.01*Ie),eo("Adamantium mouse")&&(e+=.01*Ie),eo("Unobtainium mouse")&&(e+=.01*Ie),eo("Eludium mouse")&&(e+=.01*Ie),eo("Wishalloy mouse")&&(e+=.01*Ie),eo("Fantasteel mouse")&&(e+=.01*Ie),eo("Nevercrack mouse")&&(e+=.01*Ie),eo("Armythril mouse")&&(e+=.01*Ie),eo("Technobsidian mouse")&&(e+=.01*Ie),eo("Plasmarble mouse")&&(e+=.01*Ie),eo("Miraculite mouse")&&(e+=.01*Ie),eo("Fortune #104")&&(e+=.01*Ie);let o=1;if(eo("Santa's helpers")&&(o*=1.1),eo("Cookie egg")&&(o*=1.1),eo("Halo gloves")&&(o*=1.1),eo("Dragon claw")&&(o*=1.03),eo("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,eo("Luminous gloves")?20:10)),o*=Zt("click"),Qt.Temple.minigameLoaded&&to){const e=to("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Kt("Dragon Cursor");let n=o*Game.ComputeCps(1,eo("Reinforced index finger")+eo("Carpal tunnel prevention cream")+eo("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Ie-Game.cookiesPs,o]:[Ie-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Gt[t]={bonus:Game.cookiesPs-Ge},1===e.CalcWrink?Gt[t].bonus-=we:2===e.CalcWrink&&(Gt[t].bonus-=ve),Number.isFinite(Gt[t].bonus)||(Gt[t].bonus=0)):(Gt[t]={},o[0]&&(Gt[t].bonus=o[0]),o[1]&&(Gt[t].bonusMouse=o[1]))}))}function Xo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Pt=Xo(7,e,lt),Mt=2*Pt[1]/lt,St=Pt[2]/60/60/6/rt,Nt=Xo(6,e,st),Bt=2*Nt[1]/st,Et=Nt[2]/60/60/6/rt,Wt=Xo(7,7*e,lt),Ot=2*Wt[1]/lt,Ft=Wt[2]/60/60/6/rt,jt=Xo(6,7*e,st),Lt=2*jt[1]/st,At=jt[2]/60/60/6/rt}function qo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Me,i=Math.max(0,o-Se)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?xt+=e:"cookie"===o.pool?Tt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(vt+=e)}}))}function Ko(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),pt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(pt*=2)}}function Jo(){qe=900*at/.15,qe*=rt;const e=xo();e>0?qe/=e:qe=0,Ye=lt*(.15*qe)+13,Ke=st*(.15*qe)+13,Je=7*qe,Ze=lt*(.15*Je)+13,et=st*(.15*Je)+13,tt=2*qe,ot=.15*tt,nt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountnt&&(nt=2*Game.Objects[e].price,it=e)}))}function Zo(){let e=1,t=1,o=1;eo("Green yeast digestives")&&(o*=1.01),eo("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),lt=o*e,st=o*t,rt=1,0===Game.shimmerTypes.golden.n&&(rt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function en(){ft=0,Ct=0,yt=[0,null];for(let e=0;eyt[0]&&(yt=[t,e]))}}function tn(){go(),en(),Jo(),Zo(),Qo(),Yo(),Ko(),de=new Po(q[q.length-1]),pe=new Po(q[q.length-1]),ue=new Po(q[q.length-1]),me=new Po(q[q.length-1]),he=new Po(Y[Y.length-1]),ge=new Po(5),qo(),Bo(),_o(),Vo(),Fo()}const on={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,Colours:{Blue:"#4bb8f0",Green:"#00ff00",Yellow:"#ffff00",Orange:"#ff7f00",Red:"#ff0000",Purple:"#ff00ff",Gray:"#b3b3b3",Pink:"#ff1493",Brown:"#8b4513"},BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},nn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function an(){1===e.BotBar?(l("CMBotBar").style.display="",po()):l("CMBotBar").style.display="none",mo()}function rn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),po(),io(),ao()}function ln(){let t="";for(let o=0;o0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class un extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const mn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){Ue=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Aabreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){rn()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){rn()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){rn()})),ScaleCutoff:new un("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=$:Game.sayTime=M.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){io()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new un("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),Colours:new class extends cn{constructor(e,t,o,n){super(e,t),this.desc=o,this.func=n}}("colour","Colours",{Blue:"Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels",Green:"Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels",Yellow:"Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels",Orange:"Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels",Red:"Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels",Purple:"Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels",Gray:"Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar",Pink:"Standard colour is pink. Used for Dragonflight bar",Brown:"Standard colour is brown. Used for Dragon Harvest bar"},(function(){ln()})),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){an()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){ho()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),mo()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ao()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ao()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){io()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ao()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(ae).forEach((e=>{ae[e].style.display="block",ae[e].style.left=Vt[e].l.style.left,ae[e].style.top=Vt[e].l.style.top})):Object.keys(ae).forEach((e=>ae[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){e.WrinklerButtons?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new un("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){To()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new un("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){nn(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new pn("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){nn(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new pn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){nn(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new pn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new pn("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){nn(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new pn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){nn(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new pn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){nn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new pn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function hn(){return JSON.stringify({settings:e,version:"2.031.6"})}function gn(){if(Xe!==Game.dragonLevel||Ue){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Qt[e]=yo(e)})),qt=[],Object.keys(Game.Upgrades).forEach((e=>{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Achievements).forEach((e=>{Yt[e]=fo(e)})),ko()}let yn=!1;function bn(t,o){1===e[o]&&3===t&&!1===yn||1===t?(l("CMWhiteScreen").style.opacity="0.5",3===t?(l("CMWhiteScreen").style.display="inline",setTimeout((function(){bn(2,o)}),1e3/Game.fps)):setTimeout((function(){bn(0,o)}),1e3/Game.fps)):2===t?(l("CMWhiteScreen").style.opacity="1",setTimeout((function(){bn(1,o)}),1e3/Game.fps)):0===t&&(l("CMWhiteScreen").style.display="none")}function kn(t,o,n,i){if((1===e[o]||i)&&!1===yn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Gn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===yn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function wn(){if(ne!==Game.OnAscend&&(ne=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(an(),ho()),uo()),!Game.OnAscend&&0===Game.AscendTimer){a!==Object.keys(Game.mods).length&&(Cn(),tn(),a=Object.keys(Game.mods).length),Ue&&(_o(),Game.Has("Golden switch [off]")?(ko(),qt["Golden switch [off]"].bought=0,Ao(),at=Ie):at=Game.cookiesPs,Zo(),Jo(),Yo(),Qo(),gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Xt[e][t]=fn(e,t)}(),Ko(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;ko();let t=2;5!==Ae&&18!==Ae||(t-=1),5!==je&&18!==je||(t-=1),Ae=5,je=18;for(let e=0;e{Qt[t].amount>0&&(e=t)})),Qt[e].amount-=1,Ee-=1}return Object.keys(Qt).forEach((t=>{const o=Qt[t];e+=no(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),_t=e}(),Ue=0);const t=Game.auraMult("Fierce Hoarder")>0;!Be&&t?(Be=!0,Pe=1):Be&&!t&&(Be=!1,Pe=1),Pe&&(Vo(),Pe=0),function(){en(),Fo(),function(){bt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}kt=e,bt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Bo(),qo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);$t=se(e/ro())}(),k=0,Vt={},Object.keys(Game.shimmers).forEach((e=>{Vt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],k+=1)})),Object.keys(ae).forEach((e=>{void 0===Vt[e]&&(ae[e].parentNode.removeChild(ae[e]),delete ae[e])})),C!==Game.shimmerTypes.golden.n?(C=Game.shimmerTypes.golden.n,C&&(y{void 0===ae[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},ae[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),y=k,0===k&&(Rt=0)):1===e.GCTimer&&C&&Object.keys(ae).forEach((e=>{ae[e].style.opacity=Vt[e].l.style.opacity,ae[e].style.transform=Vt[e].l.style.transform,ae[e].textContent=Math.ceil(Vt[e].life/Game.fps)})),g!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(g=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,g&&(bn(3,"FortuneFlash"),kn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Gn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),h!==Game.shimmerTypes.reindeer.spawned&&(h=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(Ut=Game.shimmers[e])})),bn(3,"SeaFlash"),kn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Gn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&f!==Game.Objects.Farm.minigame.nextStep&&(0!==f&&f0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>G?(G=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?bn(3,"WrinklerMaxFlash"):bn(3,"WrinklerFlash"),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?kn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):kn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Gn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Gn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):G=t}}()}}function vn(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${hn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function xn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t;let o=!1;Object.keys(on).forEach((t=>{void 0===e[t]?(o=!0,e[t]=on[t]):"Header"!==t&&"Colors"!==t?-1===t.indexOf("SoundURL")?e[t]>-1&&e[t]{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=on[t][n])})):Object.keys(on.Colors).forEach((n=>{void 0!==e[t][n]&&"string"==typeof e[t][n]||(o=!0,e[t][n]=on[t][n])}))})),o&&vn(),wn(),Object.keys(on).forEach((e=>{"Header"!==e&&void 0!==mn[e].func&&mn[e].func()}))}else xn(on)}function Tn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Mn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Wo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${le(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${ce((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(le(Game.Objects[o].bulkPrice)).join(le((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ee=t,te=o,Mo(),l("tooltip").innerHTML}function Sn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(x[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Pn(){if(!u&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];d=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){d(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),vn()}function Ln(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Wn(o),Game.UpdateMenu()},n.appendChild(i),n}function An(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function jn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Dn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Ln("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+lo(){Game.HasUnlocked(Uo[e])||c.push(Uo[e])})),0!==c.length&&e.appendChild(An("basic","Rare plant drops left to unlock",jn(c))),e}())),o.appendChild(Ln("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Dt+Game.cookiesReset+ft+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?ut:0)));t.appendChild(An("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${le(Game.prestige)} / ${le(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Dt+Game.cookiesReset+ft+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&ut?ut:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(le(n)));const a=document.createElement("small");a.textContent=` (${se(n/Ht,1)})`,i.appendChild(a),t.appendChild(An("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(An("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${le(Game.heavenlyChips)} / ${le(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(An("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(le(ct,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(An("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(le(e)))),t.appendChild(An("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(se(e/ct)))))}const l=function(e){let t=Game.cookiesPs;ko(),0===qt["Heavenly key"].bought&&(qt["Heavenly chip secret"].bought=1,qt["Heavenly cookie stand"].bought=1,qt["Heavenly bakery"].bought=1,qt["Heavenly confectionery"].bought=1,qt["Heavenly key"].bought=1,Ao(),t=Ie,ko()),Dt>=1e6&&Lo("Sacrifice"),Dt>=1e9&&Lo("Oblivion"),Dt>=1e12&&Lo("From scratch"),Dt>=1e15&&Lo("Nihilism"),Dt>=1e18&&Lo("Dematerialize"),Dt>=1e21&&Lo("Nil zero zilch"),Dt>=1e24&&Lo("Transcendence"),Dt>=1e27&&Lo("Obliterate"),Dt>=1e30&&Lo("Negative void"),Dt>=1e33&&Lo("To crumbs, you say?"),Dt>=1e36&&Lo("You get nothing"),Dt>=1e39&&Lo("Humble rebeginnings"),Dt>=1e42&&Lo("The end of the world"),Dt>=1e45&&Lo("Oh, you're back"),Dt>=1e48&&Lo("Lazarus"),Dt>=1e51&&Lo("Smurf account"),Dt>=1e54&&Lo("If at first you don't succeed"),qt["Heavenly chip secret"].bought=1,qt["Heavenly cookie stand"].bought=1,qt["Heavenly bakery"].bought=1,qt["Heavenly confectionery"].bought=1,qt["Heavenly key"].bought=1,Le=e;const o=Fe;Ao(),Io(),o!==Fe&&Ao();const n=Ie-t;return Le=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(le(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(An("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(An("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(An("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(An("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Ln("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${le(ft)} / ${le(Ct)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Tn()},e.appendChild(t),o.appendChild(An("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${le(yt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==yt[1]&&(Game.wrinklers[yt[1]].hp=0)},n.appendChild(i),o.appendChild(An("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==yt[1]?yt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Do).forEach((e=>{Game.Has(Do[e])||(n.push(Do[e]),o=!0)}));const i=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(i.push(Ho[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Ln("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(An("basic","Halloween cookies left to buy",jn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(An("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${le((1-e)*o*100)}% / ${le((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(An("basic","Christmas cookies left to buy",jn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(An("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${le((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(An("basic","Valentine cookies left to buy",jn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(An("basic","Normal easter eggs left to unlock",jn(r))),t.appendChild(An("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${le(100*e(.98)[0])}% / ${le(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(An("basic","Rare easter eggs left to unlock",jn(l))),t.appendChild(An("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${le(100*e(.98)[1])}% / ${le(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(An("basic","Reindeer reward",document.createTextNode(le(pt)))),s&&t.appendChild(An("withTooltip","Chocolate egg cookies",document.createTextNode(le(ut)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(An("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(dt-1))/100+"%")))}return t}()),o.appendChild(Ln("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(An("basic",`Average Cookies Per Second (Past ${q[e.AvgCPSHist]<60?`${q[e.AvgCPSHist]} seconds`:q[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(le(ro(),3)))),o.appendChild(An("basic",`Average Cookie Clicks Per Second (Past ${Y[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(le(wt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(jo).forEach((t=>{Game.Has(jo[t])||e.push(jo[t])})),0!==e.length&&o.appendChild(An("basic","Fortune Upgrades Left to Buy",jn(e)))}if(e.ShowMissedGC&&o.appendChild(An("basic","Missed Golden Cookies",document.createTextNode(le(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(An("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(vt){const t=vt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=vt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}}}))}const Hn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Rn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Un(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Wn(t),Game.UpdateMenu()},n.appendChild(i),n}function $n(t){const o=document.createElement("div");if(o.className="listing","bool"===mn[t].type){const n=document.createElement("a");mn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=On+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===mn[t].label.length?(e[t]=0,mn[t].toggle&&(l(On+t).className="option off")):l(On+t).className="option",void 0!==mn[t].func&&mn[t].func(),l(On+t).innerHTML=mn[t].label[e[t]],vn()}(t)},n.textContent=mn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=mn[t].desc,o.appendChild(i),o}if("vol"===mn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=mn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Fn(t)},r.onchange=function(){Fn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){kn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===mn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${mn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=On+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${On+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,vn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=mn[t].desc,o.appendChild(s),o}if("color"===mn[t].type){o.className="";for(let t=0;tthis.max&&console.log("TEST"),e[t]=this.value,vn(),rn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=mn[t].desc,o.appendChild(a),o}return o}function In(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function zn(){M.Beautify=Beautify,Beautify=le,M.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){M.CalculateGains(),Ue=1},M.tooltip={},M.tooltip.draw=Game.tooltip.draw,M.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){M.tooltip.drawMod(e,t,o)},M.tooltip.update=Game.tooltip.update,M.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){M.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},M.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){In(M.UpdateWrinklers)},M.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){In(M.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){In(Game.ClickCookie)}),!1),M.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){M.RebuildUpgrades(),T=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},M.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=Qt[Game.ObjectsById[e].name].name;Qt[o].amount-=1,Ee-=1,t=Qt[o].basePrice*Game.priceIncrease**Math.max(0,Qt[o].amount-1-Qt[o].free),t=Game.modifyBuildingPrice(Qt[o],t),t=Math.ceil(t);break}const o=Fe;return Ao(),Io(),o!==Fe&&Ao(),[Ie-Game.cookiesPs,t]}(t),n=se(o/(e+Game.cookiesPs)),i=le(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${le(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},M.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){M.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},M.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Nn().picker&&void 0!==Nn().picker.owner||(M.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Hn).forEach((t=>{const n=Un(t,Hn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys(Rn).forEach((t=>{const n=Un(t,Rn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(mn).forEach((e=>{mn[e].group===t&&o.appendChild($n(e))}))})):Object.keys(mn).forEach((e=>{mn[e].group===t&&o.appendChild($n(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){xn(on)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Dn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Wn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},M.sayTime=Game.sayTime,$=function(e,t){return Number.isNaN(e)||e<=0?M.sayTime(e,t):se(e/Game.fps,1)},M.Logic=Game.Logic,Game.Logic=function(){M.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),re=`${Game.OnAscend?"Ascending! ":""}${le(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=re;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,g&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=h?`[R${Math.ceil(Ut.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=re;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),g&&(t=!0,e+="[F]"),"christmas"===Game.season&&h&&(e+=`[R${Math.ceil(Ut.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${le(Game.prestige)}.
(CpS +${le(Game.prestige)}%)`,n+='
'),n+=Se<1?"Ascending now would grant you no prestige.":Se<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${le(Se)} prestige levels (+${le(Se)}% CpS)
and ${le(Se)} heavenly chips to spend.`,n+='
',n+=`You need ${le(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${$t} to reach the next level and you are making ${le(ct,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Vn(){Cn(),Jo(),tn(),a=Object.keys(Game.mods).length,w=document.createElement("style"),w.type="text/css",w.id="CMCSS",document.head.appendChild(w),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=S+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",N)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",B)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",B)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",B)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{co(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=so("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:L},{id:"CMTimerBarGCBar",color:W}]);e.appendChild(t);const o=so("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:L},{id:"CMTimerBarRenBar",color:O}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=P+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(B,"Better than the best PP of a building option")),e.appendChild(o(E,"Same as the best PP building option")),e.appendChild(o(N,"Within the top 10 of PP for buildings")),e.appendChild(o(O,"Within the top 20 of PP for buildings")),e.appendChild(o(F,"Within the top 30 of PP for buildings")),e.appendChild(o(W,"Outside of the top 30 of PP for buildings")),e.appendChild(o(L,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=S+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",B)),e.appendChild(o("CMUpgradeBarGreen",E)),e.appendChild(o("CMUpgradeBarYellow",N)),e.appendChild(o("CMUpgradeBarOrange",O)),e.appendChild(o("CMUpgradeBarRed",F)),e.appendChild(o("CMUpgradeBarPurple",W)),e.appendChild(o("CMUpgradeBarGray",L)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMWhiteScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(H).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(H[e][0],H[e][1],H[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Tn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==yt[1]&&(Game.wrinklers[yt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(v[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(r=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("s","Lump")}),"this"),Game.tooltip.wobble()}),m=Game.LoadMinigames,Game.LoadMinigames=function(){m(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Sn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Bn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){I=1},l("backgroundLeftCanvas").onmouseout=function(){I=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{V[e]=0}))},zn(),Bn(),Game.CalculateGains(),xn(),U=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const _n={init:function(){yn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Vn(),Game.registerHook("draw",So),Game.registerHook("logic",wn),yn=!1)},load:function(e){const t=JSON.parse(e);Cn(),xn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:hn};Game.registerMod("CookieMonster",_n)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],U={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Re,Ue,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Rt=0,Ut={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Re===t.id)return 2;if(Ue===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e.Colours[t[o].color]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Re=t.minigame.slot[1],Ue=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].matureBase,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;eVt[30][0]?W:L,0!==Number(e.PPSecondsLowerLimit)&&o/lo()0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ro=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Uo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Ro).forEach((e=>{to(Ro[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,Colours:{Blue:"#4bb8f0",Green:"#00ff00",Yellow:"#ffff00",Orange:"#ff7f00",Red:"#ff0000",Purple:"#ff00ff",Gray:"#b3b3b3",Pink:"#ff1493",Brown:"#8b4513"},BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){let t="";for(let o=0;o0?Ut.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class dn{constructor(e,t){this.type=e,this.group=t}}class pn extends dn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class un extends dn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends dn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new pn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new pn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new pn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new pn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new pn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Aabreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new pn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new pn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new pn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new pn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new pn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new pn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new pn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new pn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new pn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),Colours:new class extends dn{constructor(e,t,o,n){super(e,t),this.desc=o,this.func=n}}("colour","Colours",{Blue:"Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels",Green:"Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels",Yellow:"Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels",Orange:"Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels",Red:"Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels",Purple:"Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels",Gray:"Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar",Pink:"Standard colour is pink. Used for Dragonflight bar",Brown:"Standard colour is brown. Used for Dragon Harvest bar"},(function(){sn()})),BotBar:new pn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new pn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new pn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new pn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new pn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new pn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new pn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new pn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new pn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new pn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new pn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new pn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){cn()})),WrinklerButtons:new pn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new pn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new pn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new pn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new pn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new pn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new pn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new pn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new pn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new pn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new pn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new pn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new pn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new pn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new pn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new pn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new pn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new pn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new pn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new pn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new pn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new pn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new pn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new pn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new pn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),GCSound:new pn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new pn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new pn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new pn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),FortuneSound:new pn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new pn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new pn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new pn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),SeaSound:new pn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new pn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new pn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),GardSound:new pn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new pn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new pn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new pn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),MagicSound:new pn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new pn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new pn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new pn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),WrinklerSound:new pn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new pn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new pn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new pn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxSound:new pn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new pn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new pn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o){1===e[o]&&3===t&&!1===bn||1===t?(l("CMWhiteScreen").style.opacity="0.5",3===t?(l("CMWhiteScreen").style.display="inline",setTimeout((function(){kn(2,o)}),1e3/Game.fps)):setTimeout((function(){kn(0,o)}),1e3/Game.fps)):2===t?(l("CMWhiteScreen").style.opacity="1",setTimeout((function(){kn(1,o)}),1e3/Game.fps)):0===t&&(l("CMWhiteScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Ut=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),cn(),b=G,0===G&&(Ut=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash"),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash"),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash"):kn(3,"WrinklerFlash"),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${gn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Tn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t;let o=!1;Object.keys(nn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"!==t&&"Colors"!==t?-1===t.indexOf("SoundURL")?e[t]>-1&&e[t]{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])})):Object.keys(nn.Colors).forEach((n=>{void 0!==e[t][n]&&"string"==typeof e[t][n]||(o=!0,e[t][n]=nn[t][n])}))})),o&&xn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Tn(nn)}function Mn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Sn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Pn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Bn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),xn()}function An(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Ln(o),Game.UpdateMenu()},n.appendChild(i),n}function jn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(U[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Dn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Hn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(An("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(jn("basic","Rare plant drops left to unlock",Dn(c))),e}())),o.appendChild(An("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(jn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Rt,1)})`,i.appendChild(a),t.appendChild(jn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(jn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(jn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(jn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(jn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(jn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(jn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(jn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(jn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(An("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Mn()},e.appendChild(t),o.appendChild(jn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(jn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(i.push(Ro[e]),o=!0)}));const a=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(a.push(Uo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(An("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(jn("basic","Halloween cookies left to buy",Dn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(jn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(jn("basic","Christmas cookies left to buy",Dn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(jn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(jn("basic","Valentine cookies left to buy",Dn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(jn("basic","Normal easter eggs left to unlock",Dn(r))),t.appendChild(jn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(jn("basic","Rare easter eggs left to unlock",Dn(l))),t.appendChild(jn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(jn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(jn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(jn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(An("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(jn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(jn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(jn("basic","Fortune Upgrades Left to Buy",Dn(e)))}if(e.ShowMissedGC&&o.appendChild(jn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(jn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Rn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Un={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function $n(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Ln(t),Game.UpdateMenu()},n.appendChild(i),n}function In(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Fn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Fn+t).className="option off")):l(Fn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Fn+t).innerHTML=hn[t].label[e[t]],xn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Wn(t)},r.onchange=function(){Wn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Fn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Fn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,xn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("color"===hn[t].type){o.className="";for(let t=0;tthis.max&&console.log("TEST"),e[t]=this.value,xn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function zn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Vn(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){zn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){zn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){zn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==On().picker&&void 0!==On().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Rn).forEach((t=>{const n=$n(t,Rn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys(Un).forEach((t=>{const n=$n(t,Un[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(In(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(In(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Tn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Hn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Ln("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Ut?Ut.wrath?`[W${Math.ceil(Ut.life/Game.fps)}]`:`[G${Math.ceil(Ut.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Ut&&(t=!0,Ut.wrath?e+=`[W${Math.ceil(Ut.life/Game.fps)}]`:e+=`[G${Math.ceil(Ut.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function _n(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMWhiteScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),U[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Mn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Pn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),En()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},Vn(),En(),Game.CalculateGains(),Tn(),Game.UpdateMenu(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Xn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(_n(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Tn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Xn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index ae6fb577..f9d751d0 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};const t=["","","M","G","T","P","E","Z","Y"],n=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],i=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let a,r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v=[],x=[],T=[],M={};const S="CMText",P="CMBack",B="Blue",E="Green",N="Yellow",O="Orange",F="Red",W="Purple",L="Gray",A="Pink",j="Brown",D=[L,B,E,N,O,F,W,A,j],H=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let U,$,I=0,z=-1,V=[],_=1,X=1,Q=1;const q=[10,15,30,60,300,600,900,1800],Y=[1,5,10,15,30],K={Frenzy:N,"Dragon Harvest":j,"Elder frenzy":E,Clot:F,"Click frenzy":B,Dragonflight:A};let J,Z,ee,te,oe,ne,ie,ae={},re="";function le(o,a,r){const l=e.ScaleDecimals+1;if(o===1/0)return"Infinity";if(void 0===o)return"0";if(0===e.Scale)return M.Beautify(o,a);if(Number.isFinite(o)){let s="";if(0===o)return o.toString();if(o>.001&&o=.01&&o=.01&&o=.01&&o315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function ce(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=E):(n=se(t),o=t>300?F:t>60?O:N),{text:n,color:o}}let de,pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Re,Ue,$e,Ie,ze,Ve=0,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=1,lt=1,st=1,ct=0,dt=0,pt=0,ut=0,mt={},ht={},gt={},ft=0,Ct=0,yt=[0,null],bt=0,kt=0,Gt={},wt={},vt={},xt={},Tt={},Mt=0,St=0,Pt=[],Bt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Dt=0,Ht=0,Rt={},Ut={},$t=0,It=0,zt=[],Vt={},_t=0,Xt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Qt=[],qt=[],Yt=[];function Kt(e){let t=0;return Game.dragonAuras[Ae].name!==e&&Game.dragonAuras[je].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Ae].name&&"Reality Bending"!==Game.dragonAuras[je].name||(t+=.1),t}function Jt(){let e=.25;return e*=1+Kt("Earth Shatterer"),e}function Zt(e,t){return void 0===$e[e]?void 0===t?1:t:$e[e]}function eo(e){const t=qt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function to(e){if(Game.hasGod){void 0===Qt.Temple.minigame&&(Qt.Temple.minigame=Game.Objects.Temple.minigame);const t=Qt.Temple.minigame.gods[e];if(De===t.id)return 1;if(He===t.id)return 2;if(Re===t.id)return 3}return!1}function oo(e,t){let o=t;if(eo("Season savings")&&(o*=.99),eo("Santa's dominion")&&(o*=.99),eo("Faberge egg")&&(o*=.99),eo("Divine discount")&&(o*=.99),eo("Fortune #100")&&(o*=.99),o*=1-.02*Kt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&eo(e.fortune.name)&&(o*=.93),o*=Zt("buildingCost"),Qt.Temple.minigameLoaded){const e=to("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function no(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function io(){let t=Game.buyBulk;if(1===Game.buyMode?X=t:t=X,1===t?t=mt:10===t?t=ht:100===t&&(t=gt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e.Colours[t[o].color]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(mt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=le(no(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(mt).map((e=>{const t=mt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return D.indexOf(e.color)>D.indexOf(t.color)?1:D.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return D.indexOf(e.color)>D.indexOf(t.color)?1:D.indexOf(e.color){const t=mt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eD.indexOf(t.color)?1:D.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?_=i:i=_,1===i&&(i=mt),10===i&&(i=ht),100===i&&(i=gt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=le(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=S+i[o].color,n=e.PPDisplayTime?se(Math.round(i[o].pp)):le(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=ce((Game.Objects[o].bulkPrice-(Game.cookies+lo()))/ro());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=S+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&eo(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(eo(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&eo(e.fortune.name)&&(t*=1.07),e.grandma&&eo(e.grandma.name)&&(t*=1+.01*Qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&eo(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function yo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;eo("Thousand fingers")&&(t+=.1),eo("Million fingers")&&(t*=5),eo("Billion fingers")&&(t*=10),eo("Trillion fingers")&&(t*=20),eo("Quadrillion fingers")&&(t*=20),eo("Quintillion fingers")&&(t*=20),eo("Sextillion fingers")&&(t*=20),eo("Septillion fingers")&&(t*=20),eo("Octillion fingers")&&(t*=20),eo("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Qt).forEach((e=>{"Cursor"!==Qt[e].name&&(n+=Qt[e].amount)})),t*=n,o*=Co(e),o*=Game.magicCpS("Cursor"),o*=Zt("cursorCps"),Game.ComputeCps(.1,eo("Reinforced index finger")+eo("Carpal tunnel prevention cream")+eo("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{eo(Game.GrandmaSynergies[e])&&(o*=2)})),eo("Bingo center/Research facility")&&(o*=4),eo("Ritual rolling pins")&&(o*=2),eo("Naughty list")&&(o*=2),eo("Elderwort biscuits")&&(o*=1.02),o*=Zt("grandmaCps"),eo("Cat ladies"))for(let e=0;e{"Grandma"!==Qt[e].name&&(i+=Qt[e].amount)})),o*=1+.01*Kt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=Co(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function bo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Qt).forEach((t=>{Qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(eo("Starlove")&&(e=3),Game.hasGod){const t=to("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function ko(){Ne=Game.UpgradesOwned,Oe=Game.pledges,Fe=Game.AchievementsOwned,We=Game.heavenlyPower,Le=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Qt[e];void 0===o&&(Qt[e]=yo(e),o=Qt[e],co(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(De=t.minigame.slot[0],He=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e]),o.bought=t.bought,qt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Yt[e];void 0===o&&(Yt[e]=fo(e),o=Yt[e]),o.won=t.won,Yt[e]=o})),go(),Ae=Ve,je=_e}function Go(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function wo(e){e.appendChild(Go("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(Go("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(Go("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(Go("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ee){e.appendChild(Go("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function vo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function To(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Mo(){if(ko(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ee?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(wo(l("CMTooltipBorder")),1===Game.buyMode?Q=t:t=Q,1===Game.buyBulk?t=mt:10===Game.buyBulk?t=ht:100===Game.buyBulk&&(t=gt),J=Game.Objects[te].bulkPrice,Z=t[te].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=le(Z,2);const o=Math.round(Z/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=S+t[te].color,e.PPDisplayTime?l("CMTooltipPP").textContent=se(t[te].pp):l("CMTooltipPP").textContent=le(t[te].pp,2),l("CMTooltipPP").className=S+t[te].color;const n=ce((J-(Game.cookies+lo()))/ro());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[te[1]][te[0]][0]-1].matureBase,o=t.plantsById[t.plot[te[1]][te[0]][0]-1].name;l("CMTooltipBorder").appendChild(Go("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${le(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${le(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${le(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${le(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ee?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(Go("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=so(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==K[Game.buffs[t].name]?K[Game.buffs[t].name]:W,a.lastChild.children[1].className=P+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ie!==n&&(ie=n,mo())}}(),po(),Mo(),function(){if(1===e.TooltipWrink&&1===I){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===V[t]||void 0===V[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),z=t,V[t]=1}}else V[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[z],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[z].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=le(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,le(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Po{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Bo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+_t;Game.cpsSucked>0&&(o+=ft),Dt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-fe,i=Math.max(0,Game.cookies-Ce)/n,a=Math.max(0,ft-ye)/n,r=Math.max(0,yt[0]-be)/n,l=Math.max(0,o-ut)/n,s=(Game.cookieClicks-ke)/n;for(let e=0;ezt[30][0]?F:W,0!==Number(e.PPSecondsLowerLimit)&&o/ro()0&&(n=F),n}function No(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=L;else{t[n].color=Eo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+lo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||zt.push([t[n].pp,o])}))}function Fo(){!function(){It=1/0,zt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Oo(mt,1),Oo(ht,10),Oo(gt,100),zt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;zt[t][1]>Game.cookies&&(t+=1,zt.length!==t+1););It=zt[e.PPExcludeTop][t],No(mt,1),No(ht,10),No(gt,100)}(),Object.keys(Gt).forEach((e=>{Game.cookiesPs?Gt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+lo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Gt[e].bonus:Gt[e].pp=Game.Upgrades[e].getPrice()/Gt[e].bonus,Number.isNaN(Gt[e].pp)&&(Gt[e].pp=1/0),Gt[e].color=Eo(Gt[e],Game.Upgrades[e].getPrice())}))}function Wo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),$e=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Le)*We*function(){let e=0;if(eo("Heavenly chip secret")&&(e+=.05),eo("Heavenly cookie stand")&&(e+=.2),eo("Heavenly bakery")&&(e+=.25),eo("Heavenly confectionery")&&(e+=.25),eo("Heavenly key")&&(e+=.25),e*=1+.05*Kt("Dragon God"),eo("Lucky digit")&&(e*=1.01),eo("Lucky number")&&(e*=1.01),eo("Lucky payout")&&(e*=1.01),Game.hasGod){const t=to("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=Zt("cps"),eo("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];eo(o.name)&&("function"==typeof o.power?e*=1+.01*qt[o.name].power(qt[o.name]):e*=1+.01*o.power)})),eo("Specialized chocolate chips")&&(e*=1.01),eo("Designer cocoa beans")&&(e*=1.02),eo("Underworld ovens")&&(e*=1.03),eo("Exotic nuts")&&(e*=1.04),eo("Arcane sugar")&&(e*=1.05),eo("Increased merriness")&&(e*=1.15),eo("Improved jolliness")&&(e*=1.15),eo("A lump of coal")&&(e*=1.01),eo("An itchy sweater")&&(e*=1.01),eo("Santa's dominion")&&(e*=1.2),eo("Fortune #100")&&(e*=1.01),eo("Fortune #101")&&(e*=1.07),eo("Dragon scale")&&(e*=1.03);let o=1;if(to){let t=to("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=to("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=to("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=to("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=to("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}eo("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Fe/25;let i=1;if(eo("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Kt("Breath of Milk"),to){const e=to("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=Zt("milk");let a=1;eo("Kitten helpers")&&(a*=1+.1*n*i),eo("Kitten workers")&&(a*=1+.125*n*i),eo("Kitten engineers")&&(a*=1+.15*n*i),eo("Kitten overseers")&&(a*=1+.175*n*i),eo("Kitten managers")&&(a*=1+.2*n*i),eo("Kitten accountants")&&(a*=1+.2*n*i),eo("Kitten specialists")&&(a*=1+.2*n*i),eo("Kitten experts")&&(a*=1+.2*n*i),eo("Kitten consultants")&&(a*=1+.2*n*i),eo("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),eo("Kitten marketeers")&&(a*=1+.15*n*i),eo("Kitten analysts")&&(a*=1+.125*n*i),eo("Kitten executives")&&(a*=1+.115*n*i),eo("Kitten angels")&&(a*=1+.1*n*i),eo("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Qt).forEach((e=>{const t=Qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&eo("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Ie+=t.amount*a})),eo('"egg"')&&(Ie+=9),e*=a;let r=1;if(eo("Chicken egg")&&(r*=1.01),eo("Duck egg")&&(r*=1.01),eo("Turkey egg")&&(r*=1.01),eo("Quail egg")&&(r*=1.01),eo("Robin egg")&&(r*=1.01),eo("Ostrich egg")&&(r*=1.01),eo("Cassowary egg")&&(r*=1.01),eo("Salmon roe")&&(r*=1.01),eo("Frogspawn")&&(r*=1.01),eo("Shark egg")&&(r*=1.01),eo("Turtle egg")&&(r*=1.01),eo("Ant larva")&&(r*=1.01),eo("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),dt=1+.1*(1-(1-e/100)**3),r*=dt}e*=r,eo("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Kt("Radiant Appetite");const l=Ie*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Lo(Game.CpsAchievements[e].name)})),ze=l;const{n:s}=Game.shimmerTypes.golden,c=Kt("Dragon's Fortune");for(let t=0;t{eo(e[o])&&(t+=.1)}))}e*=t}if(eo("Shimmering veil [off]")){let t=.5;eo("Reinforced membrane")&&(t+=.1),e*=1+t}eo("Magic shenanigans")&&(e*=1e3),eo("Occult obstruction")&&(e*=0),Ie=Game.runModHookOnValue("cps",Ie),e*=xo(),Ie*=e}const jo=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Do=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ho=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Uo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function $o(e){return Yt[e]?Yt[e].won:0}function Io(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{eo(Game.GrandmaSynergies[t])&&(e+=1)})),!$o("Elder")&&e>=7&&Lo("Elder"),!$o("Veteran")&&e>=14&&Lo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Qt).forEach((e=>{t+=Qt[e].amount,i=Math.min(Qt[e].amount,i),$o("Mathematician")||Qt[e].amount=1&&Lo("One with everything"),1===o&&Lo("Mathematician"),1===n&&Lo("Base 10"),i>=100&&Lo("Centennial"),i>=150&&Lo("Centennial and a half"),i>=200&&Lo("Bicentennial"),i>=250&&Lo("Bicentennial and a half"),i>=300&&Lo("Tricentennial"),i>=350&&Lo("Tricentennial and a half"),i>=400&&Lo("Quadricentennial"),i>=450&&Lo("Quadricentennial and a half"),i>=500&&Lo("Quincentennial"),i>=550&&Lo("Quincentennial and a half"),i>=600&&Lo("Sexcentennial"),t>=100&&Lo("Builder"),t>=500&&Lo("Architect"),t>=1e3&&Lo("Engineer"),t>=2e3&&Lo("Lord of Constructs"),t>=4e3&&Lo("Grand design"),t>=8e3&&Lo("Ecumenopolis"),Ne>=20&&Lo("Enhancer"),Ne>=50&&Lo("Augmenter"),Ne>=100&&Lo("Upgrader"),Ne>=200&&Lo("Lord of Progress"),Ne>=300&&Lo("The full picture"),Ne>=400&&Lo("When there's nothing left to add"),t>=4e3&&Ne>=300&&Lo("Polymath"),t>=8e3&&Ne>=400&&Lo("Renaissance baker"),Qt.Cursor.amount+Qt.Grandma.amount>=777&&Lo("The elder scrolls");let a=!0;Object.keys(Do).forEach((e=>{eo(Do[e])||(a=!1)})),a&&Lo("Spooky cookies");let r=!0;if(Object.keys(Ho).forEach((e=>{eo(Ho[e])||(r=!1)})),r&&Lo("Let it snow"),eo("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{eo(e[o].name)&&(t+=1)})),t>=e.length&&Lo("O Fortuna")}}function zo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){ko(),Qt[e].amount+=t;const o=Qt[e];"Cursor"===e?(o.amount>=1&&Lo("Click"),o.amount>=2&&Lo("Double-click"),o.amount>=50&&Lo("Mouse wheel"),o.amount>=100&&Lo("Of Mice and Men"),o.amount>=200&&Lo("The Digital"),o.amount>=300&&Lo("Extreme polydactyly"),o.amount>=400&&Lo("Dr. T"),o.amount>=500&&Lo("Thumbs, phalanges, metacarpals"),o.amount>=600&&Lo("With her finger and her thumb"),o.amount>=700&&Lo("Gotta hand it to you"),o.amount>=800&&Lo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Lo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Fe;return Ao(),Io(),n!==Fe&&Ao(),Ie-Game.cookiesPs}(o,e),1!==e&&(Pe=1)})),t}function Vo(){Object.keys(Game.Objects).forEach((e=>{mt[e].price=Wo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),ht[e].price=Wo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),gt[e].price=Wo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function _o(){mt=zo(1),ht=zo(10),gt=zo(100),Gt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){ko(),"Shimmering veil [on]"===qt[e].name?qt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===qt[e].name?qt["Golden switch [off]"].bought=0:qt[e].bought=(qt[e].bought+1)%2,qt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ne+=1),"Elder Pledge"===e?(Oe+=1,Oe>0&&Lo("Elder nap"),Oe>=5&&Lo("Elder slumber")):"Elder Covenant"===e?Lo("Elder calm"):"Prism heart biscuits"===e?Lo("Lovely cookies"):"Heavenly key"===e&&Lo("Wholesome");const t=Fe;Ao(),Io(),t!==Fe&&Ao();const o=function(){let e=0;eo("Thousand fingers")&&(e+=.1),eo("Million fingers")&&(e*=5),eo("Billion fingers")&&(e*=10),eo("Trillion fingers")&&(e*=20),eo("Quadrillion fingers")&&(e*=20),eo("Quintillion fingers")&&(e*=20),eo("Sextillion fingers")&&(e*=20),eo("Septillion fingers")&&(e*=20),eo("Octillion fingers")&&(e*=20),eo("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Qt).forEach((e=>{t+=Qt[e].amount})),t-=Qt.Cursor.amount,e*=t,eo("Plastic mouse")&&(e+=.01*Ie),eo("Iron mouse")&&(e+=.01*Ie),eo("Titanium mouse")&&(e+=.01*Ie),eo("Adamantium mouse")&&(e+=.01*Ie),eo("Unobtainium mouse")&&(e+=.01*Ie),eo("Eludium mouse")&&(e+=.01*Ie),eo("Wishalloy mouse")&&(e+=.01*Ie),eo("Fantasteel mouse")&&(e+=.01*Ie),eo("Nevercrack mouse")&&(e+=.01*Ie),eo("Armythril mouse")&&(e+=.01*Ie),eo("Technobsidian mouse")&&(e+=.01*Ie),eo("Plasmarble mouse")&&(e+=.01*Ie),eo("Miraculite mouse")&&(e+=.01*Ie),eo("Fortune #104")&&(e+=.01*Ie);let o=1;if(eo("Santa's helpers")&&(o*=1.1),eo("Cookie egg")&&(o*=1.1),eo("Halo gloves")&&(o*=1.1),eo("Dragon claw")&&(o*=1.03),eo("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,eo("Luminous gloves")?20:10)),o*=Zt("click"),Qt.Temple.minigameLoaded&&to){const e=to("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Kt("Dragon Cursor");let n=o*Game.ComputeCps(1,eo("Reinforced index finger")+eo("Carpal tunnel prevention cream")+eo("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Ie-Game.cookiesPs,o]:[Ie-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Gt[t]={bonus:Game.cookiesPs-Ge},1===e.CalcWrink?Gt[t].bonus-=we:2===e.CalcWrink&&(Gt[t].bonus-=ve),Number.isFinite(Gt[t].bonus)||(Gt[t].bonus=0)):(Gt[t]={},o[0]&&(Gt[t].bonus=o[0]),o[1]&&(Gt[t].bonusMouse=o[1]))}))}function Xo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Pt=Xo(7,e,lt),Mt=2*Pt[1]/lt,St=Pt[2]/60/60/6/rt,Nt=Xo(6,e,st),Bt=2*Nt[1]/st,Et=Nt[2]/60/60/6/rt,Wt=Xo(7,7*e,lt),Ot=2*Wt[1]/lt,Ft=Wt[2]/60/60/6/rt,jt=Xo(6,7*e,st),Lt=2*jt[1]/st,At=jt[2]/60/60/6/rt}function qo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Me,i=Math.max(0,o-Se)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?xt+=e:"cookie"===o.pool?Tt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(vt+=e)}}))}function Ko(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),pt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(pt*=2)}}function Jo(){qe=900*at/.15,qe*=rt;const e=xo();e>0?qe/=e:qe=0,Ye=lt*(.15*qe)+13,Ke=st*(.15*qe)+13,Je=7*qe,Ze=lt*(.15*Je)+13,et=st*(.15*Je)+13,tt=2*qe,ot=.15*tt,nt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountnt&&(nt=2*Game.Objects[e].price,it=e)}))}function Zo(){let e=1,t=1,o=1;eo("Green yeast digestives")&&(o*=1.01),eo("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),lt=o*e,st=o*t,rt=1,0===Game.shimmerTypes.golden.n&&(rt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function en(){ft=0,Ct=0,yt=[0,null];for(let e=0;eyt[0]&&(yt=[t,e]))}}function tn(){go(),en(),Jo(),Zo(),Qo(),Yo(),Ko(),de=new Po(q[q.length-1]),pe=new Po(q[q.length-1]),ue=new Po(q[q.length-1]),me=new Po(q[q.length-1]),he=new Po(Y[Y.length-1]),ge=new Po(5),qo(),Bo(),_o(),Vo(),Fo()}const on={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,Colours:{Blue:"#4bb8f0",Green:"#00ff00",Yellow:"#ffff00",Orange:"#ff7f00",Red:"#ff0000",Purple:"#ff00ff",Gray:"#b3b3b3",Pink:"#ff1493",Brown:"#8b4513"},BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},nn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function an(){1===e.BotBar?(l("CMBotBar").style.display="",po()):l("CMBotBar").style.display="none",mo()}function rn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),po(),io(),ao()}function ln(){let t="";for(let o=0;o0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class un extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const mn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){Ue=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Aabreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){rn()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){rn()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){rn()})),ScaleCutoff:new un("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=$:Game.sayTime=M.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){io()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new un("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),Colours:new class extends cn{constructor(e,t,o,n){super(e,t),this.desc=o,this.func=n}}("colour","Colours",{Blue:"Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels",Green:"Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels",Yellow:"Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels",Orange:"Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels",Red:"Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels",Purple:"Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels",Gray:"Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar",Pink:"Standard colour is pink. Used for Dragonflight bar",Brown:"Standard colour is brown. Used for Dragon Harvest bar"},(function(){ln()})),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){an()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){ho()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),mo()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ao()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ao()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){io()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ao()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(ae).forEach((e=>{ae[e].style.display="block",ae[e].style.left=Vt[e].l.style.left,ae[e].style.top=Vt[e].l.style.top})):Object.keys(ae).forEach((e=>ae[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){e.WrinklerButtons?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new un("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){To()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new un("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){nn(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new pn("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){nn(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new pn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){nn(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new pn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new pn("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){nn(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new pn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){nn(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new pn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){nn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new pn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function hn(){return JSON.stringify({settings:e,version:"2.031.6"})}function gn(){if(Xe!==Game.dragonLevel||Ue){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Qt[e]=yo(e)})),qt=[],Object.keys(Game.Upgrades).forEach((e=>{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Achievements).forEach((e=>{Yt[e]=fo(e)})),ko()}let yn=!1;function bn(t,o){1===e[o]&&3===t&&!1===yn||1===t?(l("CMWhiteScreen").style.opacity="0.5",3===t?(l("CMWhiteScreen").style.display="inline",setTimeout((function(){bn(2,o)}),1e3/Game.fps)):setTimeout((function(){bn(0,o)}),1e3/Game.fps)):2===t?(l("CMWhiteScreen").style.opacity="1",setTimeout((function(){bn(1,o)}),1e3/Game.fps)):0===t&&(l("CMWhiteScreen").style.display="none")}function kn(t,o,n,i){if((1===e[o]||i)&&!1===yn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Gn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===yn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function wn(){if(ne!==Game.OnAscend&&(ne=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(an(),ho()),uo()),!Game.OnAscend&&0===Game.AscendTimer){a!==Object.keys(Game.mods).length&&(Cn(),tn(),a=Object.keys(Game.mods).length),Ue&&(_o(),Game.Has("Golden switch [off]")?(ko(),qt["Golden switch [off]"].bought=0,Ao(),at=Ie):at=Game.cookiesPs,Zo(),Jo(),Yo(),Qo(),gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Xt[e][t]=fn(e,t)}(),Ko(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;ko();let t=2;5!==Ae&&18!==Ae||(t-=1),5!==je&&18!==je||(t-=1),Ae=5,je=18;for(let e=0;e{Qt[t].amount>0&&(e=t)})),Qt[e].amount-=1,Ee-=1}return Object.keys(Qt).forEach((t=>{const o=Qt[t];e+=no(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),_t=e}(),Ue=0);const t=Game.auraMult("Fierce Hoarder")>0;!Be&&t?(Be=!0,Pe=1):Be&&!t&&(Be=!1,Pe=1),Pe&&(Vo(),Pe=0),function(){en(),Fo(),function(){bt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}kt=e,bt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Bo(),qo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);$t=se(e/ro())}(),k=0,Vt={},Object.keys(Game.shimmers).forEach((e=>{Vt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],k+=1)})),Object.keys(ae).forEach((e=>{void 0===Vt[e]&&(ae[e].parentNode.removeChild(ae[e]),delete ae[e])})),C!==Game.shimmerTypes.golden.n?(C=Game.shimmerTypes.golden.n,C&&(y{void 0===ae[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},ae[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),y=k,0===k&&(Rt=0)):1===e.GCTimer&&C&&Object.keys(ae).forEach((e=>{ae[e].style.opacity=Vt[e].l.style.opacity,ae[e].style.transform=Vt[e].l.style.transform,ae[e].textContent=Math.ceil(Vt[e].life/Game.fps)})),g!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(g=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,g&&(bn(3,"FortuneFlash"),kn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Gn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),h!==Game.shimmerTypes.reindeer.spawned&&(h=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(Ut=Game.shimmers[e])})),bn(3,"SeaFlash"),kn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Gn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&f!==Game.Objects.Farm.minigame.nextStep&&(0!==f&&f0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>G?(G=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?bn(3,"WrinklerMaxFlash"):bn(3,"WrinklerFlash"),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?kn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):kn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Gn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Gn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):G=t}}()}}function vn(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${hn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function xn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t;let o=!1;Object.keys(on).forEach((t=>{void 0===e[t]?(o=!0,e[t]=on[t]):"Header"!==t&&"Colors"!==t?-1===t.indexOf("SoundURL")?e[t]>-1&&e[t]{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=on[t][n])})):Object.keys(on.Colors).forEach((n=>{void 0!==e[t][n]&&"string"==typeof e[t][n]||(o=!0,e[t][n]=on[t][n])}))})),o&&vn(),wn(),Object.keys(on).forEach((e=>{"Header"!==e&&void 0!==mn[e].func&&mn[e].func()}))}else xn(on)}function Tn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Mn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Wo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${le(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${ce((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(le(Game.Objects[o].bulkPrice)).join(le((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ee=t,te=o,Mo(),l("tooltip").innerHTML}function Sn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(x[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Pn(){if(!u&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];d=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){d(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),vn()}function Ln(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Wn(o),Game.UpdateMenu()},n.appendChild(i),n}function An(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function jn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Dn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Ln("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+lo(){Game.HasUnlocked(Uo[e])||c.push(Uo[e])})),0!==c.length&&e.appendChild(An("basic","Rare plant drops left to unlock",jn(c))),e}())),o.appendChild(Ln("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Dt+Game.cookiesReset+ft+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?ut:0)));t.appendChild(An("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${le(Game.prestige)} / ${le(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Dt+Game.cookiesReset+ft+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&ut?ut:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(le(n)));const a=document.createElement("small");a.textContent=` (${se(n/Ht,1)})`,i.appendChild(a),t.appendChild(An("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(An("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${le(Game.heavenlyChips)} / ${le(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(An("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(le(ct,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(An("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(le(e)))),t.appendChild(An("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(se(e/ct)))))}const l=function(e){let t=Game.cookiesPs;ko(),0===qt["Heavenly key"].bought&&(qt["Heavenly chip secret"].bought=1,qt["Heavenly cookie stand"].bought=1,qt["Heavenly bakery"].bought=1,qt["Heavenly confectionery"].bought=1,qt["Heavenly key"].bought=1,Ao(),t=Ie,ko()),Dt>=1e6&&Lo("Sacrifice"),Dt>=1e9&&Lo("Oblivion"),Dt>=1e12&&Lo("From scratch"),Dt>=1e15&&Lo("Nihilism"),Dt>=1e18&&Lo("Dematerialize"),Dt>=1e21&&Lo("Nil zero zilch"),Dt>=1e24&&Lo("Transcendence"),Dt>=1e27&&Lo("Obliterate"),Dt>=1e30&&Lo("Negative void"),Dt>=1e33&&Lo("To crumbs, you say?"),Dt>=1e36&&Lo("You get nothing"),Dt>=1e39&&Lo("Humble rebeginnings"),Dt>=1e42&&Lo("The end of the world"),Dt>=1e45&&Lo("Oh, you're back"),Dt>=1e48&&Lo("Lazarus"),Dt>=1e51&&Lo("Smurf account"),Dt>=1e54&&Lo("If at first you don't succeed"),qt["Heavenly chip secret"].bought=1,qt["Heavenly cookie stand"].bought=1,qt["Heavenly bakery"].bought=1,qt["Heavenly confectionery"].bought=1,qt["Heavenly key"].bought=1,Le=e;const o=Fe;Ao(),Io(),o!==Fe&&Ao();const n=Ie-t;return Le=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(le(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(An("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(An("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(An("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(An("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Ln("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${le(ft)} / ${le(Ct)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Tn()},e.appendChild(t),o.appendChild(An("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${le(yt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==yt[1]&&(Game.wrinklers[yt[1]].hp=0)},n.appendChild(i),o.appendChild(An("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==yt[1]?yt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Do).forEach((e=>{Game.Has(Do[e])||(n.push(Do[e]),o=!0)}));const i=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(i.push(Ho[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Ln("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(An("basic","Halloween cookies left to buy",jn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(An("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${le((1-e)*o*100)}% / ${le((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(An("basic","Christmas cookies left to buy",jn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(An("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${le((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(An("basic","Valentine cookies left to buy",jn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(An("basic","Normal easter eggs left to unlock",jn(r))),t.appendChild(An("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${le(100*e(.98)[0])}% / ${le(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(An("basic","Rare easter eggs left to unlock",jn(l))),t.appendChild(An("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${le(100*e(.98)[1])}% / ${le(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(An("basic","Reindeer reward",document.createTextNode(le(pt)))),s&&t.appendChild(An("withTooltip","Chocolate egg cookies",document.createTextNode(le(ut)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(An("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(dt-1))/100+"%")))}return t}()),o.appendChild(Ln("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(An("basic",`Average Cookies Per Second (Past ${q[e.AvgCPSHist]<60?`${q[e.AvgCPSHist]} seconds`:q[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(le(ro(),3)))),o.appendChild(An("basic",`Average Cookie Clicks Per Second (Past ${Y[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(le(wt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(jo).forEach((t=>{Game.Has(jo[t])||e.push(jo[t])})),0!==e.length&&o.appendChild(An("basic","Fortune Upgrades Left to Buy",jn(e)))}if(e.ShowMissedGC&&o.appendChild(An("basic","Missed Golden Cookies",document.createTextNode(le(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(An("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(vt){const t=vt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=vt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}}}))}const Hn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Rn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Un(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Wn(t),Game.UpdateMenu()},n.appendChild(i),n}function $n(t){const o=document.createElement("div");if(o.className="listing","bool"===mn[t].type){const n=document.createElement("a");mn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=On+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===mn[t].label.length?(e[t]=0,mn[t].toggle&&(l(On+t).className="option off")):l(On+t).className="option",void 0!==mn[t].func&&mn[t].func(),l(On+t).innerHTML=mn[t].label[e[t]],vn()}(t)},n.textContent=mn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=mn[t].desc,o.appendChild(i),o}if("vol"===mn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=mn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Fn(t)},r.onchange=function(){Fn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){kn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===mn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${mn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=On+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${On+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,vn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=mn[t].desc,o.appendChild(s),o}if("color"===mn[t].type){o.className="";for(let t=0;tthis.max&&console.log("TEST"),e[t]=this.value,vn(),rn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=mn[t].desc,o.appendChild(a),o}return o}function In(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function zn(){M.Beautify=Beautify,Beautify=le,M.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){M.CalculateGains(),Ue=1},M.tooltip={},M.tooltip.draw=Game.tooltip.draw,M.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){M.tooltip.drawMod(e,t,o)},M.tooltip.update=Game.tooltip.update,M.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){M.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},M.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){In(M.UpdateWrinklers)},M.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){In(M.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){In(Game.ClickCookie)}),!1),M.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){M.RebuildUpgrades(),T=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},M.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=Qt[Game.ObjectsById[e].name].name;Qt[o].amount-=1,Ee-=1,t=Qt[o].basePrice*Game.priceIncrease**Math.max(0,Qt[o].amount-1-Qt[o].free),t=Game.modifyBuildingPrice(Qt[o],t),t=Math.ceil(t);break}const o=Fe;return Ao(),Io(),o!==Fe&&Ao(),[Ie-Game.cookiesPs,t]}(t),n=se(o/(e+Game.cookiesPs)),i=le(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${le(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},M.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){M.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},M.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Nn().picker&&void 0!==Nn().picker.owner||(M.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Hn).forEach((t=>{const n=Un(t,Hn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys(Rn).forEach((t=>{const n=Un(t,Rn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(mn).forEach((e=>{mn[e].group===t&&o.appendChild($n(e))}))})):Object.keys(mn).forEach((e=>{mn[e].group===t&&o.appendChild($n(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){xn(on)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Dn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Wn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},M.sayTime=Game.sayTime,$=function(e,t){return Number.isNaN(e)||e<=0?M.sayTime(e,t):se(e/Game.fps,1)},M.Logic=Game.Logic,Game.Logic=function(){M.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),re=`${Game.OnAscend?"Ascending! ":""}${le(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=re;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,g&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=h?`[R${Math.ceil(Ut.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=re;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),g&&(t=!0,e+="[F]"),"christmas"===Game.season&&h&&(e+=`[R${Math.ceil(Ut.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${le(Game.prestige)}.
(CpS +${le(Game.prestige)}%)`,n+='
'),n+=Se<1?"Ascending now would grant you no prestige.":Se<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${le(Se)} prestige levels (+${le(Se)}% CpS)
and ${le(Se)} heavenly chips to spend.`,n+='
',n+=`You need ${le(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${$t} to reach the next level and you are making ${le(ct,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Vn(){Cn(),Jo(),tn(),a=Object.keys(Game.mods).length,w=document.createElement("style"),w.type="text/css",w.id="CMCSS",document.head.appendChild(w),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=S+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",N)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",B)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",B)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",B)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{co(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=so("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:L},{id:"CMTimerBarGCBar",color:W}]);e.appendChild(t);const o=so("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:L},{id:"CMTimerBarRenBar",color:O}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=P+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(B,"Better than the best PP of a building option")),e.appendChild(o(E,"Same as the best PP building option")),e.appendChild(o(N,"Within the top 10 of PP for buildings")),e.appendChild(o(O,"Within the top 20 of PP for buildings")),e.appendChild(o(F,"Within the top 30 of PP for buildings")),e.appendChild(o(W,"Outside of the top 30 of PP for buildings")),e.appendChild(o(L,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=S+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",B)),e.appendChild(o("CMUpgradeBarGreen",E)),e.appendChild(o("CMUpgradeBarYellow",N)),e.appendChild(o("CMUpgradeBarOrange",O)),e.appendChild(o("CMUpgradeBarRed",F)),e.appendChild(o("CMUpgradeBarPurple",W)),e.appendChild(o("CMUpgradeBarGray",L)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMWhiteScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(H).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(H[e][0],H[e][1],H[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Tn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==yt[1]&&(Game.wrinklers[yt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(v[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(r=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("s","Lump")}),"this"),Game.tooltip.wobble()}),m=Game.LoadMinigames,Game.LoadMinigames=function(){m(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Sn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Mn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Bn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){I=1},l("backgroundLeftCanvas").onmouseout=function(){I=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{V[e]=0}))},zn(),Bn(),Game.CalculateGains(),xn(),U=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const _n={init:function(){yn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Vn(),Game.registerHook("draw",So),Game.registerHook("logic",wn),yn=!1)},load:function(e){const t=JSON.parse(e);Cn(),xn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:hn};Game.registerMod("CookieMonster",_n)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],U={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Re,Ue,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Rt=0,Ut={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Re===t.id)return 2;if(Ue===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e.Colours[t[o].color]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Re=t.minigame.slot[1],Ue=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].matureBase,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;eVt[30][0]?W:L,0!==Number(e.PPSecondsLowerLimit)&&o/lo()0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ro=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Uo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Ro).forEach((e=>{to(Ro[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,Colours:{Blue:"#4bb8f0",Green:"#00ff00",Yellow:"#ffff00",Orange:"#ff7f00",Red:"#ff0000",Purple:"#ff00ff",Gray:"#b3b3b3",Pink:"#ff1493",Brown:"#8b4513"},BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){let t="";for(let o=0;o0?Ut.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class dn{constructor(e,t){this.type=e,this.group=t}}class pn extends dn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class un extends dn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends dn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new pn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new pn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new pn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new pn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new pn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Aabreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new pn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new pn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new pn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new pn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new pn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new pn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new pn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new pn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new pn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),Colours:new class extends dn{constructor(e,t,o,n){super(e,t),this.desc=o,this.func=n}}("colour","Colours",{Blue:"Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels",Green:"Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels",Yellow:"Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels",Orange:"Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels",Red:"Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels",Purple:"Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels",Gray:"Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar",Pink:"Standard colour is pink. Used for Dragonflight bar",Brown:"Standard colour is brown. Used for Dragon Harvest bar"},(function(){sn()})),BotBar:new pn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new pn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new pn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new pn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new pn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new pn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new pn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new pn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new pn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new pn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new pn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new pn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){cn()})),WrinklerButtons:new pn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new pn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new pn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new pn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new pn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new pn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new pn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new pn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new pn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new pn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new pn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new pn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new pn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new pn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new pn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new pn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new pn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new pn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new pn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new pn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new pn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new pn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new pn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new pn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new pn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),GCSound:new pn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new pn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new pn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new pn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),FortuneSound:new pn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new pn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new pn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new pn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),SeaSound:new pn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new pn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new pn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),GardSound:new pn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new pn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new pn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new pn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),MagicSound:new pn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new pn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new pn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new pn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),WrinklerSound:new pn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new pn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new pn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new pn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxSound:new pn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new pn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new pn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o){1===e[o]&&3===t&&!1===bn||1===t?(l("CMWhiteScreen").style.opacity="0.5",3===t?(l("CMWhiteScreen").style.display="inline",setTimeout((function(){kn(2,o)}),1e3/Game.fps)):setTimeout((function(){kn(0,o)}),1e3/Game.fps)):2===t?(l("CMWhiteScreen").style.opacity="1",setTimeout((function(){kn(1,o)}),1e3/Game.fps)):0===t&&(l("CMWhiteScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Ut=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),cn(),b=G,0===G&&(Ut=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash"),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash"),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash"):kn(3,"WrinklerFlash"),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${gn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Tn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t;let o=!1;Object.keys(nn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"!==t&&"Colors"!==t?-1===t.indexOf("SoundURL")?e[t]>-1&&e[t]{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])})):Object.keys(nn.Colors).forEach((n=>{void 0!==e[t][n]&&"string"==typeof e[t][n]||(o=!0,e[t][n]=nn[t][n])}))})),o&&xn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Tn(nn)}function Mn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Sn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Pn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Bn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),xn()}function An(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Ln(o),Game.UpdateMenu()},n.appendChild(i),n}function jn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(U[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Dn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Hn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(An("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(jn("basic","Rare plant drops left to unlock",Dn(c))),e}())),o.appendChild(An("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(jn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Rt,1)})`,i.appendChild(a),t.appendChild(jn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(jn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(jn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(jn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(jn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(jn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(jn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(jn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(jn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(An("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Mn()},e.appendChild(t),o.appendChild(jn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(jn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(i.push(Ro[e]),o=!0)}));const a=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(a.push(Uo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(An("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(jn("basic","Halloween cookies left to buy",Dn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(jn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(jn("basic","Christmas cookies left to buy",Dn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(jn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(jn("basic","Valentine cookies left to buy",Dn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(jn("basic","Normal easter eggs left to unlock",Dn(r))),t.appendChild(jn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(jn("basic","Rare easter eggs left to unlock",Dn(l))),t.appendChild(jn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(jn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(jn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(jn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(An("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(jn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(jn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(jn("basic","Fortune Upgrades Left to Buy",Dn(e)))}if(e.ShowMissedGC&&o.appendChild(jn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(jn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Rn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Un={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function $n(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Ln(t),Game.UpdateMenu()},n.appendChild(i),n}function In(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Fn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Fn+t).className="option off")):l(Fn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Fn+t).innerHTML=hn[t].label[e[t]],xn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Wn(t)},r.onchange=function(){Wn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Fn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Fn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,xn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("color"===hn[t].type){o.className="";for(let t=0;tthis.max&&console.log("TEST"),e[t]=this.value,xn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function zn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Vn(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){zn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){zn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){zn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==On().picker&&void 0!==On().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Rn).forEach((t=>{const n=$n(t,Rn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys(Un).forEach((t=>{const n=$n(t,Un[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(In(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(In(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Tn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Hn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Ln("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Ut?Ut.wrath?`[W${Math.ceil(Ut.life/Game.fps)}]`:`[G${Math.ceil(Ut.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Ut&&(t=!0,Ut.wrath?e+=`[W${Math.ceil(Ut.life/Game.fps)}]`:e+=`[G${Math.ceil(Ut.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function _n(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMWhiteScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),U[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Mn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Pn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),En()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},Vn(),En(),Game.CalculateGains(),Tn(),Game.UpdateMenu(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Xn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(_n(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Tn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Xn)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index b4ac06c3..ae649524 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","Colours","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","Game","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","elderWrath","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","matureBase","plantName","GardenPlots","totalGain","mortal","tile","immortal","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","Blue","Green","Yellow","Orange","Red","Purple","Gray","Pink","Brown","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","WrinklerButtons","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Calculation","Notation","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateColours","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","mod","Colors","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","Prompt","outerHTML","ClosePrompt","innerDiv","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","groupObject","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateWhiteScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":";AAAS,MACC,IAAIA,EAAsB,CAE9BC,IACA,SAAUC,IAchB,SAAWC,EAAQC,GAElB,aAEuC,iBAAnBF,EAAOG,QAc3BD,EAAQD,GAZPD,EAAOG,QAAUF,EAAOG,SACvBF,EAASD,GACT,SAAUI,GACT,IAAKA,EAAID,SACR,MAAM,IAAIE,MAAM,wCAEjB,OAAOJ,EAAQG,IAZnB,CAoBqB,oBAAXE,OAAyBA,OAASC,MAAM,SAAUD,GAK5D,aAGA,IAwgDME,EAt7BAC,EAzXAC,EAvNFC,EAFAC,IAEAD,EAAM,CAGTE,aAAc,EAEdC,UAAY,GAEZC,WAAa,GAGbC,SAAW,gBACY,IAAXV,GAA0BA,EAAOH,UAC3CG,EAAOH,SAASc,iBAAiB,mBAAoBN,EAAIO,IAAIC,MAAM,IAKrEC,kBAAoB,SAAUC,EAAUC,GAEvC,KADAA,EAAWA,EAAWX,EAAIY,KAAKD,GAAYhB,EAAOH,UAEjD,MAAM,IAAIE,MAAM,qBAQjB,IALA,IAAImB,EAAOF,EAASG,iBAAiBJ,GAGjCK,EAAa,IAAIC,OAAO,WAAahB,EAAIO,IAAIU,YAAc,6BAA8B,KAEpFC,EAAI,EAAGA,EAAIL,EAAKM,OAAQD,GAAK,EAAG,CAUxC,IAAIE,EAAUC,EARd,KAAIR,EAAKK,GAAGjB,SAAWY,EAAKK,GAAGjB,mBAAmBD,EAAIO,YAIjCe,IAAjBT,EAAKK,GAAGK,MAAoD,SAA9BV,EAAKK,GAAGK,KAAKC,gBAA4BxB,EAAIyB,wBAOzB,QAApDL,EAAWpB,EAAI0B,YAAYb,EAAKK,GAAI,aACpCL,EAAKK,GAAGS,YAAcN,EAAIR,EAAKK,GAAGS,UAAUC,MAAMb,KAClD,CACD,IAAIc,EAAYhB,EAAKK,GAEjBY,EAAU,GACG,OAAbV,EACHU,EAAUV,EAEAC,IACVU,QAAQC,KAAK,sFAAwFhC,EAAIiC,SACrGZ,EAAE,KACLS,EAAUT,EAAE,KAId,IAAIa,EAAO,KACX,GAAIJ,EAAQK,OACX,IACCD,EAAOlC,EAAIoC,gBAAgBN,GAC1B,MAAOO,GACRN,QAAQC,KAAKK,EAAI,KAAOP,GAI1B,IACC,IAAI9B,EAAIO,IAAIsB,EAAWK,GACtB,MAAOG,GACRN,QAAQC,KAAKK,OAOjBD,gBAAkB,SAAUE,GAC3B,IAAIJ,EAAO,KAEX,IACCA,EAAOK,KAAKC,MAAMF,GAEjB,MAAOG,GACR,IAAKzC,EAAIO,IAAImC,UACZ,MAAM,IAAIhD,MAAM,4CAA8C+C,GAG9D,IACCP,EAAO,IAAKS,SAAU,eAAiBL,EAAM,kDAAtC,GACN,MAAOM,GACR,MAAM,IAAIlD,MAAM,uCAAyCkD,IAI5D,OAAOV,GAIRW,aAAe,WAEd,IADA,IAAIC,EAAO,GACF5B,EAAI,EAAGA,EAAIlB,EAAIG,UAAUgB,OAAQD,GAAK,EAE1ClB,EAAIG,UAAUe,IAAMlB,EAAIG,UAAUe,GAAG6B,eACxCD,EAAKE,KAAKhD,EAAIG,UAAUe,IAG1B,OAAO4B,GAIRG,SAAW,SAAUC,GACpB,IAAIC,EAAKxD,EAAOH,SAAS4D,cAAcF,GAEvC,OADAlD,EAAIqD,QAAQF,EAAI,OAAO,GAChBA,GAIRvC,KAAO,SAAU0C,GAChB,IAAKA,EACJ,OAAO,KAGR,GAA8B,iBAAnBA,EAA6B,CAEvC,IAAIC,EAAMD,EACNH,EAAK,KACT,IACCA,EAAKxD,EAAOH,SAASgE,cAAcD,GAClC,MAAOlB,GAER,OADAN,QAAQC,KAAKK,GACN,KAKR,OAHKc,GACJpB,QAAQC,KAAK,sCAAuCuB,GAE9CJ,EAGR,OAAInD,EAAIyD,OAAOH,GAEPA,GAGRvB,QAAQC,KAAK,qCAAsCsB,EAAgBA,GAC5D,OAKRG,OAAS,SAAUC,GAClB,MAAoB,iBAATC,KACHD,aAAeC,KAEhBD,GAAsB,iBAARA,GAA4C,iBAAjBA,EAAIE,UAAiD,iBAAjBF,EAAIG,UAIzFA,SAAW,SAAUjD,GACpB,SAAIA,IAAQA,EAAKiD,WACTjD,EAAKiD,SAASrC,eAMvBsC,eAAiB,SAAUlD,GAC1B,KAAOA,EAAKmD,YACXnD,EAAKoD,YAAYpD,EAAKmD,aAKxBE,YAAc,SAAUd,GACvB,OAAOA,GAA2B,UAArBnD,EAAI6D,SAASV,IAA6C,SAA1BA,EAAG5B,KAAKC,eAItD0C,SAAW,SAAUf,GACpB,IAAKA,EACJ,OAAO,EAER,IAAIgB,EAAInE,EAAI6D,SAASV,GACrB,MACQ,WAANgB,GACM,UAANA,GAAiB,CAAC,SAAU,SAAU,SAASC,QAAQjB,EAAG5B,KAAKC,gBAAkB,GAKpF6C,cAAgB,SAAUlB,GACzB,OAAQnD,EAAI6D,SAASV,IACpB,IAAK,QAAS,OAASA,EAAGmB,OAA6B,KAApBnB,EAAGmB,MAAMnC,OAC5C,IAAK,SAAU,MAAkC,KAA1BgB,EAAGoB,YAAYpC,OAEvC,OAAO,MAKRqC,wBAA0B,WACzB,IAAIC,GAAY,EAEhB,IACC,IAAIvC,EAAOwC,OAAOC,eAAe,GAAI,UAAW,CAC/CC,IAAK,WAAcH,GAAY,KAEhC9E,EAAOW,iBAAiB,cAAe,KAAM4B,GAC7CvC,EAAOkF,oBAAoB,cAAe,KAAM3C,GAC/C,MAAOG,IAET,OAAOoC,EAXkB,GAe1BhD,sBACK1B,EAAMJ,EAAOH,SAAS4D,cAAc,YACpCrD,EAAI+E,eACP/E,EAAI+E,aAAa,OAAQ,SACK,SAA1B/E,EAAIwB,KAAKC,iBAQfuD,SAAW,gBAOX1B,QAAU,WACT,IAAI2B,EAAMC,UAAU,GAEpB,GAAyB,IAArBA,UAAU9D,OAAc,CAE3B,IAAI+D,EAAOF,EAAIG,eAAenF,EAAI+E,UAAYC,EAAIhF,EAAI+E,UAAaC,EAAIhF,EAAI+E,UAAY,GAEnFT,EAAQW,UAAU,GAGtB,OADAC,EAHIE,EAAOH,UAAU,IAGRX,GACN,EAED,GAAyB,IAArBW,UAAU9D,QAAwC,iBAAjB8D,UAAU,GAAiB,CAElEC,EAAOF,EAAIG,eAAenF,EAAI+E,UAAYC,EAAIhF,EAAI+E,UAAaC,EAAIhF,EAAI+E,UAAY,GAAvF,IACIM,EAAMJ,UAAU,GAEpB,IAAK,IAAIG,KAAQC,EACZA,EAAIF,eAAeC,KACtBF,EAAKE,GAAQC,EAAID,IAGnB,OAAO,EAGR,MAAM,IAAI1F,MAAM,sBAOjB4F,WAAa,WACZ,IAAIN,EAAMC,UAAU,GACpB,IAAKD,EAAIG,eAAenF,EAAI+E,UAC3B,OAAO,EAER,IAAK,IAAI7D,EAAI,EAAGA,EAAI+D,UAAU9D,OAAQD,GAAK,EAAG,CAC7C,IAAIkE,EAAOH,UAAU/D,UACd8D,EAAIhF,EAAI+E,UAAUK,GAE1B,OAAO,GAIRG,QAAU,SAAUP,EAAKI,EAAMI,GAC9B,IAAKR,EAAIG,eAAenF,EAAI+E,UAAW,CAEtC,QAAmBzD,IAAfkE,EAGH,OAFAR,EAAIhF,EAAI+E,UAAY,GAKtB,IAAIG,EAAOF,EAAIhF,EAAI+E,UAKnB,OAHKG,EAAKC,eAAeC,SAAwB9D,IAAfkE,IACjCN,EAAKE,GAAQI,GAEPN,EAAKE,IAIb1D,YAAc,SAAUyB,EAAIsC,GAC3B,IAAIC,EAAW,QAAUD,EAEzB,OADgBtC,EAAGwC,aAAaD,IAKjCE,YAAc,SAAUzC,EAAIsC,EAAMnB,GACjC,IAAIoB,EAAW,QAAUD,EACzBtC,EAAG2B,aAAaY,EAAUpB,IAI3BuB,qBAAuB,GAGvBC,iBAAmB,SAAUC,EAAW5C,EAAI6C,EAAMC,GAC5CjG,EAAI6F,qBAAqBV,eAAeY,KAC5C/F,EAAI6F,qBAAqBE,GAAa,IAEvC/F,EAAI6F,qBAAqBE,GAAW/C,KAAK,CAACG,EAAI6C,EAAMC,IACpD9C,EAAG7C,iBAAiB0F,EAAMC,GAAM,IAIjCC,kBAAoB,SAAUH,GAC7B,GAAI/F,EAAI6F,qBAAqBV,eAAeY,GAAY,CACvD,IAAK,IAAI7E,EAAI,EAAGA,EAAIlB,EAAI6F,qBAAqBE,GAAW5E,OAAQD,GAAK,EAAG,CACvE,IAAIiF,EAAMnG,EAAI6F,qBAAqBE,GAAW7E,GAC9CiF,EAAI,GAAGtB,oBAAoBsB,EAAI,GAAIA,EAAI,IAAI,UAErCnG,EAAI6F,qBAAqBE,KAKlCK,eAAiB,SAAU/D,GACtBA,EAAE+D,gBAAkB/D,EAAE+D,iBAC1B/D,EAAEgE,aAAc,GAIjBC,cAAgB,SAAUC,GAErBA,EAAOC,aACVxG,EAAIyG,gBAAkBF,EACtBvG,EAAIyG,gBAAgBD,eAKtBE,cAAgB,WAEX1G,EAAIyG,kBACPzG,EAAIyG,gBAAgBE,iBACpB3G,EAAIyG,gBAAkB,OAKxBG,aAAe,SAAUzD,EAAI0D,EAAWC,EAASC,GAChD,GAAK5D,EAAL,CAIA,IAAI6D,EAAK,KAaT,MAXqB,mBAAVC,MACVD,EAAK,IAAIC,MAAMJ,EAAW,CACzBC,QAASA,EACTC,WAAYA,KAIbC,EAAKrH,EAAOH,SAAS0H,YAAY,UAC9BC,UAAUN,EAAWC,EAASC,KAG7BC,IAKLhH,EAAIqD,QAAQ2D,EAAI,YAAY,GAE5B7D,EAAGiE,cAAcJ,IACV,KAIRK,kBAAoB,SAAUlE,EAAI0D,EAAWC,EAASC,GAChD5D,GAGDnD,EAAIiE,YAAYd,IACnBnD,EAAI4G,aAAazD,EAAI0D,EAAWC,EAASC,IAK3CO,SAAW,SAAUN,GACpB,IAAIO,EAAO,CACVC,EAAG,MACHC,GAAI,QACJC,GAAI,UAEL,MAAuB,iBAAZV,EAAGW,KACNX,EAAGW,UACerG,IAAf0F,EAAGY,SAAyBL,EAAKpC,eAAe6B,EAAGY,SACtDL,EAAKP,EAAGY,SAET,MAIRC,QAAU,SAAUvF,GACnB,OAAKA,EAGEA,EAAIwF,QAAQ,aAAc,IAAIC,MAAM,OAFnC,IAOTC,SAAW,SAAUjI,EAAK4B,GACzB,QAAKA,SAGiBL,IAAlBvB,EAAIkI,UACAlI,EAAIkI,UAAUC,SAASvG,IAGvB,IAAM,IAAM5B,EAAI4B,UAAUmG,QAAQ,OAAQ,KAAO,KAAK1D,QAAQ,IAAMzC,EAAY,OAKzFwG,SAAW,SAAUpI,EAAK4B,GACzB,IAAIyG,EAAapI,EAAI6H,QAAQlG,GAE7B,QAAsBL,IAAlBvB,EAAIkI,UAOR,IAAS/G,EAAI,EAAGA,EAAIkH,EAAWjH,OAAQD,GAAK,EACtClB,EAAIgI,SAASjI,EAAKqI,EAAWlH,MACjCnB,EAAI4B,YAAc5B,EAAI4B,UAAY,IAAM,IAAMyG,EAAWlH,SAR1D,IAAK,IAAIA,EAAI,EAAGA,EAAIkH,EAAWjH,OAAQD,GAAK,EAC3CnB,EAAIkI,UAAUI,IAAID,EAAWlH,KAchCoH,YAAc,SAAUvI,EAAK4B,GAC5B,IAAIyG,EAAapI,EAAI6H,QAAQlG,GAE7B,QAAsBL,IAAlBvB,EAAIkI,UAOR,IAAS/G,EAAI,EAAGA,EAAIkH,EAAWjH,OAAQD,GAAK,EAAG,CAC9C,IAAIqH,EAAO,IAAIvH,OACd,QAAUoH,EAAWlH,GAArB,YACSkH,EAAWlH,GADpB,aAESkH,EAAWlH,GAAK,SACzB,KAEDnB,EAAI4B,UAAY5B,EAAI4B,UAAUmG,QAAQS,EAAM,WAb5C,IAAK,IAAIrH,EAAI,EAAGA,EAAIkH,EAAWjH,OAAQD,GAAK,EAC3CnB,EAAIkI,UAAUO,OAAOJ,EAAWlH,KAiBnCuH,aAAe,SAAU1I,GAKxB,OAJgBJ,EAAO+I,iBAAmB/I,EAAO+I,iBAAiB3I,GAAOA,EAAI4I,eAKrE,IAUTC,SAAW,SAAU7I,EAAK8I,EAAQC,EAAWC,GAE5C,IAAIC,EAAWF,EAAY,YAAc,GACrCG,EAAY,KAEhB,IAAK,IAAI7D,KAAQyD,EAChB,GAAIA,EAAO1D,eAAeC,GAAO,CAChC,IAAI8D,EAAS,KAEQ,OAAjBL,EAAOzD,IAGL6D,IAEJA,EAAYjJ,EAAIuF,QAAQxF,EAAK,cAE1BkJ,GAAaA,EAAU9D,eAAeC,KAEzC8D,EAASD,EAAU7D,MAMhB2D,IACEE,IAEJA,EAAYjJ,EAAIuF,QAAQxF,EAAK,YAAa,KAEtCkJ,EAAU9D,eAAeC,KAE7B6D,EAAU7D,GAAQrF,EAAIoJ,MAAM/D,KAG9B8D,EAASL,EAAOzD,IAGF,OAAX8D,GACHnJ,EAAIoJ,MAAMC,YAAYhE,EAAM8D,EAAQF,KAOxCK,SAAW,SAAUC,EAAGC,EAAGC,GAC1B,MAAO,MACL,IAAMC,KAAKC,MAAMJ,GAAGK,SAAS,KAAKC,QAAQ,IAC1C,IAAMH,KAAKC,MAAMH,GAAGI,SAAS,KAAKC,QAAQ,IAC1C,IAAMH,KAAKC,MAAMF,GAAGG,SAAS,KAAKC,QAAQ,IAC1CC,eAIHC,UAAY,SAAUR,EAAGC,EAAGC,EAAGO,GAC9B,MAAO,MACL,IAAMN,KAAKC,MAAMJ,GAAGK,SAAS,KAAKC,QAAQ,IAC1C,IAAMH,KAAKC,MAAMH,GAAGI,SAAS,KAAKC,QAAQ,IAC1C,IAAMH,KAAKC,MAAMF,GAAGG,SAAS,KAAKC,QAAQ,IAC1C,IAAMH,KAAKC,MAAU,IAAJK,GAASJ,SAAS,KAAKC,QAAQ,IAChDC,eAIHG,SAAW,SAAUV,EAAGC,EAAGC,GAC1B,MAAO,OACNC,KAAKC,MAAMJ,GAAK,IAChBG,KAAKC,MAAMH,GAAK,IAChBE,KAAKC,MAAMF,GACZ,KAIDS,UAAY,SAAUX,EAAGC,EAAGC,EAAGO,GAC9B,MAAO,QACNN,KAAKC,MAAMJ,GAAK,IAChBG,KAAKC,MAAMH,GAAK,IAChBE,KAAKC,MAAMF,GAAK,IACfC,KAAKC,MAA4C,KAArCK,QAA4B,EAAIA,IAAY,IAC1D,KAIDG,gBAmBKpK,EAjBJ,WAKC,IAJA,IAAIqK,EAAU,kBACVC,EAAW,CAAC,GAAI,WAAY,QAAS,MAAO,QAC5CC,EAAS1K,EAAOH,SAAS4D,cAAc,OAElClC,EAAI,EAAGA,EAAIkJ,EAASjJ,OAAQD,GAAK,EAAG,CAC5C,IAAIoJ,EAAUF,EAASlJ,GAAKiJ,EACxBI,EAASD,EAAU,2CAGvB,GADAD,EAAOlB,MAAMqB,WAAaD,EACtBF,EAAOlB,MAAMqB,WAChB,OAAOF,EAGT,OAAOH,EAGOM,GAER,WACN,OAAO3K,EAAW,IAAM4K,MAAMC,UAAUC,KAAKC,KAAK5F,UAAW,MAAQ,MAMvE6F,gBAAkB,SAAU/K,EAAKuE,GAChCtE,EAAI4I,SAAS7I,EAAK,CAACgL,gBAAkBzG,GAAS,OAI/C0G,aAAe,SAAUjL,EAAKuE,GAC7BtE,EAAI4I,SAAS7I,EAAK,CAACkL,aAAc3G,GAAS,UAI3C4G,cAAgB,SAAU7I,EAAG8I,GAC5B,IAAIC,EAAE,EAAGC,EAAE,EACPC,EAAOjJ,EAAEkJ,wBAGb,GAFAH,EAAIE,EAAKE,KACTH,EAAIC,EAAKG,KACJN,EAAoB,CACxB,IAAIO,EAAU1L,EAAI2L,aAClBP,GAAKM,EAAQ,GACbL,GAAKK,EAAQ,GAEd,MAAO,CAACN,EAAGC,IAIZO,eAAiB,SAAUvJ,GAC1B,MAAO,CAACA,EAAEwJ,YAAaxJ,EAAEyJ,eAK1BC,iBAAmB,SAAU1J,GAC5B,IAAI+I,EAAI,EAAGC,EAAI,EASf,YARgC,IAArBhJ,EAAE2J,gBAAkC3J,EAAE2J,eAAe7K,QAE/DiK,EAAI/I,EAAE2J,eAAe,GAAGC,QACxBZ,EAAIhJ,EAAE2J,eAAe,GAAGE,SACO,iBAAd7J,EAAE4J,UACnBb,EAAI/I,EAAE4J,QACNZ,EAAIhJ,EAAE6J,SAEA,CAAEd,EAAGA,EAAGC,EAAGA,IAKnBc,iBAAmB,SAAU9J,GAC5B,IACI+J,GADS/J,EAAEkE,QAAUlE,EAAEgK,YACHd,wBAIpBU,EAAU,EAAGC,EAAU,EAY3B,YAXgC,IAArB7J,EAAE2J,gBAAkC3J,EAAE2J,eAAe7K,QAE/D8K,EAAU5J,EAAE2J,eAAe,GAAGC,QAC9BC,EAAU7J,EAAE2J,eAAe,GAAGE,SACC,iBAAd7J,EAAE4J,UACnBA,EAAU5J,EAAE4J,QACZC,EAAU7J,EAAE6J,SAKN,CAAEd,EAFLa,EAAUG,EAAWZ,KAEVH,EADXa,EAAUE,EAAWX,MAK1BE,WAAa,WACZ,IAAIW,EAAM3M,EAAOH,SAAS+M,gBAC1B,MAAO,EACL5M,EAAO6M,aAAeF,EAAIG,aAAeH,EAAII,YAAc,IAC3D/M,EAAOgN,aAAeL,EAAIM,YAAcN,EAAIO,WAAa,KAK5DC,YAAc,WACb,IAAIR,EAAM3M,EAAOH,SAAS+M,gBAC1B,MAAO,CACL5M,EAAOoN,YAAcT,EAAIU,YACzBrN,EAAOsN,aAAeX,EAAIY,eAW7BC,QAAU,SAAU7D,EAAGC,EAAGC,GACzBF,GAAK,IACLC,GAAK,IACLC,GAAK,IACL,IAAIrF,EAAIsF,KAAK2D,IAAI3D,KAAK2D,IAAI9D,EAAEC,GAAGC,GAC3B6D,EAAI5D,KAAK6D,IAAI7D,KAAK6D,IAAIhE,EAAEC,GAAGC,GAC3BnI,EAAIgM,EAAIlJ,EACZ,GAAU,IAAN9C,EAAW,MAAO,CAAE,KAAM,EAAG,IAAMgM,GACvC,IAAIE,EAAIjE,IAAInF,EAAI,GAAGqF,EAAED,GAAGlI,EAAKkI,IAAIpF,EAAI,GAAGmF,EAAEE,GAAGnI,EAAI,GAAGkI,EAAED,GAAGjI,EACzD,MAAO,CACN,IAAU,IAAJkM,EAAM,EAAEA,GACPlM,EAAEgM,EAAT,IACA,IAAMA,IAWRG,QAAU,SAAUD,EAAGE,EAAGJ,GACzB,IAAIK,EAAWL,EAAI,IAAX,IAER,GAAU,OAANE,EACH,MAAO,CAAEG,EAAGA,EAAGA,GAGhBH,GAAK,GACLE,GAAK,IAEL,IAAIvM,EAAIuI,KAAKkE,MAAMJ,GAEflM,EAAIqM,GAAK,EAAID,GACbtJ,EAAIuJ,GAAK,EAAID,GAFTvM,EAAE,EAAIqM,EAAErM,EAAI,GAAGqM,EAAErM,KAGzB,OAAQA,GACP,KAAK,EACL,KAAK,EAAG,MAAO,CAACwM,EAAEvJ,EAAE9C,GACpB,KAAK,EAAG,MAAO,CAAC8C,EAAEuJ,EAAErM,GACpB,KAAK,EAAG,MAAO,CAACA,EAAEqM,EAAEvJ,GACpB,KAAK,EAAG,MAAO,CAAC9C,EAAE8C,EAAEuJ,GACpB,KAAK,EAAG,MAAO,CAACvJ,EAAE9C,EAAEqM,GACpB,KAAK,EAAG,MAAO,CAACA,EAAErM,EAAE8C,KAKtByJ,iBAAmB,SAAUtL,GAC5B,IAKIjB,EALAwM,EAAM,CACTC,KAAM,KACNC,OAAQ,MAKT,GAAI1M,EAAIiB,EAAIV,MAAM,4BAA6B,CAG9C,GAAoB,IAAhBP,EAAE,GAAGF,OAER0M,EAAIE,OAAS,OACbF,EAAIC,KAAO,CACVE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1BoE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1BoE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1BoE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAAM,UAG3B,GAAoB,IAAhBvI,EAAE,GAAGF,OAEf0M,EAAIE,OAAS,MACbF,EAAIC,KAAO,CACVE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1BoE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1BoE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1B,UAGK,IAAoB,IAAhBvI,EAAE,GAAGF,OAWf,OAAO,EATP0M,EAAIE,OAAS,MACbF,EAAIC,KAAO,CACVE,SAAS3M,EAAE,GAAG4M,OAAO,GAAK5M,EAAE,GAAG4M,OAAO,GAAG,IACzCD,SAAS3M,EAAE,GAAG4M,OAAO,GAAK5M,EAAE,GAAG4M,OAAO,GAAG,IACzCD,SAAS3M,EAAE,GAAG4M,OAAO,GAAK5M,EAAE,GAAG4M,OAAO,GAAG,IACzC,MAOF,OAAOJ,EAGR,GAAIxM,EAAIiB,EAAIV,MAAM,6BAA8B,CAG/C,IAEIsM,EAAIC,EAAIC,EAAIC,EAFZC,EAAMjN,EAAE,GAAG0G,MAAM,KACjBwG,EAAK,kCAET,GACCD,EAAInN,QAAU,IACb+M,EAAKI,EAAI,GAAG1M,MAAM2M,MAClBJ,EAAKG,EAAI,GAAG1M,MAAM2M,MAClBH,EAAKE,EAAI,GAAG1M,MAAM2M,IAiBnB,OAfAV,EAAIE,OAAS,MACbF,EAAIC,KAAO,CACVU,WAAWN,EAAG,KAAO,EACrBM,WAAWL,EAAG,KAAO,EACrBK,WAAWJ,EAAG,KAAO,EACrB,MAIAE,EAAInN,QAAU,IACbkN,EAAKC,EAAI,GAAG1M,MAAM2M,MAEnBV,EAAIE,OAAS,OACbF,EAAIC,KAAK,GAAKU,WAAWH,EAAG,KAAO,GAE7BR,EAIT,OAAO,GAIRY,kBAAoB,SAAUC,GAC7B,IAAIC,EAAO,GAEU,iBAAVD,EAEVA,EAAM5G,QAAQ,iDAAiD,SAAUpE,GACxEiL,EAAK3L,KAAKU,MAEDgH,MAAMkE,QAAQF,KACxBC,EAAOD,GAOR,IAFA,IAAIG,EAAS,GAEJ3N,EAAI,EAAGA,EAAIyN,EAAKxN,OAAQD,IAAK,CACrC,IAAI4N,EAAQ9O,EAAI4N,iBAAiBe,EAAKzN,IAClC4N,GACHD,EAAO7L,KAAK8L,GAId,OAAOD,GAIRE,wBAA0B,SAAUF,GACnC,IAAK,IAAI3N,EAAI,EAAGA,EAAI2N,EAAO1N,OAAQD,IAAK,CACvC,IAAI6I,EAAI8E,EAAO3N,GAAG4M,KAAK,GACvB,GAAU,OAAN/D,GAAcA,EAAI,EACrB,OAAO,EAGT,OAAO,GAIRiF,cAAgB,SAAUjB,GACzB,OAAQA,EAAOvM,eACf,IAAK,OACL,IAAK,OACJ,OAAO,EAER,OAAO,GAQRyN,sBAAwB,SAAUC,GACjC,IAAIC,EAAMxP,EAAOyP,kBAAoB,EACrCF,EAAOG,OAASF,EAChBD,EAAOI,QAAUH,EACPD,EAAOK,WAAW,MACxBC,MAAML,EAAKA,IAIhBM,sBAAwB,SAAUX,EAAOY,EAAcC,EAAWC,GAEjE,IAAIC,EAAOpG,KAAKC,MAAM1J,EAAIO,IAAIuP,iBAAiB3O,QAC3C4O,EAAS/P,EAAIO,IAAIyP,eACjBC,EAAWjQ,EAAIO,IAAI2P,iBACnBC,EAAWnQ,EAAIO,IAAI6P,iBAEnBC,EAASV,GAAiC,EAATI,EACjCO,EAAmB,EAATP,EAEVb,EAASlP,EAAIiD,SAAS,UACtBsN,EAAMrB,EAAOK,WAAW,MAE5BL,EAAOG,MAAQgB,EACfnB,EAAOI,OAASgB,EACZV,GACH5P,EAAIiP,sBAAsBC,GAI3BqB,EAAIC,UAAYP,EAChBM,EAAIE,SAAS,EAAG,EAAGJ,EAAQC,GAG3BC,EAAIC,UAAYL,EAChB,IAAK,IAAI/E,EAAI,EAAGA,EAAIiF,EAAQjF,GAAc,EAAT2E,EAChCQ,EAAIE,SAASrF,EAAG,EAAG2E,EAAQA,GAC3BQ,EAAIE,SAASrF,EAAI2E,EAAQA,EAAQA,EAAQA,GAGtCjB,IAEHyB,EAAIC,UAAY1B,EAChByB,EAAIE,SAAS,EAAG,EAAGJ,EAAQC,IAG5B,IAAII,EAAQ,KACZ,OAAQhB,GACP,IAAK,OACJgB,EAAQ,EACRH,EAAII,UAAU,EAAG,EAAGd,EAAK,EAAGS,GAC5B,MACD,IAAK,QACJI,EAAQL,EAASR,EACjBU,EAAII,UAAUN,EAAUR,EAAK,EAAI,EAAGA,EAAK,EAAGS,GAG9C,GAAc,OAAVI,EAAgB,CACnBH,EAAIK,UAAY,EAChB,IAAK,IAAI1P,EAAI,EAAGA,EAAIlB,EAAIO,IAAIuP,iBAAiB3O,OAAQD,GAAK,EACzDqP,EAAIM,YACJN,EAAIO,YAAc9Q,EAAIO,IAAIuP,iBAAiB5O,GAC3CqP,EAAIQ,OAAO,GAAML,EAAQxP,EAAG,GAC5BqP,EAAIS,OAAO,GAAMN,EAAQxP,EAAGoP,GAC5BC,EAAIU,SAIN,MAAO,CACN/B,OAAQA,EACRG,MAAOgB,EACPf,OAAQgB,IAMVY,wBAA0B,SAAUpC,EAAOqC,EAAU9B,GACpD,IAAI+B,EAkBJ,OAfCA,EADGD,GAAY9B,EACN,CACR,MAAQ,CAAC7D,KAAO,QAAS6F,MAAQ,QAAQF,GACzCrC,EAAQ,MACRA,EAAQ,IAAMO,EAAQ,KACtB,kBAAoBA,EAAQ,GAAK,KACjC,sBAGQ,CACR,WACAP,EAAQ,MACRA,EAAQ,SAIH9O,EAAIkK,eAAeoH,MAAM1R,KAAMwR,IAIvCG,eAAiB,WAEhB,GAAKvR,EAAIwR,QAAWxR,EAAIwR,OAAOC,MAA/B,CAIA,IAEIC,EAAIC,EAFJC,EAAU5R,EAAIwR,OAAOC,MAIrBG,EAAQC,OAGXH,EAAK1R,EAAIkL,cAAc0G,EAAQ7O,eAAe,GAC9C4O,EAAK,CAAC,EAAG,KAETD,EAAK1R,EAAIkL,cAAc0G,EAAQ7O,eAC/B4O,EAAK3R,EAAI2L,cAGV,IAII5B,EAAGP,EAAGsI,EAJNC,EAAK/R,EAAI4L,eAAegG,EAAQ7O,eAChCiP,EAAKhS,EAAI8M,cACTmF,EAAKjS,EAAIkS,cAAcN,GACvBO,EAAK,CAACF,EAAGG,QAASH,EAAGI,SAEzB,OAAQT,EAAQT,SAAS3P,eACxB,IAAK,OAAQuI,EAAE,EAAGP,EAAE,EAAGsI,GAAG,EAAG,MAC7B,IAAK,QAAQ/H,EAAE,EAAGP,EAAE,EAAGsI,EAAE,EAAG,MAC5B,IAAK,MAAQ/H,EAAE,EAAGP,EAAE,EAAGsI,GAAG,EAAG,MAC7B,QAAa/H,EAAE,EAAGP,EAAE,EAAGsI,EAAE,EAE1B,IAAIQ,GAAKP,EAAGvI,GAAG2I,EAAG3I,IAAI,EAGtB,GAAKoI,EAAQW,cAMRC,EAAK,EACPb,EAAG5H,GAAG2H,EAAG3H,GAAGoI,EAAGpI,GAAKiI,EAAGjI,KACrB4H,EAAG5H,GAAG2H,EAAG3H,GAAGgI,EAAGhI,GAAG,EAAIiI,EAAGjI,GAAG,GAAK2H,EAAG3H,GAAGgI,EAAGhI,GAAGoI,EAAGpI,IAAM,EAAI2H,EAAG3H,GAAGgI,EAAGhI,GAAGoI,EAAGpI,GAC3E2H,EAAG3H,IACH4H,EAAGnI,GAAGkI,EAAGlI,GAAGuI,EAAGvI,GAAG2I,EAAG3I,GAAG8I,EAAEA,EAAER,EAAIE,EAAGxI,IACjCmI,EAAGnI,GAAGkI,EAAGlI,GAAGuI,EAAGvI,GAAG,EAAIwI,EAAGxI,GAAG,GAAKkI,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,GAAK,EAAIJ,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,EAAIJ,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,EAC/FJ,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,GAAK,EAAIJ,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,EAAIJ,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,QAXhE,IAAIU,EAAK,CACRd,EAAG3H,GACH2H,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,GAalB,IAAI1G,EAAIoH,EAAGzI,GACPsB,EAAImH,EAAGhJ,GACPiJ,EAAgBb,EAAQC,MAAQ,QAAU,WAC1Ca,GACFF,EAAG,GAAKL,EAAG,GAAKT,EAAG,IAAMc,EAAG,GAAKd,EAAG,GAAKK,EAAG,KAC5CS,EAAG,GAAKL,EAAG,GAAKT,EAAG,GAAKK,EAAG,GAE7B/R,EAAI2S,cAAcf,EAASxG,EAAGC,EAAGoH,EAAeC,KAIjDC,cAAgB,SAAUf,EAASxG,EAAGC,EAAGoH,EAAeC,GACvD,IAAIE,EAAUF,EAAiB,EAAId,EAAQiB,WAE3C7S,EAAIwR,OAAOsB,KAAK3J,MAAMgI,SAAWsB,EACjCzS,EAAIwR,OAAOsB,KAAK3J,MAAMqC,KAAOJ,EAAI,KACjCpL,EAAIwR,OAAOsB,KAAK3J,MAAMsC,IAAMJ,EAAI,KAEhCrL,EAAIgL,aACHhL,EAAIwR,OAAOuB,KACXnB,EAAQoB,OACP,IAAIhT,EAAIH,UAAU,EAAG+S,EAAShB,EAAQiB,WAAY,EAAGjB,EAAQqB,aAC7D,OAIHf,cAAgB,SAAUN,GACzB,IAAIsB,EAAI,EAAItB,EAAQuB,mBAAqBvB,EAAQvC,MAC7C9B,EAAI,EAAIqE,EAAQuB,mBAAqBvB,EAAQtC,OAE7C8D,EAAc,EAAIxB,EAAQuB,mBAAqB,EAAInT,EAAIqT,kBAAkBzB,GAAWA,EAAQ0B,WAE5FtT,EAAIuT,iBAAiB3B,KACxBsB,GAAKE,GAEFxB,EAAQ4B,oBACXN,GAAKE,GAGN,IAAIK,EAAMzT,EAAI0T,eAAe9B,EAASsB,GAElCO,EAAInE,SACP/B,GAAKkG,EAAInE,OAASsC,EAAQ+B,SAEvB/B,EAAQgC,cACXrG,GAAK,EAAIqE,EAAQuB,mBAAqBvB,EAAQ+B,QAAU/B,EAAQiC,cAGjE,IAAIC,EAAKZ,EAAK,EAAItB,EAAQ+B,QACtBI,EAAKxG,EAAK,EAAIqE,EAAQ+B,QAE1B,MAAO,CACNK,SAAUd,EACVe,SAAU1G,EACV2G,QAASJ,EACTK,QAASJ,EACT3B,QAAS0B,EAAM,EAAIlC,EAAQwC,YAC3B/B,QAAS0B,EAAM,EAAInC,EAAQwC,YAC3BC,QAASZ,IAKXC,eAAiB,SAAU9B,EAASvC,GACnC,IAAIiF,EAAO,EAAGC,EAAO,EAAGC,EAAQ,EAAGC,EAAQ,EAAGnF,EAAS,EACnDoF,EAAc9C,EAAQ+C,SAAW/C,EAAQ+C,SAASxT,OAAS,EAiB/D,OAfIuT,IAEHH,GADAD,EAAO1C,EAAQgD,aACD,EAAInL,KAAKoL,KAAKH,EAAcJ,GAAQ,EAGlDE,EAAQ/K,KAAK6D,IAAI,EAAG7D,KAAKkE,OAAO0B,GAAUiF,EAAO,GAAK1C,EAAQkD,gBAAmBR,IACjFG,EAAQ7C,EAAQmD,cAAgBtL,KAAK2D,IAAIwE,EAAQmD,cAAeP,GAASA,GAGtED,IACHjF,EACCiF,EAAOE,GACNF,EAAO,GAAK3C,EAAQkD,gBAGhB,CACNR,KAAMA,EACNC,KAAMA,EACNC,MAAOA,EACPC,MAAOA,EACPpF,MAAOA,EACPC,OAAQA,IAKV+D,kBAAoB,SAAUzB,GAC7B,OAAOnI,KAAK6D,IACXsE,EAAQ+B,QAAU,EACjB,EAAI/B,EAAQoD,mBAAqBpD,EAAQqD,iBAAoBrD,EAAQuB,qBAKxE+B,eAAiB,SAAUtD,GAC1B,OAAQA,EAAQuD,KAAKlH,OAAO,GAAGzM,eAC9B,IAAK,IAAK,MAAO,IAElB,MAAO,KAIR+R,iBAAmB,SAAU3B,GAC5B,GAAIA,EAAQuD,KAAKhU,OAAS,EACzB,OAAQyQ,EAAQuD,KAAKlH,OAAO,GAAGzM,eAC9B,IAAK,IAAK,MAAO,IACjB,IAAK,IAAK,MAAO,IAGnB,OAAO,MAKR4T,gBAAkB,SAAUxD,EAASxM,GACpC,GAAKwM,EAAQxM,GAAb,CAGA,IAAIiQ,EAAW,KAEf,GAA6B,iBAAlBzD,EAAQxM,GAElB,IACCiQ,EAAW,IAAI1S,SAAUiP,EAAQxM,IAChC,MAAO/C,GACRN,QAAQuT,MAAMjT,QAIfgT,EAAWzD,EAAQxM,GAGhBiQ,GACHA,EAASxK,KAAK+G,KAOhB2D,cAAgB,SAAUC,GAEzB,IADA,IAAI1S,EAAO9C,EAAI6C,eACN3B,EAAI,EAAGA,EAAI4B,EAAK3B,OAAQD,GAAK,EACrC4B,EAAK5B,GAAGuU,QAAQD,IAKlBE,kBAAoB,CACnBC,MAAO,YACPC,MAAO,aAERC,iBAAmB,CAClBF,MAAO,UACPC,MAAO,YAIRE,eAAiB,KACjBrP,gBAAkB,KAGlBsP,gBAAkB,SAAU1T,IACyB,IAAhD,CAAC,MAAO,UAAU+B,QAAQpE,EAAIsH,SAASjF,KACtCrC,EAAIwR,QAAUxR,EAAIwR,OAAOC,OAC5BzR,EAAIwR,OAAOC,MAAMuE,WAMpBC,eAAiB,SAAU5T,GAC1BrC,EAAIuR,kBAIL2E,eAAiB,SAAU7T,GAC1BrC,EAAIuR,kBAIL4E,eAAiB,SAAU9T,GAEtBrC,EAAIwR,QAAUxR,EAAIwR,OAAOC,OAC5BzR,EAAIwR,OAAOC,MAAMuE,WAKnBI,oBAAsB,SAAU/T,GAC/B,IAAIkE,EAASlE,EAAEkE,QAAUlE,EAAEgK,WAEvB9F,EAAOtG,SAAWsG,EAAOtG,mBAAmBD,EAAIO,IAC/CgG,EAAOtG,QAAQoW,cAAgB9P,EAAO+P,UACzC/P,EAAOtG,QAAQsW,OAENvW,EAAIuF,QAAQgB,EAAQ,OAChBvG,EAAIuF,QAAQgB,EAAQ,YAGjCvG,EAAIwW,sBAAsBnU,EAAGkE,EAAQvG,EAAIuF,QAAQgB,EAAQ,WAAY,SAIlEvG,EAAIwR,QAAUxR,EAAIwR,OAAOC,OAC5BzR,EAAIwR,OAAOC,MAAMuE,WAMpBS,mBAAqB,SAAUpU,GAC9B,IAAIkE,EAASlE,EAAEkE,QAAUlE,EAAEgK,WAEvBrM,EAAIuF,QAAQgB,EAAQ,YACvBvG,EAAIwW,sBAAsBnU,EAAGkE,EAAQvG,EAAIuF,QAAQgB,EAAQ,WAAY,UAKvEiQ,sBAAwB,SAAUnU,EAAGkE,EAAQmQ,EAAaC,GACzD,IAAI/E,EAAU5R,EAAIuF,QAAQgB,EAAQ,YAElCvG,EAAIoG,eAAe/D,GACnBrC,EAAIsG,cAAcC,GAElB,IAAIqQ,EAAqB,SAAUtK,EAAKuK,GACvC7W,EAAI8F,iBAAiB,OAAQwG,EAAKtM,EAAI0V,kBAAkBiB,GACvD3W,EAAI8W,sBAAsBzU,EAAGkE,EAAQmQ,EAAaC,EAAaE,IAChE7W,EAAI8F,iBAAiB,OAAQwG,EAAKtM,EAAI6V,iBAAiBc,GACtD3W,EAAI+W,qBAAqB1U,EAAGkE,EAAQmQ,EAAaC,KAKnD,GAFAC,EAAmBjX,EAAOH,SAAU,CAAC,EAAG,IAEpCG,EAAOqX,QAAUrX,EAAOsX,aAAc,CACzC,IAAI3L,EAAO3L,EAAOsX,aAAa1L,wBAC3B2L,EAAM,EAAE5L,EAAKE,MAAOF,EAAKG,KAC7BmL,EAAmBjX,EAAOqX,OAAOrX,OAAOH,SAAU0X,GAGnD,IAAIC,EAAMnX,EAAI+L,iBAAiB1J,GAC3B+U,EAAMpX,EAAImM,iBAAiB9J,GAM/B,OALArC,EAAI8V,eAAiB,CACpB1K,EAAG+L,EAAI/L,EAAIgM,EAAIhM,EACfC,EAAG8L,EAAI9L,EAAI+L,EAAI/L,GAGRqL,GACR,IAAK,MAEkC,MAAlC1W,EAAIuT,iBAAiB3B,IAA2C,IAAvBA,EAAQyF,SAAShK,GAC7DuE,EAAQ0F,SAAS,KAAM,KAAM,IAAK,MAEnCtX,EAAIuX,OAAO3F,EAASvP,EAAG,EAAG,GAC1B,MAED,IAAK,MACJrC,EAAIwX,OAAO5F,EAASvP,EAAG,GACvB,MAED,IAAK,OACJrC,EAAIyX,QAAQ7F,EAASvP,EAAG,GAGzBuP,EAAQ6D,QAAQ,UAIjBqB,sBAAwB,SAAUzU,EAAGkE,EAAQmQ,EAAaC,EAAaE,GACtE,OAAO,SAAUxU,GAChB,IAAIuP,EAAU5R,EAAIuF,QAAQgB,EAAQ,YAClC,OAAQmQ,GACR,IAAK,MACJ1W,EAAIuX,OAAO3F,EAASvP,EAAGwU,EAAO,GAAIA,EAAO,IACzC,MAED,IAAK,MACJ7W,EAAIwX,OAAO5F,EAASvP,EAAGwU,EAAO,IAC9B,MAED,IAAK,OACJ7W,EAAIyX,QAAQ7F,EAASvP,EAAGwU,EAAO,IAGhCjF,EAAQ6D,QAAQ,WAKlBsB,qBAAuB,SAAU1U,EAAGkE,EAAQmQ,EAAaC,GACxD,OAAO,SAAUtU,GAChB,IAAIuP,EAAU5R,EAAIuF,QAAQgB,EAAQ,YAClCvG,EAAIkG,kBAAkB,QACtBlG,EAAI0G,gBAKJkL,EAAQ6D,QAAQ,SAChB7D,EAAQ6D,QAAQ,YAKlBiC,qBAAuB,SAAUrV,GAChC,IAAIkE,EAASlE,EAAEsV,cACX/F,EAAU5R,EAAIuF,QAAQgB,EAAQ,YAC9BuI,EAAQ9O,EAAIuF,QAAQgB,EAAQ,SAGK,QAAjCqL,EAAQ7D,OAAOvM,gBAClBoQ,EAAQgG,WAAW9I,EAAMf,QACpB/N,EAAIgP,cAAc4C,EAAQiG,eAC9B/I,EAAMhB,KAAK,GAAK,IAKI,OAAlBgB,EAAMhB,KAAK,MACmB,IAA7B8D,EAAQkG,kBAA2D,SAA7BlG,EAAQkG,kBAA+BlG,EAAQmG,2BACxFjJ,EAAMhB,KAAK,GAAK,GAIlB8D,EAAQoG,SAAS1G,MAAMM,EAAS9C,EAAMhB,MAEtC8D,EAAQ6D,QAAQ,SAChB7D,EAAQ6D,QAAQ,UAEZ7D,EAAQqG,oBACXrG,EAAQsG,QAKVX,OAAS,SAAU3F,EAASvP,EAAG8V,EAAMC,GACpC,IAAIC,EAAarY,EAAI+L,iBAAiB1J,GAClC+I,EAAI+M,EAAOE,EAAWjN,EAAIpL,EAAI8V,eAAe1K,EAAIwG,EAAQ+B,QAAU/B,EAAQuB,mBAC3E9H,EAAI+M,EAAOC,EAAWhN,EAAIrL,EAAI8V,eAAezK,EAAIuG,EAAQ+B,QAAU/B,EAAQuB,mBAE3EmF,EAAOlN,GAAK,KAAOwG,EAAQvC,MAAQ,IACnCkJ,EAAO,IAAOlN,GAAK,KAAOuG,EAAQtC,OAAS,IAE/C,OAAQtP,EAAIkV,eAAetD,IAC3B,IAAK,IAAKA,EAAQ0F,SAASgB,EAAMC,EAAM,KAAM,MAAO,MACpD,IAAK,IAAK3G,EAAQ0F,SAASgB,EAAM,KAAMC,EAAM,QAK9Cf,OAAS,SAAU5F,EAASvP,EAAG+V,GAC9B,IAEIG,EAAO,KADHH,EADSpY,EAAI+L,iBAAiB1J,GACZgJ,EAAIrL,EAAI8V,eAAezK,EAAIuG,EAAQ+B,QAAU/B,EAAQuB,qBACxD,KAAOvB,EAAQtC,OAAS,IAE/C,OAAQtP,EAAIuT,iBAAiB3B,IAC7B,IAAK,IAAKA,EAAQ0F,SAAS,KAAMiB,EAAM,KAAM,MAAO,MACpD,IAAK,IAAK3G,EAAQ0F,SAAS,KAAM,KAAMiB,EAAM,QAK9Cd,QAAU,SAAU7F,EAASvP,EAAG+V,GAC/B,IAEIG,EAAO,GADHH,EADSpY,EAAI+L,iBAAiB1J,GACZgJ,EAAIrL,EAAI8V,eAAezK,EAAIuG,EAAQ+B,QAAU/B,EAAQuB,qBACxD,GAAOvB,EAAQtC,OAAS,IAE/C,GAAIiJ,EAAO,EAAK,CAEf,IAAIC,EAAM5G,EAAQiG,YACmB,QAAjCjG,EAAQ7D,OAAOvM,eAA4BxB,EAAIgP,cAAcwJ,IAChE5G,EAAQgG,WAAmB,QAARY,EAAgB,OAAS,QAI9C5G,EAAQ0F,SAAS,KAAM,KAAM,KAAMiB,IAIpCE,gBAAkB,WAEjB,IAAI5K,EAAM,CACT9N,IAAK,KACL2Y,KAAM,MAGHxJ,EAASlP,EAAIiD,SAAS,UACtBsN,EAAMrB,EAAOK,WAAW,MAsC5B,OAHA1B,EAAI9N,IAAMmP,EACVrB,EAAI6K,KAlCW,SAAUrJ,EAAOC,EAAQ/N,GACvC2N,EAAOG,MAAQA,EACfH,EAAOI,OAASA,EAEhBiB,EAAII,UAAU,EAAG,EAAGzB,EAAOG,MAAOH,EAAOI,QAEzC,IAAIqJ,EAAQpI,EAAIqI,qBAAqB,EAAG,EAAG1J,EAAOG,MAAO,GACzDsJ,EAAME,aAAa,EAAO,QAC1BF,EAAME,aAAa,EAAI,EAAG,QAC1BF,EAAME,aAAa,EAAI,EAAG,QAC1BF,EAAME,aAAa,GAAO,QAC1BF,EAAME,aAAa,EAAI,EAAG,QAC1BF,EAAME,aAAa,EAAI,EAAG,QAC1BF,EAAME,aAAa,EAAO,QAE1BtI,EAAIC,UAAYmI,EAChBpI,EAAIE,SAAS,EAAG,EAAGvB,EAAOG,MAAOH,EAAOI,QAExC,IAAIwJ,EAAQvI,EAAIqI,qBAAqB,EAAG,EAAG,EAAG1J,EAAOI,QACrD,OAAQ/N,EAAKC,eACb,IAAK,IACJsX,EAAMD,aAAa,EAAG,uBACtBC,EAAMD,aAAa,EAAG,uBACtB,MACD,IAAK,IACJC,EAAMD,aAAa,EAAG,iBACtBC,EAAMD,aAAa,EAAG,iBAGvBtI,EAAIC,UAAYsI,EAChBvI,EAAIE,SAAS,EAAG,EAAGvB,EAAOG,MAAOH,EAAOI,SAMlCzB,GAIRkL,qBAAuB,WAEtB,IAAIlL,EAAM,CACT9N,IAAK,KACL2Y,KAAM,MAGHxJ,EAASlP,EAAIiD,SAAS,UACtBsN,EAAMrB,EAAOK,WAAW,MAmB5B,OAHA1B,EAAI9N,IAAMmP,EACVrB,EAAI6K,KAfW,SAAUrJ,EAAOC,EAAQ0J,EAAQC,GAC/C/J,EAAOG,MAAQA,EACfH,EAAOI,OAASA,EAEhBiB,EAAII,UAAU,EAAG,EAAGzB,EAAOG,MAAOH,EAAOI,QAEzC,IAAI4J,EAAO3I,EAAIqI,qBAAqB,EAAG,EAAG,EAAG1J,EAAOI,QACpD4J,EAAKL,aAAa,EAAGG,GACrBE,EAAKL,aAAa,EAAGI,GAErB1I,EAAIC,UAAY0I,EAChB3I,EAAIE,SAAS,EAAG,EAAGvB,EAAOG,MAAOH,EAAOI,SAMlCzB,GAIRsL,sBAAwB,WAEvB,IAAItL,EAAM,CACT9N,IAAK,KACL2Y,KAAM,MAGHxJ,EAASlP,EAAIiD,SAAS,UACtBsN,EAAMrB,EAAOK,WAAW,MAoC5B,OAHA1B,EAAI9N,IAAMmP,EACVrB,EAAI6K,KAhCW,SAAUrJ,EAAOC,EAAQR,GACvCI,EAAOG,MAAQA,EACfH,EAAOI,OAASA,EAEhBiB,EAAII,UAAU,EAAG,EAAGzB,EAAOG,MAAOH,EAAOI,QAEzC,IAAIS,EAASb,EAAOG,MAAQ,EACxBY,EAAWjQ,EAAIO,IAAI2P,iBACnBC,EAAWnQ,EAAIO,IAAI6P,iBAMvB,GAHAG,EAAIC,UAAYP,EAChBM,EAAIE,SAAS,EAAG,EAAGvB,EAAOG,MAAOH,EAAOI,QAEpCS,EAAS,EACZ,IAAK,IAAI1E,EAAI,EAAGA,EAAI6D,EAAOI,OAAQjE,GAAc,EAAT0E,EAEvCQ,EAAIC,UAAYL,EAChBI,EAAIE,SAAS,EAAGpF,EAAG0E,EAAQA,GAC3BQ,EAAIE,SAASV,EAAQ1E,EAAI0E,EAAQA,EAAQA,GAI3C,IAAImJ,EAAO3I,EAAIqI,qBAAqB,EAAG,EAAG,EAAG1J,EAAOI,QACpD4J,EAAKL,aAAa,EAAG/J,GACrBoK,EAAKL,aAAa,EAAG,iBAErBtI,EAAIC,UAAY0I,EAChB3I,EAAIE,SAAS,EAAG,EAAGvB,EAAOG,MAAOH,EAAOI,SAMlCzB,GAIRhO,WACKA,EAAY,SAAUuZ,EAASxG,EAASyG,EAAMC,EAAQxK,EAAOyK,GAChE3Z,KAAKwZ,QAAUA,EACfxZ,KAAKgT,QAAUA,EACfhT,KAAKyZ,KAAOA,EACZzZ,KAAK0Z,OAASA,EACd1Z,KAAKkP,MAAQA,EACblP,KAAK2Z,QAAUA,GAGhB1Z,EAAU8K,UAAUhB,SAAW,WAC9B,IAAIgF,EAAO,CACVlF,KAAKC,MAAM9J,KAAKwZ,SAAW,KAC3B3P,KAAKC,MAAM9J,KAAKgT,SAAW,KAC3BnJ,KAAKC,MAAM9J,KAAKyZ,MAAQ,KACxB5P,KAAKC,MAAM9J,KAAK0Z,QAAU,KAC1B1Z,KAAKkP,OAKN,OAHIlP,KAAK2Z,OACR5K,EAAK3L,KAAK,SAEJ2L,EAAK/D,KAAK,MAGX/K,GAIR2Z,MAAQ,CACPC,WAAa,EACbC,WAAa,EACbC,aAAe,GAIhBC,SAAW,CACV7L,OAAQ,CAAC,OAAQ,MAAO,MAAO,OAAQ,MAAO,QAC9C8L,gBAAiB,CAAC,OAAQ,SAC1B1E,KAAM,CAAC,MAAO,MAAO,KAAM,MAC3BhE,SAAU,CAAC,OAAQ,QAAS,MAAO,UACnC2I,aAAc,CAAC,QAAQ,GAAM,GAC7BhC,iBAAkB,CAAC,QAAQ,GAAM,IAIlCiC,eAAiB,CAEhBC,aAAgB,iBAChBC,aAAgB,UAChBC,mBAAsB,aACtBC,SAAY,cACZC,WAAc,qBACdC,WAAc,qBACdC,OAAU,MAIXrY,QAAU,iCAUV1B,IAAM,SAAUwC,EAAeb,GAE9B,IAAIqY,EAAO3a,KAurBX,SAAS4a,EAAWC,EAAQnW,GAC3B,GAAsB,iBAAXmW,EACV,MAAM,IAAI/a,MAAM,kCAAoC+a,GAIrD,GAAIza,EAAI4Z,SAASzU,eAAesV,KACV,iBAAVnW,IACVA,EAAQA,EAAM9C,gBAE8B,IAAzCxB,EAAI4Z,SAASa,GAAQrW,QAAQE,IAChC,MAAM,IAAI5E,MAAM,WAAc+a,EAAS,wBAA2BnW,GAKpE,GAAItE,EAAI+Z,eAAe5U,eAAesV,GAAS,CAC9C,IAAIC,EAASD,EACTE,EAAS3a,EAAI+Z,eAAeU,GAChC,IAAIE,EAMH,MAAM,IAAIjb,MAAM,WAAc+a,EAAS,mBAJvC1Y,QAAQC,KAAK,iDAAuDhC,EAAIiC,QAASyY,EAAQC,GACzFF,EAASE,EAOX,IAAIC,EAAS,QAAUH,EAEvB,GAA4B,mBAAjBF,EAAKK,GAEf,OADAL,EAAKK,GAAQtW,IACN,EAED,GAAImW,KAAUF,EAEpB,OADAA,EAAKE,GAAUnW,GACR,EAGR,MAAM,IAAI5E,MAAM,sCAAwC+a,GAIzD,SAASI,EAAWJ,GACnB,GAAsB,iBAAXA,EACV,MAAM,IAAI/a,MAAM,kCAAoC+a,GAIrD,GAAIza,EAAI+Z,eAAe5U,eAAesV,GAAS,CAC9C,IAAIC,EAASD,EACTE,EAAS3a,EAAI+Z,eAAeU,GAChC,IAAIE,EAMH,MAAM,IAAIjb,MAAM,WAAc+a,EAAS,mBAJvC1Y,QAAQC,KAAK,iDAAuDhC,EAAIiC,QAASyY,EAAQC,GACzFF,EAASE,EAOX,IAAIG,EAAS,QAAUL,EAEvB,GAA4B,mBAAjBF,EAAKO,GACf,OAAOP,EAAKO,GAAQxW,OAEd,GAAImW,KAAUF,EACpB,OAAOA,EAAKE,GAGb,MAAM,IAAI/a,MAAM,sCAAwC+a,GAWzD,SAASM,IAKRR,EAAKS,8BAEAhb,EAAIwR,SACRxR,EAAIwR,OAAS,CACZC,MAAO,KACPqB,KAAO9S,EAAIiD,SAAS,OACpBgY,IAAMjb,EAAIiD,SAAS,OACnB8P,KAAO/S,EAAIiD,SAAS,OACpBiY,KAAOlb,EAAIiD,SAAS,OACpBkY,IAAMnb,EAAIiD,SAAS,OACnBmY,KAAOpb,EAAIiD,SAAS,OACpBoY,KAAOrb,EAAIiD,SAAS,OACpBqY,UAAYtb,EAAIyY,kBAChB8C,MAAQvb,EAAIiD,SAAS,OACrBuY,QAAUxb,EAAIiD,SAAS,OACvBwY,QAAUzb,EAAIiD,SAAS,OACvByY,QAAU1b,EAAIiD,SAAS,OACvB0Y,QAAU3b,EAAIiD,SAAS,OACvB2Y,IAAM5b,EAAIiD,SAAS,OACnB4Y,KAAO7b,EAAIiD,SAAS,OACpB6Y,KAAO9b,EAAIiD,SAAS,OACpB8Y,QAAU/b,EAAI+Y,uBACdiD,QAAUhc,EAAIiD,SAAS,OACvBgZ,SAAWjc,EAAIiD,SAAS,OACxBiZ,SAAWlc,EAAIiD,SAAS,OACxBkZ,SAAWnc,EAAIiD,SAAS,OACxBmZ,KAAOpc,EAAIiD,SAAS,OACpBoZ,MAAQrc,EAAIiD,SAAS,OACrBqZ,MAAQtc,EAAIiD,SAAS,OACrBsZ,SAAWvc,EAAImZ,wBACfqD,SAAWxc,EAAIiD,SAAS,OACxBwZ,UAAYzc,EAAIiD,SAAS,OACzByZ,UAAY1c,EAAIiD,SAAS,OACzB0Z,UAAY3c,EAAIiD,SAAS,OACzBwQ,IAAMzT,EAAIiD,SAAS,OACnB2Z,IAAM5c,EAAIiD,SAAS,OACnB4Z,KAAO7c,EAAIiD,SAAS,SAGrBjD,EAAIwR,OAAO2J,IAAI2B,YAAY9c,EAAIwR,OAAO8J,UAAUvb,KAChDC,EAAIwR,OAAO4J,KAAK0B,YAAY9c,EAAIwR,OAAO2J,KACvCnb,EAAIwR,OAAO+J,MAAMuB,YAAY9c,EAAIwR,OAAOgK,SACxCxb,EAAIwR,OAAO+J,MAAMuB,YAAY9c,EAAIwR,OAAOiK,SACxCzb,EAAIwR,OAAO+J,MAAMuB,YAAY9c,EAAIwR,OAAOkK,SACxC1b,EAAIwR,OAAO+J,MAAMuB,YAAY9c,EAAIwR,OAAOmK,SACxC3b,EAAIwR,OAAO4J,KAAK0B,YAAY9c,EAAIwR,OAAO+J,OACvCvb,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAO4J,MACtCpb,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAO6J,MAEtCrb,EAAIwR,OAAOoK,IAAIkB,YAAY9c,EAAIwR,OAAOuK,QAAQhc,KAC9CC,EAAIwR,OAAOqK,KAAKiB,YAAY9c,EAAIwR,OAAOoK,KACvC5b,EAAIwR,OAAOqK,KAAKiB,YAAY9c,EAAIwR,OAAO2K,UACvCnc,EAAIwR,OAAO2K,SAASW,YAAY9c,EAAIwR,OAAO0K,UAC3Clc,EAAIwR,OAAO0K,SAASY,YAAY9c,EAAIwR,OAAOyK,UAC3Cjc,EAAIwR,OAAOyK,SAASa,YAAY9c,EAAIwR,OAAOwK,SAC3Chc,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAOqK,MACtC7b,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAOsK,MAEtC9b,EAAIwR,OAAO4K,KAAKU,YAAY9c,EAAIwR,OAAO+K,SAASxc,KAChDC,EAAIwR,OAAO6K,MAAMS,YAAY9c,EAAIwR,OAAO4K,MACxCpc,EAAIwR,OAAO6K,MAAMS,YAAY9c,EAAIwR,OAAOmL,WACxC3c,EAAIwR,OAAOmL,UAAUG,YAAY9c,EAAIwR,OAAOkL,WAC5C1c,EAAIwR,OAAOkL,UAAUI,YAAY9c,EAAIwR,OAAOiL,WAC5Czc,EAAIwR,OAAOiL,UAAUK,YAAY9c,EAAIwR,OAAOgL,UAC5Cxc,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAO6K,OACtCrc,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAO8K,OAEtCtc,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAOiC,KAEtCzT,EAAIwR,OAAOoL,IAAIE,YAAY9c,EAAIwR,OAAOqL,MACtC7c,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAOoL,KAEtC5c,EAAIwR,OAAO0J,KAAK4B,YAAY9c,EAAIwR,OAAOyJ,KACvCjb,EAAIwR,OAAOsB,KAAKgK,YAAY9c,EAAIwR,OAAOuB,MACvC/S,EAAIwR,OAAOsB,KAAKgK,YAAY9c,EAAIwR,OAAO0J,MAEvClb,EAAIwR,OAAOsB,KAAKxS,iBAAiB,aAAcN,EAAIyW,qBAClDzW,EAAIwE,yBAA0B,CAACuY,SAAS,KAG1C,IAoSKC,EACAC,EArSDC,EAAIld,EAAIwR,OAER2L,IAAkBnd,EAAIuT,iBAAiBgH,GACvC6C,EAAqB7C,EAAK/G,kBAC1B6J,EAAard,EAAIkS,cAAcqI,GAC/B+C,EAAkB,EAAI/C,EAAKvF,mBAAqBuF,EAAKtF,iBAAmB,EAAIsF,EAAKgD,UACjFC,EAAiBxd,EAAIqT,kBAAkBkH,GACvCkD,EAAehU,KAAK2D,IACvBmN,EAAKkD,aACLhU,KAAKC,MAAM6Q,EAAK5G,QAAUlK,KAAKiU,KAIhCR,EAAEpK,KAAKnR,UAAY,sBACnBub,EAAEpK,KAAK3J,MAAMwU,MAAQ,OACrBT,EAAEpK,KAAK3J,MAAMkG,MAAQgO,EAAWjL,QAAU,KAC1C8K,EAAEpK,KAAK3J,MAAMmG,OAAS+N,EAAWhL,QAAU,KAC3C6K,EAAEpK,KAAK3J,MAAMyU,OAASrD,EAAKqD,OAG3BV,EAAEjC,IAAItZ,UAAY,iBAClBub,EAAEjC,IAAI9R,MAAMkG,MAAQgO,EAAWnJ,QAAU,KACzCgJ,EAAEjC,IAAI9R,MAAMmG,OAAS+N,EAAWlJ,QAAU,KAC1C+I,EAAEjC,IAAI9R,MAAMgI,SAAW,WAGvB+L,EAAEnK,KAAKpR,UAAY,wBACnBub,EAAEnK,KAAK5J,MAAMgI,SAAW,WACxB+L,EAAEnK,KAAK5J,MAAMqC,KAAO,IACpB0R,EAAEnK,KAAK5J,MAAMsC,IAAM,IACnByR,EAAEnK,KAAK5J,MAAMkG,MAAQ,OACrB6N,EAAEnK,KAAK5J,MAAMmG,OAAS,OACtBtP,EAAI8K,gBAAgBoS,EAAEnK,KAAM0K,EAAe,MAG3CP,EAAEhC,KAAKvZ,UAAY,wBACnBub,EAAEhC,KAAK/R,MAAMgI,SAAW,WACxB+L,EAAEhC,KAAK/R,MAAM0U,OAAStD,EAAKnG,YAAc,WACzC8I,EAAEhC,KAAK/R,MAAM2U,YAAcvD,EAAKuD,YAChCZ,EAAEhC,KAAK/R,MAAMqB,WAAa+P,EAAKwD,gBAC/B/d,EAAI8K,gBAAgBoS,EAAEhC,KAAMuC,EAAe,MAK3CP,EAAE7B,KAAKlS,MAAMqB,WAAa,mBAC1B0S,EAAEpB,KAAK3S,MAAMqB,WAAa,mBAC1B0S,EAAEZ,MAAMnT,MAAMqB,WAAa,mBAE3B0S,EAAE7B,KAAKlS,MAAM6U,QACbd,EAAEpB,KAAK3S,MAAM6U,QACbd,EAAEZ,MAAMnT,MAAM6U,QACb,IAGDd,EAAE/B,IAAIhS,MAAMgI,SAAW,WACvB+L,EAAE/B,IAAIhS,MAAMkG,MAAQkL,EAAKlL,MAAQ,KACjC6N,EAAE/B,IAAIhS,MAAMmG,OAASiL,EAAKjL,OAAS,KAGnC4N,EAAE5B,UAAU5C,KAAK6B,EAAKlL,MAAOkL,EAAKjL,OAAQtP,EAAIkV,eAAeqF,IAG7D2C,EAAE9B,KAAKjS,MAAMgI,SAAW,WACxB+L,EAAE9B,KAAKjS,MAAMqC,KAAO+O,EAAK5G,QAAU,KACnCuJ,EAAE9B,KAAKjS,MAAMsC,IAAM8O,EAAK5G,QAAU,KAClCuJ,EAAE9B,KAAKjS,MAAM0U,OAAStD,EAAKpH,mBAAqB,WAChD+J,EAAE9B,KAAKjS,MAAM2U,YAAcvD,EAAK0D,mBAGhCf,EAAE7B,KAAKlS,MAAMgI,SAAW,WACxB+L,EAAE7B,KAAKlS,MAAMqC,KAAO,MACpB0R,EAAE7B,KAAKlS,MAAMsC,IAAM,MACnByR,EAAE7B,KAAKlS,MAAMkG,MAASkL,EAAK5G,QAAU,EAAI4G,EAAKpH,mBAAqBoH,EAAKlL,MAAQmO,EAAkB,KAClGN,EAAE7B,KAAKlS,MAAMmG,OAAU,EAAIiL,EAAKpH,mBAAqB,EAAIoH,EAAK5G,QAAU4G,EAAKjL,OAAU,KACvF4N,EAAE7B,KAAKlS,MAAM+U,OAjEG,YAkEhBle,EAAIqD,QAAQ6Z,EAAE7B,KAAM,CACnB8C,SAAU5D,EACV6D,QAAS,QAIVlB,EAAE3B,MAAMpS,MAAMgI,SAAW,WACzB+L,EAAE3B,MAAMpS,MAAMqC,KACd0R,EAAE3B,MAAMpS,MAAMsC,IACb,IACDyR,EAAE3B,MAAMpS,MAAMkG,MACd6N,EAAE3B,MAAMpS,MAAMmG,OACbgO,EAAiB,KAGlBJ,EAAE1B,QAAQrS,MAAMgI,SAChB+L,EAAEzB,QAAQtS,MAAMgI,SACf,WACD+L,EAAE1B,QAAQrS,MAAMqB,WAChB0S,EAAEzB,QAAQtS,MAAMqB,WACf+P,EAAK8D,mBACNnB,EAAE1B,QAAQrS,MAAMkG,MAChB6N,EAAEzB,QAAQtS,MAAMmG,OACd,EAAIiL,EAAKvF,mBAAqBuF,EAAKtF,iBAAoB,KACzDiI,EAAE1B,QAAQrS,MAAMmG,OAChB4N,EAAEzB,QAAQtS,MAAMkG,MACfiO,EAAiB,KAClBJ,EAAE1B,QAAQrS,MAAMqC,KAChB0R,EAAEzB,QAAQtS,MAAMsC,IACdhC,KAAKkE,MAAM2P,EAAiB,GAAK7T,KAAKkE,MAAM4M,EAAKtF,iBAAmB,GAAKsF,EAAKvF,mBAAsB,KACtGkI,EAAE1B,QAAQrS,MAAMsC,IAChByR,EAAEzB,QAAQtS,MAAMqC,KACf,IAGD0R,EAAExB,QAAQvS,MAAMgI,SAChB+L,EAAEvB,QAAQxS,MAAMgI,SACf,WACD+L,EAAExB,QAAQvS,MAAMqB,WAChB0S,EAAEvB,QAAQxS,MAAMqB,WACf+P,EAAK+D,aACNpB,EAAExB,QAAQvS,MAAMmG,OAChB4N,EAAEvB,QAAQxS,MAAMkG,MACdiO,EAAiB,EAAI/C,EAAKvF,mBAAsB,KAClDkI,EAAExB,QAAQvS,MAAMkG,MAChB6N,EAAEvB,QAAQxS,MAAMmG,OACfiL,EAAKtF,iBAAmB,KACzBiI,EAAExB,QAAQvS,MAAMqC,KAChB0R,EAAEvB,QAAQxS,MAAMsC,IACdhC,KAAKkE,MAAM2P,EAAiB,GAAK7T,KAAKkE,MAAM4M,EAAKtF,iBAAmB,GAAM,KAC5EiI,EAAExB,QAAQvS,MAAMsC,IAChByR,EAAEvB,QAAQxS,MAAMqC,KACf+O,EAAKvF,mBAAqB,KAI3BkI,EAAEtB,IAAIzS,MAAMoV,SAAW,SACvBrB,EAAEtB,IAAIzS,MAAMkG,MAAQkL,EAAKjH,WAAa,KACtC4J,EAAEtB,IAAIzS,MAAMmG,OAASiL,EAAKjL,OAAS,KAGnC4N,EAAEnB,QAAQrD,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQ,OAAQ,QAGrD4N,EAAErB,KAAK1S,MAAMqV,QAAUrB,EAAgB,QAAU,OACjDD,EAAErB,KAAK1S,MAAMgI,SAAW,WACxB+L,EAAErB,KAAK1S,MAAMqC,KAAQ+O,EAAK5G,QAAU4G,EAAKlL,MAAQ,EAAIkL,EAAKpH,mBAAqB,EAAIqK,EAAkB,KACrGN,EAAErB,KAAK1S,MAAMsC,IAAM8O,EAAK5G,QAAU,KAClCuJ,EAAErB,KAAK1S,MAAM0U,OAAStD,EAAKpH,mBAAqB,WAChD+J,EAAErB,KAAK1S,MAAM2U,YAAcvD,EAAK0D,mBAGhCf,EAAEpB,KAAK3S,MAAMqV,QAAUrB,EAAgB,QAAU,OACjDD,EAAEpB,KAAK3S,MAAMgI,SAAW,WACxB+L,EAAEpB,KAAK3S,MAAMqC,KAAQ+O,EAAK5G,QAAU4G,EAAKlL,MAAQ,EAAIkL,EAAKpH,mBAAqBqK,EAAkB,KACjGN,EAAEpB,KAAK3S,MAAMsC,IAAM,MACnByR,EAAEpB,KAAK3S,MAAMkG,MACVkL,EAAKjH,WAAa,EAAIkK,EAAiB,EAAIjD,EAAKpH,oBAChDiK,EAAqB,EAAI3T,KAAK6D,IAAI,EAAGiN,EAAK5G,QAAU6J,IAClD,KACLN,EAAEpB,KAAK3S,MAAMmG,OAAU,EAAIiL,EAAKpH,mBAAqB,EAAIoH,EAAK5G,QAAU4G,EAAKjL,OAAU,KACvF4N,EAAEpB,KAAK3S,MAAM+U,OAAS,UACtBle,EAAIqD,QAAQ6Z,EAAEpB,KAAM,CACnBqC,SAAU5D,EACV6D,QAAS,QAIVlB,EAAEjB,SAAS9S,MAAM0U,OACjBX,EAAEf,SAAShT,MAAM0U,OAChBtD,EAAKvF,mBAAqB,YAAcuF,EAAK8D,mBAG9CnB,EAAEf,SAAShT,MAAMgI,SAAW,WAC5B+L,EAAEf,SAAShT,MAAMqC,OAAS,EAAI+O,EAAKvF,mBAAqBuF,EAAKtF,kBAAoB,KACjFiI,EAAEf,SAAShT,MAAMsC,IAAM,IAGvByR,EAAEhB,SAAS/S,MAAM0U,OAAStD,EAAKtF,iBAAmB,YAAcsF,EAAK+D,aAGrEpB,EAAElB,QAAQ7S,MAAMkG,MAAQkL,EAAKjH,WAAa,KAC1C4J,EAAElB,QAAQ7S,MAAMmG,OAAStP,EAAIO,IAAIke,iBAAmB,KAIpDvB,EAAEd,KAAKjT,MAAMoV,SAAW,SACxBrB,EAAEd,KAAKjT,MAAMkG,MAAQkL,EAAKjH,WAAa,KACvC4J,EAAEd,KAAKjT,MAAMmG,OAASiL,EAAKjL,OAAS,KAGpC4N,EAAEX,SAAS7D,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQ,QAG9C4N,EAAEb,MAAMlT,MAAMqV,QAAUpB,EAAqB,QAAU,OACvDF,EAAEb,MAAMlT,MAAMgI,SAAW,WACzB+L,EAAEb,MAAMlT,MAAMqC,KACX+O,EAAK5G,QAAU4G,EAAKlL,MAAQ,EAAIkL,EAAKpH,mBAAqBqK,GAC1DL,EAAiB5C,EAAKjH,WAAa,EAAIkK,EAAiB,EAAIjD,EAAKpH,mBAAsB,GACrF,KACL+J,EAAEb,MAAMlT,MAAMsC,IAAM8O,EAAK5G,QAAU,KACnCuJ,EAAEb,MAAMlT,MAAM0U,OAAStD,EAAKpH,mBAAqB,WACjD+J,EAAEb,MAAMlT,MAAM2U,YAAcvD,EAAK0D,mBAGjCf,EAAEZ,MAAMnT,MAAMqV,QAAUpB,EAAqB,QAAU,OACvDF,EAAEZ,MAAMnT,MAAMgI,SAAW,WACzB+L,EAAEZ,MAAMnT,MAAMqC,KACX+O,EAAK5G,QAAU4G,EAAKlL,MAAQ,EAAIkL,EAAKpH,mBAAqBqK,GAC1DL,EAAiB5C,EAAKjH,WAAa,EAAIkK,EAAiB,EAAIjD,EAAKpH,mBAAsB,GACrF,KACL+J,EAAEZ,MAAMnT,MAAMsC,IAAM,MACpByR,EAAEZ,MAAMnT,MAAMkG,MACXkL,EAAKjH,WAAa,EAAIkK,EAAiB,EAAIjD,EAAKpH,mBACjD1J,KAAK6D,IAAI,EAAGiN,EAAK5G,QAAU6J,GACxB,KACLN,EAAEZ,MAAMnT,MAAMmG,OAAU,EAAIiL,EAAKpH,mBAAqB,EAAIoH,EAAK5G,QAAU4G,EAAKjL,OAAU,KACxF4N,EAAEZ,MAAMnT,MAAM+U,OAAS,UACvBle,EAAIqD,QAAQ6Z,EAAEZ,MAAO,CACpB6B,SAAU5D,EACV6D,QAAS,SAIVlB,EAAET,UAAUtT,MAAM0U,OAClBX,EAAEP,UAAUxT,MAAM0U,OACjBtD,EAAKvF,mBAAqB,YAAcuF,EAAK8D,mBAG9CnB,EAAEP,UAAUxT,MAAMgI,SAAW,WAC7B+L,EAAEP,UAAUxT,MAAMqC,OAAS,EAAI+O,EAAKvF,mBAAqBuF,EAAKtF,kBAAoB,KAClFiI,EAAEP,UAAUxT,MAAMsC,IAAM,IAGxByR,EAAER,UAAUvT,MAAM0U,OAAStD,EAAKtF,iBAAmB,YAAcsF,EAAK+D,aAGtEpB,EAAEV,SAASrT,MAAMkG,MAAQkL,EAAKjH,WAAa,KAC3C4J,EAAEV,SAASrT,MAAMmG,OAAStP,EAAIO,IAAIke,iBAAmB,KAIrDvB,EAAEzJ,IAAI9R,UAAY,kBAClBub,EAAEzJ,IAAItK,MAAMqV,QAAUnB,EAAWhJ,QAAQE,KAAO,QAAU,OAC1D2I,EAAEzJ,IAAItK,MAAMgI,SAAW,WACvB+L,EAAEzJ,IAAItK,MAAMqC,KAAO+O,EAAK5G,QAAU,KAClCuJ,EAAEzJ,IAAItK,MAAMsC,IAAO,EAAI8O,EAAKpH,mBAAqB,EAAIoH,EAAK5G,QAAU4G,EAAKjL,OAAU,KAInF4N,EAAEzJ,IAAIiL,UAAY,GAKlB,IAHA,IAAIC,EAAa3e,EAAIyP,sBAAsB,iBAEvCmP,EAAK,EACAtV,EAAI,EAAGA,EAAI+T,EAAWhJ,QAAQE,KAAMjL,IAC5C,IAAK,IAAIwI,EAAI,EAAGA,EAAIuL,EAAWhJ,QAAQC,MAAQsK,EAAKrE,EAAK5F,SAASxT,OAAQ2Q,IAAK8M,IAAM,CACpF,IAAIC,EAActE,EAAK5F,SAASiK,GAC5BE,EAAiB9e,EAAIiK,UAAUqH,MAAM,KAAMuN,EAAY/Q,MAEvDiR,EAAK/e,EAAIiD,SAAS,OACtB8b,EAAG5V,MAAMkG,MAASgO,EAAWhJ,QAAQG,MAAQ,EAAI+F,EAAKpH,mBAAsB,KAC5E4L,EAAG5V,MAAMmG,OAAU+N,EAAWhJ,QAAQI,MAAQ,EAAI8F,EAAKpH,mBAAsB,KAC7E4L,EAAG5V,MAAM4U,gBAAkBe,EAE3B,IAAIE,EAAKhf,EAAIiD,SAAS,OACtB+b,EAAGrd,UAAY,yBACfqd,EAAG7V,MAAMqV,QAAU,QACnBQ,EAAG7V,MAAMgI,SAAW,WACpB6N,EAAG7V,MAAMqC,MACP6R,EAAWhJ,QAAQC,MAAQ,EAAI,EAC/B7K,KAAKC,MAAYoI,IAAMuL,EAAWrJ,SAAWqJ,EAAWhJ,QAAQG,QAAU6I,EAAWhJ,QAAQC,KAAO,IAAzF,IAAiG,IACzG,KACL0K,EAAG7V,MAAMsC,IAAOnC,GAAK+T,EAAWhJ,QAAQI,MAAQ8F,EAAKzF,gBAAmB,KACxEkK,EAAG7V,MAAM0U,OAAStD,EAAKpH,mBAAqB,WAC5C6L,EAAG7V,MAAM2U,YAAcvD,EAAK0D,mBAC5Be,EAAG7V,MAAM+U,OAAS,UACU,OAAxBW,EAAY/Q,KAAK,IAAe+Q,EAAY/Q,KAAK,GAAK,IACzDkR,EAAG7V,MAAM8V,gBAAkB,QAAWN,EAAWzP,OAAOgQ,YAAc,KACtEF,EAAG7V,MAAMgW,iBAAmB,SAC5BH,EAAG7V,MAAMiW,mBAAqB,iBAE/Bpf,EAAIqD,QAAQ2b,EAAI,CACfb,SAAU5D,EACV6D,QAAS,iBACTtP,MAAO+P,IAERG,EAAG1e,iBAAiB,QAASN,EAAI0X,sBAAsB,GACvDsH,EAAGlC,YAAYiC,GACf7B,EAAEzJ,IAAIqJ,YAAYkC,GAYpB9B,EAAEN,IAAIjb,UAAY,oBAClBub,EAAEN,IAAIzT,MAAMqV,QAAUjE,EAAK3G,YAAc,QAAU,OACnDsJ,EAAEN,IAAIzT,MAAMgI,SAAW,WACvB+L,EAAEN,IAAIzT,MAAMqC,KAAO+O,EAAK5G,QAAU,KAClCuJ,EAAEN,IAAIzT,MAAMkW,OAAS9E,EAAK5G,QAAU,KACpCuJ,EAAEN,IAAIzT,MAAMwK,QAAU,SACtBuJ,EAAEN,IAAIzT,MAAMmW,SAAYjC,EAAWrJ,SAAW,EAAIuG,EAAKpH,mBAAqB,GAAkB,KAC9F+J,EAAEN,IAAIzT,MAAMoV,SAAW,SACvBrB,EAAEN,IAAIzT,MAAMmG,OAASiL,EAAK1G,aAAe,KACzCqJ,EAAEN,IAAIzT,MAAMoW,WAAa,SACzBrC,EAAEN,IAAIzT,MAAM0U,OAAStD,EAAKpH,mBAAqB,WAd1C8J,GADAD,EAAczC,EAAK0D,mBAAmBlW,MAAM,QAClB5G,OAAS,EAAI6b,EAAY,GAAKA,EAAY,GAAK,IAAMA,EAAY,GAAK,IAAMA,EAAY,GAAK,IAAMA,EAAY,GAC7IE,EAAEN,IAAIzT,MAAM2U,YAAcb,EAe3BC,EAAEN,IAAIzT,MAAM2F,MAAQyL,EAAKiF,YACzBtC,EAAEN,IAAIzT,MAAMsW,KAAO,kBACnBvC,EAAEN,IAAIzT,MAAMuW,UAAY,SACxBxC,EAAEN,IAAIzT,MAAM+U,OAAS,UACrBhB,EAAEN,IAAI+C,YAAc,WACnBpF,EAAKrC,QAENgF,EAAEL,KAAK1T,MAAMyW,WAAarF,EAAK1G,aAAe,KAC9CqJ,EAAEL,KAAK6B,UAAY,GACnBxB,EAAEL,KAAKC,YAAYnd,EAAOH,SAASqgB,eAAetF,EAAKuF,YAGvDC,IACAC,IACAC,IAIIjgB,EAAIwR,OAAOC,OAASzR,EAAIwR,OAAOC,QAAU8I,GAC5Cva,EAAIsI,YAAYtI,EAAIwR,OAAOC,MAAM1O,cAAe/C,EAAIO,IAAI2f,iBAIzDlgB,EAAIwR,OAAOC,MAAQ8I,EAIfA,EAAK4F,YAAcxgB,EAAOH,SAAS4gB,KACtCpgB,EAAIuR,iBAEJvR,EAAI2S,cAAc4H,EAAM,EAAG,EAAG,YAAY,GAGvC2C,EAAEpK,KAAKuN,aAAe9F,EAAK4F,WAC9B5F,EAAK4F,UAAUrD,YAAYI,EAAEpK,MAG9B9S,EAAImI,SAASoS,EAAKxX,cAAe/C,EAAIO,IAAI2f,iBAI1C,SAASH,IAER,IAAIO,EAAWtgB,EAAIkV,eAAeqF,GAC9BnP,EAAI3B,KAAKC,MAAO6Q,EAAKlD,SAAS9J,EAAI,KAAQgN,EAAKlL,MAAQ,IACvDhE,EAAI5B,KAAKC,OAAO,EAAI6Q,EAAKlD,SAASiJ,GAAY,MAAQ/F,EAAKjL,OAAS,IACpEgO,EAAkB,EAAI/C,EAAKvF,mBAAqBuF,EAAKtF,iBAAmB,EAAIsF,EAAKgD,UACjFrG,GAAOzN,KAAKkE,MAAM2P,EAAiB,GAKvC,OAJAtd,EAAIwR,OAAO+J,MAAMpS,MAAMqC,KAAQJ,EAAI8L,EAAO,KAC1ClX,EAAIwR,OAAO+J,MAAMpS,MAAMsC,IAAOJ,EAAI6L,EAAO,KAGjClX,EAAIuT,iBAAiBgH,IAC7B,IAAK,IACJ,IAAIgG,EAAOvgB,EAAIwN,QAAQ+M,EAAKlD,SAAS9J,EAAG,IAAKgN,EAAKlD,SAAShK,GACvDmT,EAAOxgB,EAAIwN,QAAQ+M,EAAKlD,SAAS9J,EAAG,EAAGgN,EAAKlD,SAAShK,GACrD2L,EAAS,OACZvP,KAAKC,MAAM6W,EAAK,IAAM,IACtB9W,KAAKC,MAAM6W,EAAK,IAAM,IACtB9W,KAAKC,MAAM6W,EAAK,IAAM,IACnBtH,EAAS,OACZxP,KAAKC,MAAM8W,EAAK,IAAM,IACtB/W,KAAKC,MAAM8W,EAAK,IAAM,IACtB/W,KAAKC,MAAM8W,EAAK,IAAM,IACvBxgB,EAAIwR,OAAOuK,QAAQrD,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQ0J,EAAQC,GAC9D,MACD,IAAK,IACJ,IAAIwH,EAAMzgB,EAAIwN,QAAQ+M,EAAKlD,SAAS9J,EAAGgN,EAAKlD,SAAS5J,EAAG,KACpDuL,EAAS,OACZvP,KAAKC,MAAM+W,EAAI,IAAM,IACrBhX,KAAKC,MAAM+W,EAAI,IAAM,IACrBhX,KAAKC,MAAM+W,EAAI,IAAM,IAClBxH,EAAS,OACbjZ,EAAIwR,OAAOuK,QAAQrD,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQ0J,EAAQC,GAK/DjZ,EAAIwR,OAAO+K,SAAS7D,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQiL,EAAKmG,eAI7D,SAASV,IACR,IAAIW,EAAa3gB,EAAIuT,iBAAiBgH,GACtC,GAAIoG,EAAY,CAEf,IAAItV,EAAI5B,KAAKC,OAAO,EAAI6Q,EAAKlD,SAASsJ,GAAc,MAAQpG,EAAKjL,OAAS,IAC1EtP,EAAIwR,OAAO2K,SAAShT,MAAMsC,IAAOJ,GAAK,EAAIkP,EAAKvF,mBAAqBuF,EAAKtF,kBAAoBxL,KAAKkE,MAAM3N,EAAIO,IAAIke,iBAAmB,GAAM,KAI1Ize,EAAIwR,OAAO+K,SAAS7D,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQiL,EAAKmG,eAI7D,SAAST,IACR,IAAI5U,EAAI5B,KAAKC,OAAO,EAAI6Q,EAAKlD,SAAStN,IAAMwQ,EAAKjL,OAAS,IAC1DtP,EAAIwR,OAAOmL,UAAUxT,MAAMsC,IAAOJ,GAAK,EAAIkP,EAAKvF,mBAAqBuF,EAAKtF,kBAAoBxL,KAAKkE,MAAM3N,EAAIO,IAAIke,iBAAmB,GAAM,KAI3I,SAASmC,IACR,OAAO5gB,EAAIwR,QAAUxR,EAAIwR,OAAOC,QAAU8I,EAgG3C,GAx1CKrY,IACJA,EAAO,IAGRtC,KAAKyX,SAAW,CACf/N,EAAG,IACHC,EAAG,IACHC,EAAG,IACH+D,EAAG,EACHE,EAAG,EACHJ,EAAG,IACHtD,EAAG,GAKJnK,KAAKmO,OAAS,OACdnO,KAAK0E,WAAQhD,EACb1B,KAAKihB,WAAQvf,EACb1B,KAAKkhB,cAAWxf,EAChB1B,KAAKmhB,aAAUzf,EACf1B,KAAKohB,kBAAe1f,EACpB1B,KAAKqhB,kBAAe3f,EACpB1B,KAAKshB,oBAAiB5f,EACtB1B,KAAKia,gBAAkB,OACvBja,KAAKuhB,YAAc,GACnBvhB,KAAKwhB,eAAiB,EACtBxhB,KAAKyhB,UAAW,EAChBzhB,KAAK0hB,MAAO,EACZ1hB,KAAK2hB,WAAY,EACjB3hB,KAAK4hB,YAAa,EAIlB5hB,KAAKyP,MAAQ,IACbzP,KAAK0P,OAAS,IACd1P,KAAKuV,KAAO,MACZvV,KAAKka,aAAe,OACpBla,KAAKuR,SAAW,SAChBvR,KAAK2S,eAAgB,EACrB3S,KAAKyW,aAAc,EACnBzW,KAAK6hB,aAAc,EACnB7hB,KAAKyU,QAAU,GACfzU,KAAKgV,YAAc,GACnBhV,KAAKkY,iBAAmB,OACxBlY,KAAKmV,cAAgB,GACrBnV,KAAKkV,eAAiB,EACtBlV,KAAKqY,oBAAqB,EAC1BrY,KAAK0T,WAAa,GAClB1T,KAAK2d,UAAY,EACjB3d,KAAKgU,aAAc,EACnBhU,KAAKkgB,UAAY,QACjBlgB,KAAK4f,YAAc,gBACnB5f,KAAKiU,aAAe,GACpBjU,KAAK+T,QAAU,GACf/T,KAAKme,gBAAkB,sBACvBne,KAAKwU,YAAc,EACnBxU,KAAKke,YAAc,sBACnBle,KAAK6d,aAAe,EACpB7d,KAAKuT,mBAAqB,EAC1BvT,KAAKqe,mBAAqB,sBAC1Bre,KAAKoT,QAAS,EACdpT,KAAKiT,WAAa,GAClBjT,KAAKqT,YAAc,kBACnBrT,KAAK0e,aAAe,mBACpB1e,KAAKoV,mBAAqB,EAC1BpV,KAAKye,mBAAqB,sBAC1Bze,KAAKqV,iBAAmB,EACxBrV,KAAKge,OAAS,IACdhe,KAAKugB,eAAY7e,EAIjB1B,KAAK8hB,KAAO,EACZ9hB,KAAK+hB,KAAO,IACZ/hB,KAAKgiB,KAAO,EACZhiB,KAAKiiB,KAAO,IACZjiB,KAAKkiB,KAAO,EACZliB,KAAKmiB,KAAO,EAOZniB,KAAK6a,OAAS,WACb,IAAKxV,UAAU9D,OACd,MAAM,IAAIzB,MAAM,uBAGjB,GAAyB,IAArBuF,UAAU9D,QAAwC,iBAAjB8D,UAAU,GAAiB,CAE/D,IACC,OAAO4V,EAAU5V,UAAU,IAC1B,MAAO5C,GACRN,QAAQC,KAAKK,GAEd,OAAO,EAED,GAAI4C,UAAU9D,QAAU,GAA6B,iBAAjB8D,UAAU,GAAiB,CAErE,IACC,IAAKuV,EAAUvV,UAAU,GAAIA,UAAU,IACtC,OAAO,EAEP,MAAO5C,GAER,OADAN,QAAQC,KAAKK,IACN,EAIR,OAFAzC,KAAKoiB,SACLpiB,KAAKqiB,eACE,EAED,GAAyB,IAArBhd,UAAU9D,QAAwC,iBAAjB8D,UAAU,GAAiB,CAEtE,IAAI/C,EAAO+C,UAAU,GACjBid,GAAU,EACd,IAAK,IAAIC,KAAOjgB,EACf,GAAIA,EAAKiD,eAAegd,GACvB,IACM3H,EAAU2H,EAAKjgB,EAAKigB,MACxBD,GAAU,GAEV,MAAO7f,GACRN,QAAQC,KAAKK,GACb6f,GAAU,EAMb,OAFAtiB,KAAKoiB,SACLpiB,KAAKqiB,cACEC,EAGR,MAAM,IAAIxiB,MAAM,sBAOjBE,KAAKwiB,QAAU,SAAU3c,EAAMnB,GAC9B,GAAoB,iBAATmB,EACV,MAAM,IAAI/F,MAAM,mCAAqC+F,GAGtD,QAAcnE,IAAVgD,EAEH,OAAK1E,KAAKyX,SAASlS,eAAeM,EAAKjE,eAIhC5B,KAAKyX,SAAS5R,EAAKjE,gBAHzBO,QAAQC,KAAK,4BAA8ByD,IACpC,GAMR,IAAI4c,GAAM,EACV,OAAQ5c,EAAKjE,eACZ,IAAK,IAAK6gB,EAAMziB,KAAKoY,SAAS1T,EAAO,KAAM,KAAM,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAKoY,SAAS,KAAM1T,EAAO,KAAM,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAKoY,SAAS,KAAM,KAAM1T,EAAO,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAK0X,SAAShT,EAAO,KAAM,KAAM,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAK0X,SAAS,KAAMhT,EAAO,KAAM,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAK0X,SAAS,KAAM,KAAMhT,EAAO,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAK0X,SAAS,KAAM,KAAM,KAAMhT,GAAQ,MACxD,QAEC,OADAvC,QAAQC,KAAK,4BAA8ByD,IACpC,EAET,QAAI4c,IACHziB,KAAKoiB,UACE,IAcVpiB,KAAK6V,QAAU,SAAUD,GAExB,IADA,IAAI8M,EAAMtiB,EAAI6H,QAAQ2N,GACbtU,EAAI,EAAGA,EAAIohB,EAAInhB,OAAQD,GAAK,EAAG,CACvC,IAAI8F,EAAKsb,EAAIphB,GAAGM,cAGZ+gB,EAAe,KACnB,OAAQvb,GACP,IAAK,QAASub,EAAe,UAAW,MACxC,IAAK,SAAUA,EAAe,WAE3BA,GACHviB,EAAIoV,gBAAgBxV,KAAM2iB,GAI3BviB,EAAIqH,kBAAkBzH,KAAKohB,aAAcha,GAAI,GAAM,KAUrDpH,KAAK0X,SAAW,SAAU/J,EAAGE,EAAGJ,EAAGtD,EAAGyP,GAMrC,QALUlY,IAANiM,IAAmBA,EAAI,WACjBjM,IAANmM,IAAmBA,EAAI,WACjBnM,IAAN+L,IAAmBA,EAAI,WACjB/L,IAANyI,IAAmBA,EAAI,MAEjB,OAANwD,EAAY,CACf,GAAIiV,MAAMjV,GAAM,OAAO,EACvB3N,KAAKyX,SAAS9J,EAAI9D,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAKG,IAE7C,GAAU,OAANE,EAAY,CACf,GAAI+U,MAAM/U,GAAM,OAAO,EACvB7N,KAAKyX,SAAS5J,EAAIhE,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAKxN,KAAK+hB,KAAMlU,GAAI7N,KAAK8hB,MAEjE,GAAU,OAANrU,EAAY,CACf,GAAImV,MAAMnV,GAAM,OAAO,EACvBzN,KAAKyX,SAAShK,EAAI5D,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAKxN,KAAKiiB,KAAMxU,GAAIzN,KAAKgiB,MAEjE,GAAU,OAAN7X,EAAY,CACf,GAAIyY,MAAMzY,GAAM,OAAO,EACvBnK,KAAKyX,SAAStN,EAAInK,KAAK4T,kBACtB/J,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,EAAGxN,KAAKmiB,KAAMhY,GAAInK,KAAKkiB,MAC5C,EAGF,IAAIrB,EAAMzgB,EAAIwN,QACb5N,KAAKyX,SAAS9J,EACd3N,KAAKyX,SAAS5J,EACd7N,KAAKyX,SAAShK,GAOf,OALAzN,KAAKyX,SAAS/N,EAAImX,EAAI,GACtB7gB,KAAKyX,SAAS9N,EAAIkX,EAAI,GACtB7gB,KAAKyX,SAAS7N,EAAIiX,EAAI,GAEtB7gB,KAAKqiB,YAAYzI,IACV,GASR5Z,KAAKoY,SAAW,SAAU1O,EAAGC,EAAGC,EAAGO,EAAGyP,GAMrC,QALUlY,IAANgI,IAAmBA,EAAI,WACjBhI,IAANiI,IAAmBA,EAAI,WACjBjI,IAANkI,IAAmBA,EAAI,WACjBlI,IAANyI,IAAmBA,EAAI,MAEjB,OAANT,EAAY,CACf,GAAIkZ,MAAMlZ,GAAM,OAAO,EACvBA,EAAIG,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAK9D,IAE/B,GAAU,OAANC,EAAY,CACf,GAAIiZ,MAAMjZ,GAAM,OAAO,EACvBA,EAAIE,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAK7D,IAE/B,GAAU,OAANC,EAAY,CACf,GAAIgZ,MAAMhZ,GAAM,OAAO,EACvBA,EAAIC,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAK5D,IAE/B,GAAU,OAANO,EAAY,CACf,GAAIyY,MAAMzY,GAAM,OAAO,EACvBnK,KAAKyX,SAAStN,EAAInK,KAAK4T,kBACtB/J,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,EAAGxN,KAAKmiB,KAAMhY,GAAInK,KAAKkiB,MAC5C,EAGF,IAAIW,EAAMziB,EAAImN,QACT,OAAJ7D,EAAW1J,KAAKyX,SAAS/N,EAAIA,EACzB,OAAJC,EAAW3J,KAAKyX,SAAS9N,EAAIA,EACzB,OAAJC,EAAW5J,KAAKyX,SAAS7N,EAAIA,GAEf,OAAXiZ,EAAI,KACP7iB,KAAKyX,SAAS9J,EAAI9D,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAKqV,EAAI,MAElC,IAAXA,EAAI,KACP7iB,KAAKyX,SAAS5J,EAAIhE,KAAK6D,IAAI,EAAG1N,KAAK8hB,KAAMjY,KAAK2D,IAAI,IAAKxN,KAAK+hB,KAAMc,EAAI,MAEvE7iB,KAAKyX,SAAShK,EAAI5D,KAAK6D,IAAI,EAAG1N,KAAKgiB,KAAMnY,KAAK2D,IAAI,IAAKxN,KAAKiiB,KAAMY,EAAI,KAGtE,IAAIhC,EAAMzgB,EAAIwN,QAAQ5N,KAAKyX,SAAS9J,EAAG3N,KAAKyX,SAAS5J,EAAG7N,KAAKyX,SAAShK,GAMtE,OALAzN,KAAKyX,SAAS/N,EAAImX,EAAI,GACtB7gB,KAAKyX,SAAS9N,EAAIkX,EAAI,GACtB7gB,KAAKyX,SAAS7N,EAAIiX,EAAI,GAEtB7gB,KAAKqiB,YAAYzI,IACV,GAMR5Z,KAAK8iB,QAAU,SAAUnV,EAAGE,EAAGJ,EAAGmM,GAEjC,OADAzX,QAAQC,KAAK,4DAA8DhC,EAAIiC,SACxErC,KAAK0X,SAAS/J,EAAGE,EAAGJ,EAAG,KAAMmM,IAMrC5Z,KAAK+iB,QAAU,SAAUrZ,EAAGC,EAAGC,EAAGgQ,GAEjC,OADAzX,QAAQC,KAAK,4DAA8DhC,EAAIiC,SACxErC,KAAKoY,SAAS1O,EAAGC,EAAGC,EAAG,KAAMgQ,IAIrC5Z,KAAKgjB,WAAa,SAAUtgB,EAAKkX,GAChC,IAAK5Z,KAAKyhB,UAA2B,KAAf/e,EAAIH,OAIzB,OAFAvC,KAAKijB,oBAAoB,MACzBjjB,KAAKkjB,qBAAqB,KACnB,EAGR,IAAIhU,EAAQ9O,EAAI4N,iBAAiBtL,GACjC,QAAKwM,IAG6B,QAA9BlP,KAAKmO,OAAOvM,gBACf5B,KAAKgY,WAAW9I,EAAMf,QACjB/N,EAAIgP,cAAcpP,KAAKiY,eAC3B/I,EAAMhB,KAAK,GAAK,IAGlBlO,KAAKoY,SACJlJ,EAAMhB,KAAK,GACXgB,EAAMhB,KAAK,GACXgB,EAAMhB,KAAK,GACXgB,EAAMhB,KAAK,GACX0L,IAEM,IAIR5Z,KAAK+J,SAAW,SAAUoE,GAIzB,YAHezM,IAAXyM,IACHA,EAASnO,KAAKiY,aAEP9J,EAAOvM,eACd,IAAK,MAAO,OAAO5B,KAAK8gB,cACxB,IAAK,OAAQ,OAAO9gB,KAAKmjB,eACzB,IAAK,MAAO,OAAOnjB,KAAKojB,cACxB,IAAK,OAAQ,OAAOpjB,KAAKqjB,eAE1B,OAAO,GAIRrjB,KAAK8gB,YAAc,WAClB,OAAO1gB,EAAIqJ,SACVzJ,KAAKyX,SAAS/N,EACd1J,KAAKyX,SAAS9N,EACd3J,KAAKyX,SAAS7N,IAKhB5J,KAAKmjB,aAAe,WACnB,OAAO/iB,EAAI8J,UACVlK,KAAKyX,SAAS/N,EACd1J,KAAKyX,SAAS9N,EACd3J,KAAKyX,SAAS7N,EACd5J,KAAKyX,SAAStN,IAKhBnK,KAAKojB,YAAc,WAClB,OAAOhjB,EAAIgK,SACVpK,KAAKyX,SAAS/N,EACd1J,KAAKyX,SAAS9N,EACd3J,KAAKyX,SAAS7N,IAKhB5J,KAAKqjB,aAAe,WACnB,OAAOjjB,EAAIiK,UACVrK,KAAKyX,SAAS/N,EACd1J,KAAKyX,SAAS9N,EACd3J,KAAKyX,SAAS7N,EACd5J,KAAKyX,SAAStN,IAKhBnK,KAAKsjB,YAAc,WAClB,MACC,KAAQtjB,KAAKyX,SAAS/N,EACtB,KAAQ1J,KAAKyX,SAAS9N,EACtB,KAAQ3J,KAAKyX,SAAS7N,GAKxB5J,KAAKujB,SAAW,WACf,OAAOnjB,EAAIyP,sBAAsB7P,KAAKqjB,gBAAgB/T,QAIvDtP,KAAKsf,UAAY,WAChB,OAAOtf,KAAKujB,WAAWjE,aAIxBtf,KAAKwjB,aAAe,WACnB,OAAOpjB,EAAIO,IAAIiK,WAAW5K,KAAKqjB,iBAIhCrjB,KAAKyjB,QAAU,WACd,OAAOzjB,KAAKsjB,cAAgB,OAI7BtjB,KAAKsY,KAAO,WACP0I,MAmVJ5gB,EAAIsI,YAAYiS,EAAKxX,cAAe/C,EAAIO,IAAI2f,iBAC5ClgB,EAAIwR,OAAOsB,KAAKuN,WAAWrc,YAAYhE,EAAIwR,OAAOsB,aAC3C9S,EAAIwR,OAAOC,QA/UnB7R,KAAK2W,KAAO,WACXwE,KAIDnb,KAAKoiB,OAAS,WACTpB,KACH7F,KAKFnb,KAAKiY,UAAY,WAChB,OAAOjY,KAAK0jB,gBAIb1jB,KAAKgY,WAAa,SAAU7J,GAC3BnO,KAAK0jB,eAAiBvV,EAAOvM,eAI9B5B,KAAK4T,gBAAkB,WACtB,MAA0B,SAAtB5T,KAAKka,aAEuB,QAA9Bla,KAAKmO,OAAOvM,eACZxB,EAAIgP,cAAcpP,KAAKiY,mBACRvW,IAAf1B,KAAKihB,YACiBvf,IAAtB1B,KAAKqhB,aAIArhB,KAAKka,cAIbla,KAAK2jB,kBAAoB,SAAUjhB,GAC7B1C,KAAKgjB,WAAWtgB,IAEpB1C,KAAKqiB,eAKPriB,KAAK4jB,kBAAoB,SAAUlhB,GAC7B1C,KAAK0X,SAAS,KAAM,KAAM,KAAM9I,WAAWlM,KAE/C1C,KAAKqiB,eAKPriB,KAAKqiB,YAAc,SAAUzI,GAC5B,IAAIiK,EAAW7jB,KAAK+J,WAChB6O,EAAM5Y,KAAKiY,YAaf,GAVA7X,EAAI4F,YAAYhG,KAAKmD,cAAe,gBAAiB0gB,GAE/CjK,EAAQxZ,EAAIwZ,MAAMC,aAAe7Z,KAAKohB,eAC/B,QAARxI,GAAyB,SAARA,IACf5Y,KAAK2hB,YAAakC,EAAWA,EAASjiB,eACtC5B,KAAK0hB,OAAQmC,EAAWA,EAAS3b,QAAQ,KAAM,MAErDlI,KAAKkjB,qBAAqBW,MAGrBjK,EAAQxZ,EAAIwZ,MAAME,aAAe9Z,KAAKqhB,aAAc,CACzD,IAAIyC,EAAWja,KAAKC,MAAwB,IAAlB9J,KAAKyX,SAAStN,GAAW,IACnDnK,KAAK+jB,qBAAqBD,GAGrBlK,EAAQxZ,EAAIwZ,MAAMG,eAAiB/Z,KAAKshB,kBAI5ClhB,EAAIiE,YAAYrE,KAAKshB,iBACpBlhB,EAAIkE,SAAStE,KAAKshB,kBAAoBlhB,EAAIqE,cAAczE,KAAKshB,kBAEjDthB,KAAKia,gBAGnBja,KAAKijB,oBAAoBjjB,KAAKqjB,iBAG3BrC,MACHb,IACAC,IACAC,MAKFrgB,KAAKijB,oBAAsB,SAAU/T,GACpC,GAAKlP,KAAKshB,eAAV,CAIA,IAAI/P,EAAW,KACX9B,EAAQ,MAEXrP,EAAIiE,YAAYrE,KAAKshB,iBACpBlhB,EAAIkE,SAAStE,KAAKshB,kBAAoBlhB,EAAIqE,cAAczE,KAAKshB,mBAE9D/P,EAAWvR,KAAKia,gBAChBxK,EAAQzP,KAAKuhB,aAGd,IAAIyC,EAAc,GAElB,GAAK9U,EASE,CAEN8U,EAAY5gB,KAAK,CAChB6gB,MAAO7jB,EAAIkR,wBACVpC,EACAqC,EACA9B,EAAQA,EAAQrP,EAAIO,IAAIuP,iBAAiB3O,OAAS,MAEnDgQ,SAAU,WACV2S,KAAM,OACNC,OAAQ5S,EAAW,WAAa,SAChC6S,OAAQ,gBAIT,IAAIC,EAAUjkB,EAAIyP,sBACjB,gBACA0B,EAAW,CAAC3F,KAAO,QAAS6F,MAAQ,QAAQF,GAAY,KACxD9B,GACA,GAEDuU,EAAY5gB,KAAK,CAChB6gB,MAAO,QAAWI,EAAQ/U,OAAOgQ,YAAc,KAC/C/N,UAAWA,GAAY,QAAU,OACjC2S,KAAMG,EAAQ5U,MAAQ,MAAQ4U,EAAQ3U,OAAS,KAC/CyU,OAAQ5S,EAAW,WAAa,SAChC6S,OAAQ,qBAjCTJ,EAAY5gB,KAAK,CAChB6gB,MAAO,OACP1S,SAAU,WACV2S,KAAM,OACNC,OAAQ,YACRC,OAAQ,gBAuCV,IAPA,IAAIE,EAAK,CACRL,MAAO,GACP1S,SAAU,GACV2S,KAAM,GACNC,OAAQ,GACRC,OAAQ,IAEA9iB,EAAI,EAAGA,EAAI0iB,EAAYziB,OAAQD,GAAK,EAC5CgjB,EAAGL,MAAM7gB,KAAK4gB,EAAY1iB,GAAG2iB,OAC7BK,EAAG/S,SAASnO,KAAK4gB,EAAY1iB,GAAGiQ,UAChC+S,EAAGJ,KAAK9gB,KAAK4gB,EAAY1iB,GAAG4iB,MAC5BI,EAAGH,OAAO/gB,KAAK4gB,EAAY1iB,GAAG6iB,QAC9BG,EAAGF,OAAOhhB,KAAK4gB,EAAY1iB,GAAG8iB,QAI/B,IAAIG,EAAM,CACTC,mBAAoBF,EAAGL,MAAMjZ,KAAK,MAClCyZ,sBAAuBH,EAAG/S,SAASvG,KAAK,MACxC0Z,kBAAmBJ,EAAGJ,KAAKlZ,KAAK,MAChC2Z,oBAAqBL,EAAGH,OAAOnZ,KAAK,MACpC4Z,oBAAqBN,EAAGF,OAAOpZ,KAAK,OAErC5K,EAAI4I,SAAShJ,KAAKshB,eAAgBiD,EAAKvkB,KAAK4hB,YAI5C,IAAI7N,EAAU,CACbnI,KAAM,KACN6F,MAAO,MAEJF,IACHwC,EAAQxC,GAAavR,KAAKuhB,YAAcvhB,KAAKwhB,eAAkB,MAG5D+C,EAAM,CACTM,eAAgB9Q,EAAQnI,KACxBkZ,gBAAiB/Q,EAAQtC,OAE1BrR,EAAI4I,SAAShJ,KAAKshB,eAAgBiD,EAAKvkB,KAAK4hB,YAAY,KAIzD5hB,KAAKkjB,qBAAuB,SAAUxgB,GACjC1C,KAAKohB,eACgC,UAApChhB,EAAI6D,SAASjE,KAAKohB,cACrBphB,KAAKohB,aAAa1c,MAAQhC,EAE1B1C,KAAKohB,aAAatC,UAAYpc,IAMjC1C,KAAK+jB,qBAAuB,SAAUrhB,GACjC1C,KAAKqhB,eACgC,UAApCjhB,EAAI6D,SAASjE,KAAKqhB,cACrBrhB,KAAKqhB,aAAa3c,MAAQhC,EAE1B1C,KAAKqhB,aAAavC,UAAYpc,IAMjC1C,KAAKob,4BAA8B,WAClC,IAAIpb,KAAK+kB,yBAAT,CACA/kB,KAAK+kB,0BAA2B,EAEhC,IAAI5kB,EAAMH,KAAKmD,cACf,EAAG,CAGF,IAAI6hB,EAAY5kB,EAAIyI,aAAa1I,GAC7B6kB,EAAUzT,UAAiD,UAArCyT,EAAUzT,SAAS3P,gBAC5C5B,KAAKiS,OAAQ,GAGV9R,IAAQH,KAAKmD,gBAMX/C,EAAIuF,QAAQxF,EAAK,uBACrBA,EAAIO,iBAAiB,SAAUN,EAAImW,gBAAgB,GACnDnW,EAAIqD,QAAQtD,EAAK,qBAAqB,YAG/BA,EAAMA,EAAIsgB,aAAqC,SAAtBrgB,EAAI6D,SAAS9D,MAIjDH,KAAKoW,QAAU,WACVpW,KAAK6hB,aACR7hB,KAAKsY,QAKPtY,KAAKilB,aAAe,SAAUnhB,GAC7B9D,KAAKyU,QAAU3Q,EACf9D,KAAK+U,SAAW3U,EAAIyO,kBAAkB/K,GACtC9D,KAAKmY,wBAA0B/X,EAAI+O,wBAAwBnP,KAAK+U,WAuqB7D3U,EAAIO,IAAIukB,QAEX,IAAK,IAAI3C,KAAOniB,EAAIO,IAAIukB,QACvB,GAAI9kB,EAAIO,IAAIukB,QAAQ3f,eAAegd,GAClC,IACC3H,EAAU2H,EAAKniB,EAAIO,IAAIukB,QAAQ3C,IAC9B,MAAO9f,GACRN,QAAQC,KAAKK,GASjB,IAAI0iB,EAAa,GAEb7iB,EAAK8iB,SACmB,iBAAhB9iB,EAAK8iB,OACfD,EAAa7iB,EAAK8iB,OAAOjd,MAAM,OACrB2C,MAAMkE,QAAQ1M,EAAK8iB,QAC7BD,EAAa7iB,EAAK8iB,OAAOC,QAEzBljB,QAAQC,KAAK,+BAKwB,IAAnC+iB,EAAW3gB,QAAQ,YACtB2gB,EAAW/hB,KAAK,WAKjB,IAAK,IAAI9B,EAAI6jB,EAAW5jB,OAAS,EAAGD,GAAK,EAAGA,GAAK,EAAG,CACnD,IAAIgkB,EAAOH,EAAW7jB,GACtB,GAAKgkB,EAGL,GAAKllB,EAAIO,IAAI4kB,QAAQhgB,eAAe+f,IAIpC,IAAK,IAAI/C,KAAOniB,EAAIO,IAAI4kB,QAAQD,GAC/B,GAAIllB,EAAIO,IAAI4kB,QAAQD,GAAM/f,eAAegd,GACxC,IACC3H,EAAU2H,EAAKniB,EAAIO,IAAI4kB,QAAQD,GAAM/C,IACpC,MAAO9f,GACRN,QAAQC,KAAKK,SARfN,QAAQC,KAAK,qBAAsBkjB,GAgBrC,IAAIE,EAAgB,CAEnB,UAED,IAAK,IAAIjD,KAAOjgB,EACf,GAAIA,EAAKiD,eAAegd,KACa,IAAhCiD,EAAchhB,QAAQ+d,GACzB,IACC3H,EAAU2H,EAAKjgB,EAAKigB,IACnB,MAAO9f,GACRN,QAAQC,KAAKK,GAoBjB,QAPuBf,IAAnB1B,KAAKugB,UACRvgB,KAAKugB,UAAYxgB,EAAOH,SAAS4gB,KAGjCxgB,KAAKugB,UAAYngB,EAAIY,KAAKhB,KAAKugB,YAG3BvgB,KAAKugB,UACT,MAAM,IAAIzgB,MAAM,+DAOjB,GAFAE,KAAKmD,cAAgB/C,EAAIY,KAAKmC,IAEzBnD,KAAKmD,cAAe,CAExB,GAA6B,iBAAlBA,GAA8B,qBAAqBsiB,KAAKtiB,GAGlE,MAAM,IAAIrD,MAAM,OADCqD,EACsB,2CADtBA,EACkF,gCAGpG,MAAM,IAAIrD,MAAM,4DAGjB,GAAIE,KAAKmD,cAAc9C,SAAWL,KAAKmD,cAAc9C,mBAAmBD,EAAIO,IAC3E,MAAM,IAAIb,MAAM,kDAajB,GARAE,KAAKmD,cAAc9C,QAAUL,KAC7BI,EAAImI,SAASvI,KAAKmD,cAAe/C,EAAIO,IAAIoB,WAGzC3B,EAAIG,UAAU6C,KAAKpD,MAIfI,EAAIkE,SAAStE,KAAKmD,iBAEyB,WAA1CnD,KAAKmD,cAAcxB,KAAKC,gBAG3B5B,KAAKmD,cAAcxB,KAAO,UAGvBvB,EAAIqE,cAAczE,KAAKmD,gBAAgB,CAK1C/C,EAAI8D,eAAelE,KAAKmD,eAGxBnD,KAAKmD,cAAc+Z,YAAYnd,EAAOH,SAASqgB,eAAe,MAG9D,IAAI+E,EAAY5kB,EAAIyI,aAAa7I,KAAKmD,gBACnByL,WAAWoW,EAAU,eAAiB,GACtChlB,KAAKuhB,aACvBnhB,EAAI4I,SAAShJ,KAAKmD,cAAe,CAChCuiB,YAAa1lB,KAAKuhB,YAAc,MAC9BvhB,KAAK4hB,YAsCX,QAhC0BlgB,IAAtB1B,KAAKohB,aACJhhB,EAAIiE,YAAYrE,KAAKmD,iBAExBnD,KAAKohB,aAAephB,KAAKmD,eAKM,OAAtBnD,KAAKohB,eAIfphB,KAAKohB,aAAehhB,EAAIY,KAAKhB,KAAKohB,eAI/BphB,KAAKqhB,eACRrhB,KAAKqhB,aAAejhB,EAAIY,KAAKhB,KAAKqhB,oBAIP3f,IAAxB1B,KAAKshB,eACRthB,KAAKshB,eAAiBthB,KAAKmD,cAEO,OAAxBnD,KAAKshB,iBAIfthB,KAAKshB,eAAiBlhB,EAAIY,KAAKhB,KAAKshB,iBAIjCthB,KAAKohB,cAAgBhhB,EAAIiE,YAAYrE,KAAKohB,cAAe,CAI5D,IAAIuE,EAAyB,CAC5BxE,QAASnhB,KAAKohB,aAAawE,SAE5B5lB,KAAKohB,aAAawE,QAAU,KAE5B5lB,KAAKohB,aAAa1gB,iBAAiB,WA3RpC,SAAyB0G,GACC,UAArBhH,EAAIsH,SAASN,KACZuT,EAAKyG,cACRzG,EAAKgJ,kBAAkBhJ,EAAKyG,aAAa1c,OAE1CiW,EAAKvE,cAsRwD,GAC9DpW,KAAKohB,aAAa1gB,iBAAiB,UAxQpC,SAAwB0G,GACvB,IAAIhH,EAAIuF,QAAQyB,EAAI,YAApB,CAIA,IAAIye,EAASlL,EAAKyG,aAAa1c,MAE/BiW,EAAKgJ,kBAAkBhJ,EAAKyG,aAAa1c,OAEzCtE,EAAIoV,gBAAgBmF,EAAM,YAEtBA,EAAKyG,aAAa1c,QAAUmhB,GAE/BzlB,EAAIqH,kBAAkBkT,EAAKyG,aAAc,UAAU,GAAM,OA2PE,GAC5DphB,KAAKohB,aAAa1gB,iBAAiB,SAlOpC,SAAuB0G,GAClBhH,EAAIuF,QAAQyB,EAAI,cAIhBuT,EAAKyG,cACRzG,EAAKqI,WAAWrI,EAAKyG,aAAa1c,MAAOtE,EAAIwZ,MAAMC,YAGpDzZ,EAAIoV,gBAAgBmF,EAAM,eAyNgC,GAEtDgL,EAAuBxE,SAC1BnhB,KAAKohB,aAAa1gB,iBAAiB,QAASilB,EAAuBxE,SAAS,GAG7EnhB,KAAKohB,aAAalc,aAAa,eAAgB,OAC/ClF,KAAKohB,aAAalc,aAAa,cAAe,OAC9ClF,KAAKohB,aAAalc,aAAa,iBAAkB,OACjDlF,KAAKohB,aAAalc,aAAa,cAAc,GAI1ClF,KAAKqhB,cAAgBjhB,EAAIiE,YAAYrE,KAAKqhB,gBAC7CrhB,KAAKqhB,aAAa3gB,iBAAiB,WAjSpC,SAAyB0G,GACC,UAArBhH,EAAIsH,SAASN,KACZuT,EAAK0G,cACR1G,EAAKiJ,kBAAkBjJ,EAAK0G,aAAa3c,OAE1CiW,EAAKvE,cA4RwD,GAC9DpW,KAAKqhB,aAAa3gB,iBAAiB,UAtQpC,SAAwB0G,GACvB,IAAIhH,EAAIuF,QAAQyB,EAAI,YAApB,CAIA,IAAIye,EAASlL,EAAK0G,aAAa3c,MAE/BiW,EAAKiJ,kBAAkBjJ,EAAK0G,aAAa3c,OAEzCtE,EAAIoV,gBAAgBmF,EAAM,YAG1Bva,EAAIqH,kBAAkBkT,EAAKyG,aAAc,UAAU,GAAM,GAErDzG,EAAK0G,aAAa3c,QAAUmhB,GAE/BzlB,EAAIqH,kBAAkBkT,EAAK0G,aAAc,UAAU,GAAM,OAsPE,GAC5DrhB,KAAKqhB,aAAa3gB,iBAAiB,SAlOpC,SAAuB0G,GAClBhH,EAAIuF,QAAQyB,EAAI,cAIhBuT,EAAK0G,cACR1G,EAAKjD,SAAS,KAAM,KAAM,KAAM9I,WAAW+L,EAAK0G,aAAa3c,OAAQtE,EAAIwZ,MAAME,YAGhF1Z,EAAIoV,gBAAgBmF,EAAM,WAG1Bva,EAAIqH,kBAAkBkT,EAAKyG,aAAc,SAAS,GAAM,OAsNE,GAE1DphB,KAAKqhB,aAAanc,aAAa,eAAgB,OAC/ClF,KAAKqhB,aAAanc,aAAa,cAAe,OAC9ClF,KAAKqhB,aAAanc,aAAa,iBAAkB,OACjDlF,KAAKqhB,aAAanc,aAAa,cAAc,IAK9C,IAAI4gB,EAAY,cAEGpkB,IAAf1B,KAAK0E,MACRohB,EAAY9lB,KAAK0E,MACP1E,KAAKohB,mBAA4C1f,IAA5B1B,KAAKohB,aAAa1c,QACjDohB,EAAY9lB,KAAKohB,aAAa1c,OAK/B,IAAIqhB,OAAYrkB,EAYhB,QAVmBA,IAAf1B,KAAKihB,MACR8E,EAAa,GAAG/lB,KAAKihB,MACXjhB,KAAKqhB,mBAA4C3f,IAA5B1B,KAAKqhB,aAAa3c,QACjDqhB,EAAY/lB,KAAKqhB,aAAa3c,OAK/B1E,KAAK0jB,eAAiB,KAElB,CAAC,OAAQ,OAAOlf,QAAQxE,KAAKmO,OAAOvM,gBAAkB,EAAG,CAE5D,IAAIsN,EAAQ9O,EAAI4N,iBAAiB8X,GACjC9lB,KAAK0jB,eAAiBxU,EAAQA,EAAMf,OAAS,WAG7CnO,KAAK0jB,eAAiB1jB,KAAKmO,OAAOvM,cAKnC5B,KAAK2jB,kBAAkBmC,QAOLpkB,IAAdqkB,GACH/lB,KAAK4jB,kBAAkBmC,MAkBtBplB,IAAIoB,UAAY,UAIpB3B,EAAIO,IAAI2f,gBAAkB,iBAK1BlgB,EAAIO,IAAImC,WAAY,EAIpB1C,EAAIO,IAAI4kB,QAAU,GAGlBnlB,EAAIO,IAAI4kB,QAAiB,QAAI,GAE7BnlB,EAAIO,IAAI4kB,QAAe,MAAI,CAC1BpH,gBAAiB,sBACjBE,mBAAoB,sBACpBuB,YAAa,iBAEdxf,EAAIO,IAAI4kB,QAAc,KAAI,CACzBpH,gBAAiB,mBACjBE,mBAAoB,sBACpBuB,YAAa,uBAGdxf,EAAIO,IAAI4kB,QAAe,MAAI,CAAE9V,MAAM,IAAKC,OAAO,IAAKqE,QAAQ,GAAIL,WAAW,GAAIsB,YAAY,GAC3F5U,EAAIO,IAAI4kB,QAAgB,OAAI,CAAE9V,MAAM,IAAKC,OAAO,IAAKqE,QAAQ,GAAIL,WAAW,GAAIsB,YAAY,IAC5F5U,EAAIO,IAAI4kB,QAAe,MAAI,CAAE9V,MAAM,IAAKC,OAAO,IAAKqE,QAAQ,GAAIL,WAAW,GAAIsB,YAAY,IAE3F5U,EAAIO,IAAI4kB,QAAc,KAAI,CAAE/Q,YAAY,EAAGjB,mBAAmB,EAAG6B,mBAAmB,GACpFhV,EAAIO,IAAI4kB,QAAe,MAAI,CAAE/Q,YAAY,EAAGjB,mBAAmB,EAAG6B,mBAAmB,GAIrFhV,EAAIO,IAAIke,iBAAmB,EAG3Bze,EAAIO,IAAIyP,eAAiB,EACzBhQ,EAAIO,IAAI2P,iBAAmB,UAC3BlQ,EAAIO,IAAI6P,iBAAmB,UAG3BpQ,EAAIO,IAAIuP,iBAAmB,CAAC,wBAAyB,yBAIrD9P,EAAIO,IAAIC,KAAO,WACd,IAAIR,EAAIE,YAgBR,IAXAP,EAAOH,SAASc,iBAAiB,YAAaN,EAAIoW,qBAAqB,GACvEzW,EAAOH,SAASc,iBAAiB,QAASN,EAAI+V,iBAAiB,GAC/DpW,EAAOW,iBAAiB,SAAUN,EAAIiW,gBAAgB,GACtDtW,EAAOW,iBAAiB,SAAUN,EAAIkW,gBAAgB,GAGtDlW,EAAIO,IAAIqlB,UAER5lB,EAAIE,aAAc,EAGXF,EAAII,WAAWe,QACVnB,EAAII,WAAWylB,OAC1B5f,IAMFjG,EAAIO,IAAIqlB,QAAU,SAAUjlB,GAC3B,IAAIuhB,GAAU,EAEd,IACCliB,EAAIS,kBAAkB,iBAAkBE,GACvC,MAAO0B,GACR6f,GAAU,EACVngB,QAAQC,KAAKK,GAId,GAAIrC,EAAIO,IAAIU,YACX,IACCjB,EAAIS,kBAEF,SAAWT,EAAIO,IAAIU,YAAnB,YACYjB,EAAIO,IAAIU,YAErBN,GAEA,MAAO0B,IAGV,OAAO6f,GAMRliB,EAAIO,IAAIulB,MAAQ,SAAU7f,GACzB,MAAoB,mBAATA,GACVlE,QAAQC,KAAK,mCACN,IAGJhC,EAAIE,YACP+F,IAEAjG,EAAII,WAAW4C,KAAKiD,IAEd,IASRjG,EAAIO,IAAIkV,QAAU,SAAUD,GAC3B,IAAIuQ,EAAa,WAChB/lB,EAAIuV,cAAcC,IAGfxV,EAAIE,YACP6lB,IAEA/lB,EAAIO,IAAIulB,MAAMC,IAMhB/lB,EAAIO,IAAI2X,KAAO,WACVlY,EAAIwR,QAAUxR,EAAIwR,OAAOC,OAC5BzR,EAAIwR,OAAOC,MAAMyG,QAMnBlY,EAAIO,IAAIoe,WAAa,SAAU7P,GAK9B,OAJKA,IACJA,EAAQ,iBAEK9O,EAAIyP,sBAAsBX,GACzBI,OAAOgQ,aAKvBlf,EAAIO,IAAIiK,WAAa,SAAUsE,GAC9B,IAAI8U,EAAc,GAGlBA,EAAY5gB,KAAKhD,EAAIkR,wBAAwBpC,IAG7C,IAAImV,EAAUjkB,EAAIyP,wBAOlB,OANAmU,EAAY5gB,KAAK,CAChB,QAAWihB,EAAQ/U,OAAOgQ,YAAc,KACxC,WACA,UACCtU,KAAK,MAEAgZ,EAAYhZ,KAAK,OAYzB5K,EAAIO,IAAIukB,QAAU,GAUlB9kB,EAAIO,IAAIU,YAAc,UAMtBjB,EAAIO,IAAIylB,mBAAqB,WAE5B,OADAjkB,QAAQuT,MAAM,qGAAuGtV,EAAIiC,UAClH,GAIRjC,EAAIK,WAGGL,EAAIO,KAaX,YAP8B,IAAnBZ,EAAOM,UACjBN,EAAOM,QAAUN,EAAOsmB,QAAUhmB,GAM5BA,OAUOimB,EAA2B,GAG/B,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqB9kB,IAAjB+kB,EACH,OAAOA,EAAa9mB,QAGrB,IAAIH,EAAS8mB,EAAyBE,GAAY,CAGjD7mB,QAAS,IAOV,OAHAL,EAAoBknB,GAAUvb,KAAKzL,EAAOG,QAASH,EAAQA,EAAOG,QAAS4mB,GAGpE/mB,EAAOG,QAOd4mB,EAAoBhiB,EAAK/E,IACxB,IAAI0b,EAAS1b,GAAUA,EAAOknB,WAC7B,IAAOlnB,EAAiB,QACxB,IAAM,EAEP,OADA+mB,EAAoBI,EAAEzL,EAAQ,CAAE/Q,EAAG+Q,IAC5BA,GAORqL,EAAoBI,EAAI,CAAChnB,EAASinB,KACjC,IAAI,IAAIC,KAAOD,EACXL,EAAoBO,EAAEF,EAAYC,KAASN,EAAoBO,EAAEnnB,EAASknB,IAC5E/hB,OAAOC,eAAepF,EAASknB,EAAK,CAAEE,YAAY,EAAM/hB,IAAK4hB,EAAWC,MAQ3EN,EAAoBO,EAAI,CAAC1hB,EAAKI,IAAUV,OAAOiG,UAAUxF,eAAe0F,KAAK7F,EAAKI,GAM7F,MACA,aAiDA,IAAIwhB,EAAY,GAChB,MAMMC,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAU,CACdH,EACAN,EACAC,EACAC,EACAC,EACAC,EACAC,EACAE,EACAC,GAUIE,EAAc,CAClB,CAAC,6BAA8B,oCAAqC,SACpE,CACE,2CACA,6EACA,SAEF,CACE,6BACA,qPACA,SAEF,CACE,8BACA,kEACA,SAEF,CACE,kCACA,2PACA,SAEF,CACE,0BACA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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","Colours","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","matureBase","plantName","GardenPlots","totalGain","mortal","tile","immortal","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","Blue","Green","Yellow","Orange","Red","Purple","Gray","Pink","Brown","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Calculation","Notation","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateColours","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","mod","Colors","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","Prompt","outerHTML","ClosePrompt","innerDiv","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","groupObject","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateWhiteScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAU,CACdH,EACAN,EACAC,E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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file diff --git a/src/Config/Toggles/ToggleWrinklerButtons.js b/src/Config/Toggles/ToggleWrinklerButtons.js index 16128535..0fe246a9 100644 --- a/src/Config/Toggles/ToggleWrinklerButtons.js +++ b/src/Config/Toggles/ToggleWrinklerButtons.js @@ -5,7 +5,7 @@ import { CMOptions } from '../VariablesAndData'; * It is called by changes in CM.Options.WrinklerButtons */ export default function ToggleWrinklerButtons() { - if (CMOptions.WrinklerButtons) { + if (CMOptions.WrinklerButtons && Game.elderWrath) { l('PopAllNormalWrinklerButton').style.display = ''; l('PopFattestWrinklerButton').style.display = ''; } else { diff --git a/src/Disp/Draw.js b/src/Disp/Draw.js index 62e05a19..608d83f9 100644 --- a/src/Disp/Draw.js +++ b/src/Disp/Draw.js @@ -1,3 +1,4 @@ +import ToggleWrinklerButtons from '../Config/Toggles/ToggleWrinklerButtons'; import { CMOptions } from '../Config/VariablesAndData'; import { Beautify } from './BeautifyAndFormatting/BeautifyFormatting'; import UpdateBuildings from './BuildingsUpgrades/Buildings'; @@ -52,6 +53,9 @@ export default function Draw() { // Change menu refresh interval RefreshMenu(); + // Update display of wrinkler buttons, this checks if Elder Pledge has been bought and if they should be disabled + ToggleWrinklerButtons(); + // Replace Cookies counter because Orteil uses very weird code to "pad" it... if (CMOptions.Scale) { let str = l('cookies').innerHTML.replace( diff --git a/src/Main/Initialization.js b/src/Main/Initialization.js index 080a0bbc..1c870b59 100644 --- a/src/Main/Initialization.js +++ b/src/Main/Initialization.js @@ -59,6 +59,7 @@ export default function InitializeCookieMonster() { Game.CalculateGains(); LoadConfig(); // Must be after all things are created! + Game.UpdateMenu(); CMLastAscendState = Game.OnAscend; if (Game.prefs.popups) From 972d4723edb50a067697371b8fa1a60ac0933b3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Sun, 28 Mar 2021 10:55:10 +0200 Subject: [PATCH 04/30] New colour settings, changeable flash colour #728 --- CookieMonster.js | 2 +- dist/CookieMonster.js | 2 +- dist/CookieMonster.js.map | 2 +- .../SaveLoadReload/SaveLoadReloadSettings.js | 34 ++---- src/Data/SettingClasses.js | 3 +- src/Data/SettingsData.js | 100 ++++++++++++++---- src/Data/SettingsDefault.js | 27 +++-- src/Disp/BuildingsUpgrades/Buildings.js | 14 +-- src/Disp/BuildingsUpgrades/Upgrades.js | 6 +- src/Disp/HelperFunctions/UpdateColours.js | 20 ++-- .../{WhiteScreen.js => FlashScreen.js} | 4 +- src/Disp/MenuSections/SettingsPage.js | 49 +++++---- src/Disp/Notifications/Flash.js | 22 ++-- src/Disp/VariablesAndData.js | 2 +- src/Main/CheckStates/Garden.js | 2 +- src/Main/CheckStates/GoldenCookie.js | 2 +- src/Main/CheckStates/Grimoire.js | 2 +- src/Main/CheckStates/Season.js | 2 +- src/Main/CheckStates/Ticker.js | 2 +- src/Main/CheckStates/Wrinkler.js | 4 +- src/Main/Initialization.js | 8 +- 21 files changed, 183 insertions(+), 126 deletions(-) rename src/Disp/Initialization/{WhiteScreen.js => FlashScreen.js} (84%) diff --git a/CookieMonster.js b/CookieMonster.js index f9d751d0..4f2051b4 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],U={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Re,Ue,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Rt=0,Ut={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Re===t.id)return 2;if(Ue===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e.Colours[t[o].color]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Re=t.minigame.slot[1],Ue=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].matureBase,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;eVt[30][0]?W:L,0!==Number(e.PPSecondsLowerLimit)&&o/lo()0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ro=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Uo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Ro).forEach((e=>{to(Ro[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,Colours:{Blue:"#4bb8f0",Green:"#00ff00",Yellow:"#ffff00",Orange:"#ff7f00",Red:"#ff0000",Purple:"#ff00ff",Gray:"#b3b3b3",Pink:"#ff1493",Brown:"#8b4513"},BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){let t="";for(let o=0;o0?Ut.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class dn{constructor(e,t){this.type=e,this.group=t}}class pn extends dn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class un extends dn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends dn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new pn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new pn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new pn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new pn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new pn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Aabreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new pn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new pn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new pn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new pn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new pn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new pn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new pn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new pn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new pn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),Colours:new class extends dn{constructor(e,t,o,n){super(e,t),this.desc=o,this.func=n}}("colour","Colours",{Blue:"Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels",Green:"Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels",Yellow:"Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels",Orange:"Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels",Red:"Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels",Purple:"Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels",Gray:"Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar",Pink:"Standard colour is pink. Used for Dragonflight bar",Brown:"Standard colour is brown. Used for Dragon Harvest bar"},(function(){sn()})),BotBar:new pn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new pn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new pn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new pn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new pn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new pn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new pn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new pn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new pn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new pn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new pn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new pn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){cn()})),WrinklerButtons:new pn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new pn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new pn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new pn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new pn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new pn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new pn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new pn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new pn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new pn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new pn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new pn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new pn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new pn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new pn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new pn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new pn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new pn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new pn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new pn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new pn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new pn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new pn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new pn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new pn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),GCSound:new pn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new pn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new pn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new pn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),FortuneSound:new pn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new pn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new pn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new pn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),SeaSound:new pn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new pn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new pn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),GardSound:new pn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new pn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new pn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new pn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),MagicSound:new pn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new pn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new pn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new pn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),WrinklerSound:new pn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new pn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new pn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new pn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxSound:new pn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new pn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new pn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o){1===e[o]&&3===t&&!1===bn||1===t?(l("CMWhiteScreen").style.opacity="0.5",3===t?(l("CMWhiteScreen").style.display="inline",setTimeout((function(){kn(2,o)}),1e3/Game.fps)):setTimeout((function(){kn(0,o)}),1e3/Game.fps)):2===t?(l("CMWhiteScreen").style.opacity="1",setTimeout((function(){kn(1,o)}),1e3/Game.fps)):0===t&&(l("CMWhiteScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Ut=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),cn(),b=G,0===G&&(Ut=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash"),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash"),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash"):kn(3,"WrinklerFlash"),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${gn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Tn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t;let o=!1;Object.keys(nn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"!==t&&"Colors"!==t?-1===t.indexOf("SoundURL")?e[t]>-1&&e[t]{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])})):Object.keys(nn.Colors).forEach((n=>{void 0!==e[t][n]&&"string"==typeof e[t][n]||(o=!0,e[t][n]=nn[t][n])}))})),o&&xn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Tn(nn)}function Mn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Sn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Pn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Bn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),xn()}function An(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Ln(o),Game.UpdateMenu()},n.appendChild(i),n}function jn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(U[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Dn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Hn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(An("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(jn("basic","Rare plant drops left to unlock",Dn(c))),e}())),o.appendChild(An("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(jn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Rt,1)})`,i.appendChild(a),t.appendChild(jn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(jn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(jn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(jn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(jn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(jn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(jn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(jn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(jn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(An("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Mn()},e.appendChild(t),o.appendChild(jn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(jn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(i.push(Ro[e]),o=!0)}));const a=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(a.push(Uo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(An("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(jn("basic","Halloween cookies left to buy",Dn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(jn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(jn("basic","Christmas cookies left to buy",Dn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(jn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(jn("basic","Valentine cookies left to buy",Dn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(jn("basic","Normal easter eggs left to unlock",Dn(r))),t.appendChild(jn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(jn("basic","Rare easter eggs left to unlock",Dn(l))),t.appendChild(jn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(jn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(jn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(jn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(An("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(jn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(jn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(jn("basic","Fortune Upgrades Left to Buy",Dn(e)))}if(e.ShowMissedGC&&o.appendChild(jn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(jn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Rn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Un={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function $n(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Ln(t),Game.UpdateMenu()},n.appendChild(i),n}function In(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Fn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Fn+t).className="option off")):l(Fn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Fn+t).innerHTML=hn[t].label[e[t]],xn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Wn(t)},r.onchange=function(){Wn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Fn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Fn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,xn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("color"===hn[t].type){o.className="";for(let t=0;tthis.max&&console.log("TEST"),e[t]=this.value,xn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function zn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Vn(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){zn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){zn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){zn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==On().picker&&void 0!==On().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Rn).forEach((t=>{const n=$n(t,Rn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys(Un).forEach((t=>{const n=$n(t,Un[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(In(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(In(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Tn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Hn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Ln("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Ut?Ut.wrath?`[W${Math.ceil(Ut.life/Game.fps)}]`:`[G${Math.ceil(Ut.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Ut&&(t=!0,Ut.wrath?e+=`[W${Math.ceil(Ut.life/Game.fps)}]`:e+=`[G${Math.ceil(Ut.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function _n(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMWhiteScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),U[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Mn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Pn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),En()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},Vn(),En(),Game.CalculateGains(),Tn(),Game.UpdateMenu(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Xn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(_n(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Tn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Xn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],U={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Re,Ue,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Rt=0,Ut={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Re===t.id)return 2;if(Ue===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Re=t.minigame.slot[1],Ue=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].matureBase,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;eVt[30][0]?W:L,0!==Number(e.PPSecondsLowerLimit)&&o/lo()0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ro=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Uo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Ro).forEach((e=>{to(Ro[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Ut.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Aabreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Ut=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Ut=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(U[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Rn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Rt,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(i.push(Ro[e]),o=!0)}));const a=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(a.push(Uo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Un={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Un).forEach((t=>{const n=In(t,Un[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Rn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Ut?Ut.wrath?`[W${Math.ceil(Ut.life/Game.fps)}]`:`[G${Math.ceil(Ut.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Ut&&(t=!0,Ut.wrath?e+=`[W${Math.ceil(Ut.life/Game.fps)}]`:e+=`[G${Math.ceil(Ut.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),U[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index f9d751d0..4f2051b4 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],U={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Re,Ue,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Rt=0,Ut={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Re===t.id)return 2;if(Ue===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e.Colours[t[o].color]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Re=t.minigame.slot[1],Ue=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].matureBase,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;eVt[30][0]?W:L,0!==Number(e.PPSecondsLowerLimit)&&o/lo()0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ro=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Uo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Ro).forEach((e=>{to(Ro[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,Colours:{Blue:"#4bb8f0",Green:"#00ff00",Yellow:"#ffff00",Orange:"#ff7f00",Red:"#ff0000",Purple:"#ff00ff",Gray:"#b3b3b3",Pink:"#ff1493",Brown:"#8b4513"},BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){let t="";for(let o=0;o0?Ut.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class dn{constructor(e,t){this.type=e,this.group=t}}class pn extends dn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class un extends dn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends dn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new pn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new pn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new pn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new pn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new pn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Aabreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new pn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new pn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new pn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new pn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new pn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new pn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new pn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new pn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new pn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),Colours:new class extends dn{constructor(e,t,o,n){super(e,t),this.desc=o,this.func=n}}("colour","Colours",{Blue:"Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels",Green:"Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels",Yellow:"Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels",Orange:"Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels",Red:"Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels",Purple:"Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels",Gray:"Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar",Pink:"Standard colour is pink. Used for Dragonflight bar",Brown:"Standard colour is brown. Used for Dragon Harvest bar"},(function(){sn()})),BotBar:new pn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new pn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new pn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new pn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new pn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new pn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new pn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new pn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new pn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new pn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new pn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new pn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){cn()})),WrinklerButtons:new pn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new pn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new pn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new pn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new pn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new pn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new pn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new pn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new pn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new pn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new pn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new pn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new pn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new pn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new pn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new pn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new pn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new pn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new pn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new pn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new pn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new pn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new pn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new pn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new pn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),GCSound:new pn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new pn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new pn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new pn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),FortuneSound:new pn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new pn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new pn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new pn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),SeaSound:new pn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new pn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new pn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),GardSound:new pn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new pn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new pn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new pn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),MagicSound:new pn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new pn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new pn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new pn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),WrinklerSound:new pn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new pn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new pn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new pn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxSound:new pn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new pn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new pn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o){1===e[o]&&3===t&&!1===bn||1===t?(l("CMWhiteScreen").style.opacity="0.5",3===t?(l("CMWhiteScreen").style.display="inline",setTimeout((function(){kn(2,o)}),1e3/Game.fps)):setTimeout((function(){kn(0,o)}),1e3/Game.fps)):2===t?(l("CMWhiteScreen").style.opacity="1",setTimeout((function(){kn(1,o)}),1e3/Game.fps)):0===t&&(l("CMWhiteScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Ut=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),cn(),b=G,0===G&&(Ut=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash"),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash"),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash"):kn(3,"WrinklerFlash"),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${gn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Tn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t;let o=!1;Object.keys(nn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"!==t&&"Colors"!==t?-1===t.indexOf("SoundURL")?e[t]>-1&&e[t]{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])})):Object.keys(nn.Colors).forEach((n=>{void 0!==e[t][n]&&"string"==typeof e[t][n]||(o=!0,e[t][n]=nn[t][n])}))})),o&&xn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Tn(nn)}function Mn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Sn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Pn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Bn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),xn()}function An(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Ln(o),Game.UpdateMenu()},n.appendChild(i),n}function jn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(U[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Dn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Hn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(An("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(jn("basic","Rare plant drops left to unlock",Dn(c))),e}())),o.appendChild(An("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(jn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Rt,1)})`,i.appendChild(a),t.appendChild(jn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(jn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(jn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(jn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(jn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(jn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(jn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(jn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(jn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(An("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Mn()},e.appendChild(t),o.appendChild(jn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(jn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(i.push(Ro[e]),o=!0)}));const a=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(a.push(Uo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(An("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(jn("basic","Halloween cookies left to buy",Dn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(jn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(jn("basic","Christmas cookies left to buy",Dn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(jn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(jn("basic","Valentine cookies left to buy",Dn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(jn("basic","Normal easter eggs left to unlock",Dn(r))),t.appendChild(jn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(jn("basic","Rare easter eggs left to unlock",Dn(l))),t.appendChild(jn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(jn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(jn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(jn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(An("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(jn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(jn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(jn("basic","Fortune Upgrades Left to Buy",Dn(e)))}if(e.ShowMissedGC&&o.appendChild(jn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(jn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Rn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Un={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function $n(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Ln(t),Game.UpdateMenu()},n.appendChild(i),n}function In(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Fn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Fn+t).className="option off")):l(Fn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Fn+t).innerHTML=hn[t].label[e[t]],xn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Wn(t)},r.onchange=function(){Wn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Fn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Fn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,xn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("color"===hn[t].type){o.className="";for(let t=0;tthis.max&&console.log("TEST"),e[t]=this.value,xn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function zn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Vn(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){zn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){zn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){zn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==On().picker&&void 0!==On().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Rn).forEach((t=>{const n=$n(t,Rn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys(Un).forEach((t=>{const n=$n(t,Un[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(In(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(In(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Tn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Hn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Ln("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Ut?Ut.wrath?`[W${Math.ceil(Ut.life/Game.fps)}]`:`[G${Math.ceil(Ut.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Ut&&(t=!0,Ut.wrath?e+=`[W${Math.ceil(Ut.life/Game.fps)}]`:e+=`[G${Math.ceil(Ut.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function _n(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMWhiteScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),U[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Mn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Pn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Sn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),En()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},Vn(),En(),Game.CalculateGains(),Tn(),Game.UpdateMenu(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Xn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(_n(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Tn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Xn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],U={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Re,Ue,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Rt=0,Ut={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Re===t.id)return 2;if(Ue===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Re=t.minigame.slot[1],Ue=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].matureBase,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;eVt[30][0]?W:L,0!==Number(e.PPSecondsLowerLimit)&&o/lo()0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ro=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Uo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Ro).forEach((e=>{to(Ro[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Ut.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Aabreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Ut=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Ut=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(U[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Rn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Rt,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(i.push(Ro[e]),o=!0)}));const a=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(a.push(Uo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Un={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Un).forEach((t=>{const n=In(t,Un[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Rn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Ut?Ut.wrath?`[W${Math.ceil(Ut.life/Game.fps)}]`:`[G${Math.ceil(Ut.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Ut&&(t=!0,Ut.wrath?e+=`[W${Math.ceil(Ut.life/Game.fps)}]`:e+=`[G${Math.ceil(Ut.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),U[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index ae649524..f62549db 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","Colours","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","matureBase","plantName","GardenPlots","totalGain","mortal","tile","immortal","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","Blue","Green","Yellow","Orange","Red","Purple","Gray","Pink","Brown","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Calculation","Notation","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateColours","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","mod","Colors","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","Prompt","outerHTML","ClosePrompt","innerDiv","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","groupObject","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateWhiteScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAU,CACdH,EACAN,EACAC,E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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","matureBase","plantName","GardenPlots","totalGain","mortal","tile","immortal","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","Prompt","outerHTML","ClosePrompt","innerDiv","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","groupObject","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file diff --git a/src/Config/SaveLoadReload/SaveLoadReloadSettings.js b/src/Config/SaveLoadReload/SaveLoadReloadSettings.js index bf99c9ea..b811e0d2 100644 --- a/src/Config/SaveLoadReload/SaveLoadReloadSettings.js +++ b/src/Config/SaveLoadReload/SaveLoadReloadSettings.js @@ -3,6 +3,7 @@ import ConfigData from '../../Data/SettingsData'; import { CMOptions } from '../VariablesAndData'; import save from '../../InitSaveLoad/save'; import CMLoop from '../../Main/Loop'; +import UpdateColours from '../../Disp/HelperFunctions/UpdateColours'; /** Functions related to saving, loading and restoring all settings */ @@ -41,25 +42,19 @@ export function LoadConfig(settings) { if (settings !== undefined) { CMOptions = settings; + if (typeof CMOptions.Colors !== 'undefined') { + delete CMOptions.Colors; + } + if (typeof CMOptions.Colours !== 'undefined') { + delete CMOptions.Colours; + } + // Check values let mod = false; Object.keys(ConfigDefault).forEach((i) => { if (typeof CMOptions[i] === 'undefined') { mod = true; CMOptions[i] = ConfigDefault[i]; - } else if (i !== 'Header' && i !== 'Colors') { - if (i.indexOf('SoundURL') === -1) { - if ( - !(CMOptions[i] > -1 && CMOptions[i] < ConfigData[i].label.length) - ) { - mod = true; - CMOptions[i] = ConfigDefault[i]; - } - } else if (typeof CMOptions[i] !== 'string') { - // Sound URLs - mod = true; - CMOptions[i] = ConfigDefault[i]; - } } else if (i === 'Header') { Object.keys(ConfigDefault.Header).forEach((j) => { if ( @@ -70,17 +65,6 @@ export function LoadConfig(settings) { CMOptions[i][j] = ConfigDefault[i][j]; } }); - } else { - // Colors - Object.keys(ConfigDefault.Colors).forEach((j) => { - if ( - typeof CMOptions[i][j] === 'undefined' || - typeof CMOptions[i][j] !== 'string' - ) { - mod = true; - CMOptions[i][j] = ConfigDefault[i][j]; - } - }); } }); if (mod) SaveConfig(); @@ -94,4 +78,6 @@ export function LoadConfig(settings) { // Default values LoadConfig(ConfigDefault); } + Game.UpdateMenu(); + UpdateColours(); } diff --git a/src/Data/SettingClasses.js b/src/Data/SettingClasses.js index 5c410367..943d69f6 100644 --- a/src/Data/SettingClasses.js +++ b/src/Data/SettingClasses.js @@ -23,10 +23,9 @@ export class SettingStandard extends Setting { } /** The colour picker setting class */ export class SettingColours extends Setting { - constructor(type, group, desc, func) { + constructor(type, group, desc) { super(type, group); this.desc = desc; - this.func = func; } } diff --git a/src/Data/SettingsData.js b/src/Data/SettingsData.js index 5eb16fd0..c8157cf0 100644 --- a/src/Data/SettingsData.js +++ b/src/Data/SettingsData.js @@ -13,7 +13,6 @@ import { CMOptions } from '../Config/VariablesAndData'; import UpdateBuildings from '../Disp/BuildingsUpgrades/Buildings'; import UpdateUpgrades from '../Disp/BuildingsUpgrades/Upgrades'; import RefreshScale from '../Disp/HelperFunctions/RefreshScale'; -import UpdateColours from '../Disp/HelperFunctions/UpdateColours'; import { UpdateFavicon } from '../Disp/TabTitle/FavIcon'; import { SimDoSims } from '../Sim/VariablesAndData'; import { @@ -193,30 +192,50 @@ const Config = { 0, Infinity, ), - Colours: new SettingColours( + ColourBlue: new SettingColours( 'colour', 'Colours', - { - Blue: - 'Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels', - Green: - 'Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels', - Yellow: - 'Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels', - Orange: - 'Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels', - Red: - 'Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels', - Purple: - 'Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels', - Gray: - 'Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar', - Pink: 'Standard colour is pink. Used for Dragonflight bar', - Brown: 'Standard colour is brown. Used for Dragon Harvest bar', - }, - function () { - UpdateColours(); - }, + 'Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels', + ), + ColourGreen: new SettingColours( + 'colour', + 'Colours', + 'Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels', + ), + ColourYellow: new SettingColours( + 'colour', + 'Colours', + 'Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels', + ), + ColourOrange: new SettingColours( + 'colour', + 'Colours', + 'Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels', + ), + ColourRed: new SettingColours( + 'colour', + 'Colours', + 'Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels', + ), + ColourPurple: new SettingColours( + 'colour', + 'Colours', + 'Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels', + ), + ColourGray: new SettingColours( + 'colour', + 'Colours', + 'Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar', + ), + ColourPink: new SettingColours( + 'colour', + 'Colours', + 'Standard colour is pink. Used for Dragonflight bar', + ), + ColourBrown: new SettingColours( + 'colour', + 'Colours', + 'Standard colour is brown. Used for Dragon Harvest bar', ), // BarsDisplay @@ -561,6 +580,11 @@ const Config = { 'Flash screen on golden cookie', true, ), + ColourGCFlash: new SettingColours( + 'colour', + 'NotificationGC', + 'The colour of the GC flash, standard colour is white', + ), GCSound: new SettingStandard( 'bool', 'NotificationGC', @@ -592,6 +616,11 @@ const Config = { 'Flash screen on fortune cookie spawn', true, ), + ColourFortuneFlash: new SettingColours( + 'colour', + 'NotificationFC', + 'The colour of the fortune flash, standard colour is white', + ), FortuneSound: new SettingStandard( 'bool', 'NotificationFC', @@ -623,6 +652,11 @@ const Config = { 'Flash screen on season popup', true, ), + ColourSeaFlash: new SettingColours( + 'colour', + 'NotificationSea', + 'The colour of the season popup flash, standard colour is white', + ), SeaSound: new SettingStandard( 'bool', 'NotificationSea', @@ -644,6 +678,11 @@ const Config = { 'Flash screen on garden tick', true, ), + ColourGardFlash: new SettingColours( + 'colour', + 'NotificationGard', + 'The colour of the garden flash, standard colour is white', + ), GardSound: new SettingStandard( 'bool', 'NotificationGard', @@ -675,6 +714,11 @@ const Config = { 'Flash screen when magic reaches maximum', true, ), + ColourMagicFlash: new SettingColours( + 'colour', + 'NotificationMagi', + 'The colour of the magic flash, standard colour is white', + ), MagicSound: new SettingStandard( 'bool', 'NotificationMagi', @@ -706,6 +750,11 @@ const Config = { 'Flash screen when a wrinkler appears', true, ), + ColourWrinklerFlash: new SettingColours( + 'colour', + 'NotificationWrink', + 'The colour of the wrinkler flash, standard colour is white', + ), WrinklerSound: new SettingStandard( 'bool', 'NotificationWrink', @@ -737,6 +786,11 @@ const Config = { 'Flash screen when the maximum amount of Wrinklers has appeared', true, ), + ColourWrinklerMaxFlash: new SettingColours( + 'colour', + 'NotificationWrinkMax', + 'The colour of the maximum wrinkler flash, standard colour is white', + ), WrinklerMaxSound: new SettingStandard( 'bool', 'NotificationWrinkMax', diff --git a/src/Data/SettingsDefault.js b/src/Data/SettingsDefault.js index d53b8931..3fffa8cd 100644 --- a/src/Data/SettingsDefault.js +++ b/src/Data/SettingsDefault.js @@ -16,17 +16,15 @@ const ConfigDefault = { PPExcludeTop: 0, PPRigidelMode: 0, PPSecondsLowerLimit: 0, - Colours: { - Blue: '#4bb8f0', - Green: '#00ff00', - Yellow: '#ffff00', - Orange: '#ff7f00', - Red: '#ff0000', - Purple: '#ff00ff', - Gray: '#b3b3b3', - Pink: '#ff1493', - Brown: '#8b4513', - }, + ColourBlue: '#4bb8f0', + ColourGreen: '#00ff00', + ColourYellow: '#ffff00', + ColourOrange: '#ff7f00', + ColourRed: '#ff0000', + ColourPurple: '#ff00ff', + ColourGray: '#b3b3b3', + ColourPink: '#ff1493', + ColourBrown: '#8b4513', BotBar: 1, TimerBar: 1, TimerBarPos: 0, @@ -66,39 +64,46 @@ const ConfigDefault = { GeneralSound: 1, GCNotification: 0, GCFlash: 1, + ColourGCFlash: '#ffffff', GCSound: 1, GCVolume: 100, GCSoundURL: 'https://freesound.org/data/previews/66/66717_931655-lq.mp3', FortuneNotification: 0, FortuneFlash: 1, + ColourFortuneFlash: '#ffffff', FortuneSound: 1, FortuneVolume: 100, FortuneSoundURL: 'https://freesound.org/data/previews/174/174027_3242494-lq.mp3', SeaNotification: 0, SeaFlash: 1, + ColourSeaFlash: '#ffffff', SeaSound: 1, SeaVolume: 100, SeaSoundURL: 'https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3', GardFlash: 1, + ColourGardFlash: '#ffffff', GardSound: 1, GardVolume: 100, GardSoundURL: 'https://freesound.org/data/previews/103/103046_861714-lq.mp3', MagicNotification: 0, MagicFlash: 1, + ColourMagicFlash: '#ffffff', MagicSound: 1, MagicVolume: 100, MagicSoundURL: 'https://freesound.org/data/previews/221/221683_1015240-lq.mp3', WrinklerNotification: 0, WrinklerFlash: 1, + ColourWrinklerFlash: '#ffffff', WrinklerSound: 1, WrinklerVolume: 100, WrinklerSoundURL: 'https://freesound.org/data/previews/124/124186_8043-lq.mp3', WrinklerMaxNotification: 0, WrinklerMaxFlash: 1, + ColourWrinklerMaxFlash: '#ffffff', WrinklerMaxSound: 1, WrinklerMaxVolume: 100, WrinklerMaxSoundURL: diff --git a/src/Disp/BuildingsUpgrades/Buildings.js b/src/Disp/BuildingsUpgrades/Buildings.js index 4be8f39f..5b26253a 100644 --- a/src/Disp/BuildingsUpgrades/Buildings.js +++ b/src/Disp/BuildingsUpgrades/Buildings.js @@ -7,7 +7,7 @@ import { import { CMOptions } from '../../Config/VariablesAndData'; import BuildingSell from '../../Sim/SimulationEvents/SellBuilding'; import { Beautify } from '../BeautifyAndFormatting/BeautifyFormatting'; -import { Colours, LastTargetBuildings } from '../VariablesAndData'; +import { ColoursOrdering, LastTargetBuildings } from '../VariablesAndData'; /** * Section: Functions related to right column of the screen (buildings/upgrades) @@ -33,7 +33,7 @@ export default function UpdateBuildings() { if (CMOptions.BuildColour === 1) { Object.keys(target).forEach((i) => { l(`productPrice${Game.Objects[i].id}`).style.color = - CMOptions.Colours[target[i].color]; + CMOptions[`Colour${target[i].color}`]; }); } else { Object.keys(Game.Objects).forEach((i) => { @@ -72,9 +72,10 @@ export default function UpdateBuildings() { }); arr.sort(function (a, b) { - return Colours.indexOf(a.color) > Colours.indexOf(b.color) + return ColoursOrdering.indexOf(a.color) > + ColoursOrdering.indexOf(b.color) ? 1 - : Colours.indexOf(a.color) < Colours.indexOf(b.color) + : ColoursOrdering.indexOf(a.color) < ColoursOrdering.indexOf(b.color) ? -1 : a.pp < b.pp ? -1 @@ -89,9 +90,10 @@ export default function UpdateBuildings() { }); arr.sort(function (a, b) { - return Colours.indexOf(a.color) > Colours.indexOf(b.color) + return ColoursOrdering.indexOf(a.color) > + ColoursOrdering.indexOf(b.color) ? 1 - : Colours.indexOf(a.color) < Colours.indexOf(b.color) + : ColoursOrdering.indexOf(a.color) < ColoursOrdering.indexOf(b.color) ? -1 : a.pp < b.pp ? -1 diff --git a/src/Disp/BuildingsUpgrades/Upgrades.js b/src/Disp/BuildingsUpgrades/Upgrades.js index d94c2694..b5668aba 100644 --- a/src/Disp/BuildingsUpgrades/Upgrades.js +++ b/src/Disp/BuildingsUpgrades/Upgrades.js @@ -9,7 +9,7 @@ import { ColourOrange, ColourPurple, ColourRed, - Colours, + ColoursOrdering, ColourYellow, } from '../VariablesAndData'; @@ -81,9 +81,9 @@ export default function UpdateUpgrades() { if (CMOptions.SortUpgrades) { arr.sort(function (a, b) { - return Colours.indexOf(a.color) > Colours.indexOf(b.color) + return ColoursOrdering.indexOf(a.color) > ColoursOrdering.indexOf(b.color) ? 1 - : Colours.indexOf(a.color) < Colours.indexOf(b.color) + : ColoursOrdering.indexOf(a.color) < ColoursOrdering.indexOf(b.color) ? -1 : a.pp < b.pp ? -1 diff --git a/src/Disp/HelperFunctions/UpdateColours.js b/src/Disp/HelperFunctions/UpdateColours.js index 4d1440ca..e01a702c 100644 --- a/src/Disp/HelperFunctions/UpdateColours.js +++ b/src/Disp/HelperFunctions/UpdateColours.js @@ -3,7 +3,7 @@ import UpdateBuildings from '../BuildingsUpgrades/Buildings'; import { ColourBackPre, ColourBorderPre, - Colours, + ColoursOrdering, ColourTextPre, } from '../VariablesAndData'; @@ -13,19 +13,19 @@ import { */ export default function UpdateColours() { let str = ''; - for (let i = 0; i < Colours.length; i++) { - str += `.${ColourTextPre}${Colours[i]} { color: ${ - CMOptions.Colours[Colours[i]] + for (let i = 0; i < ColoursOrdering.length; i++) { + str += `.${ColourTextPre}${ColoursOrdering[i]} { color: ${ + CMOptions[`Colour${ColoursOrdering[i]}`] }; }\n`; } - for (let i = 0; i < Colours.length; i++) { - str += `.${ColourBackPre}${Colours[i]} { background-color: ${ - CMOptions.Colours[Colours[i]] + for (let i = 0; i < ColoursOrdering.length; i++) { + str += `.${ColourBackPre}${ColoursOrdering[i]} { background-color: ${ + CMOptions[`Colour${ColoursOrdering[i]}`] }; }\n`; } - for (let i = 0; i < Colours.length; i++) { - str += `.${ColourBorderPre}${Colours[i]} { border: 1px solid ${ - CMOptions.Colours[Colours[i]] + for (let i = 0; i < ColoursOrdering.length; i++) { + str += `.${ColourBorderPre}${ColoursOrdering[i]} { border: 1px solid ${ + CMOptions[`Colour${ColoursOrdering[i]}`] }; }\n`; } l('CMCSS').textContent = str; diff --git a/src/Disp/Initialization/WhiteScreen.js b/src/Disp/Initialization/FlashScreen.js similarity index 84% rename from src/Disp/Initialization/WhiteScreen.js rename to src/Disp/Initialization/FlashScreen.js index 6a41828f..98099e9d 100644 --- a/src/Disp/Initialization/WhiteScreen.js +++ b/src/Disp/Initialization/FlashScreen.js @@ -1,9 +1,9 @@ /** * This function creates a white square over the full screen and appends it to l('wrapper') */ -export default function CreateWhiteScreen() { +export default function CreateFlashScreen() { const WhiteScreen = document.createElement('div'); - WhiteScreen.id = 'CMWhiteScreen'; + WhiteScreen.id = 'CMFlashScreen'; WhiteScreen.style.width = '100%'; WhiteScreen.style.height = '100%'; WhiteScreen.style.backgroundColor = 'white'; diff --git a/src/Disp/MenuSections/SettingsPage.js b/src/Disp/MenuSections/SettingsPage.js index 1e2bd0c0..7bca5402 100644 --- a/src/Disp/MenuSections/SettingsPage.js +++ b/src/Disp/MenuSections/SettingsPage.js @@ -20,8 +20,8 @@ import Config from '../../Data/SettingsData'; import ConfigDefault from '../../Data/SettingsDefault'; import RefreshScale from '../HelperFunctions/RefreshScale'; import UpdateColours from '../HelperFunctions/UpdateColours'; +import Flash from '../Notifications/Flash'; import PlaySound from '../Notifications/Sound'; -import { Colours } from '../VariablesAndData'; /** * This function creates a header-object for the options page @@ -167,29 +167,36 @@ function CreatePrefOption(config) { div.appendChild(label); return div; } - if (Config[config].type === 'color') { + if (Config[config].type === 'colour') { div.className = ''; - for (let i = 0; i < Colours.length; i++) { - const innerDiv = document.createElement('div'); - innerDiv.className = 'listing'; - const input = document.createElement('input'); - input.id = Colours[i]; - input.style.width = '65px'; - input.setAttribute('value', CMOptions.Colours[Colours[i]]); - innerDiv.appendChild(input); - const change = function () { - CMOptions.Colours[this.targetElement.id] = this.toHEXString(); - UpdateColours(); - SaveConfig(); - Game.UpdateMenu(); + const innerDiv = document.createElement('div'); + innerDiv.className = 'listing'; + const input = document.createElement('input'); + input.id = config; + input.style.width = '65px'; + input.setAttribute('value', CMOptions[config]); + innerDiv.appendChild(input); + const change = function () { + CMOptions[this.targetElement.id] = this.toHEXString(); + UpdateColours(); + SaveConfig(); + Game.UpdateMenu(); + }; + // eslint-disable-next-line no-new + new JsColor(input, { hash: true, position: 'right', onInput: change }); + const label = document.createElement('label'); + label.textContent = Config[config].desc; + innerDiv.appendChild(label); + if (config.includes('Flash')) { + const a = document.createElement('a'); + a.className = 'option'; + a.onclick = function () { + Flash(3, config.replace('Colour', ''), true); }; - // eslint-disable-next-line no-new - new JsColor(input, { hash: true, position: 'right', onInput: change }); - const label = document.createElement('label'); - label.textContent = Config.Colours.desc[Colours[i]]; - innerDiv.appendChild(label); - div.appendChild(innerDiv); + a.textContent = 'Test flash'; + innerDiv.appendChild(a); } + div.appendChild(innerDiv); jscolor.init(); return div; } diff --git a/src/Disp/Notifications/Flash.js b/src/Disp/Notifications/Flash.js index ad258dab..d66e0c48 100644 --- a/src/Disp/Notifications/Flash.js +++ b/src/Disp/Notifications/Flash.js @@ -7,28 +7,32 @@ import { isInitializing } from '../../InitSaveLoad/Variables'; * @param {number} mode Sets the intensity of the flash, used to recursively dim flash * All calls of function have use mode === 3 * @param {string} config The setting in CM.Options that is checked before creating the flash + * @param {bool} forced Whether the sound should play regardless of settings, used to test the sound */ -export default function Flash(mode, config) { +export default function Flash(mode, config, forced) { // The arguments check makes the sound not play upon initialization of the mod if ( - (CMOptions[config] === 1 && mode === 3 && isInitializing === false) || + ((CMOptions[config] === 1 || forced) && + mode === 3 && + isInitializing === false) || mode === 1 ) { - l('CMWhiteScreen').style.opacity = '0.5'; + l('CMFlashScreen').style.backgroundColor = CMOptions[`Colour${config}`]; + l('CMFlashScreen').style.opacity = '0.5'; if (mode === 3) { - l('CMWhiteScreen').style.display = 'inline'; + l('CMFlashScreen').style.display = 'inline'; setTimeout(function () { - Flash(2, config); + Flash(2, config, true); }, 1000 / Game.fps); } else { setTimeout(function () { - Flash(0, config); + Flash(0, config, true); }, 1000 / Game.fps); } } else if (mode === 2) { - l('CMWhiteScreen').style.opacity = '1'; + l('CMFlashScreen').style.opacity = '1'; setTimeout(function () { - Flash(1, config); + Flash(1, config, true); }, 1000 / Game.fps); - } else if (mode === 0) l('CMWhiteScreen').style.display = 'none'; + } else if (mode === 0) l('CMFlashScreen').style.display = 'none'; } diff --git a/src/Disp/VariablesAndData.js b/src/Disp/VariablesAndData.js index 30f26edc..0d3c85b9 100644 --- a/src/Disp/VariablesAndData.js +++ b/src/Disp/VariablesAndData.js @@ -23,7 +23,7 @@ export const ColourPurple = 'Purple'; export const ColourGray = 'Gray'; export const ColourPink = 'Pink'; export const ColourBrown = 'Brown'; -export const Colours = [ +export const ColoursOrdering = [ ColourGray, ColourBlue, ColourGreen, diff --git a/src/Main/CheckStates/Garden.js b/src/Main/CheckStates/Garden.js index 4e12a93b..28587959 100644 --- a/src/Main/CheckStates/Garden.js +++ b/src/Main/CheckStates/Garden.js @@ -12,7 +12,7 @@ export default function CheckGardenTick() { LastGardenNextStep !== Game.Objects.Farm.minigame.nextStep ) { if (LastGardenNextStep !== 0 && LastGardenNextStep < Date.now()) { - Flash(3, 'GardFlash'); + Flash(3, 'GardFlash', false); PlaySound(CMOptions.GardSoundURL, 'GardSound', 'GardVolume', false); } LastGardenNextStep = Game.Objects.Farm.minigame.nextStep; diff --git a/src/Main/CheckStates/GoldenCookie.js b/src/Main/CheckStates/GoldenCookie.js index b8953ef8..80dd7496 100644 --- a/src/Main/CheckStates/GoldenCookie.js +++ b/src/Main/CheckStates/GoldenCookie.js @@ -49,7 +49,7 @@ export default function CheckGoldenCookie() { LastGoldenCookieState = Game.shimmerTypes.golden.n; if (LastGoldenCookieState) { if (LastSpawnedGoldenCookieState < CurrSpawnedGoldenCookieState) { - Flash(3, 'GCFlash'); + Flash(3, 'GCFlash', false); PlaySound(CMOptions.GCSoundURL, 'GCSound', 'GCVolume', false); CreateNotification( 'GCNotification', diff --git a/src/Main/CheckStates/Grimoire.js b/src/Main/CheckStates/Grimoire.js index 7be6748e..4f2a2195 100644 --- a/src/Main/CheckStates/Grimoire.js +++ b/src/Main/CheckStates/Grimoire.js @@ -17,7 +17,7 @@ export default function CheckMagicMeter() { if (minigame.magic < minigame.magicM) LastMagicBarFull = false; else if (!LastMagicBarFull) { LastMagicBarFull = true; - Flash(3, 'MagicFlash'); + Flash(3, 'MagicFlash', false); PlaySound(CMOptions.MagicSoundURL, 'MagicSound', 'MagicVolume', false); CreateNotification( 'MagicNotification', diff --git a/src/Main/CheckStates/Season.js b/src/Main/CheckStates/Season.js index 5fec2ccc..8b01f76f 100644 --- a/src/Main/CheckStates/Season.js +++ b/src/Main/CheckStates/Season.js @@ -18,7 +18,7 @@ export default function CheckSeasonPopup() { CacheSeasonPopShimmer = Game.shimmers[i]; } }); - Flash(3, 'SeaFlash'); + Flash(3, 'SeaFlash', false); PlaySound(CMOptions.SeaSoundURL, 'SeaSound', 'SeaVolume', false); CreateNotification( 'SeaNotification', diff --git a/src/Main/CheckStates/Ticker.js b/src/Main/CheckStates/Ticker.js index 27016f97..9185d9f0 100644 --- a/src/Main/CheckStates/Ticker.js +++ b/src/Main/CheckStates/Ticker.js @@ -16,7 +16,7 @@ export default function CheckTickerFortune() { LastTickerFortuneState = Game.TickerEffect && Game.TickerEffect.type === 'fortune'; if (LastTickerFortuneState) { - Flash(3, 'FortuneFlash'); + Flash(3, 'FortuneFlash', false); PlaySound( CMOptions.FortuneSoundURL, 'FortuneSound', diff --git a/src/Main/CheckStates/Wrinkler.js b/src/Main/CheckStates/Wrinkler.js index 7b9e10df..24971949 100644 --- a/src/Main/CheckStates/Wrinkler.js +++ b/src/Main/CheckStates/Wrinkler.js @@ -20,9 +20,9 @@ export default function CheckWrinklerCount() { CurrentWrinklers === Game.getWrinklersMax() && CMOptions.WrinklerMaxFlash ) { - Flash(3, 'WrinklerMaxFlash'); + Flash(3, 'WrinklerMaxFlash', false); } else { - Flash(3, 'WrinklerFlash'); + Flash(3, 'WrinklerFlash', false); } if ( CurrentWrinklers === Game.getWrinklersMax() && diff --git a/src/Main/Initialization.js b/src/Main/Initialization.js index 1c870b59..965d1172 100644 --- a/src/Main/Initialization.js +++ b/src/Main/Initialization.js @@ -4,13 +4,14 @@ import { CacheStatsCookies } from '../Cache/Stats/Stats'; import { LoadConfig } from '../Config/SaveLoadReload/SaveLoadReloadSettings'; import { VersionMajor, VersionMinor } from '../Data/Moddata'; import CreateUpgradeBar from '../Disp/BuildingsUpgrades/UpgradeBar'; +import UpdateColours from '../Disp/HelperFunctions/UpdateColours'; import { CreateBotBar } from '../Disp/InfoBars/BottomBar'; import { CreateTimerBar } from '../Disp/InfoBars/TimerBar'; import CreateSectionHideButtons from '../Disp/Initialization/CreateSectionHideButtons'; import CreateWrinklerButtons from '../Disp/Initialization/CreateWrinklerButton'; import CreateCssArea from '../Disp/Initialization/CssArea'; import UpdateBuildingUpgradeStyle from '../Disp/Initialization/UpdateBuildingUpgradeStyle'; -import CreateWhiteScreen from '../Disp/Initialization/WhiteScreen'; +import CreateFlashScreen from '../Disp/Initialization/FlashScreen'; import { CreateFavicon } from '../Disp/TabTitle/FavIcon'; import { CreateSimpleTooltip } from '../Disp/Tooltips/Tooltip'; import { CMLastAscendState, TooltipText } from '../Disp/VariablesAndData'; @@ -37,7 +38,7 @@ export default function InitializeCookieMonster() { CreateBotBar(); CreateTimerBar(); CreateUpgradeBar(); - CreateWhiteScreen(); + CreateFlashScreen(); CreateSectionHideButtons(); CreateFavicon(); Object.keys(TooltipText).forEach((i) => { @@ -58,8 +59,7 @@ export default function InitializeCookieMonster() { ReplaceNativeGrimoire(); Game.CalculateGains(); - LoadConfig(); // Must be after all things are created! - Game.UpdateMenu(); + LoadConfig(); CMLastAscendState = Game.OnAscend; if (Game.prefs.popups) From f506cb136ebfcb5070ae938688c88f4f3941a62f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Sun, 28 Mar 2021 14:11:58 +0200 Subject: [PATCH 05/30] Fixed incorrect mature for Garden tooltip #731 --- CookieMonster.js | 2 +- dist/CookieMonster.js | 2 +- dist/CookieMonster.js.map | 2 +- src/Disp/Tooltips/TypesOfTooltips/GardenPlots.js | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CookieMonster.js b/CookieMonster.js index 4f2051b4..fcfe9992 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],U={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Re,Ue,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Rt=0,Ut={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Re===t.id)return 2;if(Ue===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Re=t.minigame.slot[1],Ue=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].matureBase,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;eVt[30][0]?W:L,0!==Number(e.PPSecondsLowerLimit)&&o/lo()0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ro=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Uo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Ro).forEach((e=>{to(Ro[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Ut.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Aabreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Ut=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Ut=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(U[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Rn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Rt,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(i.push(Ro[e]),o=!0)}));const a=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(a.push(Uo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Un={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Un).forEach((t=>{const n=In(t,Un[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Rn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Ut?Ut.wrath?`[W${Math.ceil(Ut.life/Game.fps)}]`:`[G${Math.ceil(Ut.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Ut&&(t=!0,Ut.wrath?e+=`[W${Math.ceil(Ut.life/Game.fps)}]`:e+=`[G${Math.ceil(Ut.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),U[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],U={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Re,Ue,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Rt=0,Ut={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Re===t.id)return 2;if(Ue===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Re=t.minigame.slot[1],Ue=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;eVt[30][0]?W:L,0!==Number(e.PPSecondsLowerLimit)&&o/lo()0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ro=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Uo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Ro).forEach((e=>{to(Ro[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Ut.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Aabreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Ut=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Ut=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(U[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Rn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Rt,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(i.push(Ro[e]),o=!0)}));const a=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(a.push(Uo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Un={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Un).forEach((t=>{const n=In(t,Un[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Rn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Ut?Ut.wrath?`[W${Math.ceil(Ut.life/Game.fps)}]`:`[G${Math.ceil(Ut.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Ut&&(t=!0,Ut.wrath?e+=`[W${Math.ceil(Ut.life/Game.fps)}]`:e+=`[G${Math.ceil(Ut.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),U[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index 4f2051b4..fcfe9992 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],U={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Re,Ue,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Rt=0,Ut={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Re===t.id)return 2;if(Ue===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Re=t.minigame.slot[1],Ue=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].matureBase,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;eVt[30][0]?W:L,0!==Number(e.PPSecondsLowerLimit)&&o/lo()0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ro=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Uo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Ro).forEach((e=>{to(Ro[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Ut.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Aabreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Ut=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Ut=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(U[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Rn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Rt,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(i.push(Ro[e]),o=!0)}));const a=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(a.push(Uo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Un={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Un).forEach((t=>{const n=In(t,Un[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Rn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Ut?Ut.wrath?`[W${Math.ceil(Ut.life/Game.fps)}]`:`[G${Math.ceil(Ut.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Ut&&(t=!0,Ut.wrath?e+=`[W${Math.ceil(Ut.life/Game.fps)}]`:e+=`[G${Math.ceil(Ut.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),U[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],U={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Re,Ue,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Rt=0,Ut={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Re===t.id)return 2;if(Ue===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Re=t.minigame.slot[1],Ue=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;eVt[30][0]?W:L,0!==Number(e.PPSecondsLowerLimit)&&o/lo()0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ro=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Uo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Ro).forEach((e=>{to(Ro[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Ut.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Aabreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Ut=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Ut=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(U[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Rn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Rt,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(i.push(Ro[e]),o=!0)}));const a=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(a.push(Uo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Un={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Un).forEach((t=>{const n=In(t,Un[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Rn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Ut?Ut.wrath?`[W${Math.ceil(Ut.life/Game.fps)}]`:`[G${Math.ceil(Ut.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Ut&&(t=!0,Ut.wrath?e+=`[W${Math.ceil(Ut.life/Game.fps)}]`:e+=`[G${Math.ceil(Ut.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),U[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index f62549db..5e785e97 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","matureBase","plantName","GardenPlots","totalGain","mortal","tile","immortal","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","Prompt","outerHTML","ClosePrompt","innerDiv","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","groupObject","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","Prompt","outerHTML","ClosePrompt","innerDiv","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","groupObject","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC,EACAC,EACAC,EACAC,EACAC,EACAE,EACAC,GAUIE,EAAc,CAClB,CAAC,6BAA8B,oCAAqC,SACpE,CACE,2CACA,6EACA,SAEF,CACE,6BACA,qPACA,SAEF,CACE,8BACA,kEACA,SAEF,CACE,kCACA,2PACA,SAEF,CACE,0BACA,gLACA,SAEF,CACE,2BACA,uOACA,SAEF,CACE,4BACA,2CACA,UAGEC,EAAwB,GAM9B,IAUIC,EACAC,EAXAC,EAAsB,EACtBC,GAAmB,EAOnBC,EAA4B,GAQ5BC,EAAmB,EACnBC,EAAsB,EACtBC,EAA4B,EAMhC,MAAMC,EAAc,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,MAC9CC,EAAa,CAAC,EAAG,EAAG,GAAI,GAAI,IAK5BC,EAAc,CAClBC,OAAQrB,EACRsB,iBAAkBhB,EAClBiB,eAAgBxB,EAChByB,KAAMtB,EACNuB,eAAgB3B,EAChB4B,aAAcrB,GAMhB,IAOIsB,EACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GAdAC,GAAW,GAKXC,GAAQ,GA2BZ,SAASC,GAA4BC,EAAKC,EAAQC,GAChD,MAAMC,EAAWzE,EAAU0E,cAAgB,EAC3C,GAAIJ,IAAQK,IACV,MAAO,WAET,QAAmB,IAARL,EACT,MAAO,IAET,GAAwB,IAApBtE,EAAU4E,MACZ,OAAOhD,EAAgBiD,SAASP,EAAKC,GAEvC,GAAIO,OAAOC,SAAST,GAAM,CACxB,IAAIU,EAAS,GACb,GAAY,IAARV,EACF,OAAOA,EAAIvhB,WAEb,GAAIuhB,EAAM,MAASA,EAAMtE,EAAUiF,YAGjC,OAF8BD,EAA1BhF,EAAUkF,eAAyBZ,EAAIa,eAAe,MAC5Cb,EAAIa,eAAe,MAC1BH,EAET,GAAyB,IAApBhF,EAAU4E,QAAgBJ,GAAsB,IAAXA,EAExCQ,EAASV,EAAIc,cAAcX,GAAU1hB,WAAW7B,QAAQ,IAAK,SACxD,CACL,MAAMmkB,EAAcf,EAAIc,gBAAgBriB,WAClCuiB,EAAwBziB,KAAKkE,MACjCse,EAAYhH,MAAMgH,EAAY7nB,QAAQ,KAAO,GAAK,GAEpDwnB,GAAUV,EAAMQ,OAAO,KAA6B,EAAxBQ,IAA8BC,QACxDd,GAGuB,IAApBzE,EAAU4E,QAAgBJ,GAAsB,IAAXA,EAEpCF,GAAO,KAAQA,EAAMQ,OAAO,KAAqB,EAAhBzE,EAAO9lB,QAC1CyqB,GAAU,IAAI3E,EAAOiF,KAChBN,EAASX,GAA4BC,EAAK,EAAG,GACtB,IAApBtE,EAAU4E,QAAgBJ,GAAsB,IAAXA,EAE3CF,GAAO,KAAQA,EAAMQ,OAAO,KAAyB,EAApBxE,EAAW/lB,QAC9CyqB,GAAU,IAAI1E,EAAWgF,KACpBN,EAASX,GAA4BC,EAAK,EAAG,GACtB,IAApBtE,EAAU4E,QAAgBJ,GAAsB,IAAXA,EAG7CF,GAAO,KACPA,EAAMQ,OAAO,KAAoC,EAA/BvE,EAAsBhmB,QAExCyqB,GAAU,IAAIzE,EAAsB+E,KAC/BN,EAASX,GAA4BC,EAAK,EAAG,IACtB,IAApBtE,EAAU4E,QAAgBJ,GAAsB,IAAXA,KAE/CQ,GAAU,IAA4B,EAAxBM,GAUlB,MAPe,KAAXN,IACF7pB,QAAQqqB,IACN,2DAA2DlB,KAE7DU,EAASpD,EAAgBiD,SAASP,EAAKC,IAErCvE,EAAUkF,iBAAgBF,EAASA,EAAO9jB,QAAQ,IAAK,MACpD8jB,EAGT,OADA7pB,QAAQqqB,IAAI,2DAA2DlB,KAChE1C,EAAgBiD,SAASP,EAAKC,GASvC,SAASkB,GAAWC,EAAMC,GACxB,IAAIC,EAAgBF,EACpB,GAAIA,IAASf,IAAU,OAAOe,EAC9B,GAAIA,EAAO,EAAG,MAAO,uBACrBE,EAAgB/iB,KAAKoL,KAAKyX,GAC1B,MAAMjhB,EAAI5B,KAAKkE,MAAM6e,EAAgB,UAC/BjG,EAAI9c,KAAKkE,MAAO6e,EAAgB,SAAY,OAC5Cjf,EAAI9D,KAAKkE,MAAO6e,EAAgB,MAAS,MACzCnrB,EAAIoI,KAAKkE,MAAO6e,EAAgB,KAAQ,IACxC/e,EAAIhE,KAAKkE,MAAM6e,EAAgB,IACrC,IAAIlqB,EAAM,GACV,GAAIskB,EAAU6F,WAAY,CACxB,GAAID,EAAgB,SAAY,MAAO,iBACvClqB,IAAW+I,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACP/I,IAAWikB,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPjkB,IAAWiL,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPjL,IAAWjB,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPiB,IAAQmL,EAAI,GAAK,IAAM,IAAMA,MACxB,CACL,GAAI+e,EAAgB,OAClB,OAAOD,EAAa,kBAAoB,SAC1CjqB,GACE+I,EAAI,EACGA,GAAKkhB,EAAoB,IAANlhB,EAAU,QAAU,SAAY,KAAtD,KACA,GACN/I,GACEikB,EAAI,EAAOA,GAAKgG,EAAoB,IAANhG,EAAU,OAAS,QAAW,KAApD,KAA+D,IACrEjkB,EAAInB,OAAS,GAAKoM,EAAI,KACxBjL,GAAUiL,GAAKgf,EAAoB,IAANhf,EAAU,QAAU,SAAY,KAAtD,OACLjL,EAAInB,OAAS,GAAKE,EAAI,KACxBiB,GAAUjB,GAAKkrB,EAAoB,IAANlrB,EAAU,UAAY,WAAc,KAA1D,MACTiB,GAAOmL,GAAK8e,EAAoB,IAAN9e,EAAU,UAAY,WAAc,KAEhE,OAAOnL,EAQT,SAASoqB,GAAcJ,GACrB,IAAIxd,EACA6d,EAWJ,OAVIL,GAAQ,GACgBK,EAAtB/F,EAAU6F,WAAmB,iBACrB,QACZ3d,EAAQ8Z,IAER+D,EAAON,GAAWC,GACFxd,EAAZwd,EAAO,IAAavD,EACfuD,EAAO,GAAYxD,EACfD,GAER,CAAE8D,OAAM7d,SAMjB,IA0EI8d,GACAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GAEAC,GAEAC,GAwBAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAxIAC,GAAkB,EAClBC,GAAmB,EACnBC,GAAuB,EACvBC,GAAyB,EACzBC,GAAa,EACbC,GAAmB,EACnBC,GAAwB,EACxBC,GAAmB,EACnBC,GAAyB,EACzBC,GAA8B,EAC9BC,GAAe,EACfC,GAAqB,EACrBC,GAAe,EACfC,GAAuB,EACvBC,GAA6B,EAC7BC,GAAoC,EACpCC,GAAyB,EACzBC,GAAwB,EAExBC,GAAmB,EAEnBC,GAAe,EACfC,GAAe,EACfC,GAAkB,EAElBC,GAAgB,GAChBC,GAAiB,GACjBC,GAAkB,GAElBC,GAAsB,EACtBC,GAAuB,EACvBC,GAAwB,CAAC,EAAG,MAE5BC,GAA2B,EAC3BC,GAAyB,EAEzBC,GAAgB,GAEhBC,GAAqB,GAErBC,GAAuB,GACvBC,GAA+B,GAC/BC,GAA8B,GAE9BC,GAAqB,EACrBC,GAAyB,EACzBC,GAAsB,GACtBC,GAA0B,EAC1BC,GAA8B,EAC9BC,GAA2B,GAC3BC,GAA2B,EAC3BC,GAA+B,EAC/BC,GAA4B,GAC5BC,GAAgC,EAChCC,GAAoC,EACpCC,GAAiC,GAEjCC,GAAyB,EACzBC,GAAwB,EAExBC,GAA4B,GAC5BC,GAAwB,GAExBC,GAA4B,EAG5BC,GAAa,EAEbC,GAAe,GAEfC,GAA0B,GAE1BC,GAAqB,EA6BrBC,GAAY,CACdC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVxrB,EAAG,CAAC,EAAG,EAAG,GACVyrB,GAAI,CAAC,EAAG,EAAG,IAOTC,GAAa,GACbC,GAAc,GACdC,GAAkB,GAuBtB,SAASC,GAAYC,GACnB,IAAInvB,EAAI,EAWR,OATE4iB,KAAKwM,YAAYjF,IAAe7oB,OAAS6tB,GACzCvM,KAAKwM,YAAYhF,IAAgB9oB,OAAS6tB,IAE1CnvB,EAAI,GAEqC,oBAAzC4iB,KAAKwM,YAAYjF,IAAe7oB,MACU,oBAA1CshB,KAAKwM,YAAYhF,IAAgB9oB,OAEjCtB,GAAK,IACAA,EAWT,SAASqvB,KACP,IAAIC,EAAW,IAEf,OADAA,GAAY,EAAIJ,GAAY,mBACrBI,EAST,SAASC,GAAOjuB,EAAMkuB,GACpB,YAA6B,IAAlB/E,GAAQnpB,QACK,IAARkuB,EAAsB,EAAIA,EAEnC/E,GAAQnpB,GASjB,SAASmuB,GAAON,GACd,MAAMO,EAAKV,GAAYG,GACvB,OACyB,IAAvBvM,KAAK+M,eACQ,aAAZD,EAAGE,MAAmC,YAAZF,EAAGG,OAGzBH,EAAKA,EAAGI,OADN,EAYX,SAASC,GAAUZ,GACjB,GAAIvM,KAAKoN,OAAQ,MACoB7yB,IAA/B4xB,GAAWkB,OAAOC,WACpBnB,GAAWkB,OAAOC,SAAWtN,KAAKuN,QAAQF,OAAOC,UAEnD,MAAME,EAAMrB,GAAWkB,OAAOC,SAASG,KAAKlB,GAC5C,GAAI9E,KAAY+F,EAAIE,GAClB,OAAO,EAET,GAAIhG,KAAY8F,EAAIE,GAClB,OAAO,EAET,GAAI/F,KAAY6F,EAAIE,GAClB,OAAO,EAGX,OAAO,EAgBT,SAASC,GAAuBC,EAAUC,GACxC,IAAIC,EAAgBD,EAapB,GAZIhB,GAAO,oBAAmBiB,GAAiB,KAC3CjB,GAAO,sBAAqBiB,GAAiB,KAC7CjB,GAAO,iBAAgBiB,GAAiB,KACxCjB,GAAO,qBAAoBiB,GAAiB,KAC5CjB,GAAO,kBAAiBiB,GAAiB,KAE7CA,GAAiB,EAAoC,IAAhCxB,GAAY,kBAC7BtM,KAAK+N,QAAQ,wBAAuBD,GAAiB,KACrD9N,KAAK+N,QAAQ,mBAAkBD,GAAiB,KAChD9N,KAAK+N,QAAQ,mBAAkBD,GAAiB,MAChDF,EAASI,SAAWnB,GAAOe,EAASI,QAAQtvB,QAAOovB,GAAiB,KACxEA,GAAiBnB,GAAO,gBACpBR,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASf,GAAU,YACV,IAAXe,EAAcJ,GAAiB,IACf,IAAXI,EAAcJ,GAAiB,IACpB,IAAXI,IAAcJ,GAAiB,KAE1C,OAAOA,EAkBT,SAASK,GACPC,EACAC,EACA1kB,EACA2kB,EACAC,EACAC,GAIA,MAAMC,OAA4B,IAAVD,EAAwB,EAAIA,EACpD,IAAIE,EAAWH,EACXI,EAAiBhlB,EACjBilB,EAAO,GACK,IAAZL,IAAeG,EAAWC,GACzBJ,IAAQG,EAAW1O,KAAK6O,SAC7B,IAAK,IAAI10B,EAAI,EAAGA,EAAIu0B,EAAUv0B,IAAK,CACjC,IAAI0zB,EACFQ,EAAYrO,KAAK8O,eAAiBpsB,KAAK6D,IAAI,EAAGooB,EAAiBL,GACjET,EAAQY,EACJzO,KAAK+O,oBAAoBX,EAAOP,GAChCF,GAAuBS,EAAOP,GAClCA,EAAQnrB,KAAKoL,KAAK+f,GAClB,MAAMnB,EAAW+B,EACbL,EAAMY,oBACNvC,KACJoB,EAAQnrB,KAAKkE,MAAMinB,EAAQnB,GACvBiC,EAAiB,IACnBC,GAAQf,EACRc,GAAkB,GAGtB,OAAOC,EAoBT,SAASK,KACP,IAAIzvB,EAASwgB,KAAK6O,QA0ClB,GAzCqB,IAAjB7O,KAAKkP,QACPpM,EAAsBtjB,EAEtBA,EAASsjB,EAEI,IAAXtjB,EAAcA,EAAS8pB,GACP,KAAX9pB,EAAeA,EAAS+pB,GACb,MAAX/pB,IAAgBA,EAASgqB,IAEb,IAAjBxJ,KAAKkP,QACuB,IAA1BrP,EAAUsP,YACZxxB,OAAO6C,KAAKhB,GAAQ4vB,SAASj1B,IAC3BoR,EAAE,eAAeyU,KAAKuN,QAAQpzB,GAAGuzB,MAAMtrB,MAAM2F,MAC3C8X,EAAU,SAASrgB,EAAOrF,GAAG4N,YAGjCpK,OAAO6C,KAAKwf,KAAKuN,SAAS6B,SAASj1B,IACjCoR,EAAE,eAAeyU,KAAKuN,QAAQpzB,GAAGuzB,MAAMtrB,MAAMitB,eAAe,aAGrC,IAAlBrP,KAAKkP,SACdvxB,OAAO6C,KAAK8oB,IAAe8F,SAASj1B,IAClC,MAAMwlB,EAAIK,KAAKuN,QAAQpzB,GACvBoR,EAAE,eAAeoU,EAAE+N,MAAMtrB,MAAM2F,MAAQ,GASvCwD,EAAE,eAAeoU,EAAE+N,MAAM/V,UAAYuM,GACnCiK,GAAaxO,EAAGA,EAAE0O,UAAW1O,EAAE4O,OAAQ5O,EAAE2O,KAAMtO,KAAK6O,QAAS,OAQ9C,IAAjB7O,KAAKkP,SAAiBrP,EAAUyP,cAAe,CACjD,IAAIC,EAC4B,IAA5B1P,EAAUyP,eACZC,EAAM5xB,OAAO6C,KAAK8oB,IAAehrB,KAAKkxB,IACpC,MAAM7P,EAAI2J,GAAckG,GAGxB,OAFA7P,EAAEjhB,KAAO8wB,EACT7P,EAAE+N,GAAK1N,KAAKuN,QAAQiC,GAAG9B,GAChB/N,KAGT4P,EAAIE,MAAK,SAAUzsB,EAAGP,GACpB,OAAO4f,EAAgBhlB,QAAQ2F,EAAE+E,OAC/Bsa,EAAgBhlB,QAAQoF,EAAEsF,OACxB,EACAsa,EAAgBhlB,QAAQ2F,EAAE+E,OAASsa,EAAgBhlB,QAAQoF,EAAEsF,QAE7D/E,EAAEyI,GAAKhJ,EAAEgJ,IADR,EAGD,MAE+B,IAA5BoU,EAAUyP,gBACnBC,EAAM5xB,OAAO6C,KAAKhB,GAAQlB,KAAKkxB,IAC7B,MAAM7P,EAAIngB,EAAOgwB,GAGjB,OAFA7P,EAAEjhB,KAAO8wB,EACT7P,EAAE+N,GAAK1N,KAAKuN,QAAQiC,GAAG9B,GAChB/N,KAGT4P,EAAIE,MAAK,SAAUzsB,EAAGP,GACpB,OAAO4f,EAAgBhlB,QAAQ2F,EAAE+E,OAC/Bsa,EAAgBhlB,QAAQoF,EAAEsF,OACxB,EACAsa,EAAgBhlB,QAAQ2F,EAAE+E,OAASsa,EAAgBhlB,QAAQoF,EAAEsF,QAE7D/E,EAAEyI,GAAKhJ,EAAEgJ,IADR,EAGD,MAIR,IAAK,IAAIpH,EAAI,EAAGA,EAAIkrB,EAAIn1B,OAAQiK,IAC9B2b,KAAKuN,QAAQgC,EAAIlrB,GAAG3F,MAAM6M,EAAEnJ,MAAMstB,QAAU,GAAGrrB,EAAI,KAAKA,EAAI,QAEzD,CACL,MAAMkrB,EAAM5xB,OAAO6C,KAAK8oB,IAAehrB,KAAKkxB,IAC1C,MAAM7P,EAAI2J,GAAckG,GAGxB,OAFA7P,EAAEjhB,KAAO8wB,EACT7P,EAAE+N,GAAK1N,KAAKuN,QAAQiC,GAAG9B,GAChB/N,KAET4P,EAAIE,MAAK,CAACzsB,EAAGP,IAAMO,EAAE0qB,GAAKjrB,EAAEirB,KAC5B,IAAK,IAAIrpB,EAAI,EAAGA,EAAIkrB,EAAIn1B,OAAQiK,IAC9B2b,KAAKuN,QAAQgC,EAAIlrB,GAAG3F,MAAM6M,EAAEnJ,MAAMstB,QAAU,GAAGrrB,EAAI,KAAKA,EAAI,KAiBlE,SAASsrB,KAEP,GAAI9P,EAAU+P,YAAc,EAAG,CAC7B,IAAIC,EAAO,EACPC,EAAQ,EACRC,EAAS,EACTC,EAAS,EACTC,EAAM,EACNC,EAAS,EACTC,EAAO,EAEXxyB,OAAO6C,KAAKwf,KAAKoQ,iBAAiBhB,SAASj1B,IACzC,MAAMk2B,EAAKrQ,KAAKoQ,gBAAgBj2B,GAChC,IAAIm2B,GAAc,EAClB,IAAK,IAAIC,EAAI,EAAGA,EAAIhlB,EAAE,UAAUpR,KAAKq2B,WAAWp2B,OAAQm2B,GAAK,EAC3D,IACuE,IAArEhlB,EAAE,UAAUpR,KAAKq2B,WAAWD,GAAG31B,UAAUyC,QAAQskB,GACjD,CACApW,EAAE,UAAUpR,KAAKq2B,WAAWD,GAAG31B,UAC7B+mB,EAAgBmI,GAAcuG,EAAG3xB,MAAMqJ,MACzCuoB,GAAc,EACd,MAGJ,IAAKA,EAAa,CAChB,MAAMG,EAAMh4B,SAAS4D,cAAc,OACnCo0B,EAAIruB,MAAMkG,MAAQ,OAClBmoB,EAAIruB,MAAMmG,OAAS,OACnBkoB,EAAI71B,UAAY+mB,EAAgBmI,GAAcuG,EAAG3xB,MAAMqJ,MACvDwD,EAAE,UAAUpR,KAAK4b,YAAY0a,GAE3B3G,GAAcuG,EAAG3xB,MAAMqJ,QAAU6Z,EAAYiO,GAAQ,EAChD/F,GAAcuG,EAAG3xB,MAAMqJ,QAAU8Z,EAAaiO,GAAS,EACvDhG,GAAcuG,EAAG3xB,MAAMqJ,QAAU+Z,EAAciO,GAAU,EACzDjG,GAAcuG,EAAG3xB,MAAMqJ,QAAUga,EAAciO,GAAU,EACzDlG,GAAcuG,EAAG3xB,MAAMqJ,QAAUia,EAAWiO,GAAO,EACnDnG,GAAcuG,EAAG3xB,MAAMqJ,QAAUka,EAAciO,GAAU,EACzDpG,GAAcuG,EAAG3xB,MAAMqJ,QAAUma,IAAYiO,GAAQ,MAGhE5kB,EAAE,oBAAoB/N,YAAcqyB,EACpCtkB,EAAE,qBAAqB/N,YAAcsyB,EACrCvkB,EAAE,sBAAsB/N,YAAcuyB,EACtCxkB,EAAE,sBAAsB/N,YAAcwyB,EACtCzkB,EAAE,mBAAmB/N,YAAcyyB,EACnC1kB,EAAE,sBAAsB/N,YAAc0yB,EACtC3kB,EAAE,oBAAoB/N,YAAc2yB,EAGtC,MAAMZ,EAAM,GAGZ,IAAK,IAAIlrB,EAAI,EAAGA,EAAI2b,KAAKoQ,gBAAgBh2B,OAAQiK,GAAK,EAAG,CACvD,MAAMsb,EAAI,GACVA,EAAEjhB,KAAOshB,KAAKoQ,gBAAgB/rB,GAAG3F,KACjCihB,EAAEkO,MAAQ7N,KAAKoQ,gBAAgB/rB,GAAGgqB,UAClC1O,EAAElU,GAAKqe,GAAcnK,EAAEjhB,MAAM+M,GAC7B8jB,EAAItzB,KAAK0jB,GAGPE,EAAU6Q,aACZnB,EAAIE,MAAK,SAAUzsB,EAAGP,GACpB,OAAO4f,EAAgBhlB,QAAQ2F,EAAE+E,OAASsa,EAAgBhlB,QAAQoF,EAAEsF,OAChE,EACAsa,EAAgBhlB,QAAQ2F,EAAE+E,OAASsa,EAAgBhlB,QAAQoF,EAAEsF,QAE7D/E,EAAEyI,GAAKhJ,EAAEgJ,IADR,EAGD,KAGN8jB,EAAIE,MAAK,CAACzsB,EAAGP,IAAMO,EAAE6qB,MAAQprB,EAAEorB,QAGjC,MAAM8C,EAAc,SAAUC,EAAMC,GAClC,OAAOD,EAAKE,WAAWx1B,GAAMA,EAAEoD,OAASmyB,EAAQnyB,QAElD,IAAK,IAAI2F,EAAI,EAAGA,EAAI2b,KAAKoQ,gBAAgBh2B,OAAQiK,GAAK,EACpDkH,EAAE,UAAUlH,KAAKjC,MAAM2uB,MACrBJ,EAAYpB,EAAKvP,KAAKoQ,gBAAgB/rB,IAAM,EAYlD,SAAS2sB,KACP,OAAInR,EAAUoR,QACLrK,GAEmB,IAAxB/G,EAAUqR,UACLlR,KAAKmR,WAAa,EAAInR,KAAKoR,WAER,IAAxBvR,EAAUqR,UAEVlR,KAAKmR,WACJvH,IAA4B,EAA6B,IAAzBC,KAGJ,OAA7BF,GAAsB,IAEE,IAAxB9J,EAAUqR,WACwC,IAAlDlR,KAAKqR,UAAU1H,GAAsB,IAAInvB,KAGvCwlB,KAAKmR,WACwB,EAA3BvH,GAAgCC,IAC/B,EAA6B,IAAzBA,KAIX7J,KAAKmR,WACJvH,GAA2BC,IACzB,EAA6B,IAAzBA,KAaX,SAASyH,KACP,OAA4B,IAAxBzR,EAAUqR,UACLzH,GAEmB,IAAxB5J,EAAUqR,UACLvH,GAAsB,GAExB,EAcT,SAAS4H,GAAY7D,EAAIhvB,EAAM8yB,GAC7B,MAAMC,EAAWh5B,SAAS4D,cAAc,OACxCo1B,EAAS/D,GAAKA,EACd+D,EAASrvB,MAAMmG,OAAS,OACxBkpB,EAASrvB,MAAMsvB,OAAS,WACxBD,EAASrvB,MAAMgI,SAAW,WAE1B,MAAMqmB,EAAMh4B,SAAS4D,cAAc,OACnCo0B,EAAIruB,MAAMkG,MAAQ,OAClBmoB,EAAIruB,MAAMmG,OAAS,OACnBkoB,EAAIruB,MAAMsvB,OAAS,OACnBjB,EAAIruB,MAAMgI,SAAW,WACrBqmB,EAAIruB,MAAMqC,KAAO,MACjBgsB,EAAIruB,MAAMsC,IAAM,MAChB+rB,EAAIruB,MAAMkI,MAAQ,MAClBmmB,EAAIruB,MAAMkW,OAAS,MAEnB,MAAM9d,EAAO/B,SAAS4D,cAAc,QACpC7B,EAAK4H,MAAMqV,QAAU,eACrBjd,EAAK4H,MAAMuW,UAAY,QACvBne,EAAK4H,MAAMuvB,SAAW,OACtBn3B,EAAK4H,MAAMkG,MAAQ,QACnB9N,EAAK4H,MAAMwvB,YAAc,MACzBp3B,EAAK4H,MAAMyvB,cAAgB,WAC3Br3B,EAAKgD,YAAckB,EACnB+xB,EAAI1a,YAAYvb,GAEhB,IAAK,IAAIL,EAAI,EAAGA,EAAIq3B,EAAKp3B,OAAQD,IAAK,CACpC,MAAM23B,EAAWr5B,SAAS4D,cAAc,QACxCy1B,EAASpE,GAAK8D,EAAKr3B,GAAGuzB,GACtBoE,EAAS1vB,MAAMqV,QAAU,eACzBqa,EAAS1vB,MAAMmG,OAAS,OACxBupB,EAAS1vB,MAAMyvB,cAAgB,WAC/BC,EAAS1vB,MAAMuW,UAAY,SACvB6Y,EAAKp3B,OAAS,IAAMD,IACtB23B,EAAS1vB,MAAM2vB,qBAAuB,OACtCD,EAAS1vB,MAAM4vB,wBAA0B,aAEd,IAAlBR,EAAKr3B,GAAG4N,QACjB+pB,EAASl3B,UAAY+mB,EAAgB6P,EAAKr3B,GAAG4N,OAE/C0oB,EAAI1a,YAAY+b,GAGlB,MAAMG,EAAQx5B,SAAS4D,cAAc,QAQrC,OAPA41B,EAAMvE,GAAK,GAAGA,QACduE,EAAM7vB,MAAM8vB,WAAa,MACzBD,EAAM7vB,MAAMyvB,cAAgB,WAC5BpB,EAAI1a,YAAYkc,GAEhBR,EAAS1b,YAAY0a,GAEdgB,EAOT,SAASU,GAA2BC,GAClC,GAAsB,OAAlB7mB,EAAE,YAAsB,CAC1B,MAAM/Q,EAAO+Q,EAAE,YAAYvO,WAAWA,WAAWwzB,WAAW,GACtD6B,EAAQ9mB,EAAE,YAAYvO,WAAWA,WAAWwzB,WAAW,GACvD/kB,EAAKF,EAAE,YAAYvO,WAAWA,WAAWwzB,WAAW,GACpDjL,EAAOha,EAAE,YAAYvO,WAAWA,WAAWwzB,WAAW,GAEtDr2B,EAAIi4B,EACJE,EAAS93B,EAAKub,YAAYtd,SAAS4D,cAAc,OACvDi2B,EAAOvc,YACLtd,SAASqgB,eACP,IAAuB,IAApB3e,EAAEkD,QAAQ,KAAclD,EAAEo4B,UAAU,EAAGp4B,EAAEkD,QAAQ,MAAQlD,QAInDm4B,EAAOvc,YAAYtd,SAAS4D,cAAc,SAClDzB,UAAY8mB,aAEjB4Q,EAAOvc,YAAYtd,SAASqgB,eAAe,MAC3Cte,EAAKg4B,UAAUpwB,MAAMqwB,YAAc,MACnCJ,EAAMtc,YAAYtd,SAAS4D,cAAc,OACzCg2B,EAAMG,UAAUpwB,MAAMqwB,YAAc,MACpChnB,EAAGsK,YAAYtd,SAAS4D,cAAc,OACtCoP,EAAG+mB,UAAUpwB,MAAMqwB,YAAc,MACjClN,EAAKxP,YAAYtd,SAAS4D,cAAc,OACxCkpB,EAAKiN,UAAUpwB,MAAMqwB,YAAc,OAoEvC,SAASC,KACP,GAAyB,IAArB7S,EAAU8S,QAAgBrJ,IAAkC,IAAjBtJ,KAAKkP,QAAe,CACjE,IAAI0D,EAAQ,EACZj1B,OAAO6C,KAAK8oB,IAAe8F,SAASj1B,IAClC,IAmBI04B,EAnBArzB,EAASwgB,KAAK6O,QACG,IAAjB7O,KAAKkP,QACPrM,EAAmBrjB,EAEnBA,EAASqjB,EAEI,IAAXrjB,IAAcA,EAAS8pB,IACZ,KAAX9pB,IAAeA,EAAS+pB,IACb,MAAX/pB,IAAgBA,EAASgqB,IAC7BoJ,GAAS,EACTrnB,EAAE,YAAYvO,WAAWA,WAAWwzB,WAAW,GAAGA,WAChDoC,GACApC,WAAW,GAAGhzB,YAAcwiB,KAAKuN,QAAQpzB,GAAGo0B,OAC9ChjB,EAAE,YAAYvO,WAAWA,WAAWwzB,WAAW,GAAGA,WAChDoC,GACAp1B,YAAc0mB,GAA4B1kB,EAAOrF,GAAGk4B,MAAO,GAC7D9mB,EAAE,YAAYvO,WAAWA,WAAWwzB,WAAW,GAAGA,WAChDoC,GACAh4B,UAAY8mB,EAAgBliB,EAAOrF,GAAG4N,MAGtC8qB,EADEhT,EAAUiT,cACDxN,GAAW5iB,KAAKC,MAAMnD,EAAOrF,GAAGsR,KAC7ByY,GAA4BxhB,KAAKC,MAAMnD,EAAOrF,GAAGsR,IAAK,GACtEF,EAAE,YAAYvO,WAAWA,WAAWwzB,WAAW,GAAGA,WAChDoC,GACAp1B,YAAcq1B,EAChB,MAAME,EAAapN,IAChB3F,KAAKuN,QAAQpzB,GAAG64B,WAAahT,KAAKiT,QAAU3B,OAC3CN,MAEJzlB,EAAE,YAAYvO,WAAWA,WAAWwzB,WAAW,GAAGA,WAChDoC,GACAh4B,UAAY8mB,EAAgBqR,EAAWhrB,MAEnB,UAApBgrB,EAAWnN,MACX5F,KAAKiT,QAAUjT,KAAKuN,QAAQpzB,GAAG64B,UAE/BznB,EAAE,YAAYvO,WAAWA,WAAWwzB,WAAW,GAAGA,WAChDoC,GACAp1B,YAAc,GAAGu1B,EAAWnN,oBAE9Bra,EAAE,YAAYvO,WAAWA,WAAWwzB,WAAW,GAAGA,WAChDoC,GACAp1B,YAAcu1B,EAAWnN,SAWnC,SAASsN,KACPlT,KAAKmT,WAAWhrB,OAAOG,MAAQ0X,KAAKmT,WAAWhrB,OAAOmR,WAAWxU,YACjEkb,KAAKmT,WAAWhrB,OAAOI,OACrByX,KAAKmT,WAAWhrB,OAAOmR,WAAWvU,aACpCib,KAAKoT,eAAejrB,OAAOG,MACzB0X,KAAKoT,eAAejrB,OAAOmR,WAAWxU,YACxCkb,KAAKoT,eAAejrB,OAAOI,OACzByX,KAAKoT,eAAejrB,OAAOmR,WAAWvU,aAY1C,SAASsuB,KAEgB,IAArBxT,EAAU8S,QACa,IAAvB9S,EAAUyT,UACgB,IAA1BzT,EAAU0T,aAEVhoB,EAAE,YAAYnJ,MAAMkW,OAAS/M,EAAE,cAAcnJ,MAAMmG,OACnDgD,EAAE,QAAQnJ,MAAMkW,OAAS,GACvBqM,OAAOpZ,EAAE,cAAcnJ,MAAMmG,OAAOxH,QAAQ,KAAM,KAAO,QAE7B,IAArB8e,EAAU8S,QACnBpnB,EAAE,YAAYnJ,MAAMkW,OAAS,MAC7B/M,EAAE,QAAQnJ,MAAMkW,OAAS,QACO,IAAvBuH,EAAUyT,UAA4C,IAA1BzT,EAAU0T,YAC/ChoB,EAAE,QAAQnJ,MAAMkW,OAAS/M,EAAE,cAAcnJ,MAAMmG,OAG/CgD,EAAE,QAAQnJ,MAAMkW,OAAS,MAGA,IAAvBuH,EAAUyT,UAA4C,IAA1BzT,EAAU0T,YACxChoB,EAAE,eAAenJ,MAAMsC,IAAM6G,EAAE,cAAcnJ,MAAMmG,OAEnDgD,EAAE,eAAenJ,MAAMsC,IAAM,GAG/BwuB,KAMF,SAASM,KACoB,IAAvB3T,EAAUyT,SAAgB/nB,EAAE,cAAcnJ,MAAMqV,QAAU,GACzDlM,EAAE,cAAcnJ,MAAMqV,QAAU,OACrC4b,KAoPF,SAASI,KACPzL,GAAkBhI,KAAK0T,WACvBzL,GAAmBjI,KAAK2T,YAS1B,SAASC,GAAgBC,GACvB,MAAMxD,EAAKrQ,KAAK8T,aAAaD,GACvBE,EAAM,GAEZ,OADAA,EAAIr1B,KAAO2xB,EAAG3xB,KACPq1B,EAUT,SAASC,GAAoB3D,GAC3B,IAAI4D,EAAO,EAoBX,GAnBAt2B,OAAO6C,KAAK6vB,EAAG6D,gBAAgB9E,SAASj1B,KAEnC6lB,KAAKmU,MAAM9D,EAAG6D,eAAe/5B,GAAG8yB,MAAMmH,SACvCvH,GAAOwD,EAAG6D,eAAe/5B,GAAGuE,QAE5Bu1B,GAAQ,MAEZt2B,OAAO6C,KAAK6vB,EAAGgE,WAAWjF,SAASj1B,IACjC,GAAI0yB,GAAOwD,EAAGgE,UAAUl6B,GAAGuE,MAAO,CAChC,MAAM41B,EAAMjE,EAAGgE,UAAUl6B,GACrBm6B,EAAIC,aAAa71B,OAAS2xB,EAAG3xB,KAC/Bu1B,GAAQ,EAAI,IAAOK,EAAIE,aAAajG,OAC7B+F,EAAIE,aAAa91B,OAAS2xB,EAAG3xB,OACpCu1B,GAAQ,EAAI,KAAQK,EAAIC,aAAahG,YAGvC8B,EAAGrC,SAAWnB,GAAOwD,EAAGrC,QAAQtvB,QAAOu1B,GAAQ,MAC/C5D,EAAGoE,SAAW5H,GAAOwD,EAAGoE,QAAQ/1B,QAClCu1B,GAAQ,EAAgC,IAA5B9H,GAAWuI,QAAQnG,QAAiB,GAAK8B,EAAG3C,GAAK,KACnB,iBAAjC2C,EAAG6D,eAAeS,YACR,IAAftE,EAAGuE,SAAiB/H,GAAOwD,EAAG6D,eAAeS,WAAWj2B,MAC1D,OAAQshB,KAAKC,YACX,QACEgU,GAAQ,EACR,MACF,KAAK,EACHA,GAAQ,KACR,MACF,KAAK,EACHA,GAAQ,KACR,MACF,KAAK,EACHA,GAAQ,KAKhB,OAAOA,EAiBT,SAASY,GAAoBzC,GAC3B,MAAM/B,EAAKrQ,KAAKuN,QAAQ6E,GAClB2B,EAAM,GA2FZ,MA1FgB,WAAZ1D,EAAG3xB,KACLq1B,EAAIe,IAAM,SAAUhI,GAClB,IAAIxrB,EAAM,EACNurB,GAAO,sBAAqBvrB,GAAO,IACnCurB,GAAO,qBAAoBvrB,GAAO,GAClCurB,GAAO,qBAAoBvrB,GAAO,IAClCurB,GAAO,sBAAqBvrB,GAAO,IACnCurB,GAAO,yBAAwBvrB,GAAO,IACtCurB,GAAO,yBAAwBvrB,GAAO,IACtCurB,GAAO,wBAAuBvrB,GAAO,IACrCurB,GAAO,wBAAuBvrB,GAAO,IACrCurB,GAAO,uBAAsBvrB,GAAO,IACpCurB,GAAO,uBAAsBvrB,GAAO,IACxC,IAAI2yB,EAAO,EACP9P,EAAM,EAQV,OAPAxmB,OAAO6C,KAAK2rB,IAAYiD,SAASj1B,IACJ,WAAvBgyB,GAAWhyB,GAAGuE,OAAmBylB,GAAOgI,GAAWhyB,GAAGo0B,WAE5DjtB,GAAO6iB,EACP8P,GAAQD,GAAoBlH,GAC5BmH,GAAQjU,KAAK+U,SAAS,UACtBd,GAAQtH,GAAO,aAEb3M,KAAKgV,WACH,GACAnI,GAAO,2BACLA,GAAO,kCACPA,GAAO,gBACTvrB,GACE2yB,GAGa,YAAZ5D,EAAG3xB,KACZq1B,EAAIe,IAAM,SAAUhI,GAClB,IAAImH,EAAO,EAYX,GAXAt2B,OAAO6C,KAAKwf,KAAKiV,kBAAkB7F,SAASj1B,IACtC0yB,GAAO7M,KAAKiV,iBAAiB96B,MAAK85B,GAAQ,MAE5CpH,GAAO,oCAAmCoH,GAAQ,GAClDpH,GAAO,yBAAwBoH,GAAQ,GACvCpH,GAAO,kBAAiBoH,GAAQ,GAEhCpH,GAAO,wBAAuBoH,GAAQ,MAE1CA,GAAQtH,GAAO,cAEXE,GAAO,cACT,IAAK,IAAI1yB,EAAI,EAAGA,EAAI6lB,KAAKkV,eAAeC,OAAO/6B,OAAQD,IACjD0yB,GAAO7M,KAAKkV,eAAeC,OAAOh7B,GAAGuE,QAAOu1B,GAAQ,MAI5DA,GAAQD,GAAoBlH,GAE5B,IAAIxrB,EAAM,EACNurB,GAAO,cAAavrB,GAAmC,IAA5B6qB,GAAWuI,QAAQnG,QAC9C1B,GAAO,yBACTvrB,GAAmC,IAA5B6qB,GAAWuI,QAAQnG,QACxB1B,GAAO,gBAAevrB,GAAkC,IAA3B6qB,GAAWiJ,OAAO7G,QAEnD,IAAIpK,EAAM,EASV,OARAxmB,OAAO6C,KAAK2rB,IAAYiD,SAASj1B,IACJ,YAAvBgyB,GAAWhyB,GAAGuE,OAAoBylB,GAAOgI,GAAWhyB,GAAGo0B,WAG7D0F,GAAQ,EAAqC,IAAjC3H,GAAY,mBAA4BnI,EAEpD8P,GAAQjU,KAAK+U,SAAS1E,EAAG3xB,OAEjB2xB,EAAGgF,QAAU/zB,GAAO2yB,GAG9BF,EAAIe,IAAM,SAAUhI,GAClB,IAAImH,EAAO,EAGX,OAFAA,GAAQD,GAAoBlH,GAC5BmH,GAAQjU,KAAK+U,SAASjI,EAAGpuB,MAClBouB,EAAGwI,QAAUrB,GAKxBF,EAAIsB,QAAUhF,EAAGgF,QACjBtB,EAAIr1B,KAAO2xB,EAAG3xB,KACdq1B,EAAIG,eAAiB7D,EAAG6D,eACxBH,EAAIM,UAAYhE,EAAGgE,UACnBN,EAAI/F,QAAUqC,EAAGrC,QACjB+F,EAAIU,QAAUpE,EAAGoE,QACjBV,EAAIuB,QAAUjF,EAAGgF,QACjBtB,EAAIrG,GAAK2C,EAAG3C,GACZqG,EAAIa,QAAUvE,EAAGuE,QACVb,EAaT,SAASwB,GAAYC,GACnB,MAAMnF,EAAKrQ,KAAKyV,SAASD,GACnBzB,EAAM,GA4BZ,OA1BAA,EAAI2B,MAAQrF,EAAGqF,MACU,mBAAd3B,EAAI2B,QACG,0BAAZrF,EAAG3xB,KACLq1B,EAAI2B,MAAQ,WACV,IAAIt4B,EAAI,EAIR,OAHAO,OAAO6C,KAAK2rB,IAAYiD,SAASj1B,IAC3BgyB,GAAWhyB,GAAGw7B,OAAS,KAAIv4B,GAAK,MAE/BA,GAGT22B,EAAI2B,MAAQ,WACV,IAAIE,EAAM,EAEV,GADI/I,GAAO,cAAa+I,EAAM,GAC1B5V,KAAKoN,OAAQ,CACf,MAAMc,EAASf,GAAU,WACV,IAAXe,EAAc0H,GAAO,IACL,IAAX1H,EAAc0H,GAAO,IACV,IAAX1H,IAAc0H,GAAO,KAEhC,OAAOA,IAIb7B,EAAI/G,KAAOqD,EAAGrD,KACd+G,EAAIr1B,KAAO2xB,EAAG3xB,KACPq1B,EAiBT,SAAS8B,KAEP3O,GAAmBlH,KAAK8V,cACxB3O,GAAanH,KAAK+V,QAClB3O,GAAuBpH,KAAKgW,kBAC5B3O,GAAmBrH,KAAKiW,cACxB3O,GAActH,KAAKkW,SAGnBv4B,OAAO6C,KAAKwf,KAAKuN,SAAS6B,SAASj1B,IACjC,MAAMk2B,EAAKrQ,KAAKuN,QAAQpzB,GACxB,IAAI45B,EAAM5H,GAAWhyB,QACTI,IAARw5B,IAEF5H,GAAWhyB,GAAK06B,GAAoB16B,GACpC45B,EAAM5H,GAAWhyB,GACjBg4B,GAA2Bh4B,IAE7B45B,EAAIxF,OAAS8B,EAAG9B,OAChBwF,EAAI4B,MAAQtF,EAAGsF,MACf5B,EAAIoC,aAAe9F,EAAG8F,aACtBpC,EAAI1F,UAAYgC,EAAGhC,UACnB0F,EAAIzF,KAAO+B,EAAG/B,KACV+B,EAAGpC,iBACW,WAAZoC,EAAG3xB,OACL+oB,GAAU4I,EAAG/C,SAAS8I,KAAK,GAC3B1O,GAAU2I,EAAG/C,SAAS8I,KAAK,GAC3BzO,GAAU0I,EAAG/C,SAAS8I,KAAK,IAE7BrC,EAAI9F,eAAiBoC,EAAGpC,eACxB8F,EAAIzG,SAAW+C,EAAG/C,UAEpBnB,GAAWhyB,GAAK45B,KAIlBp2B,OAAO6C,KAAKwf,KAAKyV,UAAUrG,SAASj1B,IAClC,MAAMk2B,EAAKrQ,KAAKyV,SAASt7B,GACzB,IAAI45B,EAAM3H,GAAYjyB,QACVI,IAARw5B,IACF3H,GAAYjyB,GAAKo7B,GAAYp7B,GAC7B45B,EAAM3H,GAAYjyB,IAEpB45B,EAAI7G,OAASmD,EAAGnD,OAChBd,GAAYjyB,GAAK45B,KAInBp2B,OAAO6C,KAAKwf,KAAK8T,cAAc1E,SAASj1B,IACtC,MAAMk2B,EAAKrQ,KAAK8T,aAAa35B,GAC7B,IAAI45B,EAAM1H,GAAgBlyB,QACdI,IAARw5B,IACF1H,GAAgBlyB,GAAKy5B,GAAgBz5B,GACrC45B,EAAM1H,GAAgBlyB,IAExB45B,EAAIsC,IAAMhG,EAAGgG,IACbhK,GAAgBlyB,GAAK45B,KAIvBN,KACAlM,GAAgBS,GAChBR,GAAiBS,GA8BnB,SAASqO,GAAoB1Q,GAC3B,MAAM6K,EAAMh4B,SAAS4D,cAAc,OAKnC,OAJAo0B,EAAIruB,MAAMm0B,WAAa,OACvB9F,EAAI/C,GAAK,GAAG9H,SACZ6K,EAAI71B,UAAY8mB,aAChB+O,EAAIjzB,YAAcooB,EACX6K,EAmHT,SAAS+F,GAAgCC,GACvCA,EAAQ1gB,YAAYugB,GAAoB,iBACxC,MAAMI,EAASj+B,SAAS4D,cAAc,OACtCq6B,EAAOt0B,MAAMu0B,aAAe,MAC5BD,EAAOt0B,MAAM2F,MAAQ,QACrB2uB,EAAOhJ,GAAK,kBACZ+I,EAAQ1gB,YAAY2gB,GAEpBD,EAAQ1gB,YAAYugB,GAAoB,4BACxCG,EAAQjE,UAAUpwB,MAAMqV,QAAU,OAClC,MAAMmf,EAAQn+B,SAAS4D,cAAc,OACrCu6B,EAAMx0B,MAAMu0B,aAAe,MAC3BC,EAAMx0B,MAAM2F,MAAQ,QACpB6uB,EAAMx0B,MAAMqV,QAAU,OACtBmf,EAAMlJ,GAAK,0BACX+I,EAAQ1gB,YAAY6gB,GAEpBH,EAAQ1gB,YAAYugB,GAAoB,mBACxC,MAAM7qB,EAAKhT,SAAS4D,cAAc,OAClCoP,EAAGrJ,MAAMu0B,aAAe,MACxBlrB,EAAGiiB,GAAK,cACR+I,EAAQ1gB,YAAYtK,GAEpBgrB,EAAQ1gB,YAAYugB,GAAoB,cACxC,MAAM/Q,EAAO9sB,SAAS4D,cAAc,OAIpC,GAHAkpB,EAAKmI,GAAK,gBACV+I,EAAQ1gB,YAAYwP,GAEA,MAAhB5B,GAAqB,CACvB8S,EAAQ1gB,YACNugB,GAAoB,0CAEtBG,EAAQjE,UAAU9E,GAAK,4BACvB,MAAMmJ,EAAap+B,SAAS4D,cAAc,OAC1Cw6B,EAAWnJ,GAAK,sBAChB+I,EAAQ1gB,YAAY8gB,IA+JxB,SAASC,GACPC,EACAC,EACAC,GAEA,IAAIC,EAAQH,EACRnE,EAAQ,EACZ,KAAOsE,EAAQD,GACbC,GAAqE,KAA5Dx0B,KAAK6D,IAAI,MAAQ2wB,EAAQx0B,KAAK6D,IAAIywB,EAAU,OAAS,IAC9DpE,GAAS,EAEX,OAAOA,EAAQ5S,KAAKmX,IA0XtB,SAASC,KACP,IAAInD,EAAO,EAKX,OAJAt2B,OAAO6C,KAAKwf,KAAKqX,OAAOjI,SAASj1B,SACM,IAA1B6lB,KAAKqX,MAAMl9B,GAAGm9B,UACvBrD,GAAQjU,KAAKqX,MAAMl9B,GAAGm9B,YAEnBrD,EAWT,SAASsD,KACiC,OAApChsB,EAAE,gCAC0B,IAA1BsU,EAAU2X,aACZjsB,EAAE,8BAA8BnJ,MAAMsC,IAAM,OAC5C6G,EAAE,8BAA8BnJ,MAAMsvB,OAAS,WAC/CnmB,EAAE,8BAA8BnJ,MAAMwK,QAAU,YAEhDrB,EAAE,8BAA8BnJ,MAAMkI,MAAQ,OAC9CiB,EAAE,8BAA8BnJ,MAAMsvB,OAAS,MAC/CnmB,EAAE,8BAA8BnJ,MAAMwK,QAAU,YA0LtD,SAAS6qB,KAEP,GADA5B,KACyC,SAArCtqB,EAAE,iBAAiBnJ,MAAMqV,SAAsBlM,EAAE,iBAAkB,CACrEA,EAAE,iBAAiBoM,UAAY,GAC/B,MAAM+f,EAx6BV,WACEnsB,EAAE,WAAWvO,WAAWoF,MAAMu1B,cAAgB,MAC9C,MAAMD,EAAaj/B,SAAS4D,cAAc,OAM1C,OALAq7B,EAAWt1B,MAAM0U,OAAS,YAC1B4gB,EAAWt1B,MAAMwK,QAAU,MAC3B8qB,EAAWt1B,MAAMsvB,OAAS,WAC1BgG,EAAWhK,GAAK,kBAChBgK,EAAW98B,UAAY8mB,aAChBgW,EAg6BcE,GACnBrsB,EAAE,iBAAiBwK,YAAY2hB,GAEX,MAAhB/T,GA9uBR,WACE,GAAsC,IAAlC9D,EAAUgY,qBAA8C,IAAjB7X,KAAKkP,QAAe,CAI7D,IAAI1vB,EAaJ,GAfAg3B,GADmBjrB,EAAE,oBAIA,IAAjByU,KAAKkP,QACPnM,EAA4BvjB,EAE5BA,EAASujB,EAEU,IAAjB/C,KAAK6O,QAAervB,EAAS8pB,GACP,KAAjBtJ,KAAK6O,QAAgBrvB,EAAS+pB,GACb,MAAjBvJ,KAAK6O,UAAiBrvB,EAASgqB,IAExC/F,EAAezD,KAAKuN,QAAQ3J,IAAaoP,UACzCtP,GAAqBlkB,EAAOokB,IAAayO,MAEH,IAAlCxS,EAAUgY,qBAA8C,IAAjB7X,KAAKkP,QAAe,CAC7D3jB,EAAE,mBAAmB/N,YAAc0mB,GAA4BR,GAAoB,GACnF,MAAMoU,EAAWp1B,KAAKC,MACnB+gB,GAAqB1D,KAAKmR,UAAa,KAEtCxM,OAAOC,SAASkT,IAA0B,IAAbA,EAC/BvsB,EAAE,mBAAmB/N,aAAe,KAAKs6B,EAAW,kBAEpDvsB,EAAE,mBAAmB/N,aAAe,OAClCqiB,EAAUkF,eAAiB,IAAM,oBAGrCxZ,EAAE,mBAAmB3Q,UACnB8mB,EAAgBliB,EAAOokB,IAAa7b,MAClC8X,EAAUiT,cACZvnB,EAAE,eAAe/N,YAAc8nB,GAAW9lB,EAAOokB,IAAanY,IAC3DF,EAAE,eAAe/N,YAAc0mB,GAA4B1kB,EAAOokB,IAAanY,GAAI,GACxFF,EAAE,eAAe3Q,UAAY8mB,EAAgBliB,EAAOokB,IAAa7b,MACjE,MAAMgrB,EAAapN,IAChBlC,GAAgBzD,KAAKiT,QAAU3B,OAAyBN,MAE3DzlB,EAAE,iBAAiB/N,YAAcu1B,EAAWnN,KAEtB,UAApBmN,EAAWnN,MACX5F,KAAKiT,QAAUzzB,EAAOokB,IAAaiK,MAEnCtiB,EAAE,iBAAiB/N,YAAc,GAAGu1B,EAAWnN,oBAC1Cra,EAAE,iBAAiB/N,YAAcu1B,EAAWnN,KACnDra,EAAE,iBAAiB3Q,UAAY8mB,EAAgBqR,EAAWhrB,MAI5DwD,EAAE,6BAA6BnJ,MAAMqV,QAAU,OAC/ClM,EAAE,iBAAiBnJ,MAAMu0B,aAAe,MAIxC,IAAK,MAAMx8B,KAAKwD,OAAO6C,KAAKwf,KAAKuN,QAAQ3J,IAAamU,mBACpD,IACG/X,KAAKgY,UACJhY,KAAKuN,QAAQ3J,IAAamU,kBAAkB59B,GAAG89B,OAAOv5B,MAExD,CACA,MAAMw5B,EACJlY,KAAKuN,QAAQ3J,IAAamU,kBAAkB59B,GAC9CoR,EAAE,iBAAiBnJ,MAAMu0B,aAAe,MACxCprB,EAAE,6BAA6BnJ,MAAMqV,QAAU,GAC/ClM,EAAE,uBAAuB3Q,UAAY,kBAAkBgpB,KACvDrY,EAAE,uBAAuB/N,YAAc0mB,GACrCgU,EAAqBtC,IAAMzJ,GAAWvI,IAAauS,aACnD,IAEF5qB,EAAE,uBAAuBnJ,MAAM2F,MAAQ,QACvC,YAGCwD,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAqqBtC0gB,GACyB,MAAhBxU,GA5Tf,WAYE,GAVA6S,GADmBjrB,EAAE,oBAGrBmY,GACEoG,GAAc9J,KAAKoQ,gBAAgBxM,IAAallB,MAAM2zB,MACxD5O,EAAezD,KAAKyV,SAClBzV,KAAKoQ,gBAAgBxM,IAAallB,MAClC05B,WACFvU,GACEiG,GAAc9J,KAAKoQ,gBAAgBxM,IAAallB,MAAM25B,WAElB,IAAlCxY,EAAUgY,oBAA2B,CACvCtsB,EAAE,mBAAmB/N,YAAc0mB,GAA4BR,GAAoB,GACnF,MAAMoU,EAAWp1B,KAAKC,MAAO+gB,GAAqB1D,KAAKmR,UAAa,KAG7B,MAArC5lB,EAAE,mBAAmB/N,aACJ,MAAhBmmB,IAAuC,MAAhBA,IAOpBgB,OAAOC,SAASkT,IAA0B,IAAbA,EAC/BvsB,EAAE,mBAAmB/N,aAAe,KAAKs6B,EAAW,kBAEpDvsB,EAAE,mBAAmB/N,aAAe,OAClCqiB,EAAUkF,eAAiB,IAAM,oBAGrCxZ,EAAE,mBAAmB3Q,UACnB8mB,EACAoI,GAAc9J,KAAKoQ,gBAAgBxM,IAAallB,MAAMqJ,MAEpD8b,KACFtY,EAAE,2BAA2B/N,YAAc0mB,GAA4BL,IACvEtY,EAAE,2BAA2BnJ,MAAMqV,QAAU,QAC7ClM,EAAE,2BAA2B+sB,gBAAgBl2B,MAAMqV,QAAU,SAGpC,IAAvBiM,IAA4BG,IAC9BtY,EAAE,eAAe/N,YAAc,GAAG0mB,GAChCT,EAAeI,aAEjBtY,EAAE,eAAenJ,MAAM2F,MAAQ,UAE3B8X,EAAUiT,cACZvnB,EAAE,eAAe/N,YAAc8nB,GAC7BwE,GAAc9J,KAAKoQ,gBAAgBxM,IAAallB,MAAM+M,IAGxDF,EAAE,eAAe/N,YAAc0mB,GAC7B4F,GAAc9J,KAAKoQ,gBAAgBxM,IAAallB,MAAM+M,GACtD,GAEJF,EAAE,eAAe3Q,UACf8mB,EACAoI,GAAc9J,KAAKoQ,gBAAgBxM,IAAallB,MAAMqJ,SAvC1DwD,EAAE,qBAAqBnJ,MAAMqV,QAAU,OACvClM,EAAE,mBAAmBnJ,MAAMqV,QAAU,OACrClM,EAAE,uBAAuBnJ,MAAMqV,QAAU,OACzClM,EAAE,eAAenJ,MAAMqV,QAAU,QAuCnC,MAAMsb,EAAapN,IAChBlC,GAAgBzD,KAAKiT,QAAU3B,OAAyBN,MAY3D,GAVAzlB,EAAE,iBAAiB/N,YAAcu1B,EAAWnN,KAEtB,UAApBmN,EAAWnN,MACX5F,KAAKiT,QAAUjT,KAAKoQ,gBAAgBxM,IAAawU,WAEjD7sB,EAAE,iBAAiB/N,YAAc,GAAGu1B,EAAWnN,oBAC1Cra,EAAE,iBAAiB/N,YAAcu1B,EAAWnN,KACnDra,EAAE,iBAAiB3Q,UAAY8mB,EAAgBqR,EAAWhrB,MAGX,kBAA3CiY,KAAKoQ,gBAAgBxM,IAAallB,KAA0B,CAC9D6M,EAAE,mBAAmBinB,UAAUpwB,MAAMu0B,aAAe,MACpDprB,EAAE,mBAAmBwK,YACnBugB,GAAoB,yCAEtB,MAAMiC,EAAY9/B,SAAS4D,cAAc,OACzCk8B,EAAUn2B,MAAM2F,MAAQ,QACxBwwB,EAAU/6B,YAAc,GAAG0mB,GAA2C,IAAflE,KAAKiT,cAAqB/O,GAC/EmF,MAEF9d,EAAE,mBAAmBwK,YAAYwiB,SAE9BhtB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAsOtC+gB,GACyB,MAAhB7U,GAzVf,WACE,GAA8B,IAA1B9D,EAAU4Y,YAAmB,CAC/B,MAAMf,EAAansB,EAAE,mBAErBmsB,EAAW3hB,YAAYugB,GAAoB,uBAE3C,MAAMoC,EAAWjgC,SAAS4D,cAAc,OACxCq8B,EAAShL,GAAK,gBACdgK,EAAW3hB,YAAY2iB,GACvB,MAAMC,EApCK,KADQn+B,EAqCcwlB,KAAK4Y,iBAnC/B,CAAEhT,KAAM,SAAU7d,MAAOma,GAErB,IAAT1nB,EACK,CAAEorB,KAAM,aAAc7d,MAAO8Z,GAEzB,IAATrnB,EACK,CAAEorB,KAAM,SAAU7d,MAAO+Z,GAErB,IAATtnB,EACK,CAAEorB,KAAM,QAAS7d,MAAOga,GAEpB,IAATvnB,EACK,CAAEorB,KAAM,cAAe7d,MAAOka,GAEhC,CAAE2D,KAAM,qBAAsB7d,MAAOia,GAsB1C0W,EAASl7B,YAAcm7B,EAAW/S,KAClC8S,EAAS99B,UAAY8mB,EAAgBiX,EAAW5wB,WAC3CwD,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAxC5C,IAAuBjd,EAsXjBq+B,GACyB,MAAhBlV,GA3kBf,WACE,MAAM2J,SAAEA,GAAatN,KAAKuN,QAAQ,gBAC5BuL,EAAYxL,EAASyL,aAAazL,EAAS0L,WAAWpV,KAE5D,GAA8B,IAA1B/D,EAAUoZ,aAAqBH,GAAaxL,EAAS4L,OAAQ,CAC/D,MAAMxB,EAAansB,EAAE,mBAGrBmsB,EAAW3hB,YAAYugB,GAAoB,cAC3C,MAAM/Q,EAAO9sB,SAAS4D,cAAc,OACpCkpB,EAAKmI,GAAK,gBACVgK,EAAW3hB,YAAYwP,GACvB,MAAMwN,EAAapN,GACjBmR,GAA4BxJ,EAAS4J,MAAO5J,EAAS4L,OAAQJ,IAM/D,GAJAvT,EAAK/nB,YAAcu1B,EAAWnN,KAC9BL,EAAK3qB,UAAY8mB,EAAgBqR,EAAWhrB,MAGxC+wB,GAAaxL,EAAS4J,MAAO,CAC/BQ,EAAW3hB,YAAYugB,GAAoB,iBAC3C,MAAM6C,EAAU1gC,SAAS4D,cAAc,OACvC88B,EAAQzL,GAAK,mBACbgK,EAAW3hB,YAAYojB,GACvB,MAAMC,EAAgBzT,GACpBmR,GACEp0B,KAAK6D,IAAI,EAAG+mB,EAAS4J,MAAQ4B,GAC7BxL,EAAS4L,OACT5L,EAAS4J,QAGbiC,EAAQ37B,YAAc47B,EAAcxT,KACpCuT,EAAQv+B,UAAY8mB,EAAgB0X,EAAcrxB,MAIpD,GAAoB,MAAhB6b,GAAqB,CACvB8T,EAAW3hB,YACTugB,GAAoB,8BAEtB,MAAM+C,EAAU5gC,SAAS4D,cAAc,OACvCg9B,EAAQ3L,GAAK,IACbgK,EAAW3hB,YAAYsjB,GACvB,MAAMC,EAAS7gC,SAAS4D,cAAc,QACtCi9B,EAAOl3B,MAAM2F,MAAQ,UACrBuxB,EAAO97B,YAAc0mB,GACnBxhB,KAAK2D,IACqC,KAAvC2Z,KAAKiT,QAAU3B,MACa,GAA7BxI,GAAkC,IAEpC,GAEFuQ,EAAQtjB,YAAYujB,GACpB,MAAMC,EAAY9gC,SAAS4D,cAAc,QACzCk9B,EAAU/7B,YAAc,MACxB67B,EAAQtjB,YAAYwjB,GACpB,MAAMC,EAAO/gC,SAAS4D,cAAc,QACpCm9B,EAAKp3B,MAAM2F,MAAQ,MACnByxB,EAAKh8B,YAAc0mB,GAAyD,GAA7B4E,GAAkC,GAAI,GACrFuQ,EAAQtjB,YAAYyjB,GAGtBjuB,EAAE,iBAAiBwK,YAAY2hB,QAC1BnsB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OA6gBtCgiB,GACyB,MAAhB9V,GA/pBf,WACE,MAAM2J,SAAEA,GAAatN,KAAKuN,QAAQmM,KAClC,GACE7Z,EAAU8Z,cAC2C,IAArDrM,EAASsM,KAAKhW,GAAY,IAAIA,GAAY,IAAI,GAC9C,CACA,MAAMiW,EACJvM,EAASsM,KAAKhW,GAAY,IAAIA,GAAY,IAAI,GAC9C0J,EAASwM,WAAWxM,EAASsM,KAAKhW,GAAY,IAAIA,GAAY,IAAI,GAAK,GACpEiW,OACCE,EACJzM,EAASwM,WAAWxM,EAASsM,KAAKhW,GAAY,IAAIA,GAAY,IAAI,GAAK,GACpEllB,KACL6M,EAAE,mBAAmBwK,YACnBugB,GAAoB,+BAEtB,MAAMgD,EAAS7gC,SAAS4D,cAAc,OACtCi9B,EAAO5L,GAAK,uBACZniB,EAAE,mBAAmBwK,YAAYujB,GACf,cAAdS,EACFxuB,EAAE,wBAAwB/N,YAAc,GACtCq8B,EACI3V,GAA4BxhB,KAAK2D,IAAmB,IAAf2Z,KAAKiT,QAAiC,GAAjBjT,KAAKmR,UAAiB,KAChF,SACAjN,GAA6C,GAAjBlE,KAAKmR,UAAiB,MACjC,cAAd4I,GAA2C,oBAAdA,EACtCxuB,EAAE,wBAAwB/N,YAAc,GACtCq8B,EACI3V,GAA4BxhB,KAAK2D,IAAmB,IAAf2Z,KAAKiT,QAAiC,GAAjBjT,KAAKmR,UAAiB,IAChF,SACAjN,GAA6C,GAAjBlE,KAAKmR,UAAiB,KACjC,cAAd4I,EACTxuB,EAAE,wBAAwB/N,YAAc,GACtCq8B,EACI3V,GAA4BxhB,KAAK2D,IAAmB,IAAf2Z,KAAKiT,QAAiC,GAAjBjT,KAAKmR,UAAiB,KAChF,SACAjN,GAA6C,GAAjBlE,KAAKmR,UAAiB,MACjC,cAAd4I,EACTxuB,EAAE,wBAAwB/N,YAAc,GACtCq8B,EACI3V,GAA4BxhB,KAAK2D,IAAmB,IAAf2Z,KAAKiT,QAAiC,GAAjBjT,KAAKmR,UAAiB,MAChF,SACAjN,GAA6C,GAAjBlE,KAAKmR,UAAiB,OACnD5lB,EAAE,iBAAiBnJ,MAAMqV,QAAU,YACrClM,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAonBtCuiB,GACyB,OAAhBrW,GAngBf,WACE,MAAM2J,SAAEA,GAAatN,KAAKuN,QAAQmM,KAClC,GAAI7Z,EAAU4Y,YAAa,CACzBltB,EAAE,mBAAmBwK,YACnBugB,GAAoB,oCAEtB,IAAI2D,EAAY,EACZC,EAAS,EACTla,KAAKxf,KAAK,KAAOwf,KAAKxf,KAAK,MAAK05B,EAAS,GAC7C,IAAK,IAAI51B,EAAI,EAAGA,EAAI,EAAGA,IACrB,IAAK,IAAID,EAAI,EAAGA,EAAI,EAAGA,IACrB,GAAIipB,EAASsM,KAAKt1B,GAAGD,GAAG,IAAM,EAAG,CAC/B,MAAM81B,EAAO7M,EAASsM,KAAKt1B,GAAGD,GACxBgsB,EAAK/C,EAASwM,WAAWK,EAAK,GAAK,GACnCJ,EAAY1J,EAAG3xB,KAErB,IAAIk0B,GAAQ,EACRsH,GAAU7J,EAAG+J,WAAUxH,GAAQ,GAC/BuH,EAAK,GAAK9J,EAAGgK,aAAYzH,GAAQ,GACjCA,GAAuB,cAAdmH,EACXE,GAAav3B,KAAK2D,IACD,IAAf2Z,KAAKiT,QACY,GAAjBjT,KAAKmR,UAAiB,IAGvByB,GAAuB,cAAdmH,GACI,oBAAdA,EAEAE,GAAav3B,KAAK2D,IAAmB,IAAf2Z,KAAKiT,QAAiC,GAAjBjT,KAAKmR,UAAiB,GACxDyB,GAAuB,cAAdmH,EAClBE,GAAav3B,KAAK2D,IACD,IAAf2Z,KAAKiT,QACY,GAAjBjT,KAAKmR,UAAiB,IAEfyB,GAAuB,cAAdmH,IAClBE,GAAav3B,KAAK2D,IACD,IAAf2Z,KAAKiT,QACY,GAAjBjT,KAAKmR,UAAiB,MAMhC5lB,EAAE,mBAAmBwK,YACnBtd,SAASqgB,eAAeoL,GAA4B+V,UAEjD1uB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAsdtC6iB,GACyB,OAAhB3W,GAnDf,WACEpY,EAAE,WAAWoM,UAAY,GACzBpM,EAAE,WAAWwK,YAAYugB,GAAoB,YAE7C,MAAMiE,EAAiB9hC,SAAS4D,cAAc,OAC9Ck+B,EAAe7M,GAAK,mBACA,WAAhB9J,GACF2W,EAAe/8B,YAAc0mB,GAA4BuF,IAChC,eAAhB7F,KACT2W,EAAe/8B,YAAc0mB,GAA4ByF,GAAsB,KAGjFpe,EAAE,WAAWwK,YAAYwkB,GAwCrBC,IAEgB,QAAhB7W,IACiB,QAAhBA,KAA6C,IAApBC,GAAY,KA5c5C,WACE,GAAkC,IAA9B/D,EAAU4a,gBAAuB,CACnC,MAAM/C,EAAansB,EAAE,mBACrB,IAAImvB,EACuBA,EAAP,QAAhB/W,GAA+BC,GAAY,GAClCA,GAGb8T,EAAW3hB,YAAYugB,GAAoB,0BAC3C,MAAMqE,EAAOliC,SAAS4D,cAAc,OAEpC,GADAs+B,EAAKjN,GAAK,6BACkB,IAAxBlC,GAAUkP,GAAO,GAAU,CAC7BC,EAAKn9B,YAAc0mB,GAA4BsH,GAAUkP,GAAO,IAChE,MAAM5C,EAAWp1B,KAAKC,MACnB6oB,GAAUkP,GAAO,GAAK1a,KAAKmR,UAAa,KAEvCxM,OAAOC,SAASkT,IAA0B,IAAbA,EAC/B6C,EAAKn9B,aAAe,KAAKs6B,EAAW,kBAEpC6C,EAAKn9B,aAAe,OAClBqiB,EAAUkF,eAAiB,IAAM,yBAGhC4V,EAAKn9B,YAAc,mBAC1Bk6B,EAAW3hB,YAAY4kB,GAEvBjD,EAAW3hB,YAAYugB,GAAoB,0BAC3C,MAAMsE,EAAOniC,SAAS4D,cAAc,OAEpC,GADAu+B,EAAKlN,GAAK,6BACkB,IAAxBlC,GAAUkP,GAAO,GAAU,CAC7BE,EAAKp9B,YAAc0mB,GAA4BsH,GAAUkP,GAAO,IAChE,MAAM5C,EAAWp1B,KAAKC,MACnB6oB,GAAUkP,GAAO,GAAK1a,KAAKmR,UAAa,KAEvCxM,OAAOC,SAASkT,IAA0B,IAAbA,EAC/B8C,EAAKp9B,aAAe,KAAKs6B,EAAW,kBAEpC8C,EAAKp9B,aAAe,OAClBqiB,EAAUkF,eAAiB,IAAM,yBAGhC6V,EAAKp9B,YAAc,mBAC1Bk6B,EAAW3hB,YAAY6kB,GAEvBlD,EAAW3hB,YAAYugB,GAAoB,0BAC3C,MAAMuE,EAAOpiC,SAAS4D,cAAc,OAEpC,GADAw+B,EAAKnN,GAAK,6BACkB,IAAxBlC,GAAUkP,GAAO,GAAU,CAC7BG,EAAKr9B,YAAc0mB,GAA4BsH,GAAUkP,GAAO,IAChE,MAAM5C,EAAWp1B,KAAKC,MACnB6oB,GAAUkP,GAAO,GAAK1a,KAAKmR,UAAa,KAEvCxM,OAAOC,SAASkT,IAA0B,IAAbA,EAC/B+C,EAAKr9B,aAAe,KAAKs6B,EAAW,kBAEpC+C,EAAKr9B,aAAe,OAClBqiB,EAAUkF,eAAiB,IAAM,yBAGhC8V,EAAKr9B,YAAc,mBAC1Bk6B,EAAW3hB,YAAY8kB,GAEvBtvB,EAAE,iBAAiBwK,YAAY2hB,QAC1BnsB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OA+YtCqjB,GA/LN,WACE,GAAoB,MAAhBnX,IAAuC,MAAhBA,GAAqB,CACgB,OAA1DlrB,SAASsiC,eAAe,gCAC1BxvB,EAAE,iBAAiBwK,YAnuBzB,WACE,MAAMilB,EAAcviC,SAAS4D,cAAc,OAC3C2+B,EAAY54B,MAAMgI,SAAW,WAC7B4wB,EAAY54B,MAAMqV,QAAU,QAC5BujB,EAAY54B,MAAMqC,KAAO,OACzBu2B,EAAY54B,MAAMkW,OAAS,OAC3B0iB,EAAYtN,GAAK,6BAEjB,MAAMuN,EAAS,SACbC,EACAnzB,EACAozB,EACAC,EACAC,GAEA,MAAMnnB,EAAMzb,SAAS4D,cAAc,OACnC6X,EAAIwZ,GAAKwN,EACThnB,EAAI9R,MAAMqV,QAAU,OACpBvD,EAAI9R,MAAMk5B,WAAa,wBACvBpnB,EAAItZ,UArtDgB,WAqtDcmN,EAClCmM,EAAI9R,MAAMwK,QAAU,MACpBsH,EAAI9R,MAAMqB,WAAa,8BACvB,MAAM83B,EAAW9iC,SAAS4D,cAAc,OACxC6X,EAAI6B,YAAYwlB,GAChB,MAAMC,EAAY/iC,SAAS4D,cAAc,QACzCm/B,EAAU5gC,UAAY8mB,EAAgB3Z,EACtCyzB,EAAUp5B,MAAMm0B,WAAa,OAC7BiF,EAAUh+B,YAAc29B,EACxBI,EAASxlB,YAAYylB,GACrBD,EAASxlB,YAAYtd,SAASqgB,eAAesiB,IAC7C,MAAMK,EAAahjC,SAAS4D,cAAc,OAC1C6X,EAAI6B,YAAY0lB,GAChB,MAAMC,EAAcjjC,SAAS4D,cAAc,QAI3C,OAHAq/B,EAAYhO,GAAK2N,EACjBI,EAAW1lB,YAAYtd,SAASqgB,eAAe,cAC/C2iB,EAAW1lB,YAAY2lB,GAChBxnB,GA+DT,OA5DA8mB,EAAYjlB,YACVklB,EACE,yBACAjZ,EACA,YACA,uFACA,+BAGJgZ,EAAYh+B,WAAWoF,MAAMu0B,aAAe,MAC5CqE,EAAYjlB,YACVklB,EACE,+BACAnZ,EACA,YACA,gGACA,qCAGJkZ,EAAYxI,UAAUpwB,MAAMu0B,aAAe,MAC3CqE,EAAYjlB,YACVklB,EACE,2BACAhZ,EACA,YACA,oGACA,iCAGJ+Y,EAAYxI,UAAUpwB,MAAMu0B,aAAe,MAC3CqE,EAAYjlB,YACVklB,EACE,iCACAhZ,EACA,YACA,6GACA,uCAGJ+Y,EAAYxI,UAAUpwB,MAAMu0B,aAAe,MAC3CqE,EAAYjlB,YACVklB,EACE,2BACAhZ,EACA,YACA,qJACA,iCAGJ+Y,EAAYxI,UAAUpwB,MAAMu0B,aAAe,MAC3CqE,EAAYjlB,YACVklB,EACE,wBACAjZ,EACA,YACA,2EAA2EnC,EAAU8b,8BACrF,8BAIGX,EAgoB4BY,IAC/BrE,MAG4B,IAA1B1X,EAAU2X,YACZjsB,EAAE,8BAA8BnJ,MAAMkI,MAAQ,MAE9CiB,EAAE,8BAA8BnJ,MAAMsC,IAAM,GAC1C6G,EAAE,WAAWxG,iBAGjBwG,EAAE,8BAA8BnJ,MAAMkG,MACpCiD,EAAE,WAAWzG,YAAc,EADiB,KAI9C,MAAMypB,EAASvO,KAAKiT,QAAU3B,KAAuB7N,EAC/CoY,EAAkBhc,EAAUic,YAAcpY,GAAqB,EACrE,IAAIqY,EAAa3T,GACjB,GAA8B,IAA1BvI,EAAUic,YAAmB,CAC/B,IAAIE,EAActY,GAClBsY,GAAe5E,KACf2E,GAA6B,GAAdC,EAAmB,GAAM,IAc1C,GAXgC,IAA5Bnc,EAAUoc,eACR1N,EAASwN,IAA+B,MAAhBpY,IAAwC,IAAjB3D,KAAKkP,UACtD3jB,EAAE,0BAA0BnJ,MAAMqV,QAAU,GAC5ClM,EAAE,8BAA8B/N,YAAc,GAAG0mB,GAC/C6X,EAAaxN,OACTjJ,IACHyW,EAAaxN,IAAWyC,KAAW6K,QAGnCtwB,EAAE,0BAA0BnJ,MAAMqV,QAAU,OAEb,IAAlCoI,EAAUqc,oBAA2B,CACvC,MAAMC,EAAgC,EAAbJ,EAEvBxN,EAAS4N,IACQ,MAAhBxY,IAAwC,IAAjB3D,KAAKkP,UAE7B3jB,EAAE,gCAAgCnJ,MAAMqV,QAAU,GAClDlM,EAAE,oCAAoC/N,YAAc,GAAG0mB,GACrDiY,EAAmB5N,OACfjJ,IACH6W,EAAmB5N,IAAWyC,KAAW6K,QAEvCtwB,EAAE,gCAAgCnJ,MAAMqV,QAAU,YACpDlM,EAAE,gCAAgCnJ,MAAMqV,QAAU,OAEzD,GAAkC,IAA9BoI,EAAUuc,gBAAuB,CACnC,MAAMC,EAA4B,EAAbN,EAEnBxN,EAAS8N,IACQ,MAAhB1Y,IAAwC,IAAjB3D,KAAKkP,UAE7B3jB,EAAE,4BAA4BnJ,MAAMqV,QAAU,GAC9ClM,EAAE,gCAAgC/N,YAAc,GAAG0mB,GACjDmY,EAAe9N,OACXjJ,IACH+W,EAAe9N,IAAWyC,KAAW6K,QAEnCtwB,EAAE,4BAA4BnJ,MAAMqV,QAAU,YAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,OAErD,GAAwC,IAApCoI,EAAUyc,sBAA6B,CACzC,MAAMC,EAAkC,EAAbR,EAAiB,EAE1CxN,EAASgO,IACQ,MAAhB5Y,IAAwC,IAAjB3D,KAAKkP,UAE7B3jB,EAAE,kCAAkCnJ,MAAMqV,QAAU,GACpDlM,EAAE,sCAAsC/N,YAAc,GAAG0mB,GACvDqY,EAAqBhO,OACjBjJ,IACHiX,EAAqBhO,IAAWyC,KAAW6K,QAEzCtwB,EAAE,kCAAkCnJ,MAAMqV,QAAU,YACtDlM,EAAE,kCAAkCnJ,MAAMqV,QAAU,OAG3B,IAA9BoI,EAAU2c,iBACVxc,KAAKuN,QAAQ,gBAAgBU,gBAG3BrF,IACA2F,EAAS3F,KACQ,MAAhBjF,IAAwC,IAAjB3D,KAAKkP,UAE7B3jB,EAAE,4BAA4BnJ,MAAMqV,QAAU,GAC9ClM,EAAE,gCAAgC/N,YAAc,GAAG0mB,GACjD0E,GAAe2F,OACXjJ,IACHsD,GAAe2F,IAAWyC,KAAW6K,QAGrCtwB,EAAE,4BAA4BnJ,MAAMqV,QAAU,OAEjDoI,EAAU8b,aAAe,GAEzBpN,EAAS1O,EAAU8b,aAAe3K,OACjB,MAAhBrN,IAAwC,IAAjB3D,KAAKkP,UAE7B3jB,EAAE,yBAAyBnJ,MAAMqV,QAAU,GAE3ClM,EACE,yBACAkxB,SAAS,GAAGj/B,YAAc,2EAA2EqiB,EAAU8b,8BACjHpwB,EAAE,6BAA6B/N,YAAc,GAAG0mB,GAC9CrE,EAAU8b,aAAe3K,KAAWzC,OAChCjJ,IACHzF,EAAU8b,aAAe3K,KAAWzC,IAClCyC,KAAW6K,QAGbtwB,EAAE,yBAAyBnJ,MAAMqV,QAAU,YACL,OAApClM,EAAE,+BACXA,EAAE,8BAA8B9J,SAyEhCi7B,QACgC,OAAvBnxB,EAAE,kBAE6B,OAApCA,EAAE,+BACJA,EAAE,8BAA8B9J,SA0FtC,SAASk7B,KAEP,GACE3c,KAAK4c,MAAMC,UACX7c,KAAK8c,MAAQ,IAAO,GACJ,UAAhB9c,KAAK+c,QACLld,EAAUmd,MACV,CACA,MAAM/K,EAAQx5B,SAASsiC,eAAe,wBAClC9I,IACFA,EAAMgL,UAAYjd,KAAKkd,QACV,GAAXld,KAAKmX,IAAYnX,KAAKmd,GAAgB,GAAXnd,KAAKmX,KAChC,IA6BN,GAvBAlI,KACAU,KA3hDF,WACE,GAA2B,IAAvB9P,EAAUyT,SAAgB,CAE5B,MAAM8J,EAAiB7xB,EAAE,cAAczG,YAAc,IAE/Cu4B,EAAiB9xB,EAAE,cAAczG,YAAc,IACrD,IAAIw4B,EAAiB,EAIkB,IAArCtd,KAAKud,aAAaC,OAAOC,SACxBzd,KAAK0d,IAAI,uBA+CLnyB,EAAE,gBAAgBnJ,MAAMqV,QAAU,QA7CvClM,EAAE,gBAAgBnJ,MAAMqV,QAAU,GAClClM,EAAE,sBAAsBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MAC3CD,KAAK6D,IACJ,EACAyZ,KAAKud,aAAaC,OAAOG,QAAU3d,KAAKud,aAAaC,OAAOjY,MAE5D6X,EACApd,KAAKud,aAAaC,OAAOI,aAEzB/d,EAAUge,iBAAmB,EAC/BtyB,EAAE,sBAAsB/N,YAAckF,KAAKoL,MACxCkS,KAAKud,aAAaC,OAAOG,QAAU3d,KAAKud,aAAaC,OAAOjY,MAC3DvF,KAAKmX,KAEN5rB,EAAE,sBAAsB/N,YAAc,GAEzCwiB,KAAKud,aAAaC,OAAOG,UAAY3d,KAAKud,aAAaC,OAAOI,SAE9DryB,EAAE,sBAAsBnJ,MAAM2vB,qBAAuB,OACrDxmB,EAAE,sBAAsBnJ,MAAM4vB,wBAA0B,SAExDzmB,EAAE,sBAAsBnJ,MAAM2vB,qBAAuB,GACrDxmB,EAAE,sBAAsBnJ,MAAM4vB,wBAA0B,IAE1DzmB,EAAE,mBAAmBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MACxCD,KAAK2D,IACJ2Z,KAAKud,aAAaC,OAAOI,QAAU5d,KAAKud,aAAaC,OAAOG,QAC5D3d,KAAKud,aAAaC,OAAOI,QAAU5d,KAAKud,aAAaC,OAAOjY,MAE5D6X,EACApd,KAAKud,aAAaC,OAAOI,aAEzB/d,EAAUge,iBAAmB,EAC/BtyB,EAAE,mBAAmB/N,YAAckF,KAAKoL,KACtCpL,KAAK2D,IACH2Z,KAAKud,aAAaC,OAAOI,QAAU5d,KAAKud,aAAaC,OAAOG,QAC5D3d,KAAKud,aAAaC,OAAOI,QAAU5d,KAAKud,aAAaC,OAAOjY,MAC1DvF,KAAKmX,KAER5rB,EAAE,mBAAmB/N,YAAc,GACxC+N,EAAE,oBAAoB/N,YAAckF,KAAKoL,MACtCkS,KAAKud,aAAaC,OAAOI,QAAU5d,KAAKud,aAAaC,OAAOjY,MAC3DvF,KAAKmX,KAETmG,GAAkB,GAKF,cAAhBtd,KAAK8d,QACkC,IAAvC9d,KAAKud,aAAaQ,SAASN,SAE3BlyB,EAAE,iBAAiBnJ,MAAMqV,QAAU,GACnClM,EAAE,uBAAuBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MAC5CD,KAAK6D,IACJ,EACAyZ,KAAKud,aAAaQ,SAASJ,QAAU3d,KAAKud,aAAaQ,SAASxY,MAEhE6X,EACApd,KAAKud,aAAaQ,SAASH,aAE3B/d,EAAUge,iBAAmB,EAC/BtyB,EAAE,uBAAuB/N,YAAckF,KAAKoL,MACzCkS,KAAKud,aAAaQ,SAASJ,QAC1B3d,KAAKud,aAAaQ,SAASxY,MAC3BvF,KAAKmX,KAEN5rB,EAAE,uBAAuB/N,YAAc,GAC5C+N,EAAE,oBAAoBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MACzCD,KAAK2D,IACJ2Z,KAAKud,aAAaQ,SAASH,QACzB5d,KAAKud,aAAaQ,SAASJ,QAC7B3d,KAAKud,aAAaQ,SAASH,QAAU5d,KAAKud,aAAaQ,SAASxY,MAEhE6X,EACApd,KAAKud,aAAaQ,SAASH,aAE3B/d,EAAUge,iBAAmB,EAC/BtyB,EAAE,oBAAoB/N,YAAckF,KAAKoL,KACvCpL,KAAK2D,IACH2Z,KAAKud,aAAaQ,SAASH,QACzB5d,KAAKud,aAAaQ,SAASJ,QAC7B3d,KAAKud,aAAaQ,SAASH,QACzB5d,KAAKud,aAAaQ,SAASxY,MAC3BvF,KAAKmX,KAER5rB,EAAE,oBAAoB/N,YAAc,GACzC+N,EAAE,qBAAqB/N,YAAckF,KAAKoL,MACvCkS,KAAKud,aAAaQ,SAASH,QAAU5d,KAAKud,aAAaQ,SAASxY,MAC/DvF,KAAKmX,KAETmG,GAAkB,GAElB/xB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAIrC,MAAMumB,EAAgB,GACtBzyB,EAAE,wBAAwBoM,UAAY,GACtCha,OAAO6C,KAAKwf,KAAKqX,OAAOjI,SAASj1B,IAC/B,GAAI6lB,KAAKqX,MAAMl9B,GAAI,CACjB,MAAM83B,EAAQV,GAAYvR,KAAKqX,MAAMl9B,GAAGuE,KAAMshB,KAAKqX,MAAMl9B,GAAGuE,KAAM,CAChE,CAAEgvB,GAAI,GAAG1N,KAAKqX,MAAMl9B,GAAGuE,aAEzBuzB,EAAM7vB,MAAMqV,QAAU,GACtB,IAAIwmB,EAAc,GAGhBA,OAD6C,IAApC/a,EAAYlD,KAAKqX,MAAMl9B,GAAGuE,MACrBwkB,EAAYlD,KAAKqX,MAAMl9B,GAAGuE,MACrBujB,EACrBgQ,EAAMO,UAAUiK,SAAS,GAAG7hC,UAAY+mB,EAAgBsc,EACxDhM,EAAMO,UAAUiK,SAAS,GAAGr6B,MAAM2F,MAAQ,QACR,IAA9B8X,EAAUge,gBACZ5L,EAAMO,UAAUiK,SAAS,GAAGj/B,YAAc,GAAGkF,KAAKC,MACzCqd,KAAKqX,MAAMl9B,GAAGorB,KAAOvF,KAAKqX,MAAMl9B,GAAGyjC,QAA1C,QAEC3L,EAAMO,UAAUiK,SAAS,GAAGj/B,YAAc,GAC/Cy0B,EAAMO,UAAUiK,SAAS,GAAGr6B,MAAMkG,MAAQ,GAAG5F,KAAKC,MAC/Cqd,KAAKqX,MAAMl9B,GAAGorB,MACZ8X,EAC8D,EAA7D36B,KAAKoL,KAAKkS,KAAKqX,MAAMl9B,GAAGorB,KAAOvF,KAAKmX,KAAKv0B,WAAWxI,QACtD4lB,KAAKqX,MAAMl9B,GAAGyjC,aAElB3L,EAAMO,UAAUiK,SAAS,GAAGj/B,YAAckF,KAAKoL,KAC7CkS,KAAKqX,MAAMl9B,GAAGorB,KAAOvF,KAAKmX,KAE5BmG,GAAkB,EAClBU,EAAche,KAAKqX,MAAMl9B,GAAGuE,MAAQuzB,MAGxCt0B,OAAO6C,KAAKw9B,GAAe5O,SAASj1B,IAClCoR,EAAE,wBAAwBwK,YAAYioB,EAAc7jC,OAG/B,IAAnBmjC,IACF/xB,EAAE,cAAcnJ,MAAMmG,OAA6B,GAAjB+0B,EAAsB,EAAzB,MAE7BvZ,KAAuBuZ,IACzBvZ,GAAqBuZ,EACrBjK,OAs4CJ6K,GAGAxL,KAGA+E,KAtGF,WACE,GAA+B,IAA3B5X,EAAUse,cAA8C,IAAxBzb,EAA2B,CAE7D,IAAI0b,GAAiB,EACrBzgC,OAAO6C,KAAKwf,KAAKqR,WAAWjC,SAASj1B,IACnC,MAAMk2B,EAAKrQ,KAAKqR,UAAUl3B,GAC1B,GAAIk2B,EAAGgO,MAAQ,GAAKhO,EAAGiO,UAErB,GADAF,GAAiB,EAEkB,IAAjCxb,EAA0BzoB,SACOI,IAAjCqoB,EAA0BzoB,GAC1B,CACA,MAAMokC,EAAc9lC,SAAS4D,cAAc,OACrCmiC,EAAW/lC,SAAS4D,cAAc,OACxCmiC,EAASp8B,MAAMq8B,SAAW,QAC1BD,EAASp8B,MAAMu0B,aAAe,MAC9B,MAAMlG,EAAMh4B,SAAS4D,cAAc,OACnCo0B,EAAIruB,MAAMuW,UAAY,SACtB8X,EAAI/C,GAAK,oBACT8Q,EAASzoB,YAAY0a,GACrB8N,EAAYxoB,YAAYyoB,GACxBxe,KAAKyW,QAAQ9kB,KAAK9Y,KAAM6lC,OAAOH,EAAY5mB,YAC3CgL,EAAkBxoB,EAClByoB,EAA0BzoB,GAAK,QAGjCyoB,EAA0BzoB,GAAK,KAG9BikC,GACHpe,KAAKyW,QAAQtlB,QA2EjBwtB,GAjEF,WACE,GAA+B,IAA3B9e,EAAUse,cAAiD,OAA3B5yB,EAAE,qBAA+B,CACnE,IAAIqzB,OAAEA,GAAW5e,KAAKqR,UAAU1O,GAC5Bkc,EAAS,IAKb,GAJI7e,KAAK0d,IAAI,6BAA4BmB,GAAU,MACN,IAAzC7e,KAAKqR,UAAU1O,GAAiBnoB,OAAYqkC,GAAU,GAC1DD,GAAUC,EACN7e,KAAK0d,IAAI,mBAAkBkB,GAAU,MACrCzS,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASlO,KAAKoN,OAAO,SACZ,IAAXc,EAAc0Q,GAAU,KACR,IAAX1Q,EAAc0Q,GAAU,IACb,IAAX1Q,IAAc0Q,GAAU,MAEnCrzB,EAAE,qBAAqB/N,YAAc0mB,GAA4B0a,IAoDnEE,GAl4CEjf,EAAUkf,SACM,UAAhB/e,KAAK+c,SACJ/c,KAAK8c,MAAQ,IAAiB,EAAX9c,KAAKmX,MAAa,IACrCnX,KAAK8c,MAAQ,GAAK9c,KAAKmX,KAAQ,GAEhCnX,KAAKgf,aAm4CPlf,IAGID,EAAU4E,MAAO,CACnB,IAAIlpB,EAAMgQ,EAAE,WAAWoM,UAAU5W,QAC/B,cACAmjB,GAA4BlE,KAAKiT,UAE/BjT,KAAK4c,MAAMqC,YAAW1jC,EAAM,2BAA2BA,YAC3DgQ,EAAE,WAAWoM,UAAYpc,GAiB7B,MAAM2jC,GACJC,YAAYC,GACVvmC,KAAKumC,UAAYA,EACjBvmC,KAAKwmC,MAAQ,GAGfF,UAAUG,GACJzmC,KAAKwmC,MAAMpjC,KAAKqjC,GAAYzmC,KAAKumC,WACnCvmC,KAAKwmC,MAAMvgB,QASfqgB,YAAYI,GACV,IAAIha,EAAOga,EACPha,EAAO1sB,KAAKumC,YAAW7Z,EAAO1sB,KAAKumC,WACnC7Z,EAAO1sB,KAAKwmC,MAAMjlC,SAAQmrB,EAAO1sB,KAAKwmC,MAAMjlC,QAChD,IAAI0M,EAAM,EACV,IACE,IAAI3M,EAAItB,KAAKwmC,MAAMjlC,OAAS,EAC5BD,GAAK,GAAKA,EAAItB,KAAKwmC,MAAMjlC,OAAS,EAAImrB,EACtCprB,IAEA2M,GAAOjO,KAAKwmC,MAAMllC,GAEpB,OAAY,IAAR2M,EACK,EAEFA,EAAMye,GA+BjB,SAASia,KACP,MAAMC,EAAW/8B,KAAKkE,MAAM84B,KAAKC,MAAQ,KAEzC,GAAK3f,KAAKmd,EAAInd,KAAKmX,IAAO,GAAM,EAAG,CACjC,IAAIyI,EAAc5f,KAAKiT,QAAU1H,GAC7BvL,KAAKoR,UAAY,IAAGwO,GAAenW,IACvCsB,GAAyBroB,KAAK6D,IAAIyZ,KAAK6f,cAAeD,GACtDA,GAAe,IAGf,MAAME,EAAWL,EAAWtZ,GACtB4Z,EAAcr9B,KAAK6D,IAAI,EAAGyZ,KAAKiT,QAAU7M,IAAoB0Z,EAC7DE,EACJt9B,KAAK6D,IAAI,EAAGkjB,GAAsBpD,IAAyByZ,EACvDG,EACJv9B,KAAK6D,IAAI,EAAGojB,GAAsB,GAAKrD,IACvCwZ,EACII,EAAgBx9B,KAAK6D,IAAI,EAAGq5B,EAAcvW,IAAmByW,EAC7DK,GAAiBngB,KAAKogB,aAAe7Z,IAAmBuZ,EAC9D,IAAK,IAAI3lC,EAAI,EAAGA,EAAI2lC,EAAU3lC,IAC5B0rB,GAAYwa,UAAUN,GACtBja,GAAUua,UAAUL,GACpBja,GAAiBsa,UAAUJ,GAC3Bja,GAAWqa,UAAUH,GACrBja,GAAWoa,UAAUF,GAIvBha,GAAoBsZ,EACpBrZ,GAAmBpG,KAAKiT,QACxB5M,GAAwBoD,GACxBnD,GAA+BqD,GAAsB,GACrDN,GAAkBuW,EAClBrZ,GAAkBvG,KAAKogB,aAGvB,MAAME,EAAYtd,EAAYnD,EAAU0gB,YACxC/Z,GAAuBX,GAAY2a,YAAYF,GAC/C7Z,GAAwBX,GAAU0a,YAAYF,GAC9C5Z,GAA+BX,GAAiBya,YAAYF,GAC5D3Z,GAAyBX,GAAWwa,YAAYF,GAChD1Z,GAAkBJ,GACU,IAAxB3G,EAAUqR,YAAiBtK,IAAmBH,IACtB,IAAxB5G,EAAUqR,YACZtK,IAAmBF,IAErB,MAAM+Z,EACJzgB,KAAK0gB,YAAY,mBAAqB1gB,KAAK0d,IAAI,iBAG/C1S,GADEyV,GAAkC,IAAxB5gB,EAAUqR,UAEpB1K,GACAC,IACCga,EAAS9Z,GAAyB,GACRC,GAE/BmD,GAAqB9D,GAAWua,YAC9Bvd,EAAWpD,EAAU8gB,iBAkB3B,SAASC,GAAWvQ,EAAIxC,GACtB,IAAI9lB,EAAQ,GAmBZ,OAjBsCA,EAAlCsoB,EAAG5kB,IAAM,GAAK4kB,EAAG5kB,KAAO+Y,IAAkBtC,EACrCmO,EAAG5kB,GAAK2f,GAAoBxJ,EAC5ByO,EAAG5kB,KAAO2f,GAAoBvJ,EAC9BwO,EAAG5kB,GAAK4f,GAAa,IAAI,GAAYvJ,EACrCuO,EAAG5kB,GAAK4f,GAAa,IAAI,GAAYtJ,EACrCsO,EAAG5kB,GAAK4f,GAAa,IAAI,GAAYrJ,EACjCC,EAGiC,IAA1C0C,OAAO9E,EAAUghB,sBACfhT,EAAQmD,KAAWrM,OAAO9E,EAAUghB,uBACtC94B,EAAQ6Z,GAGR/B,EAAUihB,uBACRjT,EAAQ7N,KAAKiT,QAAU,IAAGlrB,EAAQia,GAEjCja,EAiBT,SAASg5B,GAAYvhC,EAAQ+uB,GAC3B5wB,OAAO6C,KAAKhB,GAAQ4vB,SAASj1B,IAC3B,GAAI0lB,EAAUmhB,eAA4B,IAAXzS,EAC7B/uB,EAAOrF,GAAG4N,MAAQma,MADpB,CAIA1iB,EAAOrF,GAAG4N,MAAQ64B,GAChBphC,EAAOrF,GACP6lB,KAAKuN,QAAQpzB,GAAG8mC,YAAY1S,IAG9B,IAAK,IAAIgC,EAAI,EAAGA,EAAI1Q,EAAUqhB,aAAc3Q,IACtC/wB,EAAOrF,GAAGsR,KAAO4f,GAAakF,GAAG,KAAI/wB,EAAOrF,GAAG4N,MAAQma,OAKjE,SAASif,GAAQ3hC,EAAQ+uB,GACvB5wB,OAAO6C,KAAKhB,GAAQ4vB,SAASj1B,IAC3B,MAAM0zB,EAAQ7N,KAAKuN,QAAQpzB,GAAG8mC,YAAY1S,GACtCvO,KAAKmR,UACP3xB,EAAOrF,GAAGsR,GACR/I,KAAK6D,IAAIsnB,GAAS7N,KAAKiT,QAAU3B,MAAuB,GACtDtR,KAAKmR,UACPtD,EAAQruB,EAAOrF,GAAGk4B,MACf7yB,EAAOrF,GAAGsR,GAAKoiB,EAAQruB,EAAOrF,GAAGk4B,MAClCxS,EAAUmhB,eAA4B,IAAXzS,GAC/BlD,GAAapvB,KAAK,CAACuD,EAAOrF,GAAGsR,GAAI8iB,OA8EvC,SAAS6S,MAtET,WACEhW,GAAa5G,IACb6G,GAAe,QACuB,IAA3BxL,EAAUqhB,eAA8BrhB,EAAUqhB,aAAe,GAG5EC,GAAQ7X,GAAe,GACvB6X,GAAQ5X,GAAgB,IACxB4X,GAAQ3X,GAAiB,KAGzB6B,GAAaoE,MAAK,CAACzsB,EAAGP,IAAMO,EAAE,GAAKP,EAAE,KACrC,IAAI4+B,EAAa,EACjB,GAAIxhB,EAAUihB,sBACZ,KAAOzV,GAAagW,GAAY,GAAKrhB,KAAKiT,UACxCoO,GAAc,EACVhW,GAAajxB,SAAWinC,EAAa,KAK7CjW,GAAaC,GAAaxL,EAAUqhB,cAAcG,GAElDN,GAAYzX,GAAe,GAC3ByX,GAAYxX,GAAgB,IAC5BwX,GAAYvX,GAAiB,KA8C7B8X,GAjCA3jC,OAAO6C,KAAKspB,IAAesF,SAASj1B,IAC9B6lB,KAAKmR,UACPrH,GAAc3vB,GAAGsR,GACf/I,KAAK6D,IACHyZ,KAAKyV,SAASt7B,GAAGi+B,YAAcpY,KAAKiT,QAAU3B,MAC9C,GAEAtR,KAAKmR,UACPnR,KAAKyV,SAASt7B,GAAGi+B,WAAatO,GAAc3vB,GAAGk4B,MAEjDvI,GAAc3vB,GAAGsR,GACfuU,KAAKyV,SAASt7B,GAAGi+B,WAAatO,GAAc3vB,GAAGk4B,MAC/C1N,OAAOlJ,MAAMqO,GAAc3vB,GAAGsR,MAAKqe,GAAc3vB,GAAGsR,GAAK+Y,KAE7DsF,GAAc3vB,GAAG4N,MAAQ64B,GACvB9W,GAAc3vB,GACd6lB,KAAKyV,SAASt7B,GAAGi+B,eAiCvB,SAASmJ,GACPnT,EACAC,EACA1kB,EACA2kB,EACAwJ,GAEA,IAAInJ,EAAiBhlB,EACjBilB,EAAO,EACX,IAAK,IAAIz0B,EAAI,EAAGA,EAAI29B,EAAU39B,GAAK,EAAG,CACpC,IAAI0zB,EACFQ,EAAYrO,KAAK8O,eAAiBpsB,KAAK6D,IAAI,EAAGooB,EAAiBL,GACjET,EAAQ7N,KAAK+O,oBAAoBX,EAAOP,GACxCA,EAAQnrB,KAAKoL,KAAK+f,GAClBe,GAAQf,EACRc,GAAkB,EAEpB,OAAOC,EA0CT,SAAS4S,GAAOjV,GACVF,GAAgBE,IACgB,IAA9BF,GAAgBE,GAAM8J,MACxBhK,GAAgBE,GAAM8J,IAAM,EACS,WAAjCrW,KAAK8T,aAAavH,GAAMS,OAAmB5F,IAAwB,IAuB7E,SAASqa,KACP3Z,GAAe,EACf,IAAImM,EAAO,EAEX,MAAMyN,EAAO,GACb/jC,OAAO6C,KAAKwf,KAAKuN,SAAS6B,SAASj1B,IACjC,GAAI6lB,KAAKuN,QAAQpzB,GAAG8zB,gBAAkBjO,KAAKuN,QAAQpzB,GAAGmzB,SAASoU,KAAM,CACnE,MAAMC,EAAS3hB,KAAKuN,QAAQpzB,GAAGmzB,SAASoU,KACxC/jC,OAAO6C,KAAKmhC,GAAQvS,SAASwS,IACvBF,EAAKE,GAAKF,EAAKE,IAAOD,EAAOC,GAC5BF,EAAKE,GAAMD,EAAOC,UAI7B/Z,GAAU6Z,EAEiB,IAAvB1hB,KAAK+M,gBACPkH,GAEE,IADAxsB,WAAW6f,IAEXD,GA9EN,WACE,IAAIwa,EAAe,EAWnB,GAVIhV,GAAO,0BAAyBgV,GAAgB,KAChDhV,GAAO,2BAA0BgV,GAAgB,IACjDhV,GAAO,qBAAoBgV,GAAgB,KAC3ChV,GAAO,4BAA2BgV,GAAgB,KAClDhV,GAAO,kBAAiBgV,GAAgB,KAE5CA,GAAgB,EAAgC,IAA5BvV,GAAY,cAC5BO,GAAO,iBAAgBgV,GAAgB,MACvChV,GAAO,kBAAiBgV,GAAgB,MACxChV,GAAO,kBAAiBgV,GAAgB,MACxC7hB,KAAKoN,OAAQ,CACf,MAAMc,EAASf,GAAU,YACV,IAAXe,EAAc2T,GAAgB,GACd,IAAX3T,EAAc2T,GAAgB,GACnB,IAAX3T,IAAc2T,GAAgB,IAEzC,OAAOA,EA6DHC,IAEJ7N,GAAQtH,GAAO,OAEXE,GAAO,YAAqC,IAAvB7M,KAAK+M,gBAC5BkH,GAAQ,EAAI,IAAOjU,KAAK+hB,SAE1BpkC,OAAO6C,KAAKwf,KAAKgiB,gBAAgB5S,SAASj1B,IACxC,MAAMk2B,EAAKrQ,KAAKgiB,eAAe7nC,GAC3B0yB,GAAOwD,EAAG3xB,QAIY,mBAAb2xB,EAAGqF,MACZzB,GAAQ,EAAuD,IAAnD7H,GAAYiE,EAAG3xB,MAAMg3B,MAAMtJ,GAAYiE,EAAG3xB,OACjDu1B,GAAQ,EAAe,IAAX5D,EAAGqF,UAItB7I,GAAO,iCAAgCoH,GAAQ,MAC/CpH,GAAO,0BAAyBoH,GAAQ,MACxCpH,GAAO,sBAAqBoH,GAAQ,MACpCpH,GAAO,iBAAgBoH,GAAQ,MAC/BpH,GAAO,kBAAiBoH,GAAQ,MAEhCpH,GAAO,yBAAwBoH,GAAQ,MACvCpH,GAAO,wBAAuBoH,GAAQ,MACtCpH,GAAO,oBAAmBoH,GAAQ,MAClCpH,GAAO,sBAAqBoH,GAAQ,MACpCpH,GAAO,sBAAqBoH,GAAQ,KAEpCpH,GAAO,kBAAiBoH,GAAQ,MAChCpH,GAAO,kBAAiBoH,GAAQ,MAEhCpH,GAAO,kBAAiBoH,GAAQ,MAGpC,IAAIgO,EAAY,EAChB,GAAI9U,GAAW,CACb,IAAIe,EAASf,GAAU,cACR,IAAXe,EAAc+F,GAAQ,KACN,IAAX/F,EAAc+F,GAAQ,IACX,IAAX/F,IAAc+F,GAAQ,MAE/B/F,EAASf,GAAU,QACJ,IAAXe,EACF+F,GACE,EAAI,IAAOvxB,KAAKw/B,IAAKxC,KAAKC,MAAQ,IAAO,MAAiBj9B,KAAKiU,GAAK,GACpD,IAAXuX,EACP+F,GACE,EAAI,IAAOvxB,KAAKw/B,IAAKxC,KAAKC,MAAQ,IAAO,MAAkBj9B,KAAKiU,GAAK,GACrD,IAAXuX,IACP+F,GACE,EAAI,IAAOvxB,KAAKw/B,IAAKxC,KAAKC,MAAQ,IAAO,MAAkBj9B,KAAKiU,GAAK,IAEzEuX,EAASf,GAAU,aACJ,IAAXe,EAAc+T,GAAa,IACX,IAAX/T,EAAc+T,GAAa,IAChB,IAAX/T,IAAc+T,GAAa,KAEpC/T,EAASf,GAAU,YACJ,IAAXe,EAAc+T,GAAa,IACX,IAAX/T,EAAc+T,GAAa,KAChB,IAAX/T,IAAc+T,GAAa,MAEpC/T,EAASf,GAAU,SACJ,IAAXe,EAAc+T,GAAa,IACX,IAAX/T,EAAc+T,GAAa,IAChB,IAAX/T,IAAc+T,GAAa,KAGlCpV,GAAO,oBAAmBoH,GAAQ,EAA4B,KAAvBjU,KAAKmiB,WAAa,IAE7D,MAAMC,EAAehb,GAAuB,GAC5C,IAAIib,EAAW,EAIf,GAHIxV,GAAO,8BAA6BwV,GAAY,MAEpDA,GAAY,EAAoC,IAAhC/V,GAAY,kBACxBa,GAAW,CACb,MAAMe,EAASf,GAAU,UACV,IAAXe,EAAcmU,GAAY,IACV,IAAXnU,EAAcmU,GAAY,KACf,IAAXnU,IAAcmU,GAAY,MAErCA,GAAY1V,GAAO,QAEnB,IAAI2V,EAAU,EAEVzV,GAAO,oBAAmByV,GAAW,EAAmB,GAAfF,EAAqBC,GAC9DxV,GAAO,oBAAmByV,GAAW,EAAmB,KAAfF,EAAuBC,GAChExV,GAAO,sBAAqByV,GAAW,EAAmB,IAAfF,EAAsBC,GACjExV,GAAO,sBACTyV,GAAW,EAAmB,KAAfF,EAAuBC,GACpCxV,GAAO,qBAAoByV,GAAW,EAAmB,GAAfF,EAAqBC,GAC/DxV,GAAO,wBACTyV,GAAW,EAAmB,GAAfF,EAAqBC,GAClCxV,GAAO,wBACTyV,GAAW,EAAmB,GAAfF,EAAqBC,GAClCxV,GAAO,oBAAmByV,GAAW,EAAmB,GAAfF,EAAqBC,GAC9DxV,GAAO,wBACTyV,GAAW,EAAmB,GAAfF,EAAqBC,GAClCxV,GAAO,+CACTyV,GAAW,EAAmB,KAAfF,EAAuBC,GACpCxV,GAAO,uBACTyV,GAAW,EAAmB,IAAfF,EAAsBC,GACnCxV,GAAO,qBAAoByV,GAAW,EAAmB,KAAfF,EAAuBC,GACjExV,GAAO,uBACTyV,GAAW,EAAmB,KAAfF,EAAuBC,GACpCxV,GAAO,mBAAkByV,GAAW,EAAmB,GAAfF,EAAqBC,GAC7DxV,GAAO,kBAAiByV,GAAW,EAAmB,IAAfF,EAAsBC,GAEjE1kC,OAAO6C,KAAK2rB,IAAYiD,SAASj1B,IAC/B,MAAMk2B,EAAKlE,GAAWhyB,GACtB,IAAIooC,EAAYlS,EAAGyE,IAAIzE,GACI,IAAvBrQ,KAAK+M,gBACPwV,IAAc,EAAe,IAAXlS,EAAGsF,OAAgBsM,GAEzB,YAAZ5R,EAAG3xB,MACHmuB,GAAO,sDAEP0V,GAAa,EAAI,IAAOH,EAAeC,GACzCva,IAAgBuI,EAAG9B,OAASgU,KAG1B1V,GAAO,WAAU/E,IAAgB,GAErCmM,GAAQqO,EAER,IAAIE,EAAU,EAad,GAZI3V,GAAO,iBAAgB2V,GAAW,MAClC3V,GAAO,cAAa2V,GAAW,MAC/B3V,GAAO,gBAAe2V,GAAW,MACjC3V,GAAO,eAAc2V,GAAW,MAChC3V,GAAO,eAAc2V,GAAW,MAChC3V,GAAO,iBAAgB2V,GAAW,MAClC3V,GAAO,mBAAkB2V,GAAW,MACpC3V,GAAO,gBAAe2V,GAAW,MACjC3V,GAAO,eAAc2V,GAAW,MAChC3V,GAAO,eAAc2V,GAAW,MAChC3V,GAAO,gBAAe2V,GAAW,MACjC3V,GAAO,eAAc2V,GAAW,MAChC3V,GAAO,eAAgB,CAEzB,IAAI4V,EACuD,GAAxD//B,KAAKkE,OAAO84B,KAAKC,MAAQ3f,KAAK0iB,WAAa,IAAO,IACnD,GACA,GACA,GACFD,EAAM//B,KAAK2D,IAAIo8B,EAAK,KAEpBtZ,GAAe,EAAiC,IAA5B,GAAK,EAAIsZ,EAAM,MAAQ,GAC3CD,GAAWrZ,GAEb8K,GAAQuO,EAEJ3V,GAAO,kBAAiBoH,GAAQ,EAAgC,IAA5BvxB,KAAK2D,IAAI,IAAK2Z,KAAK2iB,QAG3D1O,GAAQ,EAAI3H,GAAY,oBAExB,MAAMsW,EAAe9a,GAAemM,EACpCt2B,OAAO6C,KAAKwf,KAAK6iB,iBAAiBzT,SAASj1B,IACrCyoC,GAAgB5iB,KAAK6iB,gBAAgB1oC,GAAG2oC,WAC1CtB,GAAOxhB,KAAK6iB,gBAAgB1oC,GAAGuE,SAGnCqpB,GAAkB6a,EAElB,MAAMxlC,EAAEA,GAAM4iB,KAAKud,aAAaC,OAC1BuF,EAAWzW,GAAY,oBAC7B,IAAK,IAAInyB,EAAI,EAAGA,EAAIiD,EAAGjD,IACrB85B,GAAQ,EAAe,KAAX8O,EAGd,MAAMrkC,EAAOshB,KAAKgjB,WAAWvoC,cAM7B,GALa,WAATiE,EAAmBu1B,GAAQ,IACb,WAATv1B,IAAmBu1B,GAAQ,KAEhCpH,GAAO,oBAAmBoH,GAAQ,KAElCpH,GAAO,uBAAwB,CACjC,IAAIoW,EAAmB,IACvB,GAAIpW,GAAO,iBAAkB,CAC3B,MAAMqW,EAAWljB,KAAKmjB,qBACtBxlC,OAAO6C,KAAK0iC,GAAU9T,SAASj1B,IACzB0yB,GAAOqW,EAAS/oC,MAAK8oC,GAAoB,OAGjDhP,GAAQgP,EAEV,GAAIpW,GAAO,yBAA0B,CACnC,IAAIuW,EAAW,GACXvW,GAAO,yBAAwBuW,GAAY,IAC/CnP,GAAQ,EAAImP,EAGVvW,GAAO,uBAAsBoH,GAAQ,KACrCpH,GAAO,wBAAuBoH,GAAQ,GAE1CnM,GAAe9H,KAAKqjB,kBAAkB,MAAOvb,IAE7CmM,GAAQmD,KAERtP,IAAgBmM,EASlB,MAAMqP,GAAW,CACf,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAIIC,GAAe,CACnB,gBACA,gBACA,cACA,gBACA,kBACA,kBACA,kBAIIC,GAAgB,CACpB,0BACA,qBACA,mBACA,iBACA,sBACA,gBACA,oBAIIC,GAAa,CACjB,sBACA,wBACA,sBACA,yBACA,wBACA,yBACA,wBAIIC,GAAa,CACjB,qBACA,oBACA,oBACA,yBACA,cACA,WACA,eAkCF,SAASC,GAAapX,GACpB,OAAOF,GAAgBE,GAAQF,GAAgBE,GAAM8J,IAAM,EAe7D,SAASuN,KACP,IAAIC,EAAW,EACflmC,OAAO6C,KAAKwf,KAAKiV,kBAAkB7F,SAASj1B,IACtC0yB,GAAO7M,KAAKiV,iBAAiB96B,MAAK0pC,GAAY,OAE/CF,GAAa,UAAYE,GAAY,GAAGrC,GAAO,UAC/CmC,GAAa,YAAcE,GAAY,IAAIrC,GAAO,WAEvD,IAAIsC,EAAiB,EACjBC,EAAgB,EAChBC,EAAS,EACTC,EAAY,IAChBtmC,OAAO6C,KAAK2rB,IAAYiD,SAASj1B,IAC/B2pC,GAAkB3X,GAAWhyB,GAAGo0B,OAChC0V,EAAYvhC,KAAK2D,IAAI8lB,GAAWhyB,GAAGo0B,OAAQ0V,GACtCN,GAAa,kBAEdxX,GAAWhyB,GAAGo0B,OACd7rB,KAAK2D,IAAI,IAAK,IAAM2Z,KAAKkkB,YAAY9pC,OAAS4lB,KAAKuN,QAAQpzB,GAAGuzB,GAAK,MAEnEqW,EAAgB,GAEfJ,GAAa,YAEdxX,GAAWhyB,GAAGo0B,OACmC,IAAhDvO,KAAKkkB,YAAY9pC,OAAS4lB,KAAKuN,QAAQpzB,GAAGuzB,MAE3CsW,EAAS,MAGXC,GAAa,GAAGzC,GAAO,uBACL,IAAlBuC,GAAqBvC,GAAO,iBACjB,IAAXwC,GAAcxC,GAAO,WACrByC,GAAa,KAAKzC,GAAO,cACzByC,GAAa,KAAKzC,GAAO,yBACzByC,GAAa,KAAKzC,GAAO,gBACzByC,GAAa,KAAKzC,GAAO,2BACzByC,GAAa,KAAKzC,GAAO,iBACzByC,GAAa,KAAKzC,GAAO,4BACzByC,GAAa,KAAKzC,GAAO,oBACzByC,GAAa,KAAKzC,GAAO,+BACzByC,GAAa,KAAKzC,GAAO,kBACzByC,GAAa,KAAKzC,GAAO,6BACzByC,GAAa,KAAKzC,GAAO,iBAEzBsC,GAAkB,KAAKtC,GAAO,WAC9BsC,GAAkB,KAAKtC,GAAO,aAC9BsC,GAAkB,KAAMtC,GAAO,YAC/BsC,GAAkB,KAAMtC,GAAO,sBAC/BsC,GAAkB,KAAMtC,GAAO,gBAC/BsC,GAAkB,KAAMtC,GAAO,gBAE/Bta,IAAoB,IAAIsa,GAAO,YAC/Bta,IAAoB,IAAIsa,GAAO,aAC/Bta,IAAoB,KAAKsa,GAAO,YAChCta,IAAoB,KAAKsa,GAAO,oBAChCta,IAAoB,KAAKsa,GAAO,oBAChCta,IAAoB,KAAKsa,GAAO,oCAEhCsC,GAAkB,KAAQ5c,IAAoB,KAAKsa,GAAO,YAC1DsC,GAAkB,KAAQ5c,IAAoB,KAChDsa,GAAO,qBAELrV,GAAWgY,OAAO5V,OAASpC,GAAWuI,QAAQnG,QAAU,KAC1DiT,GAAO,qBAET,IAAI4C,GAAkB,EACtBzmC,OAAO6C,KAAK+iC,IAAcnU,SAASj1B,IAC5B0yB,GAAO0W,GAAappC,MAAKiqC,GAAkB,MAE9CA,GAAiB5C,GAAO,kBAE5B,IAAI6C,GAAmB,EAMvB,GALA1mC,OAAO6C,KAAKgjC,IAAepU,SAASj1B,IAC7B0yB,GAAO2W,GAAcrpC,MAAKkqC,GAAmB,MAEhDA,GAAkB7C,GAAO,eAEzB3U,GAAO,mBAAoB,CAC7B,MAAMyX,EAAOtkB,KAAKmU,MAAMnG,QAAQkV,SAChC,IAAIqB,EAAW,EACf5mC,OAAO6C,KAAK8jC,GAAMlV,SAASj1B,IACrB0yB,GAAOyX,EAAKnqC,GAAGuE,QAAO6lC,GAAY,MAEpCA,GAAYD,EAAKlqC,QAAQonC,GAAO,cA6OxC,SAASgD,GAAoBjW,GAC3B,MAAMkW,EAAS,GAQf,OAPA9mC,OAAO6C,KAAKwf,KAAKuN,SAAS6B,SAASj1B,IACjCsqC,EAAOtqC,GAAK,GACZsqC,EAAOtqC,GAAGk4B,MA/Nd,SAAiCzE,EAAUW,GACzCsH,KACA1J,GAAWyB,GAAUW,QAAUA,EAC/B,MAAM8B,EAAKlE,GAAWyB,GAEL,WAAbA,GACEyC,EAAG9B,QAAU,GAAGiT,GAAO,SACvBnR,EAAG9B,QAAU,GAAGiT,GAAO,gBACvBnR,EAAG9B,QAAU,IAAIiT,GAAO,eACxBnR,EAAG9B,QAAU,KAAKiT,GAAO,mBACzBnR,EAAG9B,QAAU,KAAKiT,GAAO,eACzBnR,EAAG9B,QAAU,KAAKiT,GAAO,uBACzBnR,EAAG9B,QAAU,KAAKiT,GAAO,SACzBnR,EAAG9B,QAAU,KAAKiT,GAAO,kCACzBnR,EAAG9B,QAAU,KAAKiT,GAAO,iCACzBnR,EAAG9B,QAAU,KAAKiT,GAAO,wBACzBnR,EAAG9B,QAAU,KAAKiT,GAAO,yBAE7B7jC,OAAO6C,KAAKwf,KAAKuN,QAAQ8C,EAAG3xB,MAAMgmC,eAAetV,SAASmB,IAEtDF,EAAG9B,QACHvO,KAAKmU,MAAMnU,KAAKuN,QAAQ8C,EAAG3xB,MAAMgmC,cAAcnU,GAAGtD,MAAM0X,cAExDnD,GAAOxhB,KAAKuN,QAAQ8C,EAAG3xB,MAAMgmC,cAAcnU,GAAG7xB,SAKpD,MAAMkmC,EAAwBxd,GAU9B,OARAqa,KAEAmC,KAEIgB,IAA0Bxd,IAC5Bqa,KAGK3Z,GAAe9H,KAAKmR,UAyLP0T,CAAwB1qC,EAAGo0B,GAC9B,IAAXA,IACFxH,GAA2B,MAGxB0d,EA6BT,SAASK,KACPnnC,OAAO6C,KAAKwf,KAAKuN,SAAS6B,SAASj1B,IACjCmvB,GAAcnvB,GAAG0zB,MAAQ0T,GACvBvhB,KAAKuN,QAAQpzB,GACb6lB,KAAKuN,QAAQpzB,GAAGk0B,UAChBrO,KAAKuN,QAAQpzB,GAAGo0B,OAChBvO,KAAKuN,QAAQpzB,GAAGm0B,KAChB,GAEF/E,GAAepvB,GAAG0zB,MAAQ0T,GACxBvhB,KAAKuN,QAAQpzB,GACb6lB,KAAKuN,QAAQpzB,GAAGk0B,UAChBrO,KAAKuN,QAAQpzB,GAAGo0B,OAChBvO,KAAKuN,QAAQpzB,GAAGm0B,KAChB,IAEF9E,GAAgBrvB,GAAG0zB,MAAQ0T,GACzBvhB,KAAKuN,QAAQpzB,GACb6lB,KAAKuN,QAAQpzB,GAAGk0B,UAChBrO,KAAKuN,QAAQpzB,GAAGo0B,OAChBvO,KAAKuN,QAAQpzB,GAAGm0B,KAChB,QASN,SAASyW,KAEPzb,GAAgBkb,GAAoB,GACpCjb,GAAiBib,GAAoB,IACrChb,GAAkBgb,GAAoB,KAvDtC1a,GAAgB,GAChBnsB,OAAO6C,KAAKwf,KAAKyV,UAAUrG,SAASj1B,IAClC,MAAM6qC,EAtFV,SAAgCnU,GAC9B,GACkC,WAAhC7Q,KAAKyV,SAAS5E,GAAS7D,MACY,IAAlChN,KAAKyV,SAAS5E,GAAS3D,QACtBlN,KAAKyV,SAAS5E,GAASoU,UACS,aAAhCjlB,KAAKyV,SAAS5E,GAAS7D,KACzB,CACA6I,KACkC,yBAA9BzJ,GAAYyE,GAASnyB,KACvB0tB,GAAY,yBAAyBc,OAAS,EACP,uBAA9Bd,GAAYyE,GAASnyB,KAC9B0tB,GAAY,uBAAuBc,OAAS,EAE5Cd,GAAYyE,GAAS3D,QAAUd,GAAYyE,GAAS3D,OAAS,GAAK,EAEzDd,GAAYyE,GACnB7Q,KAAKklB,qBAAqBllB,KAAKyV,SAAS5E,GAAS7D,QACnD9F,IAAoB,GAEN,iBAAZ2J,GACF1J,IAAc,EACVA,GAAa,GAAGqa,GAAO,aACvBra,IAAc,GAAGqa,GAAO,kBACP,mBAAZ3Q,EACT2Q,GAAO,cACc,yBAAZ3Q,EACT2Q,GAAO,kBACc,iBAAZ3Q,GACT2Q,GAAO,aAGT,MAAMoD,EAAwBxd,GAE9Bqa,KAEAmC,KAEIgB,IAA0Bxd,IAC5Bqa,KAGF,MAAM0D,EAvIV,WACE,IAAI7jC,EAAM,EACNurB,GAAO,sBAAqBvrB,GAAO,IACnCurB,GAAO,qBAAoBvrB,GAAO,GAClCurB,GAAO,qBAAoBvrB,GAAO,IAClCurB,GAAO,sBAAqBvrB,GAAO,IACnCurB,GAAO,yBAAwBvrB,GAAO,IACtCurB,GAAO,yBAAwBvrB,GAAO,IACtCurB,GAAO,wBAAuBvrB,GAAO,IACrCurB,GAAO,wBAAuBvrB,GAAO,IACrCurB,GAAO,uBAAsBvrB,GAAO,IACpCurB,GAAO,uBAAsBvrB,GAAO,IACxC,IAAI6iB,EAAM,EACVxmB,OAAO6C,KAAK2rB,IAAYiD,SAASj1B,IAC/BgqB,GAAOgI,GAAWhyB,GAAGo0B,UAEvBpK,GAAOgI,GAAWgY,OAAO5V,OACzBjtB,GAAO6iB,EAGH0I,GAAO,mBAAkBvrB,GAAsB,IAAfwmB,IAChC+E,GAAO,gBAAevrB,GAAsB,IAAfwmB,IAC7B+E,GAAO,oBAAmBvrB,GAAsB,IAAfwmB,IACjC+E,GAAO,sBAAqBvrB,GAAsB,IAAfwmB,IACnC+E,GAAO,uBAAsBvrB,GAAsB,IAAfwmB,IACpC+E,GAAO,mBAAkBvrB,GAAsB,IAAfwmB,IAChC+E,GAAO,qBAAoBvrB,GAAsB,IAAfwmB,IAClC+E,GAAO,sBAAqBvrB,GAAsB,IAAfwmB,IACnC+E,GAAO,sBAAqBvrB,GAAsB,IAAfwmB,IACnC+E,GAAO,qBAAoBvrB,GAAsB,IAAfwmB,IAClC+E,GAAO,yBAAwBvrB,GAAsB,IAAfwmB,IACtC+E,GAAO,sBAAqBvrB,GAAsB,IAAfwmB,IACnC+E,GAAO,sBAAqBvrB,GAAsB,IAAfwmB,IAEnC+E,GAAO,kBAAiBvrB,GAAsB,IAAfwmB,IAEnC,IAAImM,EAAO,EAiBX,GAhBIpH,GAAO,qBAAoBoH,GAAQ,KACnCpH,GAAO,gBAAeoH,GAAQ,KAC9BpH,GAAO,iBAAgBoH,GAAQ,KAC/BpH,GAAO,iBAAgBoH,GAAQ,MAE/BpH,GAAO,iBACToH,GACE,EACA,IACEvxB,KAAK2D,IACH2Z,KAAKuN,QAAQ4W,OAAOxO,MACpB9I,GAAO,mBAAqB,GAAK,KAIzCoH,GAAQtH,GAAO,SACXR,GAAWkB,OAAOY,gBAChBd,GAAW,CACb,MAAMe,EAASf,GAAU,SACV,IAAXe,EAAc+F,GAAQ,KACN,IAAX/F,EAAc+F,GAAQ,IACX,IAAX/F,IAAc+F,GAAQ,MAInCt2B,OAAO6C,KAAKwf,KAAKqX,OAAOjI,SAASj1B,SACQ,IAA5B6lB,KAAKqX,MAAMl9B,GAAGirC,YACvBnR,GAAQjU,KAAKqX,MAAMl9B,GAAGirC,cAI1BnR,GAAQ,EAAmC,IAA/B3H,GAAY,iBAGxB,IAAI+Y,EACFpR,EACAjU,KAAKgV,WACH,EACAnI,GAAO,2BACLA,GAAO,kCACPA,GAAO,gBACTvrB,GAOJ,OAJA+jC,EAAMrlB,KAAKqjB,kBAAkB,kBAAmBgC,GAE5CrlB,KAAK+N,QAAQ,mBAAkBsX,EAAMrlB,KAAKqX,MAAM,iBAAiB3B,OAE9D2P,EAkDgBC,GAAatlB,KAAKulB,iBACvC,OAAIJ,EACK,CAACrd,GAAe9H,KAAKmR,UAAWgU,GAElC,CAACrd,GAAe9H,KAAKmR,WAE9B,MAAO,GAuCeqU,CAAuBrrC,GACjC,iBAANA,GACF2vB,GAAc3vB,GAAK,CAAEk4B,MAAOrS,KAAKmR,UAAY3K,IACjB,IAAxB3G,EAAUqR,UACZpH,GAAc3vB,GAAGk4B,OAAS5L,GACK,IAAxB5G,EAAUqR,YACjBpH,GAAc3vB,GAAGk4B,OAAS3L,IACvB/B,OAAOC,SAASkF,GAAc3vB,GAAGk4B,SAAQvI,GAAc3vB,GAAGk4B,MAAQ,KAEvEvI,GAAc3vB,GAAK,GACf6qC,EAAY,KAAIlb,GAAc3vB,GAAGk4B,MAAQ2S,EAAY,IACrDA,EAAY,KAAIlb,GAAc3vB,GAAGk+B,WAAa2M,EAAY,QA6DpE,SAASS,GAAqBC,EAAOC,EAAW1R,GAC9C,IAAI2R,EAAiB,EACjBhX,EAAO,EACPiX,EAAW,EACXC,EAAe,EACfC,EACF,EAAIrjC,KAAK6D,IAAI,EAAG7D,KAAKoL,KAAKpL,KAAK2iB,IAAIrF,KAAKiT,SAAWvwB,KAAKsjC,MAAQ,IAClE,KAAOH,EAAWF,EAAY1R,GAC5BrF,EAAOlsB,KAAK6D,IACVm/B,EACAhjC,KAAK2D,IACH3D,KAAKkE,MAAO,EAAI,EAAK,IAAMm/B,EAAQL,EAAQzR,GAC3C0R,EAAY1R,IAGhB4R,EAAWnjC,KAAK6D,IACdm/B,EACAhjC,KAAK2D,IACH3D,KAAKkE,MAAO,EAAI,EAAK,KAAOm/B,EAAQ,GAAKL,EAAQzR,GACjD0R,EAAY1R,IAGhB6R,EAAepjC,KAAKkE,MAAO,EAAI,EAAK,KAAOm/B,EAAQ,GAAKL,EAAQzR,GAChE2R,GAAkBhX,EAClBmX,GAAS,EAEX,MAAO,CAACH,EAAgBhX,EAAMkX,GAmBhC,SAASG,KACP,IAAIN,EAEF,GADA7c,GAEA,GACA,EACAC,GAEF,MAAMmd,EAAc9O,KAChB8O,EAAc,EAAGP,GAAaO,EAC7BP,EAAY,EAEjBtb,GAAsBob,GACpB,EACAE,EACA3c,IAEFmB,GAA+C,EAAzBE,GAAoB,GAAUrB,GACpDoB,GACEC,GAAoB,GAAK,GAAK,GAAK,EAAItB,GAEzCyB,GAA2Bib,GACzB,EACAE,EACA1c,IAEFqB,GACiC,EAA9BE,GAAyB,GAAUvB,GACtCsB,GACEC,GAAyB,GACzB,GACA,GACA,EACAzB,GAEF4B,GAA4B8a,GAC1B,EACY,EAAZE,EACA3c,IAEFyB,GACkC,EAA/BE,GAA0B,GAAU3B,GACvC0B,GACEC,GAA0B,GAC1B,GACA,GACA,EACA5B,GAEF+B,GAAiC2a,GAC/B,EACY,EAAZE,EACA1c,IAEF2B,GACuC,EAApCE,GAA+B,GAAU7B,GAC5C4B,GACEC,GAA+B,GAC/B,GACA,GACA,EACA/B,GAYJ,SAASod,KACP,MAAM1G,EAAW/8B,KAAKkE,MAAM84B,KAAKC,MAAQ,KAEzC,GAAK3f,KAAKmd,EAAInd,KAAKmX,IAAO,GAAM,EAAG,CACjC,MAAMiP,EAAapmB,KAAKqmB,gBAAgBrmB,KAAKsmB,cAIvCC,EAHiB7jC,KAAKkE,MAC1BoZ,KAAKqmB,gBAAgBrmB,KAAKsmB,aAAetmB,KAAK6f,gBAERn9B,KAAKkE,MAAMw/B,GAG7CtG,EAAWL,EAAW5Y,GACtB2f,EACJ9jC,KAAK6D,IAAI,EAAGggC,EAAiBzf,IAA0BgZ,EACzD,IAAK,IAAI3lC,EAAI,EAAGA,EAAI2lC,EAAU3lC,IAC5B+rB,GAAkBma,UAAUmG,GAI9B3f,GAAyB4Y,EACzB3Y,GAAyByf,EAGzBrd,GAAmBhD,GAAkBsa,YAAY,IA6HrD,SAASiG,KACPzc,GAAuB,GACvBE,GAA8B,GAC9BD,GAA+B,GAC/B,MAAMqa,EAAO,GAEb3mC,OAAO6C,KAAKwf,KAAKyV,UAAUrG,SAASj1B,IAClCmqC,EAAKroC,KAAK+jB,KAAKyV,SAASt7B,OAO1BmqC,EAAK7U,MALW,SAAUzsB,EAAGP,GAC3B,OAAIO,EAAE+tB,MAAQtuB,EAAEsuB,MAAc,EAC1B/tB,EAAE+tB,MAAQtuB,EAAEsuB,OAAe,EACxB,KAITpzB,OAAO6C,KAAK8jC,GAAMlV,SAASj1B,IACzB,MAAMk2B,EAAKiU,EAAKnqC,GAEhB,GAAkB,IAAdk2B,EAAGnD,OAAc,CACnB,IAAI3xB,EAAM,GAEVA,GArDN,SAAsB80B,GACpB,IAAIqW,EAAU,wBACE,aAAZrW,EAAGrD,OAAqB0Z,GAAW,aAEvC,IAAIC,EAAU,EACT3mB,KAAK4c,MAAMgK,SAAQD,EAAU,GAC9BA,IAASD,GAAW,YAExB,IAAIG,KAAEA,GAASxW,EACXA,EAAGyW,eAAcD,EAAOxW,EAAGyW,gBAC/B,MAAMrQ,EAAU,0DAA0DpG,EAAG3C,kBAC7E,MAAO,eAAegZ,SACrB1mB,KAAK+mB,kBAAkBtQ,EAAS,OAAO,kBAEtCoQ,EAAK,GAAK,yBAAyBA,EAAK,OAAS,yBACjB,IAAVA,EAAK,QAAwB,IAAVA,EAAK,oBAsCrCG,CAAa3W,GACJ,aAAZA,EAAGrD,KAAqB/C,IAAgC1uB,EACvC,WAAZ80B,EAAGrD,KAAmB9C,IAA+B3uB,EAEhD,WAAZ80B,EAAGrD,MACS,WAAZqD,EAAGrD,MACS,UAAZqD,EAAGrD,OAEHhD,IAAwBzuB,OAchC,SAAS0rC,KACP,GAAoB,cAAhBjnB,KAAK8d,OAAwB,CAC/B,IAAInhC,EAAuB,GAAjBqjB,KAAKmR,UACXnR,KAAK+N,QAAQ,kBAAiBpxB,GAAO,IACrCqjB,KAAK+N,QAAQ,YAAWpxB,GAAO,KACnCysB,GAAe1mB,KAAK6D,IAAI,GAAI5J,GACxBqjB,KAAK0d,IAAI,gCAA+BtU,IAAgB,IAehE,SAAS8d,KACP9e,GAA2C,IAA7BU,GAAoC,IAClDV,IAAcW,GACd,MAAMmd,EAAc9O,KAChB8O,EAAc,EAAG9d,IAAc8d,EAC9B9d,GAAa,EAClBC,GAAmBW,IAAuC,IAAbZ,IAAqB,GAClEE,GAAwBW,IAAsC,IAAbb,IAAqB,GACtEG,GAAgC,EAAbH,GACnBI,GACEQ,IAA6C,IAAnBT,IAA2B,GACvDE,GACEQ,IAA4C,IAAnBV,IAA2B,GACtDG,GAA4B,EAAbN,GACfO,GAAoC,IAAfD,GAErBE,GAAe,EACf,IAAIriB,EAAM,EACNnJ,EAAI,EACRO,OAAO6C,KAAKwf,KAAKuN,SAAS6B,SAASj1B,IAC7B6lB,KAAKuN,QAAQpzB,GAAGo0B,OAAShoB,IAAKA,EAAMyZ,KAAKuN,QAAQpzB,GAAGo0B,QACpDvO,KAAKuN,QAAQpzB,GAAGo0B,OAAS,IAAGnxB,GAAK,MAEvCO,OAAO6C,KAAKwf,KAAKuN,SAAS6B,SAASj1B,KAE9B6lB,KAAKuN,QAAQpzB,GAAGo0B,OAAShoB,GAAa,IAANnJ,IACjC4iB,KAAKuN,QAAQpzB,GAAGo0B,OAAS,KACD,EAAxBvO,KAAKuN,QAAQpzB,GAAG0zB,MAAYjF,KAE5BA,GAAuC,EAAxB5I,KAAKuN,QAAQpzB,GAAG0zB,MAC/BhF,GAAuB1uB,MAQ7B,SAASgtC,KACP,IAAIC,EAAa,EACbC,EAAY,EACZpT,EAAO,EAGPpH,GAAO,4BAA2BoH,GAAQ,MAC1CpH,GAAO,iBAAgBoH,GAAQ,MAEnCmT,GAAc,EAA+C,GAA3CpnB,KAAK+iB,SAAS,2BAChCqE,GAAcpnB,KAAKsnB,IAAI,oBACvBD,GAAa,EAAuC,GAAnCrnB,KAAK+iB,SAAS,mBAC/BsE,GAAarnB,KAAKsnB,IAAI,mBAGtBte,GAAyBiL,EAAOmT,EAChCne,GAAwBgL,EAAOoT,EAM/Bte,GAAoC,EACD,IAA/B/I,KAAKud,aAAaC,OAAOpgC,IAC3B2rB,IACE,EAAwC,KAApC/I,KAAK+iB,SAAS,qBAkBxB,SAASwE,KACP9d,GAAsB,EACtBC,GAAuB,EACvBC,GAAwB,CAAC,EAAG,MAC5B,IAAK,IAAIxvB,EAAI,EAAGA,EAAI6lB,KAAKqR,UAAUj3B,OAAQD,IAAK,CAC9C,IAAIykC,OAAEA,GAAW5e,KAAKqR,UAAUl3B,GAC5B0kC,EAAS,IAKb,GAJI7e,KAAK0d,IAAI,6BAA4BmB,GAAU,MACpB,IAA3B7e,KAAKqR,UAAUl3B,GAAGK,OAAYqkC,GAAU,GAC5CD,GAAUC,EACN7e,KAAK0d,IAAI,mBAAkBkB,GAAU,MACrCzS,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASlO,KAAKoN,OAAO,SACZ,IAAXc,EAAc0Q,GAAU,KACR,IAAX1Q,EAAc0Q,GAAU,IACb,IAAX1Q,IAAc0Q,GAAU,MAEnCnV,IAAuBmV,EACQ,IAA3B5e,KAAKqR,UAAUl3B,GAAGK,OACpBkvB,IAAwBkV,EACpBA,EAASjV,GAAsB,KACjCA,GAAwB,CAACiV,EAAQzkC,MAuBzC,SAASqtC,KACP/T,KACA8T,KACAL,KACAC,KACAlB,KACAQ,KACAQ,KA/hDAphB,GAAc,IAAIqZ,GAAWlc,EAAYA,EAAY5oB,OAAS,IAC9D0rB,GAAY,IAAIoZ,GAAWlc,EAAYA,EAAY5oB,OAAS,IAC5D2rB,GAAmB,IAAImZ,GAAWlc,EAAYA,EAAY5oB,OAAS,IACnE4rB,GAAa,IAAIkZ,GAAWlc,EAAYA,EAAY5oB,OAAS,IAC7D6rB,GAAa,IAAIiZ,GAAWjc,EAAWA,EAAW7oB,OAAS,IA6hD3D8rB,GAAoB,IAAIgZ,GAAW,GACnCiH,KACA3G,KACAuF,KACAD,KACA1D,KAKF,MA2ImCqG,GA3Ib,CACpBxW,QAAS,EACTsP,WAAY,EACZI,cAAe,EACfzP,UAAW,EACXzM,MAAO,EACPF,cAAe,EACfQ,eAAgB,EAChBD,YAAa,OACbY,WAAY,EACZgiB,aAAc,EACd5U,cAAe,EACf3D,YAAa,EACb2R,sBAAuB,EACvBI,aAAc,EACdF,cAAe,EACfH,oBAAqB,EACrBjf,WAAY,UACZC,YAAa,UACbC,aAAc,UACdC,aAAc,UACdC,UAAW,UACXC,aAAc,UACdC,WAAY,UACZC,WAAY,UACZC,YAAa,UACbuQ,OAAQ,EACRW,SAAU,EACVC,YAAa,EACbsK,gBAAiB,EACjBjO,YAAa,EACb+X,mBAAoB,EACpBrY,cAAe,EACfoB,aAAc,EACdkX,eAAgB,EAChBC,YAAa,EACbC,QAAS,EACTC,QAAS,EACThoB,gBAAiB,EACjBioB,oBAAqB,EACrBnQ,oBAAqB,EACrBoQ,YAAa,EACbhM,cAAe,EACfC,oBAAqB,EACrBE,gBAAiB,EACjBE,sBAAuB,EACvBE,gBAAiB,EACjBb,aAAc,EACdG,YAAa,EACbtE,YAAa,EACbyB,YAAa,EACbkF,aAAc,EACd1F,YAAa,EACbkB,aAAc,EACdc,gBAAiB,EACjByN,oBAAqB,EACrBlL,MAAO,EACPmL,gBAAiB,EACjBpJ,QAAS,EACTqJ,oBAAqB,EACrBC,aAAc,EACdpkB,MAAO,EACPqkB,aAAc,EACdC,eAAgB,EAChBC,QAAS,EACTC,cAAe,UACfC,QAAS,EACTC,SAAU,IACVC,WAAY,6DACZC,oBAAqB,EACrBC,aAAc,EACdC,mBAAoB,UACpBC,aAAc,EACdC,cAAe,IACfC,gBACE,gEACFC,gBAAiB,EACjBC,SAAU,EACVC,eAAgB,UAChBC,SAAU,EACVC,UAAW,IACXC,YACE,oEACFC,UAAW,EACXC,gBAAiB,UACjBC,UAAW,EACXC,WAAY,IACZC,aAAc,+DACdC,kBAAmB,EACnBC,WAAY,EACZC,iBAAkB,UAClBC,WAAY,EACZC,YAAa,IACbC,cACE,gEACFC,qBAAsB,EACtBC,cAAe,EACfC,oBAAqB,UACrBC,cAAe,EACfC,eAAgB,IAChBC,iBACE,6DACFC,wBAAyB,EACzBC,iBAAkB,EAClBC,uBAAwB,UACxBC,iBAAkB,EAClBC,kBAAmB,IACnBC,oBACE,8DACFC,aAAc,EACdC,OAAQ,CACNC,YAAa,EACbC,SAAU,EACVC,QAAS,EACTC,YAAa,EACbC,QAAS,EACTC,WAAY,EACZC,aAAc,EACdC,oBAAqB,EACrBC,eAAgB,EAChBC,eAAgB,EAChBC,gBAAiB,EACjBC,iBAAkB,EAClBC,iBAAkB,EAClBC,kBAAmB,EACnBC,qBAAsB,EACtBC,cAAe,EACfC,MAAO,EACPC,MAAO,EACPC,OAAQ,EACRC,OAAQ,EACRC,SAAU,EACVC,MAAO,EACPC,IAAK,EACLC,KAAM,EACNC,QAAS,IAoCsBC,GAvBnC,SAAsCC,GACpC,GAAoB,IAAhBA,EAAmB,CAErB,MAAMC,EAA2B,WAC/B,IACErB,aAAasB,oBAAoBC,OACjC,MAAOzxC,GACP,OAAO,EAET,OAAO,GAIH,iBAAkB1C,OAEbi0C,IACTrB,aAAasB,oBAAoBC,OAEjCvB,aAAasB,oBAJb9xC,QAAQqqB,IAAI,kDAoBlB,SAAS2nB,KACkB,IAArBntB,EAAU8S,QACZpnB,EAAE,YAAYnJ,MAAMqV,QAAU,GAC9Bib,MAEAnnB,EAAE,YAAYnJ,MAAMqV,QAAU,OAEhC4b,KAwGF,SAAS4Z,KACPC,cACAltB,KAAKmtB,eACLntB,KAAKotB,kBAEL1a,KACAzD,KACAU,KAuBF,SAAS0d,KACmB,IAAtBxtB,EAAUkoB,SAAiB/mB,EAAwB,EACjDiK,GAA0BqiB,MAC5B/hC,EAAE,aAAagiC,KACb,mEAEFhiC,EAAE,aAAagiC,KACb,oEAEJhiC,EAAE,aAAagiC,KACb,uDAQN,MAAMC,GACJrO,YAAY3kC,EAAMizC,GAChB50C,KAAK2B,KAAOA,EACZ3B,KAAK40C,MAAQA,GAKjB,MAAMC,WAAwBF,GAC5BrO,YAAY3kC,EAAMizC,EAAOE,EAAOC,EAAMC,EAAQ3uC,EAAO,MACnD4uC,MAAMtzC,EAAMizC,GACZ50C,KAAK80C,MAAQA,EACb90C,KAAK+0C,KAAOA,EACZ/0C,KAAKg1C,OAASA,EACV3uC,IACFrG,KAAKqG,KAAOA,IAKlB,MAAM6uC,WAAuBP,GAC3BrO,YAAY3kC,EAAMizC,EAAOG,GACvBE,MAAMtzC,EAAMizC,GACZ50C,KAAK+0C,KAAOA,GAKhB,MAAMI,WAAsBR,GAC1BrO,YAAY3kC,EAAMizC,EAAOE,EAAOC,GAC9BE,MAAMtzC,EAAMizC,GACZ50C,KAAK80C,MAAQA,EACb90C,KAAK+0C,KAAOA,EACZ,IAAK,IAAIzzC,EAAI,EAAGA,EAAI,IAAKA,IACvBtB,KAAK80C,MAAMxzC,GAAK,GAAGA,MAMzB,MAAM8zC,WAA2BT,GAC/BrO,YAAY3kC,EAAMizC,EAAOE,EAAOC,EAAMvnC,EAAKE,GACzCunC,MAAMtzC,EAAMizC,GACZ50C,KAAK80C,MAAQA,EACb90C,KAAK+0C,KAAOA,EACZ/0C,KAAKwN,IAAMA,EACXxN,KAAK0N,IAAMA,GAyBf,MA8xBmC2nC,GA9xBpB,CAEbjd,QAAS,IAAIyc,GACX,OACA,cACA,CAAC,6BAA8B,8BAC/B,kFACA,GAEFnN,WAAY,IAAImN,GACd,OACA,cACA,CACE,0BACA,0BACA,0BACA,yBACA,yBACA,0BACA,0BACA,2BAEF,4DACA,GAEF/M,cAAe,IAAI+M,GACjB,OACA,cACA,CACE,4BACA,4BACA,6BACA,6BACA,8BAEF,uDACA,GAEFxc,UAAW,IAAIwc,GACb,OACA,cACA,CACE,+BACA,8BACA,6CAEF,qGACA,GACA,WACE9lB,IAAY,KAKhBnD,MAAO,IAAIipB,GACT,OACA,WACA,CACE,uBACA,SACA,cACA,4BACA,sBACA,wBAEF,yCACA,GACA,WACET,QAGJ1oB,cAAe,IAAImpB,GACjB,OACA,WACA,CAAC,aAAc,aAAc,cAC7B,oIACA,GACA,WACET,QAGJloB,eAAgB,IAAI2oB,GAClB,OACA,WACA,CAAC,4BAA6B,mBAC9B,qDACA,GACA,WACET,QAGJnoB,YAAa,IAAImpB,GACf,WACA,WACA,2BACA,8KACA,EACA,WAEFvoB,WAAY,IAAIgoB,GACd,OACA,WACA,CAAC,0BAA2B,uBAC5B,0BACA,GAEFhG,aAAc,IAAIgG,GAChB,OACA,WACA,CAAC,oBAAqB,oBACtB,mEACA,GACA,WAlU6B,IAA3B7tB,EAAU6nB,aAAoB1nB,KAAKkd,QAAUza,EAC5CzC,KAAKkd,QAAUzb,EAAgByb,WAqUpCpK,cAAe,IAAI4a,GACjB,OACA,WACA,CAAC,yBAA0B,mBAC3B,sKACA,GAIFve,YAAa,IAAIue,GACf,OACA,UACA,CAAC,uBAAwB,uBACzB,yBACA,GACA,WACEze,QAGJ6R,sBAAuB,IAAI4M,GACzB,OACA,UACA,CAAC,2BAA4B,sBAC7B,0KACA,GAEFxM,aAAc,IAAIwM,GAChB,OACA,UACA,CACE,mBACA,kBACA,0BACA,gCAEF,sGACA,GAEF1M,cAAe,IAAI0M,GACjB,OACA,UACA,CAAC,mBAAoB,mBACrB,sJACA,GAEF7M,oBAAqB,IAAIoN,GACvB,WACA,UACA,oCACA,wMACA,EACAzpB,KAEF5C,WAAY,IAAImsB,GACd,SACA,UACA,6HAEFlsB,YAAa,IAAIksB,GACf,SACA,UACA,yGAEFjsB,aAAc,IAAIisB,GAChB,SACA,UACA,qHAEFhsB,aAAc,IAAIgsB,GAChB,SACA,UACA,4HAEF/rB,UAAW,IAAI+rB,GACb,SACA,UACA,gHAEF9rB,aAAc,IAAI8rB,GAChB,SACA,UACA,8HAEF7rB,WAAY,IAAI6rB,GACd,SACA,UACA,wGAEF5rB,WAAY,IAAI4rB,GACd,SACA,UACA,sDAEF3rB,YAAa,IAAI2rB,GACf,SACA,UACA,yDAIFpb,OAAQ,IAAI+a,GACV,OACA,cACA,CAAC,iBAAkB,iBACnB,wBACA,GACA,WACEV,QAGJ1Z,SAAU,IAAIoa,GACZ,OACA,cACA,CAAC,gBAAiB,gBAClB,+FACA,GACA,WACEla,QAGJD,YAAa,IAAIma,GACf,OACA,cACA,CAAC,gCAAiC,+BAClC,8BACA,GACA,WAl2H4B,IAA1B7tB,EAAU0T,aACZhoB,EAAE,cAAcnJ,MAAMkG,MAAQ,MAC9BiD,EAAE,cAAcnJ,MAAMkW,OAAS,GAC/B/M,EAAE,QAAQ4iC,aAAa5iC,EAAE,cAAeA,EAAE,kBAE1CA,EAAE,cAAcnJ,MAAMkG,MAAQ,OAC9BiD,EAAE,cAAcnJ,MAAMkW,OAAS,MAC/B/M,EAAE,WAAWwK,YAAYxK,EAAE,gBAE7B8nB,QA61HAwK,gBAAiB,IAAI6P,GACnB,OACA,cACA,CACE,wBACA,iCACA,0BAEF,+DACA,GAEF9d,YAAa,IAAI8d,GACf,OACA,cACA,CACE,0BACA,8BACA,kCAEF,yDACA,GACA,WA3a2B,IAAzB7tB,EAAUuuB,YAEZ7iC,EAAE,gBAAgBnJ,MAAMqV,QAAU,GAClCkY,MACkC,IAAzB9P,EAAUuuB,YAEnB7iC,EAAE,gBAAgBnJ,MAAMqV,QAAU,OAClCkY,OAGApkB,EAAE,gBAAgBnJ,MAAMqV,QAAU,OAClCuI,KAAKotB,sBAoaPzF,mBAAoB,IAAI+F,GACtB,OACA,cACA,CAAC,iCAAkC,iCACnC,+FACA,GACA,WA9ZmC,IAAjC7tB,EAAU8nB,oBAEZp8B,EAAE,gBAAgBnJ,MAAMgI,SAAW,SACnCmB,EAAE,gBAAgBnJ,MAAMsC,IAAM,OAE9B6G,EAAE,gBAAgBnJ,MAAMgI,SAAW,MA6ZrCklB,cAAe,IAAIoe,GACjB,OACA,cACA,CACE,0BACA,oCACA,4CAEF,kEACA,GACA,WACEze,QAGJyB,aAAc,IAAIgd,GAChB,OACA,cACA,CAAC,yBAA0B,qBAC3B,iEACA,GACA,WACE/d,QAGJiY,eAAgB,IAAI8F,GAClB,OACA,cACA,CAAC,6BAA8B,6BAC/B,kFACA,GAEF7F,YAAa,IAAI6F,GACf,OACA,cACA,CAAC,iCAAkC,iCACnC,+DACA,GAEF5F,QAAS,IAAI4F,GACX,OACA,cACA,CAAC,0BAA2B,0BAC5B,yDACA,GACA,WAxgBwB,IAAtB7tB,EAAUioB,QACZnqC,OAAO6C,KAAKwjB,IAAUoL,SAASj1B,IAC7B6pB,GAAS7pB,GAAGiI,MAAMqV,QAAU,QAC5BuM,GAAS7pB,GAAGiI,MAAMqC,KAAO6mB,GAAwBnxB,GAAGoR,EAAEnJ,MAAMqC,KAC5Duf,GAAS7pB,GAAGiI,MAAMsC,IAAM4mB,GAAwBnxB,GAAGoR,EAAEnJ,MAAMsC,OAG7D/G,OAAO6C,KAAKwjB,IAAUoL,SAASj1B,GAAO6pB,GAAS7pB,GAAGiI,MAAMqV,QAAU,YAqgBpEswB,QAAS,IAAI2F,GACX,OACA,cACA,CAAC,cAAe,cAChB,2CACA,GACA,WACEL,QAGJttB,gBAAiB,IAAI2tB,GACnB,OACA,cACA,CAAC,6BAA8B,6BAC/B,kEACA,GACA,WACE5tB,OAGJkoB,oBAAqB,IAAI0F,GACvB,OACA,cACA,CAAC,qCAAsC,qCACvC,+FACA,GACA,WAnhBE7tB,EAAUmoB,oBACZz8B,EAAE,uBAAuBnJ,MAAMqV,QAAU,GAEzClM,EAAE,uBAAuBnJ,MAAMqV,QAAU,UAshB3CogB,oBAAqB,IAAI6V,GACvB,OACA,UACA,CACE,2CACA,4CAEF,kDACA,GAEFzF,YAAa,IAAIyF,GACf,OACA,UACA,CACE,iDACA,iDAEF,qDACA,GAEFzR,cAAe,IAAIyR,GACjB,OACA,UACA,CAAC,4BAA6B,4BAC9B,kGACA,GAEFxR,oBAAqB,IAAIwR,GACvB,OACA,UACA,CAAC,mCAAoC,mCACrC,2GACA,GAEFtR,gBAAiB,IAAIsR,GACnB,OACA,UACA,CAAC,8BAA+B,8BAChC,+GACA,GAEFpR,sBAAuB,IAAIoR,GACzB,OACA,UACA,CAAC,qCAAsC,qCACvC,kIACA,GAEFlR,gBAAiB,IAAIkR,GACnB,OACA,UACA,CAAC,8BAA+B,8BAChC,qJACA,GAEF/R,aAAc,IAAIsS,GAChB,WACA,UACA,mCACA,gKACA,EACAzpB,KAEFsX,YAAa,IAAI4R,GACf,OACA,UACA,CACE,+CACA,+CAEF,2EACA,GAEFlW,YAAa,IAAIkW,GACf,OACA,UACA,CAAC,kCAAmC,qCACpC,kCACA,GACA,WACEnW,QAGJ0B,YAAa,IAAIyU,GACf,OACA,UACA,CAAC,mCAAoC,mCACrC,6CACA,GAEFvP,aAAc,IAAIuP,GAChB,OACA,UACA,CAAC,uBAAwB,uBACzB,oEACA,GAEFjV,YAAa,IAAIiV,GACf,OACA,UACA,CAAC,yBAA0B,yBAC3B,4DACA,GAEF/T,aAAc,IAAI+T,GAChB,OACA,UACA,CAAC,2BAA4B,2BAC7B,yDACA,GAEFjT,gBAAiB,IAAIiT,GACnB,OACA,UACA,CAAC,uBAAwB,uBACzB,iDACA,GAEFxF,oBAAqB,IAAIwF,GACvB,OACA,UACA,CAAC,qCAAsC,qCACvC,+CACA,GAIF1Q,MAAO,IAAI0Q,GACT,OACA,aACA,CAAC,iBAAkB,iBACnB,oCACA,GAEFvF,gBAAiB,IAAIuF,GACnB,OACA,aACA,CAAC,uBAAwB,uBACzB,wCACA,GAEF3O,QAAS,IAAI2O,GACX,OACA,aACA,CAAC,mCAAoC,+BACrC,wCACA,GAEFtF,oBAAqB,IAAI6F,GACvB,WACA,aACA,0BACA,8GACA,EACAzpB,KAEF6jB,aAAc,IAAIqF,GAChB,OACA,aACA,CAAC,gBAAiB,gBAClB,4FACA,GAIFzpB,MAAO,IAAIypB,GACT,OACA,sBACA,CAAC,YAAa,WAAY,8BAC1B,8LACA,GAEFpF,aAAc,IAAIoF,GAChB,OACA,sBACA,CAAC,mCAAoC,mCACrC,kLACA,GAEFnF,eAAgB,IAAImF,GAClB,OACA,iBACA,CAAC,mBAAoB,mBACrB,mDACA,GACA,WACEf,GAAoC9sB,EAAU0oB,mBAGlDC,QAAS,IAAIkF,GACX,OACA,iBACA,CAAC,YAAa,YACd,iCACA,GAEFjF,cAAe,IAAIsF,GACjB,SACA,iBACA,wDAEFrF,QAAS,IAAIgF,GACX,OACA,iBACA,CAAC,YAAa,YACd,iCACA,GAEF/E,SAAU,IAAIqF,GAAc,MAAO,iBAAkB,GAAI,UACzDpF,WAAY,IAAI8E,GACd,MACA,iBACA,aACA,6DAEF7E,oBAAqB,IAAI6E,GACvB,OACA,iBACA,CAAC,mBAAoB,mBACrB,8DACA,GACA,WACEf,GAAoC9sB,EAAUgpB,wBAGlDC,aAAc,IAAI4E,GAChB,OACA,iBACA,CAAC,YAAa,YACd,wCACA,GAEF3E,mBAAoB,IAAIgF,GACtB,SACA,iBACA,6DAEF/E,aAAc,IAAI0E,GAChB,OACA,iBACA,CAAC,YAAa,YACd,wCACA,GAEFzE,cAAe,IAAI+E,GAAc,MAAO,iBAAkB,GAAI,UAC9D9E,gBAAiB,IAAIwE,GACnB,MACA,iBACA,aACA,sEAEFvE,gBAAiB,IAAIuE,GACnB,OACA,kBACA,CAAC,mBAAoB,mBACrB,yCACA,GACA,WACEf,GAAoC9sB,EAAUspB,oBAGlDC,SAAU,IAAIsE,GACZ,OACA,kBACA,CAAC,YAAa,YACd,gCACA,GAEFrE,eAAgB,IAAI0E,GAClB,SACA,kBACA,kEAEFzE,SAAU,IAAIoE,GACZ,OACA,kBACA,CAAC,YAAa,YACd,gCACA,GAEFnE,UAAW,IAAIyE,GAAc,MAAO,kBAAmB,GAAI,UAC3DxE,YAAa,IAAIkE,GACf,MACA,kBACA,aACA,6DAEFjE,UAAW,IAAIiE,GACb,OACA,mBACA,CAAC,wBAAyB,YAC1B,+BACA,GAEFhE,gBAAiB,IAAIqE,GACnB,SACA,mBACA,4DAEFpE,UAAW,IAAI+D,GACb,OACA,mBACA,CAAC,YAAa,YACd,+BACA,GAEF9D,WAAY,IAAIoE,GAAc,MAAO,mBAAoB,GAAI,UAC7DnE,aAAc,IAAI6D,GAChB,MACA,mBACA,yBACA,uDAEF5D,kBAAmB,IAAI4D,GACrB,OACA,mBACA,CAAC,mBAAoB,mBACrB,oDACA,GACA,WACEf,GAAoC9sB,EAAUiqB,sBAGlDC,WAAY,IAAI2D,GACd,OACA,mBACA,CAAC,YAAa,YACd,2CACA,GAEF1D,iBAAkB,IAAI+D,GACpB,SACA,mBACA,2DAEF9D,WAAY,IAAIyD,GACd,OACA,mBACA,CAAC,YAAa,YACd,2CACA,GAEFxD,YAAa,IAAI8D,GAAc,MAAO,mBAAoB,GAAI,UAC9D7D,cAAe,IAAIuD,GACjB,MACA,mBACA,aACA,2DAEFtD,qBAAsB,IAAIsD,GACxB,OACA,oBACA,CAAC,mBAAoB,mBACrB,iDACA,GACA,WACEf,GAAoC9sB,EAAUuqB,yBAGlDC,cAAe,IAAIqD,GACjB,OACA,oBACA,CAAC,YAAa,YACd,wCACA,GAEFpD,oBAAqB,IAAIyD,GACvB,SACA,oBACA,8DAEFxD,cAAe,IAAImD,GACjB,OACA,oBACA,CAAC,YAAa,YACd,wCACA,GAEFlD,eAAgB,IAAIwD,GAAc,MAAO,oBAAqB,GAAI,UAClEvD,iBAAkB,IAAIiD,GACpB,MACA,oBACA,aACA,yDAEFhD,wBAAyB,IAAIgD,GAC3B,OACA,uBACA,CAAC,mBAAoB,mBACrB,2EACA,GACA,WACEf,GAAoC9sB,EAAU6qB,4BAGlDC,iBAAkB,IAAI+C,GACpB,OACA,uBACA,CAAC,YAAa,YACd,kEACA,GAEF9C,uBAAwB,IAAImD,GAC1B,SACA,uBACA,sEAEFlD,iBAAkB,IAAI6C,GACpB,OACA,uBACA,CAAC,YAAa,YACd,kEACA,GAEF5C,kBAAmB,IAAIkD,GACrB,MACA,uBACA,GACA,UAEFjD,oBAAqB,IAAI2C,GACvB,MACA,uBACA,aACA,mFAIF1C,aAAc,IAAI0C,GAChB,OACA,gBACA,CAAC,wBAAyB,wBAC1B,mIACA,IAeJ,SAASW,KACP,OAAO7yC,KAAK8yC,UAAU,CACpBC,SAAU1uB,EACV2uB,QAAS,YAkMb,SAASC,KACP,GAAIvmB,KAAyBlI,KAAK0uB,aAAe9mB,GAAW,CAC1D,GACE5H,KAAK0uB,YAAc,IACnB1uB,KAAK2uB,aAAa3uB,KAAK0uB,aAAaE,IAAIhsC,WAAWisC,SAAS,aAC5D,CACA,IAAIrvC,EAASwgB,KAAK2uB,aAAa3uB,KAAK0uB,aAAaE,IAC9ChsC,WACA/H,MAAM,mBAAmB,GAC5B,MAAM0zB,EAASvO,KAAK2uB,aAAa3uB,KAAK0uB,aAAaE,IAChDhsC,WACA/H,MAAM,sBAAsB,GAC/B,GAAe,MAAX2E,EAEF,GADAA,EAASA,EAAOsvC,WAAW,IAAK,IAC5B9uB,KAAKuN,QAAQ/tB,GAAQ+uB,OAASA,EAChCpG,GAAyB,mCACpB,CACL,IAAI4mB,EAAO,EACXlZ,KACA,IAAK,IAAI17B,EAAI,EAAGA,EAAIo0B,EAAQp0B,IAAK,CAC/B,IAAI0zB,EACF1B,GAAW3sB,GAAQ6uB,UACnBrO,KAAK8O,eACHpsB,KAAK6D,IACH,EACA4lB,GAAW3sB,GAAQ+uB,OAAS,EAAIpC,GAAW3sB,GAAQ8uB,MAEzDT,EAAQ7N,KAAK+O,oBAAoB5C,GAAW3sB,GAASquB,GACrDA,EAAQnrB,KAAKoL,KAAK+f,GAClBkhB,GAAQlhB,EACR1B,GAAW3sB,GAAQ+uB,QAAU,EAE/BpG,GAAyB,kBAAkB4mB,QAExC,CACL,IAAIA,EAAO,EACXlZ,KACAl4B,OAAO6C,KAAKwf,KAAKuN,SAAS6B,SAASmB,IAEjC,GADA/wB,EAAS+wB,EACLvQ,KAAKuN,QAAQ/tB,GAAQ+uB,OAASA,EAChCpG,GAAyB,mCAD3B,CAIA,IAAK,IAAIhuB,EAAI,EAAGA,EAAIo0B,EAAQp0B,IAAK,CAC/B,IAAI0zB,EACF1B,GAAW3sB,GAAQ6uB,UACnBrO,KAAK8O,eACHpsB,KAAK6D,IACH,EACA4lB,GAAW3sB,GAAQ+uB,OAAS,EAAIpC,GAAW3sB,GAAQ8uB,MAEzDT,EAAQ7N,KAAK+O,oBAAoB5C,GAAW3sB,GAASquB,GACrDA,EAAQnrB,KAAKoL,KAAK+f,GAClBkhB,GAAQlhB,EACR1B,GAAW3sB,GAAQ+uB,QAAU,EAE/BpG,GAAyB,kBAAkBjE,GAA4B6qB,UAI7E7mB,GAAuBlI,KAAK0uB,aAkBhC,SAASM,GAAmBxhB,EAAK4I,GAC/BP,KACa,IAATO,EAAY3O,GAAU+F,EACR,IAAT4I,EAAY1O,GAAU8F,EACb,IAAT4I,IAAYzO,GAAU6F,GAE/B,MAAMoX,EAAwBxd,GAO9B,OANAqa,KAEAmC,KACIgB,IAA0Bxd,IAC5Bqa,KAEK3Z,GAAe9H,KAAKmR,UAoD7B,SAAS8d,KAEP9iB,GAAa,GACbxuB,OAAO6C,KAAKwf,KAAKuN,SAAS6B,SAASj1B,IACjCgyB,GAAWhyB,GAAK06B,GAAoB16B,MAItCiyB,GAAc,GACdzuB,OAAO6C,KAAKwf,KAAKyV,UAAUrG,SAASj1B,IAClCiyB,GAAYjyB,GAAKo7B,GAAYp7B,MAI/BkyB,GAAkB,GAClB1uB,OAAO6C,KAAKwf,KAAK8T,cAAc1E,SAASj1B,IACtCkyB,GAAgBlyB,GAAKy5B,GAAgBz5B,MAEvC07B,KAMF,IAAIqZ,IAAiB,EAerB,SAASC,GAAM/gC,EAAMghC,EAAQ/qB,IAGD,IAAtBxE,EAAUuvB,IAAiB/qB,IAClB,IAATjW,IACmB,IAAnB8gC,IACO,IAAT9gC,GAEA7C,EAAE,iBAAiBnJ,MAAM4U,gBAAkB6I,EAAU,SAASuvB,KAC9D7jC,EAAE,iBAAiBnJ,MAAM6U,QAAU,MACtB,IAAT7I,GACF7C,EAAE,iBAAiBnJ,MAAMqV,QAAU,SACnC43B,YAAW,WACTF,GAAM,EAAGC,GAAQ,KAChB,IAAOpvB,KAAKmX,MAEfkY,YAAW,WACTF,GAAM,EAAGC,GAAQ,KAChB,IAAOpvB,KAAKmX,MAEC,IAAT/oB,GACT7C,EAAE,iBAAiBnJ,MAAM6U,QAAU,IACnCo4B,YAAW,WACTF,GAAM,EAAGC,GAAQ,KAChB,IAAOpvB,KAAKmX,MACG,IAAT/oB,IAAY7C,EAAE,iBAAiBnJ,MAAMqV,QAAU,QAe5D,SAAS63B,GAAUC,EAAKC,EAAWC,EAAWprB,GAE5C,IAA8B,IAAzBxE,EAAU2vB,IAAoBnrB,KAA8B,IAAnB6qB,GAA0B,CAEtE,MAAMQ,EAAQ,IAAIC,MAAMJ,GACpB1vB,EAAUyoB,aACZoH,EAAME,OAAU/vB,EAAU4vB,GAAa,KAAQzvB,KAAK4vB,OAAS,KAC1DF,EAAME,OAAS/vB,EAAU4vB,GAAa,IAC3CC,EAAMG,QAoFV,SAASC,GAAmBC,EAAcC,EAAOC,GAGjB,IAA5BpwB,EAAUkwB,IACmB,WAA7Bt3C,SAASy3C,kBACU,IAAnBhB,IAIA,IAAI1D,aAAawE,EAAO,CAAE32B,KAAM42B,EAASE,MAFtB,yDAkRvB,SAASC,KAKP,GAJItsB,KAAoB9D,KAAKqwB,WAC3BvsB,GAAkB9D,KAAKqwB,SA7drBrwB,KAAKqwB,UACP9kC,EAAE,QAAQnJ,MAAMkW,OAAS,MACA,IAArBuH,EAAU8S,SAAcpnB,EAAE,YAAYnJ,MAAMqV,QAAU,QAC/B,IAAvBoI,EAAUyT,WAAgB/nB,EAAE,cAAcnJ,MAAMqV,QAAU,UAE9Du1B,KACAxZ,MAEFN,OAwdKlT,KAAKqwB,UAAiC,IAArBrwB,KAAKswB,YAAmB,CAExCjwB,IAAiB1iB,OAAO6C,KAAKwf,KAAKuwB,MAAMn2C,SAC1C60C,KACAzH,KACAnnB,EAAe1iB,OAAO6C,KAAKwf,KAAKuwB,MAAMn2C,QAIpCwtB,KACFmd,KApsBA/kB,KAAK0d,IAAI,wBAjBb7H,KACAzJ,GAAY,uBAAuBc,OAAS,EAC5CuU,KAgBE3Y,GAfKhB,IAgBAgB,GAA6B9I,KAAKmR,UAqsBrCgW,KACAD,KACAT,KACAR,KACAwI,KApgBN,WACE,IAAK,IAAIjhB,EAAM,EAAGA,EAAM,GAAIA,GAAO,EACjC,IAAK,IAAI4I,EAAO,EAAGA,EAAO,EAAGA,GAAQ,EACnC5K,GAAUgC,GAAK4I,GAAQ4Y,GAAmBxhB,EAAK4I,GAkgB/Coa,GAEAvJ,KAzoBN,WACE,IAAIwJ,EAAY,EAEhB,GAAIzwB,KAAKuN,QAAQmjB,KAAKziB,eAAgB,CACpC,MAAM0iB,EAAc3wB,KAAKuN,QAAQmjB,KAAKpjB,SAASsjB,MAC/C,IAAIC,EAAW,EACflzC,OAAO6C,KAAKmwC,GAAavhB,SAASj1B,IAChC,MAAM22C,EAAaH,EAAYx2C,GAC/B02C,GAAYC,EAAWC,MAAQD,EAAWn0C,OAE5C8zC,GAAaI,EAAW7wB,KAAKgxB,oBAG/BP,GAlEF,WACE,IAAIA,EAAY,EAEhB5a,KAGA,IAAIob,EAAuB,EACL,IAAlB1pB,IAAyC,KAAlBA,KACzB0pB,GAAwB,GAEH,IAAnBzpB,IAA2C,KAAnBA,KAC1BypB,GAAwB,GAE1B1pB,GAAgB,EAChBC,GAAiB,GAGjB,IAAK,IAAIrtB,EAAI,EAAGA,EAAI82C,IAAwB92C,EAAG,CAC7C,IAAI+2C,EAAkB,SACtBvzC,OAAO6C,KAAK2rB,IAAYiD,SAASmB,IAC3BpE,GAAWoE,GAAGhC,OAAS,IACzB2iB,EAAkB3gB,MAGtBpE,GAAW+kB,GAAiB3iB,QAAU,EACtCtH,IAAqB,EAevB,OAXAtpB,OAAO6C,KAAK2rB,IAAYiD,SAASj1B,IAC/B,MAAMk2B,EAAKlE,GAAWhyB,GACtBs2C,GAAatiB,GACXnO,KAAKuN,QAAQ8C,EAAG3xB,MAChBshB,KAAKuN,QAAQpzB,GAAGk0B,UAChBgC,EAAG9B,OACHvO,KAAKuN,QAAQpzB,GAAGm0B,KAChB+B,EAAG9B,WAIAkiB,EA0BMU,GACb5lB,GAAqBklB,EA4nBjBW,GAEAxpB,GAAY,GAId,MAAMypB,EAAerxB,KAAK+iB,SAAS,kBAAoB,GAClD/b,IAAqBqqB,GACxBrqB,IAAoB,EACpBD,GAA2B,GAClBC,KAAsBqqB,IAC/BrqB,IAAoB,EACpBD,GAA2B,GAGzBA,KACF+d,KACA/d,GAA2B,GA7wBjC,WAEEwgB,KAEAnG,KAzCF,WACExX,GAA2B,EAC3B,IAAIgJ,EAAQ,EACZj1B,OAAO6C,KAAKwf,KAAKqR,WAAWjC,SAASj1B,IACH,IAA5B6lB,KAAKqR,UAAUl3B,GAAGkkC,QAAazL,GAAS,MAE9C,IAAI0e,EAAU,EACd,GAAInlB,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASlO,KAAKoN,OAAO,SACZ,IAAXc,EAAcojB,GAAW,KACT,IAAXpjB,EAAcojB,GAAW,IACd,IAAXpjB,IAAcojB,GAAW,MAEpCznB,GAAyB+I,EACzBhJ,GACEgJ,GACS,IAARA,EAAe,MACuB,IAAtC5S,KAAK0d,IAAI,2BAAoC,IACjB,IAA5B1d,KAAK0d,IAAI,iBAA0B,GACpC4T,EAuBFC,GACA/R,KACA2G,KAEA,MAAMqL,EACJxxB,KAAKyxB,oBACH/uC,KAAKkE,MAAMoZ,KAAKqmB,gBAAgBrmB,KAAKsmB,aAAetmB,KAAK6f,gBACvD,IAEH7f,KAAK6f,cAAgB7f,KAAKsmB,cAC7Bnb,GAA4B7F,GAAWksB,EAAgBxgB,MAiwBrD0gB,GAxSFvwB,EAA+B,EAC/BmK,GAA0B,GAC1B3tB,OAAO6C,KAAKwf,KAAK2xB,UAAUviB,SAASj1B,IAClCmxB,GAAwBtL,KAAK2xB,SAASx3C,GAAGuzB,IAAM1N,KAAK2xB,SAASx3C,GACzD6lB,KAAK2xB,SAASx3C,GAAGy3C,WAAuC,WAA1B5xB,KAAK2xB,SAASx3C,GAAGK,OACjDywB,GAA4BjL,KAAK2xB,SAASx3C,GAC1CgnB,GAAgC,MAWpCxjB,OAAO6C,KAAKwjB,IAAUoL,SAASj1B,SACa,IAA/BmxB,GAAwBnxB,KACjC6pB,GAAS7pB,GAAGmf,WAAWrc,YAAY+mB,GAAS7pB,WACrC6pB,GAAS7pB,OAGhB6mB,IAA0BhB,KAAKud,aAAaC,OAAOpgC,GACrD4jB,EAAwBhB,KAAKud,aAAaC,OAAOpgC,EAC7C4jB,IACEC,EAA+BE,IACjCguB,GAAM,EAAG,WAAW,GACpBG,GAAUzvB,EAAU+oB,WAAY,UAAW,YAAY,GACvDkH,GACE,iBACA,wBACA,+CAIJnyC,OAAO6C,KAAKwf,KAAK2xB,UAAUviB,SAASj1B,SACW,IAAlC6pB,GAAShE,KAAK2xB,SAASx3C,GAAGuzB,KAnH7C,SAAuBmkB,GACrB,MAAM/J,EAAUrvC,SAAS4D,cAAc,OACvCyrC,EAAQpa,GAAK,UAAUmkB,EAAOnkB,KAC9Boa,EAAQ1lC,MAAMkG,MAAQ,OACtBw/B,EAAQ1lC,MAAMmG,OAAS,OACvBu/B,EAAQ1lC,MAAMgI,SAAW,WACzB09B,EAAQ1lC,MAAMyU,OAAS,cACvBixB,EAAQ1lC,MAAMuW,UAAY,SAC1BmvB,EAAQ1lC,MAAMyW,WAAa,OAC3BivB,EAAQ1lC,MAAM0vC,WAAa,2BAC3BhK,EAAQ1lC,MAAMuvB,SAAW,OACzBmW,EAAQ1lC,MAAM+U,OAAS,UACvB2wB,EAAQ1lC,MAAMqV,QAAU,QACE,IAAtBoI,EAAUioB,UAAeA,EAAQ1lC,MAAMqV,QAAU,QACrDqwB,EAAQ1lC,MAAMqC,KAAOotC,EAAOtmC,EAAEnJ,MAAMqC,KACpCqjC,EAAQ1lC,MAAMsC,IAAMmtC,EAAOtmC,EAAEnJ,MAAMsC,IACnCojC,EAAQiK,QAAU,WAChBF,EAAOG,OAETlK,EAAQmK,YAAc,WACpBJ,EAAOtmC,EAAEnJ,MAAM8vC,OACb,gEACFL,EAAOtmC,EAAEnJ,MAAM+vC,aACb,iEAEJrK,EAAQsK,WAAa,WACnBP,EAAOtmC,EAAEnJ,MAAM8vC,OAAS,GACxBL,EAAOtmC,EAAEnJ,MAAM+vC,aAAe,IAGhCnuB,GAAS6tB,EAAOnkB,IAAMoa,EACtBv8B,EAAE,YAAYwK,YAAY+xB,GAqFlBuK,CAAcryB,KAAK2xB,SAASx3C,QAIlCkzC,KACApsB,EAA+BE,EACM,IAAjCA,IAAoC8J,GAA4B,IACrC,IAAtBpL,EAAUioB,SAAiB9mB,GACpCrjB,OAAO6C,KAAKwjB,IAAUoL,SAASj1B,IAC7B6pB,GAAS7pB,GAAGiI,MAAM6U,QAAUqU,GAAwBnxB,GAAGoR,EAAEnJ,MAAM6U,QAC/D+M,GAAS7pB,GAAGiI,MAAMkwC,UAChBhnB,GAAwBnxB,GAAGoR,EAAEnJ,MAAMkwC,UACrCtuB,GAAS7pB,GAAGqD,YAAckF,KAAKoL,KAC7Bwd,GAAwBnxB,GAAGo4C,KAAOvyB,KAAKmX,QAiF3CrW,KACCd,KAAKwyB,cAA2C,YAA3BxyB,KAAKwyB,aAAah4C,QAExCsmB,EACEd,KAAKwyB,cAA2C,YAA3BxyB,KAAKwyB,aAAah4C,KACrCsmB,IACFquB,GAAM,EAAG,gBAAgB,GACzBG,GACEzvB,EAAUqpB,gBACV,eACA,iBACA,GAEF4G,GACE,sBACA,uBACA,kDA9CFjvB,IAAyBb,KAAKud,aAAaQ,SAASN,UACtD5c,EAAuBb,KAAKud,aAAaQ,SAASN,QAClD9/B,OAAO6C,KAAKwf,KAAK2xB,UAAUviB,SAASj1B,IAC9B6lB,KAAK2xB,SAASx3C,GAAGy3C,WAAuC,aAA1B5xB,KAAK2xB,SAASx3C,GAAGK,OACjD0wB,GAAwBlL,KAAK2xB,SAASx3C,OAG1Cg1C,GAAM,EAAG,YAAY,GACrBG,GAAUzvB,EAAU2pB,YAAa,WAAY,aAAa,GAC1DsG,GACE,kBACA,oBACA,0CAtNF9vB,KAAKuN,QAAQmM,KAAKzL,gBAClBlN,IAAuBf,KAAKuN,QAAQmM,KAAKpM,SAASmlB,WAEvB,IAAvB1xB,GAA4BA,EAAqB2e,KAAKC,QACxDwP,GAAM,EAAG,aAAa,GACtBG,GAAUzvB,EAAUgqB,aAAc,YAAa,cAAc,IAE/D9oB,EAAqBf,KAAKuN,QAAQmM,KAAKpM,SAASmlB,UAiKpD,WACE,GACEzyB,KAAKuN,QAAQ,gBAAgBU,gBACH,IAA1BpO,EAAUgoB,YACV,CACA,MAAMva,SAAEA,GAAatN,KAAKuN,QAAQ,gBAC9BD,EAAS4J,MAAQ5J,EAAS4L,OAAQhY,GAAmB,EAC/CA,IACRA,GAAmB,EACnBiuB,GAAM,EAAG,cAAc,GACvBG,GAAUzvB,EAAUsqB,cAAe,aAAc,eAAe,GAChE2F,GACE,oBACA,mBACA,6CA6NJ4C,GA1IJ,WACE,GAAI1yB,KAAKC,WAAa,EAAG,CACvB,IAAI0yB,EAAmB,EACvBh1C,OAAO6C,KAAKwf,KAAKqR,WAAWjC,SAASj1B,IACH,IAA5B6lB,KAAKqR,UAAUl3B,GAAGkkC,QAAasU,GAAoB,MAErDA,EAAmBvxB,GACrBA,EAAoBuxB,EAElBA,IAAqB3yB,KAAK4yB,mBAC1B/yB,EAAU8qB,iBAEVwE,GAAM,EAAG,oBAAoB,GAE7BA,GAAM,EAAG,iBAAiB,GAG1BwD,IAAqB3yB,KAAK4yB,mBAC1B/yB,EAAUgrB,iBAEVyE,GACEzvB,EAAUkrB,oBACV,mBACA,qBACA,GAGFuE,GACEzvB,EAAU4qB,iBACV,gBACA,kBACA,GAIFkI,IAAqB3yB,KAAK4yB,mBAC1B/yB,EAAU6qB,wBAEVoF,GACE,0BACA,4BACA,sDAGFA,GACE,uBACA,sBACA,gCAIJ1uB,EAAoBuxB,GAwFtBE,IAaJ,SAASC,KACP,IAAIv3C,EAAM,GACV,IAAK,IAAIpB,EAAI,EAAGA,EAAIkoB,EAAgBjoB,OAAQD,IAC1CoB,GAAO,UAAoB8mB,EAAgBloB,eACzC0lB,EAAU,SAASwC,EAAgBloB,aAGvC,IAAK,IAAIA,EAAI,EAAGA,EAAIkoB,EAAgBjoB,OAAQD,IAC1CoB,GAAO,UAAoB8mB,EAAgBloB,0BACzC0lB,EAAU,SAASwC,EAAgBloB,aAGvC,IAAK,IAAIA,EAAI,EAAGA,EAAIkoB,EAAgBjoB,OAAQD,IAC1CoB,GAAO,YAAsB8mB,EAAgBloB,0BAC3C0lB,EAAU,SAASwC,EAAgBloB,aAGvCoR,EAAE,SAAS/N,YAAcjC,EACzB0zB,KAmBF,SAAS8jB,KACP,MAAMC,EAAaC,YACjBC,SAASC,aAAaC,QAAQ,sBAAsBpyC,MAAM,SAAS,IAE/DqyC,EAAoBL,EAAWn4C,MAAM,wBAC3C,GAA0B,OAAtBw4C,EAA4B,CAC9B,MAAMC,EAAgBN,EAAWjyC,QAC/BsyC,EAAkB,GAClB,iBAAiBhF,QAEnB8E,aAAaI,QACX,oBACA7U,OAAO,GAAG8U,YAAYF,aAS5B,SAASG,GAAWlF,GAKlB,QAHqC,IAA1B4E,aAAaO,iBACfP,aAAaO,cAELn5C,IAAbg0C,EAAwB,CAC1B1uB,EAAY0uB,OAEoB,IAArB1uB,EAAU8zB,eACZ9zB,EAAU8zB,YAEc,IAAtB9zB,EAAUurB,gBACZvrB,EAAUurB,QAInB,IAAIwI,GAAM,EACVj2C,OAAO6C,KAAKinC,IAAiBrY,SAASj1B,SACR,IAAjB0lB,EAAU1lB,IACnBy5C,GAAM,EACN/zB,EAAU1lB,GAAKstC,GAAgBttC,IAChB,WAANA,GACTwD,OAAO6C,KAAKinC,GAAgBwD,QAAQ7b,SAASmB,SAEd,IAApB1Q,EAAU1lB,GAAGo2B,IAClB1Q,EAAU1lB,GAAGo2B,IAAM,GAAK1Q,EAAU1lB,GAAGo2B,GAAK,IAE5CqjB,GAAM,EACN/zB,EAAU1lB,GAAGo2B,GAAKkX,GAAgBttC,GAAGo2B,UAKzCqjB,GAAKb,KACT3C,KACAzyC,OAAO6C,KAAKinC,IAAiBrY,SAASj1B,IAC1B,WAANA,QAAkD,IAAzB+zC,GAAa/zC,GAAG+E,MAC3CgvC,GAAa/zC,GAAG+E,eAKpBu0C,GAAWhM,IAEbznB,KAAKgf,aACL8T,KAkJF,SAASe,KACPl2C,OAAO6C,KAAKwf,KAAKqR,WAAWjC,SAASj1B,IAC/B6lB,KAAKqR,UAAUl3B,GAAGykC,OAAS,GAAgC,IAA3B5e,KAAKqR,UAAUl3B,GAAGK,OACpDwlB,KAAKqR,UAAUl3B,GAAG25C,GAAK,MA6C7B,SAASC,GAAcv5C,EAAMkE,GAC3B,GAAa,MAATlE,EAAc,CAIhB,GAFA+Q,EAAE,WAAWoM,UAAYqI,KAAKuN,QAAQ7uB,GAAM+3B,UAEd,IAA1B5W,EAAUooB,YAAmB,CAC/B,MAAM+L,EAAazS,GACjBvhB,KAAKuN,QAAQ7uB,GACbshB,KAAKuN,QAAQ7uB,GAAM2vB,UACnB,EACArO,KAAKuN,QAAQ7uB,GAAM4vB,KACnBtO,KAAKuN,QAAQ7uB,GAAM6vB,QAEf0lB,EAAiBD,EAAah0B,KAAKuN,QAAQ7uB,GAAMy3B,aACnD8d,EAAiB,IACnB1oC,EAAE,WAAWoM,UAAYpM,EAAE,WACxBoM,UAAU3W,MAAM,gBAChB6C,KACC,wBAAwBqgB,GAA4B+vB,UACnB,IAA/BvxC,KAAKkE,MAAMqtC,GAAwB,SAAW,+BAE9CtuB,IACGquB,EAAah0B,KAAKuN,QAAQ7uB,GAAMy3B,eAC9BnW,KAAKuN,QAAQ7uB,GAAMw1C,eAAiBl0B,KAAKm0B,gBAC5CvuB,iBAKU,IAAlB5F,KAAKkP,UASP3jB,EAAE,WAAWoM,UAAYpM,EAAE,WACxBoM,UAAU3W,MAAMkjB,GAA4BlE,KAAKuN,QAAQ7uB,GAAMs0B,YAC/DnvB,KACCqgB,IACGlE,KAAKuN,QAAQ7uB,GACdshB,KAAKuN,QAAQ7uB,GAAM2vB,UACnBrO,KAAKuN,QAAQ7uB,GAAM6vB,OACnBvO,KAAKuN,QAAQ7uB,GAAM4vB,KACnBtO,KAAK6O,QACL,WAIH,GAAa,MAATr0B,EAAc,CAEvB,IAAKwlB,KAAKoQ,gBAAgB1xB,GAAO,MAAO,GACxC6M,EAAE,WAAWoM,UAAYqI,KAAKo0B,aAC5Bp0B,KAAKoQ,gBAAgB1xB,GACrB,aAEgB,MAATlE,EAAc+Q,EAAE,WAAWoM,UAAYqI,KAAKq0B,cAErC,MAAT75C,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAKuN,QAAQ,gBAAgBD,SAASgnB,aAC7D51C,EADuBshB,GAIT,MAATxlB,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAKkkB,YAAY,GAAG5W,SAASinB,YACpD71C,EAAK,GACLA,EAAK,GAFkBshB,GAKT,OAATxlB,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAKkkB,YAAY,GAAG5W,SAASknB,YAAY,EAAzCx0B,GACT,OAATxlB,EAAe+Q,EAAE,WAAWoM,UAAY,GAC/B,QAATnd,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAKuN,QAAQF,OAAOC,SAASmnB,WAAW/1C,EAAxCshB,GACT,QAATxlB,IACP+Q,EAAE,WAAWoM,UAAYqI,KAAKuN,QAAQF,OAAOC,SAASonB,YACpDh2C,EAAK,GADkBshB,IAK3B,GACY,MAATxlB,GAAiC,IAAjBwlB,KAAKkP,SACb,MAAT10B,GACS,MAATA,GACS,MAATA,GACU,MAATA,IAAiBwlB,KAAKxf,KAAK,KACnB,OAAThG,GACS,OAATA,GACS,QAATA,GACU,QAATA,IAA+B,IAAbkE,EAAK,GACxB,CACA,MAAMi2C,EAAOl8C,SAAS4D,cAAc,OACpCs4C,EAAKjnB,GAAK,gBACVniB,EAAE,WAAWwK,YAAY4+B,GAS3B,OALAhxB,GAAcnpB,EACdopB,GAAcllB,EAEd+4B,KAEOlsB,EAAE,WAAWoM,UA6GtB,SAASi9B,KACH50B,KAAKuN,QAAQ,gBAAgBU,gBAC/BtwB,OAAO6C,KAAKwf,KAAKuN,QAAQ,gBAAgBD,SAAS0L,YAAY5J,SAC3Dj1B,IAC4C,OAAvCoR,EAAE,gBAAgBpR,KAAK83C,cACzB1wB,EAAsBpnB,GAAKoR,EAAE,gBAAgBpR,KAAK83C,YAClD1mC,EAAE,gBAAgBpR,KAAK83C,YAAc,WACnCjyB,KAAKyW,QAAQoe,QAAU,EACvB70B,KAAKyW,QAAQ9kB,KACX9Y,MACA,WACE,OAAOk7C,GAAc,IAAK,GAAG55C,OAE/B,QAEF6lB,KAAKyW,QAAQqe,cAoBzB,SAASC,KACP,IACGp0B,GACDX,KAAKuN,QAAQ,gBAAgBU,eAC7B,CACA,MAAMX,SAAEA,GAAatN,KAAKuN,QAAQ,gBAClC9M,EAAqB6M,EAAS3b,KAC9BqO,KAAKuN,QAAQ,gBAAgBD,SAAS3b,KAAO,WAC3C8O,IAC8B,IAA1BZ,EAAUgoB,aAAqBva,EAAS4J,MAAQ5J,EAAS4L,SAC3D5L,EAAS0nB,cAAcr9B,WAAa,KAAK2N,GACvCwR,GACExJ,EAAS4J,MACT5J,EAAS4L,OACT5L,EAAS4L,cAKjBvY,GAA+B,GAkCnC,SAASs0B,MA3BT,WACE,IACGv0B,GACDV,KAAKuN,QAAQ,gBAAgBU,eAC7B,CACA,MAAMX,SAAEA,GAAatN,KAAKuN,QAAQ,gBAClChN,EAAuB+M,EAAS4nB,OAChC10B,EAA0B,IAAI5kB,SAC5B,UAAU0xB,EAAS4nB,OAChBtyC,WACA5B,MAAM,SACN6C,KAAK,8CAEVmc,KAAKuN,QAAQ,gBAAgBD,SAAS4nB,OAAS,WAC7C10B,IACAo0B,KACAj0B,GAA+B,EAC/Bo0B,KAEAr0B,GAAiC,IASrCy0B,GACAJ,KAiJF,IAAI77C,GAAUkmB,EAAoB,KAC9Bg2B,GAA+Bh2B,EAAoBhiB,EAAElE,IA+OzD,MAAMm8C,GAA6B,WA8BnC,SAASC,GAAmBlG,GACG,OAAzB7jC,EAAE,SAAS6jC,OACb7jC,EAAE,SAAS6jC,UAAez3B,UAAY,GAAGpM,EAAE,SAAS6jC,KAAU7xC,SAC9DsiB,EAAUuvB,GAAU1sC,KAAKC,MAAM4I,EAAE,SAAS6jC,KAAU7xC,QAEtDw1C,KAQF,SAASwC,GAAanG,GACpBvvB,EAAUorB,OAAOmE,IAAW,EACxBvvB,EAAUorB,OAAOmE,GAAU,IAAGvvB,EAAUorB,OAAOmE,GAAU,GAC7D2D,KAiBF,SAASyC,GAAY5vB,EAAMwpB,GACzB,MAAM3e,EAAMh4B,SAAS4D,cAAc,OACnCo0B,EAAI71B,UAAY,QAChB61B,EAAIruB,MAAMwK,QAAU,WACpB6jB,EAAIruB,MAAM6U,QAAU,MACpBwZ,EAAIruB,MAAMuvB,SAAW,OACrBlB,EAAIruB,MAAM0vC,WAAa,2BACvBrhB,EAAI1a,YAAYtd,SAASqgB,eAAe,GAAG8M,OAC3C,MAAM6vB,EAAOh9C,SAAS4D,cAAc,QAiBpC,OAhBAo5C,EAAKrzC,MAAM+U,OAAS,UACpBs+B,EAAKrzC,MAAMqV,QAAU,eACrBg+B,EAAKrzC,MAAMmG,OAAS,OACpBktC,EAAKrzC,MAAMkG,MAAQ,OACnBmtC,EAAKrzC,MAAMsU,aAAe,MAC1B++B,EAAKrzC,MAAMuW,UAAY,SACvB88B,EAAKrzC,MAAM4U,gBAAkB,UAC7By+B,EAAKrzC,MAAM2F,MAAQ,QACnB0tC,EAAKrzC,MAAMuvB,SAAW,OACtB8jB,EAAKrzC,MAAMyvB,cAAgB,SAC3B4jB,EAAKj4C,YAAcqiB,EAAUorB,OAAOmE,GAAU,IAAM,IACpDqG,EAAK1D,QAAU,WACbwD,GAAanG,GACbpvB,KAAKgf,cAEPvO,EAAI1a,YAAY0/B,GACThlB,EAYT,SAASilB,GAAal7C,EAAMkE,EAAMknB,EAAM2Y,GACtC,MAAM9N,EAAMh4B,SAAS4D,cAAc,OACnCo0B,EAAI71B,UAAY,UAEhB,MAAM+6C,EAAcl9C,SAAS4D,cAAc,KAG3C,GAFAs5C,EAAYn4C,YAAckB,EAC1B+xB,EAAI1a,YAAY4/B,GACH,gBAATn7C,EAAwB,CAC1Bi2B,EAAI71B,UAAY,UAChB61B,EAAI1a,YAAYtd,SAASqgB,eAAe,MAExC,MAAM2d,EAAUh+B,SAAS4D,cAAc,QACvCo6B,EAAQ2b,WAAa,WACnBpyB,KAAKyW,QAAQtlB,QAEfslB,EAAQwb,YAAc,WACpBjyB,KAAKyW,QAAQ9kB,KACX9Y,KACA6lC,OAAOnc,EAAsBgc,GAAa5mB,aAG9C8e,EAAQr0B,MAAM+U,OAAS,UACvBsf,EAAQr0B,MAAMqV,QAAU,eACxBgf,EAAQr0B,MAAMmG,OAAS,OACvBkuB,EAAQr0B,MAAMkG,MAAQ,OACtBmuB,EAAQr0B,MAAMsU,aAAe,MAC7B+f,EAAQr0B,MAAMuW,UAAY,SAC1B8d,EAAQr0B,MAAM4U,gBAAkB,UAChCyf,EAAQr0B,MAAM2F,MAAQ,QACtB0uB,EAAQr0B,MAAMuvB,SAAW,MACzB8E,EAAQr0B,MAAMyvB,cAAgB,SAC9B4E,EAAQj5B,YAAc,IACtBizB,EAAI1a,YAAY0gB,GAIlB,OAFAhG,EAAI1a,YAAYtd,SAASqgB,eAAe,OACxC2X,EAAI1a,YAAY6P,GACT6K,EAQT,SAASmlB,GAAcC,GACrB,MAAMC,EAAOr9C,SAASs9C,yBACtBD,EAAK//B,YAAYtd,SAASqgB,eAAe,GAAG+8B,EAAYz7C,YACxD,MAAMq7C,EAAOh9C,SAAS4D,cAAc,QACpCo5C,EAAKrD,WAAa,WAChBpyB,KAAKyW,QAAQtlB,QAEf,MAAMotB,EAAc9lC,SAAS4D,cAAc,OACrC25C,EAAUv9C,SAAS4D,cAAc,OACvC25C,EAAQ5zC,MAAMq8B,SAAW,QACzBuX,EAAQ5zC,MAAMu0B,aAAe,MAC7B,MAAMqZ,EAAQv3C,SAAS4D,cAAc,OA4BrC,OA3BA2zC,EAAMp1C,UAAY,OAClBo1C,EAAM5tC,MAAMu0B,aAAe,MAC3BqZ,EAAM5tC,MAAMuW,UAAY,SACxBq3B,EAAMxyC,YAAc,UACpBw4C,EAAQjgC,YAAYi6B,GACpBryC,OAAO6C,KAAKq1C,GAAazmB,SAASj1B,IAChC,MAAMs2B,EAAMh4B,SAAS4D,cAAc,OACnCo0B,EAAIruB,MAAMuW,UAAY,SACtB8X,EAAI1a,YAAYtd,SAASqgB,eAAe+8B,EAAY17C,KACpD67C,EAAQjgC,YAAY0a,MAEtB8N,EAAYxoB,YAAYigC,GACxBP,EAAKxD,YAAc,WACjBjyB,KAAKyW,QAAQ9kB,KAAK9Y,KAAM6lC,OAAOH,EAAY5mB,aAE7C89B,EAAKrzC,MAAM+U,OAAS,UACpBs+B,EAAKrzC,MAAMqV,QAAU,eACrBg+B,EAAKrzC,MAAMmG,OAAS,OACpBktC,EAAKrzC,MAAMkG,MAAQ,OACnBmtC,EAAKrzC,MAAMsU,aAAe,MAC1B++B,EAAKrzC,MAAMuW,UAAY,SACvB88B,EAAKrzC,MAAM4U,gBAAkB,UAC7By+B,EAAKrzC,MAAM2F,MAAQ,QACnB0tC,EAAKrzC,MAAMuvB,SAAW,MACtB8jB,EAAKrzC,MAAMyvB,cAAgB,SAC3B4jB,EAAKj4C,YAAc,IACnBs4C,EAAK//B,YAAY0/B,GACVK,EAw9BT,SAASG,GAAajG,GACpB,MAAMkG,EAAQz9C,SAAS4D,cAAc,OAiCrC,GAhCA65C,EAAMt7C,UAAY,aAClBs7C,EAAMngC,YAAYi6B,GAElBkG,EAAMngC,YAAYy/B,GAAY,gBAAiB,UAC3C31B,EAAUorB,OAAOiB,OACnBgK,EAAMngC,YAz8BV,WAEE,MAAMogC,EAAkBn2B,KAAK+iB,SAAS,oBAClC,2CACA,6BAEEqT,EAAU39C,SAAS4D,cAAc,OACvC+5C,EAAQx7C,UAAY,sBAEpB,MAAMy7C,EACJr2B,KAAKiT,QAAU3B,KAAuBlJ,GAAapG,EAAYH,EAC3Dy0B,EACJt2B,KAAKiT,QAAU3B,KAAuBlJ,GAClC9C,IACG8C,IAAcpI,KAAKiT,QAAU3B,OAAyBN,MAEzD,GACAulB,EAAe99C,SAASs9C,yBACxBS,EAAe/9C,SAAS4D,cAAc,QAK5C,GAJAm6C,EAAap0C,MAAMm0B,WAAa,OAChCigB,EAAa57C,UAAY8mB,EAAgB20B,EACzCG,EAAah5C,YAAc0mB,GAA4BkE,IACvDmuB,EAAaxgC,YAAYygC,GACP,KAAdF,EAAkB,CACpB,MAAMG,EAAgBh+C,SAAS4D,cAAc,SAC7Co6C,EAAcj5C,YAAc,KAAK84C,KACjCC,EAAaxgC,YAAY0gC,GAE3BL,EAAQrgC,YACN2/B,GACE,cACA,4BACAa,EACAJ,IAIJ,MAAMO,EACJ12B,KAAKiT,QAAU3B,KAAuB/I,GAClCvG,EACAH,EACA80B,EACJ32B,KAAKiT,QAAU3B,KAAuB/I,GAClCjD,IACGiD,IAAoBvI,KAAKiT,QAAU3B,OAAyBN,MAE/D,GACA4lB,EAAmBn+C,SAASs9C,yBAC5Bc,EAAmBp+C,SAAS4D,cAAc,QAKhD,GAJAw6C,EAAiBz0C,MAAMm0B,WAAa,OACpCsgB,EAAiBj8C,UAAY8mB,EAAgBg1B,EAC7CG,EAAiBr5C,YAAc0mB,GAA4BqE,IAC3DquB,EAAiB7gC,YAAY8gC,GACL,KAApBF,EAAwB,CAC1B,MAAMG,EAAoBr+C,SAAS4D,cAAc,SACjDy6C,EAAkBt5C,YAAc,KAAKm5C,KACrCC,EAAiB7gC,YAAY+gC,GAE/BV,EAAQrgC,YACN2/B,GACE,cACA,qCACAkB,EACAT,IAIJ,MAAMY,EAAa1uB,KAAqBC,GAElC0uB,EAAqBv+C,SAAS4D,cAAc,QAClD26C,EAAmB50C,MAAMm0B,WAAa,OACtCygB,EAAmBp8C,UAAY8mB,EAAgB2G,GAC/C2uB,EAAmBx5C,YACjB0mB,GAA4BmE,KAC3B0uB,EAAa,MAAM7yB,GAA4BoE,MAA2B,IAC7E8tB,EAAQrgC,YACN2/B,GACE,cACA,yBAAwBqB,EAAa,oBAAsB,IAC3DC,EACAb,IAIJ,MAAMc,EAA2Bx+C,SAAS4D,cAAc,QACxD46C,EAAyB70C,MAAMm0B,WAAa,OAC5C0gB,EAAyBr8C,UAAY8mB,EAAgBu1B,EACrDA,EAAyBz5C,YACvB0mB,GAA4BsE,KAC3BuuB,EAAa,MAAM7yB,GAA4BuE,MAAiC,IACnF2tB,EAAQrgC,YACN2/B,GACE,cACA,kCAAiCqB,EAAa,oBAAsB,IACpEE,EACAd,IAIJ,MAAMe,EACJx0C,KAAK2D,IACqC,KAAvC2Z,KAAKiT,QAAU3B,MAChBxI,GAA6BC,GAAoC,GAAK,IACpE,GACAouB,EAAe1+C,SAAS4D,cAAc,QAc5C,OAbA86C,EAAa/0C,MAAMm0B,WAAa,OAChC4gB,EAAav8C,UAAY8mB,EAAgBy1B,EACzCA,EAAa35C,YACX0mB,GAA4B8E,GAAyBkuB,IACpDH,EAAa,MAAM7yB,GAA4B+E,GAAwBiuB,KAAkB,IAC5Fd,EAAQrgC,YACN2/B,GACE,cACA,yBAAwBqB,EAAa,oBAAsB,IAC3DI,EACAhB,IAGGC,EAm1BagB,IAGpBlB,EAAMngC,YAAYy/B,GAAY,gBAAiB,UAC3C31B,EAAUorB,OAAOkB,OACnB+J,EAAMngC,YAj1BV,WAEE,MAAMogC,EAAkBn2B,KAAK+iB,SAAS,oBAClC,2CACA,6BAEEqT,EAAU39C,SAAS4D,cAAc,OACvC+5C,EAAQx7C,UAAY,sBAEpB,MAAMy8C,EACJr3B,KAAKiT,QAAU3B,KAAuBnH,GAClCnI,EACAH,EACAy1B,EACJt3B,KAAKiT,QAAU3B,KAAuBnH,GAClC7E,IACG6E,IAAsBnK,KAAKiT,QAAU3B,OACpCN,MAEJ,GACAumB,EAAe9+C,SAASs9C,yBACxByB,EAAe/+C,SAAS4D,cAAc,QAK5C,GAJAm7C,EAAap1C,MAAMm0B,WAAa,OAChCihB,EAAa58C,UAAY8mB,EAAgB21B,EACzCG,EAAah6C,YAAc0mB,GAA4BiG,IACvDotB,EAAaxhC,YAAYyhC,GACP,KAAdF,EAAkB,CACpB,MAAMG,EAAgBh/C,SAAS4D,cAAc,SAC7Co7C,EAAcj6C,YAAc,KAAK85C,KACjCC,EAAaxhC,YAAY0hC,GAE3BrB,EAAQrgC,YACN2/B,GACE,cACA,2BACA6B,EACApB,IAIJ,MAAMuB,EACJ13B,KAAKiT,QAAU3B,KAAuBhH,GAClCtI,EACAH,EACA81B,EACJ33B,KAAKiT,QAAU3B,KAAuBhH,GAClChF,IACGgF,IAA2BtK,KAAKiT,QAAU3B,OACzCN,MAEJ,GACA4mB,EAAoBn/C,SAASs9C,yBAC7B8B,EAAoBp/C,SAAS4D,cAAc,QAKjD,GAJAw7C,EAAkBz1C,MAAMm0B,WAAa,OACrCshB,EAAkBj9C,UAAY8mB,EAAgBg2B,EAC9CG,EAAkBr6C,YAAc0mB,GAA4BoG,IAC5DstB,EAAkB7hC,YAAY8hC,GACP,KAAnBF,EAAuB,CACzB,MAAMG,EAAqBr/C,SAAS4D,cAAc,SAClDy7C,EAAmBt6C,YAAc,KAAKm6C,KACtCC,EAAkB7hC,YAAY+hC,GAEhC1B,EAAQrgC,YACN2/B,GACE,cACA,mCACAkC,EACAzB,IAIJ,MAAM4B,EACJ/3B,KAAKiT,QAAU3B,KAAuB7G,GAClCzI,EACAH,EACAm2B,EACJh4B,KAAKiT,QAAU3B,KAAuB7G,GAClCnF,IACGmF,IAA4BzK,KAAKiT,QAAU3B,OAC1CN,MAEJ,GACAinB,EAAmBx/C,SAASs9C,yBAC5BmC,EAAmBz/C,SAAS4D,cAAc,QAKhD,GAJA67C,EAAiB91C,MAAMm0B,WAAa,OACpC2hB,EAAiBt9C,UAAY8mB,EAAgBq2B,EAC7CG,EAAiB16C,YAAc0mB,GAA4BuG,IAC3DwtB,EAAiBliC,YAAYmiC,GACL,KAApBF,EAAwB,CAC1B,MAAMG,EAAoB1/C,SAAS4D,cAAc,SACjD87C,EAAkB36C,YAAc,KAAKw6C,KACrCC,EAAiBliC,YAAYoiC,GAE/B/B,EAAQrgC,YACN2/B,GACE,cACA,oCACAuC,EACA9B,IAIJ,MAAMiC,EACJp4B,KAAKiT,QAAU3B,KAAuB1G,GAClC5I,EACAH,EACAw2B,EACJr4B,KAAKiT,QAAU3B,KAAuB1G,GAClCtF,IACGsF,IACE5K,KAAKiT,QAAU3B,OAChBN,MAEJ,GACAsnB,EAAwB7/C,SAASs9C,yBACjCwC,EAAwB9/C,SAAS4D,cAAc,QAKrD,GAJAk8C,EAAsBn2C,MAAMm0B,WAAa,OACzCgiB,EAAsB39C,UAAY8mB,EAAgB02B,EAClDG,EAAsB/6C,YAAc0mB,GAA4B0G,IAChE0tB,EAAsBviC,YAAYwiC,GACL,KAAzBF,EAA6B,CAC/B,MAAMG,EAAyB//C,SAAS4D,cAAc,SACtDm8C,EAAuBh7C,YAAc,KAAK66C,KAC1CC,EAAsBviC,YAAYyiC,GAEpCpC,EAAQrgC,YACN2/B,GACE,cACA,4CACA4C,EACAnC,IAIJC,EAAQrgC,YACN2/B,GACE,cACA,wCACAj9C,SAASqgB,eACP,GAAGoL,GAA4BmG,GAAoB,SAASnG,GAC1DsG,GAAyB,OAG7B2rB,IAIJC,EAAQrgC,YACN2/B,GACE,cACA,iDACAj9C,SAASqgB,eACP,GAAGoL,GAA4ByG,GAA0B,SAASzG,GAChEyG,GAA0B,OAG9BwrB,IAIJ,MAAMsC,EAAc/1C,KAAK2D,IACN,GAAjB2Z,KAAKmR,UAAiB,GAAK,EAAIpI,GAChB,GAAf/I,KAAKiT,SAEDylB,EAAWjT,GACf,EACAgT,EACAzvB,IACA,GACI2vB,EAAgBlT,GACpB,EACAgT,EACAxvB,IACA,GAoCF,OAnCAmtB,EAAQrgC,YACN2/B,GACE,cACA,wCACAj9C,SAASqgB,eACP,GAAGoL,GAA4Bw0B,QAAex0B,GAA4By0B,MAE5ExC,IAIJC,EAAQrgC,YACN2/B,GACE,cACA,oCACAj9C,SAASqgB,eACP,GAAGoL,GAA4BkG,SAA6BlG,GAC1DqG,OAGJ,8BAGJ6rB,EAAQrgC,YACN2/B,GACE,cACA,6CACAj9C,SAASqgB,eACP,GAAGoL,GAA4BwG,SAAmCxG,GAChE2G,OAGJ,8BAGGurB,EAgoBawC,IAGhB54B,KAAKuN,QAAQ,gBAAgBU,iBAC/BioB,EAAMngC,YAAYy/B,GAAY,SAAU,WACpC31B,EAAUorB,OAAOmB,QACnB8J,EAAMngC,YA/nBZ,WACE,MAAMqgC,EAAU39C,SAAS4D,cAAc,OACvC+5C,EAAQx7C,UAAY,uBAEpB,MAAMi+C,EACJ74B,KAAKiT,QAAU3B,KAAuB5I,GAClC1G,EACAH,EACAi3B,EACJ94B,KAAKiT,QAAU3B,KAAuB5I,GAClCpD,IACGoD,IAAgB1I,KAAKiT,QAAU3B,OAAyBN,MAE3D,GAEA+nB,EAAiBtgD,SAASs9C,yBAC1BiD,EAAiBvgD,SAAS4D,cAAc,QAK9C,GAJA28C,EAAe52C,MAAMm0B,WAAa,OAClCyiB,EAAep+C,UAAY8mB,EAAgBm3B,EAC3CG,EAAex7C,YAAc0mB,GAA4BwE,IACzDqwB,EAAehjC,YAAYijC,GACP,KAAhBF,EAAoB,CACtB,MAAMG,EAAkBxgD,SAAS4D,cAAc,SAC/C48C,EAAgBz7C,YAAc,KAAKs7C,KACnCC,EAAehjC,YAAYkjC,GAE7B7C,EAAQrgC,YACN2/B,GACE,cACA,yCACAqD,EACA,+BAGJ3C,EAAQrgC,YACN2/B,GACE,cACA,qCACAj9C,SAASqgB,eAAeoL,GAA4ByE,KACpD,+BAIJ,MAAMuwB,EACJl5B,KAAKiT,QAAU3B,KAAsC,EAAf5I,GAClC1G,EACAH,EACAs3B,EAAmBz2C,KAAK2D,IACY,KAAvC2Z,KAAKiT,QAAU3B,MACa,GAA7BxI,GAAkC,IAE9BswB,EACJp5B,KAAKiT,QAAU3B,KAAsC,EAAf5I,GAClCpD,IACkB,EAAfoD,IAAoB1I,KAAKiT,QAAU3B,OAAyBN,MAE/D,GAEAqoB,EAAuB5gD,SAASs9C,yBAChCuD,EAAuB7gD,SAAS4D,cAAc,QAKpD,GAJAi9C,EAAqBl3C,MAAMm0B,WAAa,OACxC+iB,EAAqB1+C,UAAY8mB,EAAgBw3B,EACjDI,EAAqB97C,YAAc0mB,GAA2C,EAAfwE,IAC/D2wB,EAAqBtjC,YAAYujC,GACP,KAAtBF,EAA0B,CAC5B,MAAMG,EAAwB9gD,SAAS4D,cAAc,SACrDk9C,EAAsB/7C,YAAc,KAAK47C,KACzCC,EAAqBtjC,YAAYwjC,GAsCnC,OApCAnD,EAAQrgC,YACN2/B,GACE,cACA,kDACA2D,EACA,+BAGJjD,EAAQrgC,YACN2/B,GACE,cACA,8CACAj9C,SAASqgB,eAAeoL,GAAiD,EAArByE,KACpD,+BAGJytB,EAAQrgC,YACN2/B,GACE,cACA,qCACAj9C,SAASqgB,eAAeoL,GAA4Bi1B,IACpD,+BAGAvwB,IACFwtB,EAAQrgC,YACN2/B,GACE,cACA,mEACAj9C,SAASqgB,eACP,GAAGoL,GAA4B0E,QAAkBC,OAEnD,+BAICutB,EAshBeoD,KAIlBx5B,KAAKuN,QAAQmM,KAAKzL,iBACpBioB,EAAMngC,YAAYy/B,GAAY,SAAU,WACpC31B,EAAUorB,OAAOoB,QACnB6J,EAAMngC,YAthBZ,WACE,MAAMqgC,EAAU39C,SAAS4D,cAAc,OACvC+5C,EAAQx7C,UAAY,uBAEpB,MAAM6+C,EACJz5B,KAAKiT,QAA2B,GAAjBjT,KAAKmR,UAAiB,GAAK,IAAMnP,EAAYH,EACxD63B,EAAgBjhD,SAAS4D,cAAc,QAC7Cq9C,EAAct3C,MAAMm0B,WAAa,OACjCmjB,EAAc9+C,UAAY8mB,EAAgB+3B,EAC1CC,EAAcl8C,YAAc0mB,GAA6C,GAAjBlE,KAAKmR,UAAiB,GAAK,KACnFilB,EAAQrgC,YACN2/B,GACE,QACA,iDACAgE,IAIJ,MAAMC,EACJ35B,KAAKiT,QAA2B,GAAjBjT,KAAKmR,UAAiB,IAAMnP,EAAYH,EACnD+3B,EAAgBnhD,SAAS4D,cAAc,QAC7Cu9C,EAAcx3C,MAAMm0B,WAAa,OACjCqjB,EAAch/C,UAAY8mB,EAAgBi4B,EAC1CC,EAAcp8C,YAAc0mB,GAA6C,GAAjBlE,KAAKmR,UAAiB,KAC9EilB,EAAQrgC,YACN2/B,GACE,QACA,iDACAkE,IAIJ,MAAMC,EACJ75B,KAAKiT,QAA2B,GAAjBjT,KAAKmR,UAAiB,GAAK,GAAKnP,EAAYH,EACvDi4B,EAAgBrhD,SAAS4D,cAAc,QAC7Cy9C,EAAc13C,MAAMm0B,WAAa,OACjCujB,EAAcl/C,UAAY8mB,EAAgBm4B,EAC1CC,EAAct8C,YAAc0mB,GAA6C,GAAjBlE,KAAKmR,UAAiB,GAAK,IACnFilB,EAAQrgC,YACN2/B,GACE,QACA,iDACAoE,IAIJ,MAAMC,EACJ/5B,KAAKiT,QAA2B,GAAjBjT,KAAKmR,UAAiB,GAAK,IAAMnP,EAAYH,EACxDm4B,EAAgBvhD,SAAS4D,cAAc,QAC7C29C,EAAc53C,MAAMm0B,WAAa,OACjCyjB,EAAcp/C,UAAY8mB,EAAgBq4B,EAC1CC,EAAcx8C,YAAc0mB,GAA6C,GAAjBlE,KAAKmR,UAAiB,GAAK,KACnFilB,EAAQrgC,YACN2/B,GACE,QACA,iDACAsE,IAGJ,MAAMC,EAAoB,GAe1B,OAdAt8C,OAAO6C,KAAKkjC,IAAYtU,SAASj1B,IAC1B6lB,KAAK0gB,YAAYgD,GAAWvpC,KAC/B8/C,EAAkBh+C,KAAKynC,GAAWvpC,OAGL,IAA7B8/C,EAAkB7/C,QACpBg8C,EAAQrgC,YACN2/B,GACE,QACA,kCACAE,GAAcqE,KAIb7D,EA4ce8D,KAItBhE,EAAMngC,YAAYy/B,GAAY,WAAY,aACtC31B,EAAUorB,OAAOqB,UACnB4J,EAAMngC,YA3cV,WACE,MAAMqgC,EAAU39C,SAAS4D,cAAc,OACvC+5C,EAAQx7C,UAAY,yBAEpB,MAAMu/C,EAAkBz3C,KAAKkE,MAC3BoZ,KAAKqmB,gBACHtb,GACE/K,KAAKsmB,aACL7c,IACCzJ,KAAK0gB,YAAY,mBAAqB1gB,KAAK0d,IAAI,iBAC5CrU,GACA,KAGV+sB,EAAQrgC,YACN2/B,GACE,cACA,6BACAj9C,SAASqgB,eACP,GAAGoL,GAA4BlE,KAAKkW,eAAehS,GAA4Bi2B,MAEjF,+BAIJ,MAAMC,EAAa13C,KAAK6D,IACtB,EACAyZ,KAAKyxB,oBAAoB0I,EAAkB,IACxCpvB,GACC/K,KAAKsmB,aACL7c,IAEEzJ,KAAK0gB,YAAY,mBAAqB1gB,KAAK0d,IAAI,kBAC3CrU,GAGFA,GACA,KAEJgxB,EAAkB5hD,SAASs9C,yBACjCsE,EAAgBtkC,YAAYtd,SAASqgB,eAAeoL,GAA4Bk2B,KAChF,MAAME,EAAmB7hD,SAAS4D,cAAc,SAChDi+C,EAAiB98C,YAAc,KAAK8nB,GAClC80B,EAAapvB,GACb,MAEFqvB,EAAgBtkC,YAAYukC,GAC5BlE,EAAQrgC,YACN2/B,GACE,cACA,wBACA2E,EACA,gCAIJjE,EAAQrgC,YACN2/B,GACE,cACA,6BACAj9C,SAASqgB,eACP,GAAGoL,GAA4BlE,KAAKu6B,oBAAoBr2B,GACtDi2B,EAAkBn6B,KAAKkW,SAAWlW,KAAKu6B,kBAG3C,oCAIJnE,EAAQrgC,YACN2/B,GACE,QACA,6CACAj9C,SAASqgB,eAAeoL,GAA4BgF,GAAkB,MAI1E,MAAMsxB,EAAW71B,OAAO9E,EAAUuoB,qBAClC,IAAKzjB,OAAOlJ,MAAM++B,GAAW,CAC3B,MAAMC,EACJD,EACA93C,KAAKkE,MAAMoZ,KAAKqmB,gBAAgBrmB,KAAKsmB,aAAetmB,KAAK6f,gBACvD4a,EAAoB,IACtBrE,EAAQrgC,YACN2/B,GACE,QACA,iDACAj9C,SAASqgB,eAAeoL,GAA4Bu2B,MAGxDrE,EAAQrgC,YACN2/B,GACE,QACA,iDACAj9C,SAASqgB,eACPwM,GAAWm1B,EAAoBvxB,QAOzC,MAAMwxB,EAr6BR,SAAoBC,GAElB,IAAIC,EAAS56B,KAAKmR,UAElB0E,KAE2C,IAAvCzJ,GAAY,gBAAgBc,SAC9Bd,GAAY,wBAAwBc,OAAS,EAC7Cd,GAAY,yBAAyBc,OAAS,EAC9Cd,GAAY,mBAAmBc,OAAS,EACxCd,GAAY,0BAA0Bc,OAAS,EAC/Cd,GAAY,gBAAgBc,OAAS,EAErCuU,KAEAmZ,EAAS9yB,GAET+N,MAGE9K,IAA0B,KAASyW,GAAO,aAC1CzW,IAA0B,KAAYyW,GAAO,YAC7CzW,IAA0B,MAAeyW,GAAO,gBAChDzW,IAA0B,MAAkByW,GAAO,YACnDzW,IAA0B,MAAqByW,GAAO,iBACtDzW,IAA0B,MAC5ByW,GAAO,kBACLzW,IAA0B,MAC5ByW,GAAO,iBACLzW,IAA0B,MAC5ByW,GAAO,cACLzW,IAA0B,MAC5ByW,GAAO,iBACLzW,IAA0B,MAC5ByW,GAAO,uBACLzW,IAA0B,MAC5ByW,GAAO,mBACLzW,IAA0B,MAC5ByW,GAAO,uBACLzW,IAA0B,MAC5ByW,GAAO,wBACLzW,IAA0B,MAC5ByW,GAAO,mBAEPzW,IAA0B,MAE1ByW,GAAO,WAEPzW,IACA,MAEAyW,GAAO,iBAEPzW,IACA,MAEAyW,GAAO,iCAETpV,GAAY,wBAAwBc,OAAS,EAC7Cd,GAAY,yBAAyBc,OAAS,EAC9Cd,GAAY,mBAAmBc,OAAS,EACxCd,GAAY,0BAA0Bc,OAAS,EAC/Cd,GAAY,gBAAgBc,OAAS,EAErC5F,GAAcqzB,EAEd,MAAM/V,EAAwBxd,GAE9Bqa,KAEAmC,KAEIgB,IAA0Bxd,IAC5Bqa,KAGF,MAAMoZ,EAAW/yB,GAAe8yB,EAKhC,OAFAtzB,GAActH,KAAKkW,SAEZ2kB,EAo1BYC,CAAWX,GACxBY,EAAYtiD,SAASs9C,yBAC3BgF,EAAUhlC,YAAYtd,SAASqgB,eAAeoL,GAA4Bw2B,KAC1E,MAAM5iB,EAAWp1B,KAAKC,MAAO+3C,EAAa16B,KAAKmR,UAAa,KAC5D,GAAIxM,OAAOC,SAASkT,IAA0B,IAAbA,EAAgB,CAC/C,MAAMkjB,EAAaviD,SAAS4D,cAAc,SAC1C2+C,EAAWx9C,YAAc,KAAKs6B,EAAW,kBACzCijB,EAAUhlC,YAAYilC,GAExB5E,EAAQrgC,YACN2/B,GACE,cACA,qBACAqF,EACA,4BAIJ,MAAME,EAAkBv4C,KAAKkE,MAAMoZ,KAAKqmB,gBAAgBrmB,KAAKsmB,eACvD4U,EAAWx4C,KAAKkE,MACpBoZ,KAAKqmB,gBAAgBrmB,KAAKsmB,aAAetmB,KAAK6f,gBAE1Csb,EAAUD,EAAWD,EAC3B,IAAKj7B,KAAK0d,IAAI,eAAgB,CAC5B,IAAI0d,EAAS,EAAKF,EAAW,GACzBE,EAAS,IAAGA,GAAU,IAC1B,MAAMC,EAAaF,EAAUC,EACvBE,EAAaJ,EAAWE,EACxBG,EAAQ9iD,SAASs9C,yBACvBwF,EAAMxlC,YACJtd,SAASqgB,eACP,GAAGwiC,EAAWt2B,sBAAsBq2B,EAAWr2B,sBAAsBo2B,OAGzEhF,EAAQrgC,YACN2/B,GAAa,QAAS,qCAAsC6F,IAIhE,IAAKv7B,KAAK0d,IAAI,gBAAiB,CAC7B,IAAI8d,EAAW,IAAON,EAAW,IAC7BM,EAAW,IAAGA,GAAY,KAC9B,MAAMC,EAAeN,EAAUK,EACzBE,EAAeR,EAAWM,EAC1BG,EAAUljD,SAASs9C,yBACzB4F,EAAQ5lC,YACNtd,SAASqgB,eACP,GAAG4iC,EAAa12B,sBAAsBy2B,EAAaz2B,sBAAsBw2B,OAG7EpF,EAAQrgC,YACN2/B,GAAa,QAAS,sCAAuCiG,IAIjE,IAAK37B,KAAK0d,IAAI,gBAAiB,CAC7B,IAAIke,EAAc,OAAUV,EAAW,IACnCU,EAAc,IAAGA,GAAe,KACpC,MAAMC,EAAkBV,EAAUS,EAC5BE,EAAkBZ,EAAWU,EAC7BG,EAAatjD,SAASs9C,yBAC5BgG,EAAWhmC,YACTtd,SAASqgB,eACP,GAAGgjC,EAAgB92B,sBAAsB62B,EAAgB72B,sBAAsB42B,OAGnFxF,EAAQrgC,YACN2/B,GAAa,QAAS,sCAAuCqG,IAIjE,OAAO3F,EA8Ra4F,IAGhBh8B,KAAKoR,UAAY,IACnB8kB,EAAMngC,YAAYy/B,GAAY,YAAa,UACvC31B,EAAUorB,OAAOsB,OAAO,CAC1B,MAAM0P,EAAaxjD,SAASs9C,yBAC5BkG,EAAWlmC,YACTtd,SAASqgB,eACP,GAAGoL,GAA4BuF,SAA0BvF,GACvDwF,SAIN,MAAMwyB,EAAUzjD,SAAS4D,cAAc,KACvC6/C,EAAQ1+C,YAAc,iBACtB0+C,EAAQthD,UAAY,SACpBshD,EAAQnK,QAAU,WAChB8B,MAEFoI,EAAWlmC,YAAYmmC,GACvBhG,EAAMngC,YACJ2/B,GACE,QACA,kCACAuG,IAGJ,MAAME,EAAiB1jD,SAASs9C,yBAChCoG,EAAepmC,YACbtd,SAASqgB,eAAe,GAAGoL,GAA4ByF,GAAsB,SAE/E,MAAMyyB,EAAc3jD,SAAS4D,cAAc,KAC3C+/C,EAAY5+C,YAAc,qBAC1B4+C,EAAYxhD,UAAY,SACxBwhD,EAAYrK,QAAU,WACa,OAA7BpoB,GAAsB,KACxB3J,KAAKqR,UAAU1H,GAAsB,IAAImqB,GAAK,IAElDqI,EAAepmC,YAAYqmC,GAC3BlG,EAAMngC,YACJ2/B,GACE,QACA,6DAC+B,OAA7B/rB,GAAsB,GAClBA,GAAsB,GACtB,UAENwyB,IASR,GAHAjG,EAAMngC,YA7UR,WACE,MAAMqgC,EAAU39C,SAAS4D,cAAc,OACvC+5C,EAAQx7C,UAAY,uBAEpB,IAAIyhD,GAAW,EACf,MAAMC,EAA0B,GAChC3+C,OAAO6C,KAAK+iC,IAAcnU,SAASj1B,IAC5B6lB,KAAK0d,IAAI6F,GAAappC,MACzBmiD,EAAwBrgD,KAAKsnC,GAAappC,IAC1CkiD,GAAW,MAGf,MAAME,EAA0B,GAChC5+C,OAAO6C,KAAKgjC,IAAepU,SAASj1B,IAC7B6lB,KAAK0d,IAAI8F,GAAcrpC,MAC1BoiD,EAAwBtgD,KAAKunC,GAAcrpC,IAC3CkiD,GAAW,MAGf,MAAMG,EAA0B,GAChC7+C,OAAO6C,KAAKijC,IAAYrU,SAASj1B,IAC1B6lB,KAAK0d,IAAI+F,GAAWtpC,MACvBqiD,EAAwBvgD,KAAKwnC,GAAWtpC,IACxCkiD,GAAW,MAGf,MAAMI,EAAoB,GAC1B9+C,OAAO6C,KAAKwf,KAAK08B,UAAUttB,SAASj1B,IAC7B6lB,KAAK0gB,YAAY1gB,KAAK08B,SAASviD,MAClCsiD,EAAkBxgD,KAAK+jB,KAAK08B,SAASviD,IACrCkiD,GAAW,MAGf,MAAMM,EAAkB,GACxBh/C,OAAO6C,KAAKwf,KAAK48B,cAAcxtB,SAASj1B,IACjC6lB,KAAK0gB,YAAY1gB,KAAK48B,aAAaziD,MACtCwiD,EAAgB1gD,KAAK+jB,KAAK48B,aAAaziD,IACvCkiD,GAAW,MAGf,MAAM5b,EACJzgB,KAAK0gB,YAAY,mBAAqB1gB,KAAK0d,IAAI,iBAC3Cmf,EAAU78B,KAAK0d,IAAI,eAEzB,IAAoB,cAAhB1d,KAAK8d,QAA0Bue,GAAY5b,GAAUoc,KACvDzG,EAAQrgC,YAAYy/B,GAAY,kBAAmB,QAC/C31B,EAAUorB,OAAOuB,KAAK,CACxB,GAAuC,IAAnC8P,EAAwBliD,OAAc,CACxCg8C,EAAQrgC,YACN2/B,GACE,QACA,gCACAE,GAAc0G,KAGlB,IAAIQ,EAAoB,IAIxB,GAHI98B,KAAKgY,UAAU,oBAAmB8kB,EAAoB,IACtD98B,KAAK0d,IAAI,gBAAeof,GAAqB,IACjDA,GAAqB,EAAI98B,KAAK+8B,eAC1B/8B,KAAKoN,OAAQ,CACf,MAAMc,EAASlO,KAAKoN,OAAO,WACZ,IAAXc,EAAc4uB,GAAqB,GACnB,IAAX5uB,EAAc4uB,GAAqB,IACxB,IAAX5uB,IAAc4uB,GAAqB,KAE9C,MAAME,EAAwBV,EAAwBliD,OAAS,EAC/Dg8C,EAAQrgC,YACN2/B,GACE,QACA,4DACAj9C,SAASqgB,eACP,GAAGoL,IACA,EAAI44B,GAAqBE,EAAwB,WAC5C94B,IACL,EAAwB,GAApB44B,GAA2BE,EAAwB,WAMlE,GAAuC,IAAnCT,EAAwBniD,OAAc,CACxCg8C,EAAQrgC,YACN2/B,GACE,QACA,gCACAE,GAAc2G,KAGlB,IAAIU,EAAoB,GAIxB,GAHIj9B,KAAKgY,UAAU,iBAAgBilB,EAAoB,IACvDA,GAAqB,EAAIj9B,KAAK+8B,eAC1B/8B,KAAK0d,IAAI,cAAauf,GAAqB,KAC3Cj9B,KAAKoN,OAAQ,CACf,MAAMc,EAASlO,KAAKoN,OAAO,WACZ,IAAXc,EAAc+uB,GAAqB,GACnB,IAAX/uB,EAAc+uB,GAAqB,IACxB,IAAX/uB,IAAc+uB,GAAqB,KAE9C,MAAMD,EAAwBT,EAAwBniD,OAAS,EAC/Dg8C,EAAQrgC,YACN2/B,GACE,QACA,6CACAj9C,SAASqgB,eACP,GAAGoL,IACA,EAAI+4B,GAAqBD,EAAwB,WAMrB,IAAnCR,EAAwBpiD,QAC1Bg8C,EAAQrgC,YACN2/B,GACE,QACA,gCACAE,GAAc4G,KAIpB,MAAMU,EAAc,SAAUC,GAC5B,IAAIC,EAAcD,GAAoB,EAAIn9B,KAAK+8B,gBAI/C,GAHI/8B,KAAKgY,UAAU,0BAAyBolB,GAAe,IACvDp9B,KAAK0d,IAAI,cAAa0f,GAAe,IACrCp9B,KAAK0d,IAAI,eAAc0f,GAAe,IACtCp9B,KAAKoN,OAAQ,CACf,MAAMc,EAASlO,KAAKoN,OAAO,WACZ,IAAXc,EAAckvB,GAAe,GACb,IAAXlvB,EAAckvB,GAAe,IAClB,IAAXlvB,IAAckvB,GAAe,KAGxC,MAAMC,EAAgB,EAAID,EACpBE,EAAet9B,KAAK08B,SAAStiD,OAASqiD,EAAkBriD,OACxDmjD,EACJv9B,KAAK48B,aAAaxiD,OAASuiD,EAAgBviD,OACvCojD,EACY,GAAhBH,GAAuB,EAAIC,EAAet9B,KAAK08B,SAAStiD,QACpDqjD,EAEJ,GADAJ,GAEC,EAAIE,EAAmBv9B,KAAK48B,aAAaxiD,QAKtCsjD,EAHY,GAAhBL,GAAuBC,EAAet9B,KAAK08B,SAAStiD,QAEpC,GAAhBijD,GAAuBE,EAAmBv9B,KAAK48B,aAAaxiD,QAM9D,MAAO,CAACojD,EAHI,GAAVE,GAAiB,EAAIJ,EAAet9B,KAAK08B,SAAStiD,QAGvBqjD,EADjB,GAAVC,GAAiB,EAAIH,EAAmBv9B,KAAK48B,aAAaxiD,UAG7B,IAA7BqiD,EAAkBriD,SACpBg8C,EAAQrgC,YACN2/B,GACE,QACA,oCACAE,GAAc6G,KAGlBrG,EAAQrgC,YACN2/B,GACE,QACA,yDACAj9C,SAASqgB,eACP,GAAGoL,GAAmD,IAAvBg5B,EAAY,KAAM,UAAgBh5B,GACzC,IAAtBg5B,EAAY,IAAK,WAMI,IAA3BP,EAAgBviD,SAClBg8C,EAAQrgC,YACN2/B,GACE,QACA,kCACAE,GAAc+G,KAGlBvG,EAAQrgC,YACN2/B,GACE,QACA,6DACAj9C,SAASqgB,eACP,GAAGoL,GAAmD,IAAvBg5B,EAAY,KAAM,UAAgBh5B,GACzC,IAAtBg5B,EAAY,IAAK,WAOP,cAAhBl9B,KAAK8d,QACPsY,EAAQrgC,YACN2/B,GACE,QACA,kBACAj9C,SAASqgB,eAAeoL,GAA4BkF,OAGtDqX,GACF2V,EAAQrgC,YACN2/B,GACE,cACA,wBACAj9C,SAASqgB,eAAeoL,GAA4BmF,KACpD,6BAIFwzB,GACFzG,EAAQrgC,YACN2/B,GACE,QACA,yBACAj9C,SAASqgB,eACJpW,KAAKC,MAA2B,KAApBwmB,GAAe,IAAc,IAA5C,OAOZ,OAAOitB,EA4GWuH,IAElBzH,EAAMngC,YAAYy/B,GAAY,gBAAiB,SAC3C31B,EAAUorB,OAAOwB,KAAM,CAsBzB,GArBAyJ,EAAMngC,YACJ2/B,GACE,QACA,oCACE1yB,EAAYnD,EAAU0gB,YAAc,GAChC,GAAGvd,EAAYnD,EAAU0gB,sBACzBvd,EAAYnD,EAAU0gB,YAAc,IACV,IAAzB1gB,EAAU0gB,WAAmB,UAAY,eAEhD9nC,SAASqgB,eAAeoL,GAA4B8M,KAAU,MAGlEklB,EAAMngC,YACJ2/B,GACE,QACA,0CACEzyB,EAAWpD,EAAU8gB,iBACQ,IAA5B9gB,EAAU8gB,cAAsB,UAAY,cAC/CloC,SAASqgB,eAAeoL,GAA4B6F,GAAoB,MAGxE/J,KAAK0d,IAAI,mBAAoB,CAC/B,MAAM6G,EAAW,GACjB5mC,OAAO6C,KAAK8iC,IAAUlU,SAASj1B,IACxB6lB,KAAK0d,IAAI4F,GAASnpC,KACrBoqC,EAAStoC,KAAKqnC,GAASnpC,OAGH,IAApBoqC,EAASnqC,QACX87C,EAAMngC,YACJ2/B,GACE,QACA,+BACAE,GAAcrR,KAatB,GATI1kB,EAAUwoB,cACZ6N,EAAMngC,YACJ2/B,GACE,QACA,wBACAj9C,SAASqgB,eAAeoL,GAA4BlE,KAAK49B,uBAI3D59B,KAAK4c,MAAMC,SAAU,CACvB,MAAM5K,EAAQx5B,SAAS4D,cAAc,QACrC41B,EAAMvE,GAAK,uBACXuE,EAAMgL,UAAYjd,KAAKkd,QACV,GAAXld,KAAKmX,KAAYnX,KAAKqwB,SAAW,EAAIrwB,KAAKmd,GAAgB,GAAXnd,KAAKmX,MACpD,GAEF+e,EAAMngC,YACJ2/B,GAAa,QAAS,qBAAsBzjB,KAKlD1mB,EAAE,QAAQ4iC,aAAa+H,EAAO3qC,EAAE,QAAQilB,WAAW,IAE/C3Q,EAAUsoB,iBA/lJd58B,EAAE,QAAQilB,WAAWpB,SAASyuB,IAC5B,GAAIA,EAAYphB,SAAS,GACvB,GACwC,aAAtCohB,EAAYphB,SAAS,GAAG9kB,WACxBsS,GACA,CACA,MAAM6zB,EACJ7zB,GAA6BpvB,MAAM,IAAIZ,OAAO,MAAO,MAAQ,GAC1DG,OAAS,EACR41C,EAAQv3C,SAAS4D,cAAc,OACrC2zC,EAAMtiB,GAAK,iCACXsiB,EAAMp1C,UAAY,UAClB,MAAMmjD,EAAYtlD,SAAS4D,cAAc,OACzC0hD,EAAUpmC,UAAY,qCAAqCmmC,KACzD99B,KAAKg+B,iBAAiB5jD,WACnBsI,KAAKkE,MACPk3C,EAA0B99B,KAAKg+B,iBAAiB5jD,OAAU,SAE7D41C,EAAMj6B,YAAYgoC,GAClBF,EAAY9nC,YAAYi6B,GACxB,MAAM9M,EAAWzqC,SAAS4D,cAAc,OACxC6mC,EAAStoC,UAAY,mBACrBsoC,EAASvrB,UAAYsS,GACrB4zB,EAAY9nC,YAAYmtB,QACnB,GAA0C,aAAtC2a,EAAYphB,SAAS,GAAG9kB,UAA0B,CAC3D,GAAIqS,GAAsB,CACxB,MAAMi0B,EACJj0B,GAAqBnvB,MAAM,IAAIZ,OAAO,MAAO,MAAQ,GAAGG,OAAS,EAC7D41C,EAAQv3C,SAAS4D,cAAc,OACrC2zC,EAAMtiB,GAAK,yBACXsiB,EAAMp1C,UAAY,UAClB,MAAMmjD,EAAYtlD,SAAS4D,cAAc,OACzC0hD,EAAUpmC,UAAY,mCAAmCsmC,KACvDj+B,KAAKkV,eAAe,IAAI96B,OAAS4lB,KAAKkV,eAAegpB,KAAK9jD,WACvDsI,KAAKkE,MACPq3C,GACEj+B,KAAKkV,eAAe,IAAI96B,OACvB4lB,KAAKkV,eAAegpB,KAAK9jD,QAC3B,SAEJ41C,EAAMj6B,YAAYgoC,GAClBF,EAAY1P,aAAa6B,EAAO6N,EAAYrtB,WAAW,IACvD,MAAM0S,EAAWzqC,SAAS4D,cAAc,OACxC6mC,EAAStoC,UAAY,mBACrBsoC,EAASvrB,UAAYqS,GACrB6zB,EAAY1P,aACVjL,EACAzqC,SAASsiC,eAAe,0BAA0BojB,aAGtD,GAAIj0B,GAA6B,CAC/B,MAAMk0B,EACJl0B,GAA4BrvB,MAAM,IAAIZ,OAAO,MAAO,MAAQ,GACzDG,OAAS,EACR41C,EAAQv3C,SAAS4D,cAAc,OACrC2zC,EAAMtiB,GAAK,gCACXsiB,EAAMp1C,UAAY,UAClB,MAAMmjD,EAAYtlD,SAAS4D,cAAc,OACzC0hD,EAAUpmC,UAAY,mCAAmCymC,KACvDp+B,KAAKkV,eAAe2c,OAAOz3C,WACxBsI,KAAKkE,MACPw3C,EAAwBp+B,KAAKkV,eAAe2c,OAAOz3C,OAAU,SAEhE41C,EAAMj6B,YAAYgoC,GAClBF,EAAY9nC,YAAYi6B,GACxB,MAAM9M,EAAWzqC,SAAS4D,cAAc,OACxC6mC,EAAStoC,UAAY,mBACrBsoC,EAASvrB,UAAYuS,GACrB2zB,EAAY9nC,YAAYmtB,QAmlJlC,MAAMmb,GAAe,CACnBnT,YAAa,cACbC,SAAU,WACVC,QAAS,4BACTC,YAAa,+BACbC,QAAS,WACTC,WAAY,aACZC,aAAc,gBACdS,cAAe,iBAIXqS,GAA2B,CAC/B7S,oBAAqB,wBACrBC,eAAgB,gBAChBC,eAAgB,iBAChBC,gBAAiB,iBACjBC,iBAAkB,cAClBC,iBAAkB,iBAClBC,kBAAmB,WACnBC,qBAAsB,qBAwBxB,SAASuS,GAAiBnP,EAAQxpB,GAChC,MAAM6K,EAAMh4B,SAAS4D,cAAc,OACnCo0B,EAAI71B,UAAY,QAEhB61B,EAAIruB,MAAM6U,QAAU,MACpBwZ,EAAIruB,MAAMuvB,SAAW,OACrBlB,EAAI1a,YAAYtd,SAASqgB,eAAe,GAAG8M,OAC3C,MAAM6vB,EAAOh9C,SAAS4D,cAAc,QAiBpC,OAhBAo5C,EAAKrzC,MAAM+U,OAAS,UACpBs+B,EAAKrzC,MAAMqV,QAAU,eACrBg+B,EAAKrzC,MAAMmG,OAAS,OACpBktC,EAAKrzC,MAAMkG,MAAQ,OACnBmtC,EAAKrzC,MAAMsU,aAAe,MAC1B++B,EAAKrzC,MAAMuW,UAAY,SACvB88B,EAAKrzC,MAAM4U,gBAAkB,UAC7By+B,EAAKrzC,MAAM2F,MAAQ,QACnB0tC,EAAKrzC,MAAMuvB,SAAW,OACtB8jB,EAAKrzC,MAAMyvB,cAAgB,SAC3B4jB,EAAKj4C,YAAcqiB,EAAUorB,OAAOmE,GAAU,IAAM,IACpDqG,EAAK1D,QAAU,WACbwD,GAAanG,GACbpvB,KAAKgf,cAEPvO,EAAI1a,YAAY0/B,GACThlB,EAQT,SAAS+tB,GAAiBpP,GACxB,MAAM3e,EAAMh4B,SAAS4D,cAAc,OAEnC,GADAo0B,EAAI71B,UAAY,UACkB,SAA9BszC,GAAakB,GAAQ50C,KAAiB,CACxC,MAAMwI,EAAIvK,SAAS4D,cAAc,KAC7B6xC,GAAakB,GAAQvB,QAAgC,IAAtBhuB,EAAUuvB,GAC3CpsC,EAAEpI,UAAY,aAEdoI,EAAEpI,UAAY,SAEhBoI,EAAE0qB,GAAK2nB,GAA6BjG,EACpCpsC,EAAE+uC,QAAU,YA76ChB,SAAsB3C,GACpBvvB,EAAUuvB,IAAW,EAEjBvvB,EAAUuvB,KAAYlB,GAAakB,GAAQzB,MAAMvzC,QACnDylB,EAAUuvB,GAAU,EAChBlB,GAAakB,GAAQvB,SACvBtiC,EAAE8pC,GAA6BjG,GAAQx0C,UAAY,eAChD2Q,EAAE8pC,GAA6BjG,GAAQx0C,UAAY,cAEjB,IAA9BszC,GAAakB,GAAQlwC,MAC9BgvC,GAAakB,GAAQlwC,OAGvBqM,EAAE8pC,GAA6BjG,GAAQz3B,UACrCu2B,GAAakB,GAAQzB,MAAM9tB,EAAUuvB,IACvC2D,KA+5CI0L,CAAarP,IAEfpsC,EAAExF,YAAc0wC,GAAakB,GAAQzB,MAAM9tB,EAAUuvB,IACrD3e,EAAI1a,YAAY/S,GAChB,MAAM2qC,EAAQl1C,SAAS4D,cAAc,SAGrC,OAFAsxC,EAAMnwC,YAAc0wC,GAAakB,GAAQxB,KACzCnd,EAAI1a,YAAY43B,GACTld,EAET,GAAkC,QAA9Byd,GAAakB,GAAQ50C,KAAgB,CACvC,MAAMo1C,EAASn3C,SAAS4D,cAAc,OACtCuzC,EAAOh1C,UAAY,YACnB,MAAMo1C,EAAQv3C,SAAS4D,cAAc,OACrC2zC,EAAM5tC,MAAMs8C,MAAQ,OACpB1O,EAAMr4B,UAAYu2B,GAAakB,GAAQxB,KACvCgC,EAAO75B,YAAYi6B,GACnB,MAAM2O,EAAUlmD,SAAS4D,cAAc,OACvCsiD,EAAQjxB,GAAK,SAAS0hB,SACtBuP,EAAQv8C,MAAMs8C,MAAQ,QACtBC,EAAQhnC,UAAY,GAAGkI,EAAUuvB,MACjCQ,EAAO75B,YAAY4oC,GACnB,MAAMC,EAASnmD,SAAS4D,cAAc,SACtCuiD,EAAOhkD,UAAY,SACnBgkD,EAAOlxB,GAAK,SAAS0hB,IACrBwP,EAAOx8C,MAAMwU,MAAQ,OACrBgoC,EAAOpkD,KAAO,QACdokD,EAAOv4C,IAAM,IACbu4C,EAAOr4C,IAAM,MACbq4C,EAAOC,KAAO,IACdD,EAAOrhD,MAAQsiB,EAAUuvB,GACzBwP,EAAOngC,QAAU,WACf62B,GAAmBlG,IAErBwP,EAAOE,SAAW,WAChBxJ,GAAmBlG,IAErBQ,EAAO75B,YAAY6oC,GACnBnuB,EAAI1a,YAAY65B,GAChB,MAAM5sC,EAAIvK,SAAS4D,cAAc,KAYjC,OAXA2G,EAAEpI,UAAY,SACdoI,EAAE+uC,QAAU,WACVzC,GACEzvB,EAAUuvB,EAAOruC,QAAQ,SAAU,aACnCquC,EAAOruC,QAAQ,SAAU,SACzBquC,GACA,IAGJpsC,EAAExF,YAAc,aAChBizB,EAAI1a,YAAY/S,GACTytB,EAET,GAAkC,QAA9Byd,GAAakB,GAAQ50C,KAAgB,CACvC,MAAMi7C,EAAOh9C,SAAS4D,cAAc,QACpCo5C,EAAK76C,UAAY,SACjB66C,EAAKj4C,YAAc,GAAG0wC,GAAakB,GAAQzB,SAC3Cld,EAAI1a,YAAY0/B,GAChB,MAAMsJ,EAAQtmD,SAAS4D,cAAc,SACrC0iD,EAAMrxB,GAAK2nB,GAA6BjG,EACxC2P,EAAMnkD,UAAY,SAClBmkD,EAAMvkD,KAAO,OACbukD,EAAMC,UAAW,EACjBD,EAAMhhD,aAAa,QAAS8hB,EAAUuvB,IACtC2P,EAAM38C,MAAMkG,MAAQ,QACpBmoB,EAAI1a,YAAYgpC,GAChBtuB,EAAI1a,YAAYtd,SAASqgB,eAAe,MACxC,MAAMmmC,EAAcxmD,SAAS4D,cAAc,SAC3C4iD,EAAYvxB,GAAK,GAAG2nB,GAA6BjG,UACjD6P,EAAYrkD,UAAY,SACxBqkD,EAAYzkD,KAAO,OACnBykD,EAAYlhD,aAAa,QAAS8hB,EAAUuvB,IAC5C,MAAMpsC,EAAIvK,SAAS4D,cAAc,KACjC2G,EAAEpI,UAAY,SACdoI,EAAE+uC,QAAU,WACV/xB,KAAKk/B,OAAOD,EAAYE,UAAW,CACjC,CACE,OACA,WACEt/B,EAAU,GAAGuvB,KAAY7jC,EAAE,WAAgC6jC,WAAgB7xC,MAC3Ew1C,KACA/yB,KAAKo/B,cACLp/B,KAAKgf,eAGT,YAGJh8B,EAAExF,YAAc,OAChBizB,EAAI1a,YAAY/S,GAChB,MAAM2qC,EAAQl1C,SAAS4D,cAAc,SAGrC,OAFAsxC,EAAMnwC,YAAc0wC,GAAakB,GAAQxB,KACzCnd,EAAI1a,YAAY43B,GACTld,EAET,GAAkC,WAA9Byd,GAAakB,GAAQ50C,KAAmB,CAC1Ci2B,EAAI71B,UAAY,GAChB,MAAMykD,EAAW5mD,SAAS4D,cAAc,OACxCgjD,EAASzkD,UAAY,UACrB,MAAMmkD,EAAQtmD,SAAS4D,cAAc,SACrC0iD,EAAMrxB,GAAK0hB,EACX2P,EAAM38C,MAAMkG,MAAQ,OACpBy2C,EAAMhhD,aAAa,QAAS8hB,EAAUuvB,IACtCiQ,EAAStpC,YAAYgpC,GAQrB,IAAI7lD,GAAQ6lD,EAAO,CAAExkC,MAAM,EAAMnQ,SAAU,QAAS4P,QAPrC,WACb6F,EAAUhnB,KAAKmD,cAAc0xB,IAAM70B,KAAK8gB,cACxCm5B,KACAC,KACA/yB,KAAKgf,gBAIP,MAAM2O,EAAQl1C,SAAS4D,cAAc,SAGrC,GAFAsxC,EAAMnwC,YAAc0wC,GAAakB,GAAQxB,KACzCyR,EAAStpC,YAAY43B,GACjByB,EAAOP,SAAS,SAAU,CAC5B,MAAM7rC,EAAIvK,SAAS4D,cAAc,KACjC2G,EAAEpI,UAAY,SACdoI,EAAE+uC,QAAU,WACV5C,GAAM,EAAGC,EAAOruC,QAAQ,SAAU,KAAK,IAEzCiC,EAAExF,YAAc,aAChB6hD,EAAStpC,YAAY/S,GAIvB,OAFAytB,EAAI1a,YAAYspC,GAChBjK,KAAkB37C,OACXg3B,EAET,GAAkC,aAA9Byd,GAAakB,GAAQ50C,KAAqB,CAC5C,MAAMi7C,EAAOh9C,SAAS4D,cAAc,QACpCo5C,EAAK76C,UAAY,SACjB66C,EAAKj4C,YAAc,GAAG0wC,GAAakB,GAAQzB,SAC3Cld,EAAI1a,YAAY0/B,GAChB,MAAMsJ,EAAQtmD,SAAS4D,cAAc,SACrC0iD,EAAMrxB,GAAK2nB,GAA6BjG,EACxC2P,EAAMnkD,UAAY,SAClBmkD,EAAMvkD,KAAO,SACbukD,EAAMxhD,MAAQsiB,EAAUuvB,GACxB2P,EAAM14C,IAAM6nC,GAAakB,GAAQ/oC,IACjC04C,EAAMx4C,IAAM2nC,GAAakB,GAAQ7oC,IACjCw4C,EAAMtgC,QAAU,WACV5lB,KAAK0E,MAAQ1E,KAAK0N,KAAKvL,QAAQqqB,IAAI,QACvCxF,EAAUuvB,GAAUv2C,KAAK0E,MACzBw1C,KACA9F,MAEFxc,EAAI1a,YAAYgpC,GAChBtuB,EAAI1a,YAAYtd,SAASqgB,eAAe,MACxC,MAAM60B,EAAQl1C,SAAS4D,cAAc,SAGrC,OAFAsxC,EAAMnwC,YAAc0wC,GAAakB,GAAQxB,KACzCnd,EAAI1a,YAAY43B,GACTld,EAET,OAAOA,EAyTT,SAAS6uB,GAAU9/C,GACjB,GAA2B,IAAvBqgB,EAAUyT,UAA4C,IAA1BzT,EAAU0T,YAAmB,CAC3D,MAAMgsB,EAAiBt4C,SAASsE,EAAE,cAAcnJ,MAAMmG,OAAQ,IAC9DyX,KAAKw/B,QAAUD,EACf//C,IACAwgB,KAAKw/B,QAAUD,OAEf//C,IAuBJ,SAASigD,KAEPh+B,EAAgBiD,SAAWA,SAE3BA,SAAWR,GAEXzC,EAAgBggB,eAAiBzhB,KAAKyhB,eACtCzhB,KAAKyhB,eAAiB,WACpBhgB,EAAgBggB,iBAChB7Z,GAAY,GAGdnG,EAAgBgV,QAAU,GAC1BhV,EAAgBgV,QAAQ9kB,KAAOqO,KAAKyW,QAAQ9kB,KAC5C8P,EAAgBgV,QAAQipB,QAAU,IAAI9jD,SACpC,UAAUokB,KAAKyW,QAAQ9kB,KAAK/O,WAAW5B,MAAM,QAAQ6C,KAAK,kBAD1B,GAGlCmc,KAAKyW,QAAQ9kB,KAAO,SAAUguC,EAAM/5B,EAAM3I,GACxCwE,EAAgBgV,QAAQipB,QAAQC,EAAM/5B,EAAM3I,IAG9CwE,EAAgBgV,QAAQmpB,OAAS5/B,KAAKyW,QAAQmpB,OAC9Cn+B,EAAgBgV,QAAQopB,UAAY,IAAIjkD,SACtC,UAAUokB,KAAKyW,QAAQmpB,OACpBh9C,WACA5B,MAAM,SACN6C,KAAK,mBAJ0B,GAMpCmc,KAAKyW,QAAQmpB,OAAS,WACpBn+B,EAAgBgV,QAAQopB,YA5H5B,WACE,GAA4B,UAAxB7/B,KAAKyW,QAAQxZ,OAAoB,CACnC,IAAI6iC,EAAa,EAEa,IAA5BjgC,EAAUoc,eACgB,IAA1Bpc,EAAU2X,aAC0B,OAApCjsB,EAAE,gCAEFu0C,EAAav0C,EAAE,8BAA8BpF,aAAe,GAE9D6Z,KAAKyW,QAAQspB,IAAI39C,MAAMsC,IAAM,GAAGhC,KAAK2D,IACnCY,SAAS+Y,KAAKyW,QAAQspB,IAAI39C,MAAMsC,IAAK,IACrC6G,EAAE,QAAQpF,aACRoF,EAAE,UAAUpF,aACZ6Z,KAAKyW,QAAQupB,GAAG75C,aAChB25C,EACA,SA6GJG,IAGFx+B,EAAgBy+B,gBAAkBlgC,KAAKkgC,gBACvClgC,KAAKkgC,gBAAkB,WACrBZ,GAAU79B,EAAgBy+B,kBAG5Bz+B,EAAgB0+B,cAAgBngC,KAAKmgC,cACrCngC,KAAKmgC,cAAgB,WACnBb,GAAU79B,EAAgB0+B,gBAI5B50C,EAAE,aAAazN,oBAAoB,QAASkiB,KAAKogC,aAAa,GAC9D70C,EAAE,aAAahS,iBACb,SACA,WACE+lD,GAAUt/B,KAAKogC,gBAEjB,GAGF3+B,EAAgB2rB,gBAAkBptB,KAAKotB,gBACvCptB,KAAKotB,gBAAkB,WACrB3rB,EAAgB2rB,kBAnHlB5rB,EAAuB,GACvB7jB,OAAO6C,KAAKwf,KAAKoQ,iBAAiBhB,SAASj1B,IACJ,OAAjCoR,EAAE,UAAUpR,KAAK83C,cACnBzwB,EAAqBrnB,GAAKoR,EAAE,UAAUpR,KAAK83C,YAC3C1mC,EAAE,UAAUpR,KAAK83C,YAAc,WACxBjyB,KAAKqgC,YACRrgC,KAAKsgC,WAAWznD,MAChBmnB,KAAKyW,QAAQoe,QAAU,EACvB70B,KAAKyW,QAAQ9kB,KACX9Y,MACA,WACE,OAAOk7C,GAAc,IAAK,GAAG55C,OAE/B,SAEF6lB,KAAKyW,QAAQqe,eAsGnB90B,KAAKyhB,kBAGPhgB,EAAgB8+B,aAAevgC,KAAKugC,aAKpCvgC,KAAKugC,aAAe,SAAUh0B,KAEzB1M,EAAUmrB,cACXhrB,KAAKkkB,YAAY3X,GAAMyG,UAAYhT,KAAKiT,UACtB,IAAlBjT,KAAKkP,UAELzN,EAAgB8+B,aAAah0B,IAIjC9K,EAAgB++B,mBAAqBxgC,KAAKwgC,mBAM1CxgC,KAAKwgC,mBAAqB,SAAUC,GAClCh/B,EAAgB++B,mBAAmBC,GA1pEvC,SAAqBA,GACnB,GAAiC,IAA7B5gC,EAAU+nB,eAAsB,CAClC,MAAO8Y,EAAUC,GA9DrB,SAA6BF,GAC3B5qB,KAGwBtqB,EAAE,iBAAiBkxB,SAAS,GAAG9kB,UAAUk3B,SAC/D,aAEmBrnB,GAAiBi5B,EACjCl5B,GAAgBk5B,EAGrB,IAAI5yB,EAAQ,EACZ,GACEtG,KAAkBS,IAClBR,KAAmBS,GAEnB,IAAK,IAAI9tB,EAAI6lB,KAAKkkB,YAAY9pC,OAAS,EAAGD,GAAK,IAAKA,EAClD,GAAI6lB,KAAKkkB,YAAY/pC,EAAI,GAAGo0B,OAAS,EAAG,CACtC,MAAM2iB,EAAkB/kB,GAAWnM,KAAKkkB,YAAY/pC,GAAGuE,MAAMA,KAC7DytB,GAAW+kB,GAAiB3iB,QAAU,EACtCtH,IAAqB,EACrB4G,EACE1B,GAAW+kB,GAAiB7iB,UAC5BrO,KAAK8O,eACHpsB,KAAK6D,IACH,EACA4lB,GAAW+kB,GAAiB3iB,OAC1B,EACApC,GAAW+kB,GAAiB5iB,MAEpCT,EAAQ7N,KAAK+O,oBAAoB5C,GAAW+kB,GAAkBrjB,GAC9DA,EAAQnrB,KAAKoL,KAAK+f,GAClB,MAKN,MAAM+W,EAAwBxd,GAO9B,OANAqa,KAEAmC,KACIgB,IAA0Bxd,IAC5Bqa,KAEK,CAAC3Z,GAAe9H,KAAKmR,UAAWtD,GAkBH+yB,CAAoBH,GAChDI,EAAgBv7B,GACpBq7B,GAAiBD,EAAW1gC,KAAKmR,YAE7B2vB,EAAqB58B,GAA4Bw8B,EAAW1gC,KAAKmR,WAEvE5lB,EAAE,kBAAkBnJ,MAAM2+C,UAAY,OACtCx1C,EAAE,kBAAkBnJ,MAAMsvB,OAAS,MACnCnmB,EAAE,kBAAkBwK,YAAYtd,SAAS4D,cAAc,QAAQzB,UAC7D,OACF,MAAM61B,EAAMh4B,SAAS4D,cAAc,OACnCo0B,EAAIruB,MAAMq8B,SAAW,QACrBhO,EAAIruB,MAAMuW,UAAY,SACtB8X,EAAIjzB,YAAc,wCAAwC0mB,GACxDw8B,OACII,sBACNv1C,EAAE,kBAAkBwK,YAAY0a,GAChC,MAAMuwB,EAAOvoD,SAAS4D,cAAc,OACpC2kD,EAAK5+C,MAAMq8B,SAAW,QACtBuiB,EAAK5+C,MAAMuW,UAAY,SACvBqoC,EAAKxjD,YAAc,gBAAgBqjD,yBACnCt1C,EAAE,kBAAkBwK,YAAYirC,IAooEhCC,CAAYR,IAGdh/B,EAAgBy/B,kBAAoBlhC,KAAKkhC,kBAIzClhC,KAAKkhC,kBAAoB,SAAUC,GACjC1/B,EAAgBy/B,kBAAkBC,GApoEtC,WAEE,GAEwE,QADrE51C,EAAE,gBAAgB3Q,UAAUC,MAAM,aACjC0Q,EAAE,gBAAgBkxB,SAAS,GAAGr6B,MAAMqB,WAAW5I,MAAM,WAEvD,IAAK,IAAIV,EAAI,EAAGA,EAAIoR,EAAE,gBAAgBilB,WAAWp2B,OAAQD,IACL,cAA9CoR,EAAE,gBAAgBilB,WAAWr2B,GAAGS,YAClC2Q,EAAE,gBAAgBkxB,SAAStiC,GAAG83C,YAAc,WAC1CxD,KACAzuB,KAAKyW,QAAQoe,QAAU,EACvB70B,KAAKyW,QAAQ9kB,KACXpG,EAAE,gBACF,mDAAmD4c,WACnD,QAEFnI,KAAKyW,QAAQqe,UAEfvpC,EAAE,gBAAgBkxB,SAAStiC,GAAGi4C,WAAa,WACzCpyB,KAAKyW,QAAQ2qB,WAAa,IAknEhCC,IAGF5/B,EAAgBud,WAAahf,KAAKgf,WAClChf,KAAKgf,WAAa,gBAEwB,IAA9BoW,KAAmB3qC,aACiB,IAApC2qC,KAAmB3qC,OAAOC,QAElC+W,EAAgBud,aArXtB,WACE,MAAMgR,EAAQv3C,SAAS4D,cAAc,OACrC2zC,EAAMp1C,UAAY,QAEE,UAAhBolB,KAAK+c,QACPiT,EAAMxyC,YAAc,0BApExB,SAAqBwyC,GACnB,MAAM8F,EAAOr9C,SAASs9C,yBACtBD,EAAK//B,YAAYi6B,GAEjBryC,OAAO6C,KAAK69C,IAAcjvB,SAASqe,IACjC,MAAM6T,EAAc/C,GAAiB9Q,EAAO4Q,GAAa5Q,IACzDqI,EAAK//B,YAAYurC,GACbzhC,EAAUorB,OAAOwC,KAGL,iBAAVA,EACF9vC,OAAO6C,KAAK89C,IAA0BlvB,SAASmyB,IAC7C,MAAMC,EAAiBjD,GACrBgD,EACAjD,GAAyBiD,IAE3BC,EAAep/C,MAAMuvB,SAAW,OAChC6vB,EAAep/C,MAAM6U,QAAU,MAC/B6+B,EAAK//B,YAAYyrC,GACb3hC,EAAUorB,OAAOsW,IACnB5jD,OAAO6C,KAAK0tC,IAAc9e,SAAS1b,IAC7Bw6B,GAAax6B,GAAQ+5B,QAAU8T,GACjCzL,EAAK//B,YAAYyoC,GAAiB9qC,UAK1C/V,OAAO6C,KAAK0tC,IAAc9e,SAAS1b,IAC7Bw6B,GAAax6B,GAAQ+5B,QAAUA,GACjCqI,EAAK//B,YAAYyoC,GAAiB9qC,WAM5C,MAAM+tC,EAAShpD,SAAS4D,cAAc,OACtColD,EAAO7mD,UAAY,UACnB,MAAM8mD,EAAYjpD,SAAS4D,cAAc,KACzCqlD,EAAU9mD,UAAY,SACtB8mD,EAAU3P,QAAU,WAClB0B,GAAWhM,KAEbia,EAAUlkD,YAAc,kBACxBikD,EAAO1rC,YAAY2rC,GACnB5L,EAAK//B,YAAY0rC,GAEjBl2C,EAAE,QAAQilB,WAAW,GAAG2d,aACtB2H,EACAvqC,EAAE,QAAQilB,WAAW,GAAGA,WACtBjlB,EAAE,QAAQilB,WAAW,GAAGA,WAAWp2B,OAAS,IAoB9CunD,CAAY3R,IACa,UAAhBhwB,KAAK+c,OACVld,EAAUmd,QACZgT,EAAMxyC,YAAc,4BACpBy4C,GAAajG,IAEU,QAAhBhwB,KAAK+c,SACdiT,EAAMxyC,YAAc,kBA5WxB,SAAqBwyC,GACnB,MAAM4R,EAAOnpD,SAAS4D,cAAc,OACpCulD,EAAKhnD,UAAY,aAEjB,MAAM66C,EAAOh9C,SAAS4D,cAAc,QAmBpC,GAlBAo5C,EAAKrzC,MAAM+U,OAAS,UACpBs+B,EAAKrzC,MAAMqV,QAAU,eACrBg+B,EAAKrzC,MAAMmG,OAAS,OACpBktC,EAAKrzC,MAAMkG,MAAQ,OACnBmtC,EAAKrzC,MAAMsU,aAAe,MAC1B++B,EAAKrzC,MAAMuW,UAAY,SACvB88B,EAAKrzC,MAAM4U,gBAAkB,UAC7By+B,EAAKrzC,MAAM2F,MAAQ,QACnB0tC,EAAKrzC,MAAMuvB,SAAW,OACtB8jB,EAAKrzC,MAAMyvB,cAAgB,SAC3B4jB,EAAKj4C,YAAcqiB,EAAUorB,OAAOyB,QAAU,IAAM,IACpD+I,EAAK1D,QAAU,WACbwD,GAAa,WACbv1B,KAAKgf,cAEPgR,EAAMj6B,YAAY0/B,GAClBmM,EAAK7rC,YAAYi6B,GAEbnwB,EAAUorB,OAAOyB,QAAS,CAC5B,MAAMmV,EAAcppD,SAAS4D,cAAc,OAC3CwlD,EAAYlqC,UA54RO,siBA64RnBiqC,EAAK7rC,YAAY8rC,GACjB,MAAMC,EAAQrpD,SAAS4D,cAAc,OACrCylD,EAAMnqC,UAr4RiB,+1EAs4RvBiqC,EAAK7rC,YAAY+rC,GAGnB,MAAMC,EAAOx2C,EAAE,QAAQkxB,SAAS,GAChCslB,EAAK5T,aAAayT,EAAMG,EAAKtlB,SAAS,IA4UpCulB,CAAYhS,IAwWViS,KAIJxgC,EAAgByb,QAAUld,KAAKkd,QAC/Bza,EAAY,SAAU8C,EAAM28B,GAC1B,OAAIv9B,OAAOlJ,MAAM8J,IAASA,GAAQ,EACzB9D,EAAgByb,QAAQ3X,EAAM28B,GAChC58B,GAAWC,EAAOvF,KAAKmX,IAAK,IAGrC1V,EAAgB0gC,MAAQniC,KAAKmiC,MAC7BniC,KAAKmiC,MAAQ,WACX1gC,EAAgB0gC,QAGhB,IAAInS,EAAQ,iBACQ,UAAhBhwB,KAAK8d,SAAoBkS,EAAQ,gBACrC/rB,GAAQ,GAAGjE,KAAKqwB,SAAW,cAAgB,KAAKnsB,GAA4BlE,KAAKiT,YAC9D,IAAjBjT,KAAKiT,QAAgB,SAAW,eAC5B+c,IA5WV,WACE,GAAIhwB,KAAKqwB,UAAgC,IAApBxwB,EAAUoE,MAC7BxrB,SAASu3C,MAAQ/rB,QACZ,GAAwB,IAApBpE,EAAUoE,MAAa,CAChC,IAEIm+B,EACAC,EACAC,EAJAC,GAAQ,EACRC,GAAQ,EAORJ,EAFAn3B,GACEA,GAA0BqiB,MAClB,KAAK5qC,KAAKoL,KAAKmd,GAA0BsnB,KAAOvyB,KAAKmX,QAErD,KAAKz0B,KAAKoL,KAAKmd,GAA0BsnB,KAAOvyB,KAAKmX,QACvDnX,KAAK0d,IAAI,uBAOJ,OANL,IACR/Y,OAAOpZ,EAAE,sBAAsB/N,aAAe,EAAI,IAAM,KACvDkF,KAAKoL,MACLkS,KAAKud,aAAaC,OAAOI,QAAU5d,KAAKud,aAAaC,OAAOjY,MAC3DvF,KAAKmX,QAIPrW,IACFyhC,GAAQ,EACRF,EAAU,OAGQ,cAAhBriC,KAAK8d,SACP0kB,GAAQ,EAENF,EADEzhC,EACQ,KAAKne,KAAKoL,KAAKod,GAAsBqnB,KAAOvyB,KAAKmX,QAEjD,IACRxS,OAAOpZ,EAAE,uBAAuB/N,aAAe,EAAI,IAAM,KACxDkF,KAAKoL,MACLkS,KAAKud,aAAaQ,SAASH,QAC1B5d,KAAKud,aAAaQ,SAASxY,MAC3BvF,KAAKmX,SAMb,IAAI57B,EAAM0oB,GACY,MAAlB1oB,EAAI2L,OAAO,KACb3L,EAAMA,EAAIg3B,UAAUh3B,EAAIknD,YAAY,KAAO,IAE7ChqD,SAASu3C,MAAQ,GACfoS,GAAWG,EAAQF,EAAU,KAAOG,EAAQF,EAAU,OACpD/mD,SACC,GAAwB,IAApBskB,EAAUoE,MAAa,CAChC,IAAI1oB,EAAM,GACNmnD,GAAQ,EACRz3B,KACFy3B,GAAQ,EACJz3B,GAA0BqiB,MAC5B/xC,GAAO,KAAKmH,KAAKoL,KAAKmd,GAA0BsnB,KAAOvyB,KAAKmX,QACzD57B,GAAO,KAAKmH,KAAKoL,KAAKmd,GAA0BsnB,KAAOvyB,KAAKmX,SAE/DrW,IACF4hC,GAAQ,EACRnnD,GAAO,OAEW,cAAhBykB,KAAK8d,QAA0Bjd,IACjCtlB,GAAO,KAAKmH,KAAKoL,KAAKod,GAAsBqnB,KAAOvyB,KAAKmX,QACxDurB,GAAQ,GAENA,IAAOnnD,GAAO,OAClB,IAAIy0C,EAAQ,iBACQ,UAAhBhwB,KAAK8d,SAAoBkS,EAAQ,gBACrCz0C,GAAOy0C,EACPv3C,SAASu3C,MAAQz0C,GAoSjBonD,GAtRJ,WACE,MAAMnR,EAAgB9uC,KAAK6D,IACzB,EACAyZ,KAAKyxB,oBACH/uC,KAAKkE,MAAMoZ,KAAKqmB,gBAAgBrmB,KAAKsmB,aAAetmB,KAAK6f,gBACvD,IAED7f,KAAK6f,cAAgB7f,KAAKsmB,eAGzB5D,EAAY1iB,KAAKkd,SACnBwC,KAAKC,MAAQ3f,KAAK0iB,WAAa,IAAQ1iB,KAAKmX,KAC7C,GAEH,IAAI57B,EAAM,GACVA,GAAO,kCACS,KAAdmnC,EAAmB,gBAAkBA,aAEvCnnC,GAAO,2BACHykB,KAAKkW,SAAW,IAClB36B,GAAO,uCAAuC2oB,GAC5ClE,KAAKkW,2BACYhS,GAA4BlE,KAAKkW,cACpD36B,GAAO,4BAGPA,GADEurB,GAAyB,EACpB,6CACAA,GAAyB,EAE9B,6GAEK,uCAAuC5C,GAC5C4C,6BACyB5C,GACzB4C,uBACmB5C,GACnB4C,mCAEJvrB,GAAO,2BACPA,GAAO,eAAe2oB,GACpBstB,8CAEFj2C,GACEskB,EAAUqoB,oBACN,oCAAoC/c,iDAAwEjH,GAC1GgF,GACA,iDAEF,GAEN3d,EAAE,iBAAiBoM,UAAYpc,EAuO7BqnD,IAqDJ,SAASC,KACP5T,KACA/H,KACAM,KAGAnnB,EAAe1iB,OAAO6C,KAAKwf,KAAKuwB,MAAMn2C,OAlmFtCinB,EAAU5oB,SAAS4D,cAAc,SACjCglB,EAAQ7mB,KAAO,WACf6mB,EAAQqM,GAAK,QAEbj1B,SAASqqD,KAAK/sC,YAAYsL,GAp3L5B,WACE,MAAMsR,EAASl6B,SAAS4D,cAAc,OACtCs2B,EAAOjF,GAAK,WACZiF,EAAOvwB,MAAMmG,OAAS,OACtBoqB,EAAOvwB,MAAMkG,MAAQ,OACrBqqB,EAAOvwB,MAAMgI,SAAW,WACxBuoB,EAAOvwB,MAAMqV,QAAU,OACvBkb,EAAOvwB,MAAM2gD,iBAAmB,UAChCpwB,EAAOvwB,MAAM8V,gBAAkB,+CAC/Bya,EAAOvwB,MAAM4gD,UAAY,kBACzBrwB,EAAOvwB,MAAMoV,SAAW,OACxBmb,EAAOvwB,MAAM6gD,WACX,uDAEF,MAAMC,EAAQvwB,EAAO5c,YAAYtd,SAAS4D,cAAc,UACxD6mD,EAAM9gD,MAAMkG,MAAQ,OACpB46C,EAAM9gD,MAAMuW,UAAY,SACxBuqC,EAAM9gD,MAAMoW,WAAa,SACzB,MAAM2qC,EAAQD,EAAMntC,YAAYtd,SAAS4D,cAAc,UAEjD+mD,EAAW,SAAUx9B,EAAM7d,GAC/B,MAAMs7C,EAAK5qD,SAAS4D,cAAc,MAIlC,OAHAgnD,EAAGjhD,MAAMuW,UAAY,QACrB0qC,EAAGzoD,UAAY8mB,EAAgB3Z,EAC/Bs7C,EAAG7lD,YAAcooB,EACVy9B,GAEH7oD,EAAO2oD,EAAMptC,YAAYtd,SAAS4D,cAAc,OACtD7B,EAAK4H,MAAMm0B,WAAa,OACxB/7B,EAAKub,YACHqtC,EAAS,aAAsCthC,IAEnCqhC,EAAMptC,YAAYtd,SAAS4D,cAAc,OACjD0Z,YAAYqtC,EAAS,eAAgBxhC,IAChCuhC,EAAMptC,YAAYtd,SAAS4D,cAAc,OACjD0Z,YAAYqtC,EAAS,iBAAkBxhC,IAC7BuhC,EAAMptC,YAAYtd,SAAS4D,cAAc,OACjD0Z,YAAYqtC,EAAS,YAAaxhC,IAEvCrW,EAAE,WAAWwK,YAAY4c,GAEzBh1B,OAAO6C,KAAKwf,KAAKuN,SAAS6B,SAASj1B,IACjCg4B,GAA2Bh4B,MA46Q7BmpD,GAvxQF,WACE,MAAMhwB,EAAW76B,SAAS4D,cAAc,OACxCi3B,EAAS5F,GAAK,aACd4F,EAASlxB,MAAMgI,SAAW,WAC1BkpB,EAASlxB,MAAMqV,QAAU,OACzB6b,EAASlxB,MAAMmG,OAAS,MACxB+qB,EAASlxB,MAAMuvB,SAAW,OAC1B2B,EAASlxB,MAAMm0B,WAAa,OAC5BjD,EAASlxB,MAAM2gD,iBAAmB,QAGlC,MAAMQ,EAAehyB,GAAY,eAAgB,cAAe,CAC9D,CAAE7D,GAAI,qBAAsB3lB,MAAOma,GACnC,CAAEwL,GAAI,kBAAmB3lB,MAAOka,KAElCqR,EAASvd,YAAYwtC,GAGrB,MAAMC,EAAgBjyB,GAAY,gBAAiB,gBAAiB,CAClE,CAAE7D,GAAI,sBAAuB3lB,MAAOma,GACpC,CAAEwL,GAAI,mBAAoB3lB,MAAOga,KAEnCuR,EAASvd,YAAYytC,GACrB,MAAMC,EAAqBhrD,SAAS4D,cAAc,OAClDonD,EAAmB/1B,GAAK,uBACxB4F,EAASvd,YAAY0tC,GAErBl4C,EAAE,WAAWwK,YAAYud,GA6vQzBowB,GAz5FF,WACE,MAAMC,EAAalrD,SAAS4D,cAAc,OAC1CsnD,EAAWj2B,GAAK,eAChBi2B,EAAWvhD,MAAMkG,MAAQ,OACzBq7C,EAAWvhD,MAAM2gD,iBAAmB,QACpCY,EAAWvhD,MAAMuW,UAAY,SAC7BgrC,EAAWvhD,MAAMm0B,WAAa,OAC9BotB,EAAWvhD,MAAMqV,QAAU,OAC3BksC,EAAWvhD,MAAMyU,OAAS,KAC1B8sC,EAAWvR,WAAa,WACtBpyB,KAAKyW,QAAQtlB,QAGf,MAAMotB,EAAc9lC,SAAS4D,cAAc,OAC3CkiC,EAAYxoB,YA/Dd,WACE,MAAM6tC,EAASnrD,SAAS4D,cAAc,OACtCunD,EAAOxhD,MAAMq8B,SAAW,QACxBmlB,EAAOxhD,MAAMu0B,aAAe,MAC5B,MAAMqZ,EAAQv3C,SAAS4D,cAAc,OACrC2zC,EAAMp1C,UAAY,OAClBo1C,EAAM5tC,MAAMu0B,aAAe,MAC3BqZ,EAAMxyC,YAAc,SACpBomD,EAAO7tC,YAAYi6B,GAEnB,MAAM6T,EAAa,SAAU97C,EAAO6d,GAClC,MAAM6K,EAAMh4B,SAAS4D,cAAc,OACnCo0B,EAAIruB,MAAMyvB,cAAgB,SAC1B,MAAM4jB,EAAOh9C,SAAS4D,cAAc,QAQpC,OAPAo5C,EAAK76C,UAAY+mB,EAAgB5Z,EACjC0tC,EAAKrzC,MAAMqV,QAAU,eACrBg+B,EAAKrzC,MAAMmG,OAAS,OACpBktC,EAAKrzC,MAAMkG,MAAQ,OACnBmtC,EAAKrzC,MAAMwvB,YAAc,MACzBnB,EAAI1a,YAAY0/B,GAChBhlB,EAAI1a,YAAYtd,SAASqgB,eAAe8M,IACjC6K,GAsBT,OAnBAmzB,EAAO7tC,YACL8tC,EAAWjiC,EAAY,iDAEzBgiC,EAAO7tC,YACL8tC,EAAWhiC,EAAa,wCAE1B+hC,EAAO7tC,YACL8tC,EAAW/hC,EAAc,0CAE3B8hC,EAAO7tC,YACL8tC,EAAW9hC,EAAc,0CAE3B6hC,EAAO7tC,YACL8tC,EAAW7hC,EAAW,0CAExB4hC,EAAO7tC,YACL8tC,EAAW5hC,EAAc,8CAE3B2hC,EAAO7tC,YAAY8tC,EAAW3hC,EAAY,4BACnC0hC,EAoBiBE,IACxBH,EAAW1R,YAAc,WACvBjyB,KAAKyW,QAAQ9kB,KAAK9Y,KAAM6lC,OAAOH,EAAY5mB,WAAY,UAGzD,MAAMosC,EAAgB,SAAUr2B,EAAI3lB,GAClC,MAAM0tC,EAAOh9C,SAAS4D,cAAc,QAMpC,OALAo5C,EAAK/nB,GAAKA,EACV+nB,EAAK76C,UAAY8mB,EAAgB3Z,EACjC0tC,EAAKrzC,MAAMkG,MAAQ,qBACnBmtC,EAAKrzC,MAAMqV,QAAU,eACrBg+B,EAAKj4C,YAAc,IACZi4C,GAETkO,EAAW5tC,YAAYguC,EAAc,mBAAoBniC,IACzD+hC,EAAW5tC,YAAYguC,EAAc,oBAAqBliC,IAC1D8hC,EAAW5tC,YAAYguC,EAAc,qBAAsBjiC,IAC3D6hC,EAAW5tC,YAAYguC,EAAc,qBAAsBhiC,IAC3D4hC,EAAW5tC,YAAYguC,EAAc,kBAAmB/hC,IACxD2hC,EAAW5tC,YAAYguC,EAAc,qBAAsB9hC,IAC3D0hC,EAAW5tC,YAAYguC,EAAc,mBAAoB7hC,IAEzD3W,EAAE,YAAY+N,WAAW60B,aACvBwV,EACAp4C,EAAE,YAAY+N,WAAWkX,WAAW,IAo3FtCwzB,GAjlFF,WACE,MAAMC,EAAcxrD,SAAS4D,cAAc,OAC3C4nD,EAAYv2B,GAAK,gBACjBu2B,EAAY7hD,MAAMkG,MAAQ,OAC1B27C,EAAY7hD,MAAMmG,OAAS,OAC3B07C,EAAY7hD,MAAM4U,gBAAkB,QACpCitC,EAAY7hD,MAAMqV,QAAU,OAC5BwsC,EAAY7hD,MAAMyU,OAAS,aAC3BotC,EAAY7hD,MAAMgI,SAAW,WAC7BmB,EAAE,WAAWwK,YAAYkuC,GAykFzBC,GA72FF,WACE,MAAMzzB,EAAMh4B,SAAS4D,cAAc,OACnCo0B,EAAI/C,GAAK,sBACT+C,EAAIruB,MAAMuW,UAAY,SACtB,MAAM3V,EAAIvK,SAAS4D,cAAc,KACjC2G,EAAEpI,UAAY,SACdoI,EAAE+uC,QAAU,WAC0B,SAAhCxmC,EAAE,YAAYnJ,MAAMqV,SACtBlM,EAAE,YAAYnJ,MAAMqV,QAAU,OAC9BlM,EAAE,kBAAkBnJ,MAAMqV,QAAU,OACpClM,EAAE,gBAAgBnJ,MAAMqV,QAAU,OAClClM,EAAE,iBAAiBnJ,MAAMqV,QAAU,SAEnClM,EAAE,YAAYnJ,MAAMqV,QAAU,OACc,IAAxClM,EAAE,kBAAkBkxB,SAASriC,SAC/BmR,EAAE,kBAAkBnJ,MAAMqV,QAAU,SACI,IAAtClM,EAAE,gBAAgBkxB,SAASriC,SAC7BmR,EAAE,gBAAgBnJ,MAAMqV,QAAU,SACO,IAAvClM,EAAE,iBAAiBkxB,SAASriC,SAC9BmR,EAAE,iBAAiBnJ,MAAMqV,QAAU,WAGzCzU,EAAExF,YAAc,qBAChBizB,EAAI1a,YAAY/S,GAChB,MAAMP,EAAIhK,SAAS4D,cAAc,KACjCoG,EAAE7H,UAAY,SACd6H,EAAEsvC,QAAU,WAC0B,SAAhCxmC,EAAE,YAAYnJ,MAAMqV,QACtBlM,EAAE,YAAYnJ,MAAMqV,QAAU,OAC3BlM,EAAE,YAAYnJ,MAAMqV,QAAU,QAErChV,EAAEjF,YAAc,sBAChBizB,EAAI1a,YAAYtT,GAChB8I,EAAE,SAAS4iC,aAAa1d,EAAKllB,EAAE,SAASilB,WAAW,IA60FnD2zB,GAvyJF,WACE,MAAMpc,EAAUtvC,SAAS4D,cAAc,QACvC0rC,EAAQra,GAAK,YACbqa,EAAQ13B,IAAM,gBACd03B,EAAQwF,KAAO,uDACf90C,SAAS2rD,qBAAqB,QAAQ,GAAGruC,YAAYgyB,GAmyJrDsc,GACA1mD,OAAO6C,KAAK8hB,GAAa8M,SAASj1B,KA5yFpC,SAA6BokC,EAAa3Y,EAAM6Y,GAC9C,MAAM6M,EAAU7yC,SAAS4D,cAAc,OACvCivC,EAAQ5d,GAAK6Q,EACb,MAAMqP,EAAOn1C,SAAS4D,cAAc,OACpCuxC,EAAKxrC,MAAMq8B,SAAWA,EACtBmP,EAAKxrC,MAAMu0B,aAAe,MAC1B,MAAMlG,EAAMh4B,SAAS4D,cAAc,OACnCo0B,EAAIruB,MAAMuW,UAAY,OACtB8X,EAAIjzB,YAAcooB,EAClBgoB,EAAK73B,YAAY0a,GACjB6a,EAAQv1B,YAAY63B,GACpBrrB,EAAsBgc,GAAe+M,EAkyFnCgZ,CACEhiC,EAAYnoB,GAAG,GACfmoB,EAAYnoB,GAAG,GACfmoB,EAAYnoB,GAAG,OAxqFrB,WACE,MAAM+hD,EAAUzjD,SAAS4D,cAAc,KACvC6/C,EAAQxuB,GAAK,6BACbwuB,EAAQ1+C,YAAc,iBACtB0+C,EAAQthD,UAAY,SACpBshD,EAAQnK,QAAU,WAChB8B,MAEFqI,EAAQ9J,WAAa,WACnBpyB,KAAKyW,QAAQ2qB,WAAa,GAE5BlF,EAAQjK,YAAc,WACpBjyB,KAAKyW,QAAQoe,QAAU,EACvB70B,KAAKyW,QAAQ9kB,KACX9Y,MACA,WACE,OAAOk7C,GAAc,KAAM,YAE7B,QAEF/zB,KAAKyW,QAAQqe,UAEfvpC,EAAE,oBAAoBkxB,SAAS,GAAG8nB,OAAOrI,GACzC,MAAME,EAAc3jD,SAAS4D,cAAc,KAC3C+/C,EAAY1uB,GAAK,2BACjB0uB,EAAY5+C,YAAc,qBAC1B4+C,EAAYxhD,UAAY,SACxBwhD,EAAYrK,QAAU,WACa,OAA7BpoB,GAAsB,KACxB3J,KAAKqR,UAAU1H,GAAsB,IAAImqB,GAAK,IAElDsI,EAAYhK,WAAa,WACvBpyB,KAAKyW,QAAQ2qB,WAAa,GAE5BhF,EAAYnK,YAAc,WACxBjyB,KAAKyW,QAAQoe,QAAU,EACvB70B,KAAKyW,QAAQ9kB,KACX9Y,MACA,WACE,OAAOk7C,GAAc,KAAM,gBAE7B,QAEF/zB,KAAKyW,QAAQqe,UAEfvpC,EAAE,oBAAoBkxB,SAAS,GAAG8nB,OAAOnI,GA8nFzCoI,GAvmFAj5C,EAAE,YAAYnJ,MAAMqV,QAAU,OAC9BlM,EAAE,aAAanJ,MAAMstB,QAAU,MAE/BnkB,EAAE,YAAYnJ,MAAMqV,QAAU,OAC9BlM,EAAE,YAAYnJ,MAAM,aAAe,OAqInCzE,OAAO6C,KAAKwf,KAAKuN,SAAS6B,SAASj1B,IACjC,MAAMk2B,EAAKrQ,KAAKuN,QAAQpzB,GACiB,OAArCoR,EAAE,UAAU8kB,EAAG3C,MAAMukB,cACvB3wB,EAAmBnnB,GAAKoR,EAAE,UAAU8kB,EAAG3C,MAAMukB,YAC7C1mC,EAAE,UAAU8kB,EAAG3C,MAAMukB,YAAc,WACjCjyB,KAAKyW,QAAQoe,QAAU,EACvB70B,KAAKyW,QAAQ9kB,KACX9Y,MACA,WACE,OAAOk7C,GAAc,IAAK,GAAG55C,OAE/B,SAEF6lB,KAAKyW,QAAQqe,cAUf90B,KAAKykC,aACPnkC,EAAoB/U,EAAE,SAAS0mC,YAC/B1mC,EAAE,SAAS0mC,YAAc,WACvBjyB,KAAKyW,QAAQoe,QAAU,EACvB70B,KAAKyW,QAAQ9kB,KACX9Y,MACA,WACE,OAAOk7C,GAAc,IAAK,UAE5B,QAEF/zB,KAAKyW,QAAQqe,WAkFjBl0B,EAAgBZ,KAAKY,cACrBZ,KAAKY,cAAgB,WACnBA,IA3EEZ,KAAKuN,QAAQmM,KAAKzL,iBACpB1iB,EAAE,gBAAgB0mC,YAAc,WAC9BjyB,KAAKyW,QAAQoe,QAAU,EACvB70B,KAAKyW,QAAQ9kB,KACX9Y,MACA,WACE,OAAOk7C,GAAc,KAAM,sBAE7B,QAEF/zB,KAAKyW,QAAQqe,UAEfnxC,MAAMg8C,KAAKp0C,EAAE,cAAckxB,UAAUrN,SAASs1B,IAC5C,MAAMC,EAASD,EAAMh3B,GAAGxP,OAAO,GAC/BwmC,EAAMzS,YAAc,WAClBjyB,KAAKyW,QAAQoe,QAAU,EACvB70B,KAAKyW,QAAQ9kB,KACX9Y,MACA,WACE,OAAOk7C,GAAc,IAAK,CAAC,GAAG4Q,EAAO,KAAM,GAAGA,EAAO,SAEvD,QAEF3kC,KAAKyW,QAAQqe,cAsDjBF,KAhDJ,WACE,GAAI50B,KAAKuN,QAAQF,OAAOY,eAAgB,CACtC,IAAK,IAAI9zB,EAAI,EAAGA,EAAI,GAAIA,GAAK,EAC3BoR,EAAE,YAAYpR,KAAK83C,YAAc,WAC/BjyB,KAAKyW,QAAQoe,QAAU,EACvB70B,KAAKyW,QAAQ9kB,KACX9Y,MACA,WACE,OAAOk7C,GAAc,MAAO55C,KAE9B,QAEF6lB,KAAKyW,QAAQqe,UAGjB,IAAK,IAAI36C,EAAI,EAAGA,EAAI,EAAGA,GAAK,EAC1BoR,EAAE,aAAapR,KAAK83C,YAAc,WAChCjyB,KAAKyW,QAAQoe,QAAU,EACvB70B,KAAKyW,QAAQ9kB,KACX9Y,MACA,WACE,OAAOk7C,GAAc,MAAO,CAC1B55C,EACA6lB,KAAKuN,QAAQF,OAAOC,SAAS8I,KAAKj8B,OAGtC,QAEF6lB,KAAKyW,QAAQqe,WAqBjB8P,GACA3P,MAEFj1B,KAAKY,gBAmyELrV,EAAE,wBAAwB0mC,YAAc,WACtCvvB,EAAsB,GAExBnX,EAAE,wBAAwB6mC,WAAa,WACrC1vB,EAAsB,EACtB1C,KAAKyW,QAAQtlB,OACbxT,OAAO6C,KAAKwf,KAAKqR,WAAWjC,SAASj1B,IACnCyoB,EAA0BzoB,GAAK,MA+DnCslD,KACAxK,KACAj1B,KAAKyhB,iBAELgS,KACAjxB,EAAoBxC,KAAKqwB,SAErBrwB,KAAK4c,MAAMioB,OACb7kC,KAAK8kC,MACH,0CAGF9kC,KAAK+kC,OACH,yCACA,GACA,GACA,EACA,GAGJ/kC,KAAKglC,IAAI,eAoEX,MAAMC,GAAK,CACTxrD,KApDF,WACEy1C,IAAiB,EACjB,IAAIgW,GAAU,EACVllC,KAAKwuB,UAAY7pB,OA/tTF,WAguTjBugC,EAAUC,QACR,8JAGAD,IACFrC,KACA7iC,KAAKolC,aAAa,OAAQzoB,IAC1B3c,KAAKolC,aAAa,QAAShV,IAC3BlB,IAAiB,IAyCnBmW,KA5BF,SAAc9pD,GACZ,MAAM8yC,EAAO7yC,KAAKC,MAAMF,GACxB0zC,KACAwE,GAAWpF,EAAKE,UACK,YAAjBF,EAAKG,UACHxuB,KAAK4c,MAAMioB,OACb7kC,KAAK8kC,MACH,iGAGF9kC,KAAK+kC,OACH,gGACA,GACA,GACA,EACA,KAcN1W,KAAMA,IAGRruB,KAAKslC,YAAY,gBAAiBL,KA3xTlC,IAxgHS","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file diff --git a/src/Disp/Tooltips/TypesOfTooltips/GardenPlots.js b/src/Disp/Tooltips/TypesOfTooltips/GardenPlots.js index c262ded8..7b18051f 100644 --- a/src/Disp/Tooltips/TypesOfTooltips/GardenPlots.js +++ b/src/Disp/Tooltips/TypesOfTooltips/GardenPlots.js @@ -16,7 +16,7 @@ export default function GardenPlots() { const mature = minigame.plot[TooltipName[1]][TooltipName[0]][1] > minigame.plantsById[minigame.plot[TooltipName[1]][TooltipName[0]][0] - 1] - .matureBase; + .mature; const plantName = minigame.plantsById[minigame.plot[TooltipName[1]][TooltipName[0]][0] - 1] .name; From fb0f9c3bf351950a80385e6c932c8d60a7f40789 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Sun, 28 Mar 2021 14:53:20 +0200 Subject: [PATCH 06/30] Increase max length to 100 --- .eslintrc.js | 9 +++++++++ .prettierrc.json | 3 +-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index deeecb55..1e6e7837 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -23,5 +23,14 @@ module.exports = { 'no-alert': 'off', 'no-restricted-globals': 'off', 'prefer-destructuring': ['error', { object: true, array: false }], + 'max-len': [ + 1, + { + code: 100, + ignoreComments: true, + ignoreStrings: true, + ignoreTemplateLiterals: true, + }, + ], }, }; diff --git a/.prettierrc.json b/.prettierrc.json index 94099675..a20502b7 100644 --- a/.prettierrc.json +++ b/.prettierrc.json @@ -1,5 +1,4 @@ { "singleQuote": true, - "trailingComma": "all", - "printWidth": 80 + "trailingComma": "all" } From 305762e7974d73da5a78fbe216c74bf6b669c9cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Sun, 28 Mar 2021 15:07:41 +0200 Subject: [PATCH 07/30] Fixed edit prompts in settings #732 --- .eslintrc.js | 1 + CookieMonster.js | 2 +- dist/CookieMonster.js | 2 +- dist/CookieMonster.js.map | 2 +- src/Disp/MenuSections/Prompt.js | 23 +++++++++++++++++++++++ src/Disp/MenuSections/SettingsPage.js | 12 +++++++++--- 6 files changed, 36 insertions(+), 6 deletions(-) create mode 100644 src/Disp/MenuSections/Prompt.js diff --git a/.eslintrc.js b/.eslintrc.js index 1e6e7837..1a7f792b 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -9,6 +9,7 @@ module.exports = { b64_to_utf8: 'readonly', utf8_to_b64: 'readonly', BeautifyAll: 'readonly', + PlaySound: 'readonly', }, extends: ['airbnb-base', 'plugin:prettier/recommended'], parserOptions: { diff --git a/CookieMonster.js b/CookieMonster.js index fcfe9992..34832763 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],U={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Re,Ue,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Rt=0,Ut={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Re===t.id)return 2;if(Ue===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Re=t.minigame.slot[1],Ue=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;eVt[30][0]?W:L,0!==Number(e.PPSecondsLowerLimit)&&o/lo()0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ro=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Uo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Ro).forEach((e=>{to(Ro[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Ut.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Aabreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Ut=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Ut=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(U[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Rn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Rt,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(i.push(Ro[e]),o=!0)}));const a=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(a.push(Uo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Un={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Un).forEach((t=>{const n=In(t,Un[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Rn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Ut?Ut.wrath?`[W${Math.ceil(Ut.life/Game.fps)}]`:`[G${Math.ceil(Ut.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Ut&&(t=!0,Ut.wrath?e+=`[W${Math.ceil(Ut.life/Game.fps)}]`:e+=`[G${Math.ceil(Ut.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),U[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,Rt={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Ue===t.id)return 2;if(Re===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Ue=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;eVt[30][0]?W:L,0!==Number(e.PPSecondsLowerLimit)&&o/lo()0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Uo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Uo).forEach((e=>{to(Uo[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Aabreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Rt=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Un(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Ut,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(i.push(Uo[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Rn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Rn).forEach((t=>{const n=In(t,Rn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Un(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index fcfe9992..34832763 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],U={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Re,Ue,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Rt=0,Ut={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Re===t.id)return 2;if(Ue===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Re=t.minigame.slot[1],Ue=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;eVt[30][0]?W:L,0!==Number(e.PPSecondsLowerLimit)&&o/lo()0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ro=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Uo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Ro).forEach((e=>{to(Ro[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Ut.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Aabreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Ut=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Ut=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(U[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Rn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Rt,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(i.push(Ro[e]),o=!0)}));const a=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(a.push(Uo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Un={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Un).forEach((t=>{const n=In(t,Un[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Rn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Ut?Ut.wrath?`[W${Math.ceil(Ut.life/Game.fps)}]`:`[G${Math.ceil(Ut.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Ut&&(t=!0,Ut.wrath?e+=`[W${Math.ceil(Ut.life/Game.fps)}]`:e+=`[G${Math.ceil(Ut.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),U[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,Rt={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Ue===t.id)return 2;if(Re===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Ue=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;eVt[30][0]?W:L,0!==Number(e.PPSecondsLowerLimit)&&o/lo()0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Uo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Uo).forEach((e=>{to(Uo[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Aabreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Rt=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Un(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Ut,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(i.push(Uo[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Rn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Rn).forEach((t=>{const n=In(t,Rn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Un(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index 5e785e97..7eac7ecb 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","Prompt","outerHTML","ClosePrompt","innerDiv","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","groupObject","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":";AAAS,MACC,IAAIA,EAAsB,CAE9BC,IACA,SAAUC,IAchB,SAAWC,EAAQC,GAElB,aAEuC,iBAAnBF,EAAOG,QAc3BD,EAAQD,GAZPD,EAAOG,QAAUF,EAAOG,SACvBF,EAASD,GACT,SAAUI,GACT,IAAKA,EAAID,SACR,MAAM,IAAIE,MAAM,wCAEjB,OAAOJ,EAAQG,IAZnB,CAoBqB,oBAAXE,OAAyBA,OAASC,MAAM,SAAUD,GAK5D,aAGA,IAwgDME,EAt7BAC,EAzXAC,EAvNFC,EAFAC,IAEAD,EAAM,CAGTE,aAAc,EAEdC,UAAY,GAEZC,WAAa,GAGbC,SAAW,gBACY,IAAXV,GAA0BA,EAAOH,UAC3CG,EAAOH,SAASc,iBAAiB,mBAAoBN,EAAIO,IAAIC,MAAM,IAKrEC,kBAAoB,SAAUC,EAAUC,GAEvC,KADAA,EAAWA,EAAWX,EAAIY,KAAKD,GAAYhB,EAAOH,UAEjD,MAAM,IAAIE,MAAM,qBAQjB,IALA,IAAImB,EAAOF,EAASG,iBAAiBJ,GAGjCK,EAAa,IAAIC,OAAO,WAAahB,EAAIO,IAAIU,YAAc,6BAA8B,KAEpFC,EAAI,EAAGA,EAAIL,EAAKM,OAAQD,GAAK,EAAG,CAUxC,IAAIE,EAAUC,EARd,KAAIR,EAAKK,GAAGjB,SAAWY,EAAKK,GAAGjB,mBAAmBD,EAAIO,YAIjCe,IAAjBT,EAAKK,GAAGK,MAAoD,SAA9BV,EAAKK,GAAGK,KAAKC,gBAA4BxB,EAAIyB,wBAOzB,QAApDL,EAAWpB,EAAI0B,YAAYb,EAAKK,GAAI,aACpCL,EAAKK,GAAGS,YAAcN,EAAIR,EAAKK,GAAGS,UAAUC,MAAMb,KAClD,CACD,IAAIc,EAAYhB,EAAKK,GAEjBY,EAAU,GACG,OAAbV,EACHU,EAAUV,EAEAC,IACVU,QAAQC,KAAK,sFAAwFhC,EAAIiC,SACrGZ,EAAE,KACLS,EAAUT,EAAE,KAId,IAAIa,EAAO,KACX,GAAIJ,EAAQK,OACX,IACCD,EAAOlC,EAAIoC,gBAAgBN,GAC1B,MAAOO,GACRN,QAAQC,KAAKK,EAAI,KAAOP,GAI1B,IACC,IAAI9B,EAAIO,IAAIsB,EAAWK,GACtB,MAAOG,GACRN,QAAQC,KAAKK,OAOjBD,gBAAkB,SAAUE,GAC3B,IAAIJ,EAAO,KAEX,IACCA,EAAOK,KAAKC,MAAMF,GAEjB,MAAOG,GACR,IAAKzC,EAAIO,IAAImC,UACZ,MAAM,IAAIhD,MAAM,4CAA8C+C,GAG9D,IACCP,EAAO,IAAKS,SAAU,eAAiBL,EAAM,kDAAtC,GACN,MAAOM,GACR,MAAM,IAAIlD,MAAM,uCAAyCkD,IAI5D,OAAOV,GAIRW,aAAe,WAEd,IADA,IAAIC,EAAO,GACF5B,EAAI,EAAGA,EAAIlB,EAAIG,UAAUgB,OAAQD,GAAK,EAE1ClB,EAAIG,UAAUe,IAAMlB,EAAIG,UAAUe,GAAG6B,eACxCD,EAAKE,KAAKhD,EAAIG,UAAUe,IAG1B,OAAO4B,GAIRG,SAAW,SAAUC,GACpB,IAAIC,EAAKxD,EAAOH,SAAS4D,cAAcF,GAEvC,OADAlD,EAAIqD,QAAQF,EAAI,OAAO,GAChBA,GAIRvC,KAAO,SAAU0C,GAChB,IAAKA,EACJ,OAAO,KAGR,GAA8B,iBAAnBA,EAA6B,CAEvC,IAAIC,EAAMD,EACNH,EAAK,KACT,IACCA,EAAKxD,EAAOH,SAASgE,cAAcD,GAClC,MAAOlB,GAER,OADAN,QAAQC,KAAKK,GACN,KAKR,OAHKc,GACJpB,QAAQC,KAAK,sCAAuCuB,GAE9CJ,EAGR,OAAInD,EAAIyD,OAAOH,GAEPA,GAGRvB,QAAQC,KAAK,qCAAsCsB,EAAgBA,GAC5D,OAKRG,OAAS,SAAUC,GAClB,MAAoB,iBAATC,KACHD,aAAeC,KAEhBD,GAAsB,iBAARA,GAA4C,iBAAjBA,EAAIE,UAAiD,iBAAjBF,EAAIG,UAIzFA,SAAW,SAAUjD,GACpB,SAAIA,IAAQA,EAAKiD,WACTjD,EAAKiD,SAASrC,eAMvBsC,eAAiB,SAAUlD,GAC1B,KAAOA,EAAKmD,YACXnD,EAAKoD,YAAYpD,EAAKmD,aAKxBE,YAAc,SAAUd,GACvB,OAAOA,GAA2B,UAArBnD,EAAI6D,SAASV,IAA6C,SAA1BA,EAAG5B,KAAKC,eAItD0C,SAAW,SAAUf,GACpB,IAAKA,EACJ,OAAO,EAER,IAAIgB,EAAInE,EAAI6D,SAASV,GACrB,MACQ,WAANgB,GACM,UAANA,GAAiB,CAAC,SAAU,SAAU,SAASC,QAAQjB,EAAG5B,KAAKC,gBAAkB,GAKpF6C,cAAgB,SAAUlB,GACzB,OAAQnD,EAAI6D,SAASV,IACpB,IAAK,QAAS,OAASA,EAAGmB,OAA6B,KAApBnB,EAAGmB,MAAMnC,OAC5C,IAAK,SAAU,MAAkC,KAA1BgB,EAAGoB,YAAYpC,OAEvC,OAAO,MAKRqC,wBAA0B,WACzB,IAAIC,GAAY,EAEhB,IACC,IAAIvC,EAAOwC,OAAOC,eAAe,GAAI,UAAW,CAC/CC,IAAK,WAAcH,GAAY,KAEhC9E,EAAOW,iBAAiB,cAAe,KAAM4B,GAC7CvC,EAAOkF,oBAAoB,cAAe,KAAM3C,GAC/C,MAAOG,IAET,OAAOoC,EAXkB,GAe1BhD,sBACK1B,EAAMJ,EAAOH,SAAS4D,cAAc,YACpCrD,EAAI+E,eACP/E,EAAI+E,aAAa,OAAQ,SACK,SAA1B/E,EAAIwB,KAAKC,iBAQfuD,SAAW,gBAOX1B,QAAU,WACT,IAAI2B,EAAMC,UAAU,GAEpB,GAAyB,IAArBA,UAAU9D,OAAc,CAE3B,IAAI+D,EAAOF,EAAIG,eAAenF,EAAI+E,UAAYC,EAAIhF,EAAI+E,UAAaC,EAAIhF,EAAI+E,UAAY,GAEnFT,EAAQW,UAAU,GAGtB,OADAC,EAHIE,EAAOH,UAAU,IAGRX,GACN,EAED,GAAyB,IAArBW,UAAU9D,QAAwC,iBAAjB8D,UAAU,GAAiB,CAElEC,EAAOF,EAAIG,eAAenF,EAAI+E,UAAYC,EAAIhF,EAAI+E,UAAaC,EAAIhF,EAAI+E,UAAY,GAAvF,IACIM,EAAMJ,UAAU,GAEpB,IAAK,IAAIG,KAAQC,EACZA,EAAIF,eAAeC,KACtBF,EAAKE,GAAQC,EAAID,IAGnB,OAAO,EAGR,MAAM,IAAI1F,MAAM,sBAOjB4F,WAAa,WACZ,IAAIN,EAAMC,UAAU,GACpB,IAAKD,EAAIG,eAAenF,EAAI+E,UAC3B,OAAO,EAER,IAAK,IAAI7D,EAAI,EAAGA,EAAI+D,UAAU9D,OAAQD,GAAK,EAAG,CAC7C,IAAIkE,EAAOH,UAAU/D,UACd8D,EAAIhF,EAAI+E,UAAUK,GAE1B,OAAO,GAIRG,QAAU,SAAUP,EAAKI,EAAMI,GAC9B,IAAKR,EAAIG,eAAenF,EAAI+E,UAAW,CAEtC,QAAmBzD,IAAfkE,EAGH,OAFAR,EAAIhF,EAAI+E,UAAY,GAKtB,IAAIG,EAAOF,EAAIhF,EAAI+E,UAKnB,OAHKG,EAAKC,eAAeC,SAAwB9D,IAAfkE,IACjCN,EAAKE,GAAQI,GAEPN,EAAKE,IAIb1D,YAAc,SAAUyB,EAAIsC,GAC3B,IAAIC,EAAW,QAAUD,EAEzB,OADgBtC,EAAGwC,aAAaD,IAKjCE,YAAc,SAAUzC,EAAIsC,EAAMnB,GACjC,IAAIoB,EAAW,QAAUD,EACzBtC,EAAG2B,aAAaY,EAAUpB,IAI3BuB,qBAAuB,GAGvBC,iBAAmB,SAAUC,EAAW5C,EAAI6C,EAAMC,GAC5CjG,EAAI6F,qBAAqBV,eAAeY,KAC5C/F,EAAI6F,qBAAqBE,GAAa,IAEvC/F,EAAI6F,qBAAqBE,GAAW/C,KAAK,CAACG,EAAI6C,EAAMC,IACpD9C,EAAG7C,iBAAiB0F,EAAMC,GAAM,IAIjCC,kBAAoB,SAAUH,GAC7B,GAAI/F,EAAI6F,qBAAqBV,eAAeY,GAAY,CACvD,IAAK,IAAI7E,EAAI,EAAGA,EAAIlB,EAAI6F,qBAAqBE,GAAW5E,OAAQD,GAAK,EAAG,CACvE,IAAIiF,EAAMnG,EAAI6F,qBAAqBE,GAAW7E,GAC9CiF,EAAI,GAAGtB,oBAAoBsB,EAAI,GAAIA,EAAI,IAAI,UAErCnG,EAAI6F,qBAAqBE,KAKlCK,eAAiB,SAAU/D,GACtBA,EAAE+D,gBAAkB/D,EAAE+D,iBAC1B/D,EAAEgE,aAAc,GAIjBC,cAAgB,SAAUC,GAErBA,EAAOC,aACVxG,EAAIyG,gBAAkBF,EACtBvG,EAAIyG,gBAAgBD,eAKtBE,cAAgB,WAEX1G,EAAIyG,kBACPzG,EAAIyG,gBAAgBE,iBACpB3G,EAAIyG,gBAAkB,OAKxBG,aAAe,SAAUzD,EAAI0D,EAAWC,EAASC,GAChD,GAAK5D,EAAL,CAIA,IAAI6D,EAAK,KAaT,MAXqB,mBAAVC,MACVD,EAAK,IAAIC,MAAMJ,EAAW,CACzBC,QAASA,EACTC,WAAYA,KAIbC,EAAKrH,EAAOH,SAAS0H,YAAY,UAC9BC,UAAUN,EAAWC,EAASC,KAG7BC,IAKLhH,EAAIqD,QAAQ2D,EAAI,YAAY,GAE5B7D,EAAGiE,cAAcJ,IACV,KAIRK,kBAAoB,SAAUlE,EAAI0D,EAAWC,EAASC,GAChD5D,GAGDnD,EAAIiE,YAAYd,IACnBnD,EAAI4G,aAAazD,EAAI0D,EAAWC,EAASC,IAK3CO,SAAW,SAAUN,GACpB,IAAIO,EAAO,CACVC,EAAG,MACHC,GAAI,QACJC,GAAI,UAEL,MAAuB,iBAAZV,EAAGW,KACNX,EAAGW,UACerG,IAAf0F,EAAGY,SAAyBL,EAAKpC,eAAe6B,EAAGY,SACtDL,EAAKP,EAAGY,SAET,MAIRC,QAAU,SAAUvF,GACnB,OAAKA,EAGEA,EAAIwF,QAAQ,aAAc,IAAIC,MAAM,OAFnC,IAOTC,SAAW,SAAUjI,EAAK4B,GACzB,QAAKA,SAGiBL,IAAlBvB,EAAIkI,UACAlI,EAAIkI,UAAUC,SAASvG,IAGvB,IAAM,IAAM5B,EAAI4B,UAAUmG,QAAQ,OAAQ,KAAO,KAAK1D,QAAQ,IAAMzC,EAAY,OAKzFwG,SAAW,SAAUpI,EAAK4B,GACzB,IAAIyG,EAAapI,EAAI6H,QAAQlG,GAE7B,QAAsBL,IAAlBvB,EAAIkI,UAOR,IAAS/G,EAAI,EAAGA,EAAIkH,EAAWjH,OAAQD,GAAK,EACtClB,EAAIgI,SAASjI,EAAKqI,EAAWlH,MACjCnB,EAAI4B,YAAc5B,EAAI4B,UAAY,IAAM,IAAMyG,EAAWlH,SAR1D,IAAK,IAAIA,EAAI,EAAGA,EAAIkH,EAAWjH,OAAQD,GAAK,EAC3CnB,EAAIkI,UAAUI,IAAID,EAAWlH,KAchCoH,YAAc,SAAUvI,EAAK4B,GAC5B,IAAIyG,EAAapI,EAAI6H,QAAQlG,GAE7B,QAAsBL,IAAlBvB,EAAIkI,UAOR,IAAS/G,EAAI,EAAGA,EAAIkH,EAAWjH,OAAQD,GAAK,EAAG,CAC9C,IAAIqH,EAAO,IAAIvH,OACd,QAAUoH,EAAWlH,GAArB,YACSkH,EAAWlH,GADpB,aAESkH,EAAWlH,GAAK,SACzB,KAEDnB,EAAI4B,UAAY5B,EAAI4B,UAAUmG,QAAQS,EAAM,WAb5C,IAAK,IAAIrH,EAAI,EAAGA,EAAIkH,EAAWjH,OAAQD,GAAK,EAC3CnB,EAAIkI,UAAUO,OAAOJ,EAAWlH,KAiBnCuH,aAAe,SAAU1I,GAKxB,OAJgBJ,EAAO+I,iBAAmB/I,EAAO+I,iBAAiB3I,GAAOA,EAAI4I,eAKrE,IAUTC,SAAW,SAAU7I,EAAK8I,EAAQC,EAAWC,GAE5C,IAAIC,EAAWF,EAAY,YAAc,GACrCG,EAAY,KAEhB,IAAK,IAAI7D,KAAQyD,EAChB,GAAIA,EAAO1D,eAAeC,GAAO,CAChC,IAAI8D,EAAS,KAEQ,OAAjBL,EAAOzD,IAGL6D,IAEJA,EAAYjJ,EAAIuF,QAAQxF,EAAK,cAE1BkJ,GAAaA,EAAU9D,eAAeC,KAEzC8D,EAASD,EAAU7D,MAMhB2D,IACEE,IAEJA,EAAYjJ,EAAIuF,QAAQxF,EAAK,YAAa,KAEtCkJ,EAAU9D,eAAeC,KAE7B6D,EAAU7D,GAAQrF,EAAIoJ,MAAM/D,KAG9B8D,EAASL,EAAOzD,IAGF,OAAX8D,GACHnJ,EAAIoJ,MAAMC,YAAYhE,EAAM8D,EAAQF,KAOxCK,SAAW,SAAUC,EAAGC,EAAGC,GAC1B,MAAO,MACL,IAAMC,KAAKC,MAAMJ,GAAGK,SAAS,KAAKC,QAAQ,IAC1C,IAAMH,KAAKC,MAAMH,GAAGI,SAAS,KAAKC,QAAQ,IAC1C,IAAMH,KAAKC,MAAMF,GAAGG,SAAS,KAAKC,QAAQ,IAC1CC,eAIHC,UAAY,SAAUR,EAAGC,EAAGC,EAAGO,GAC9B,MAAO,MACL,IAAMN,KAAKC,MAAMJ,GAAGK,SAAS,KAAKC,QAAQ,IAC1C,IAAMH,KAAKC,MAAMH,GAAGI,SAAS,KAAKC,QAAQ,IAC1C,IAAMH,KAAKC,MAAMF,GAAGG,SAAS,KAAKC,QAAQ,IAC1C,IAAMH,KAAKC,MAAU,IAAJK,GAASJ,SAAS,KAAKC,QAAQ,IAChDC,eAIHG,SAAW,SAAUV,EAAGC,EAAGC,GAC1B,MAAO,OACNC,KAAKC,MAAMJ,GAAK,IAChBG,KAAKC,MAAMH,GAAK,IAChBE,KAAKC,MAAMF,GACZ,KAIDS,UAAY,SAAUX,EAAGC,EAAGC,EAAGO,GAC9B,MAAO,QACNN,KAAKC,MAAMJ,GAAK,IAChBG,KAAKC,MAAMH,GAAK,IAChBE,KAAKC,MAAMF,GAAK,IACfC,KAAKC,MAA4C,KAArCK,QAA4B,EAAIA,IAAY,IAC1D,KAIDG,gBAmBKpK,EAjBJ,WAKC,IAJA,IAAIqK,EAAU,kBACVC,EAAW,CAAC,GAAI,WAAY,QAAS,MAAO,QAC5CC,EAAS1K,EAAOH,SAAS4D,cAAc,OAElClC,EAAI,EAAGA,EAAIkJ,EAASjJ,OAAQD,GAAK,EAAG,CAC5C,IAAIoJ,EAAUF,EAASlJ,GAAKiJ,EACxBI,EAASD,EAAU,2CAGvB,GADAD,EAAOlB,MAAMqB,WAAaD,EACtBF,EAAOlB,MAAMqB,WAChB,OAAOF,EAGT,OAAOH,EAGOM,GAER,WACN,OAAO3K,EAAW,IAAM4K,MAAMC,UAAUC,KAAKC,KAAK5F,UAAW,MAAQ,MAMvE6F,gBAAkB,SAAU/K,EAAKuE,GAChCtE,EAAI4I,SAAS7I,EAAK,CAACgL,gBAAkBzG,GAAS,OAI/C0G,aAAe,SAAUjL,EAAKuE,GAC7BtE,EAAI4I,SAAS7I,EAAK,CAACkL,aAAc3G,GAAS,UAI3C4G,cAAgB,SAAU7I,EAAG8I,GAC5B,IAAIC,EAAE,EAAGC,EAAE,EACPC,EAAOjJ,EAAEkJ,wBAGb,GAFAH,EAAIE,EAAKE,KACTH,EAAIC,EAAKG,KACJN,EAAoB,CACxB,IAAIO,EAAU1L,EAAI2L,aAClBP,GAAKM,EAAQ,GACbL,GAAKK,EAAQ,GAEd,MAAO,CAACN,EAAGC,IAIZO,eAAiB,SAAUvJ,GAC1B,MAAO,CAACA,EAAEwJ,YAAaxJ,EAAEyJ,eAK1BC,iBAAmB,SAAU1J,GAC5B,IAAI+I,EAAI,EAAGC,EAAI,EASf,YARgC,IAArBhJ,EAAE2J,gBAAkC3J,EAAE2J,eAAe7K,QAE/DiK,EAAI/I,EAAE2J,eAAe,GAAGC,QACxBZ,EAAIhJ,EAAE2J,eAAe,GAAGE,SACO,iBAAd7J,EAAE4J,UACnBb,EAAI/I,EAAE4J,QACNZ,EAAIhJ,EAAE6J,SAEA,CAAEd,EAAGA,EAAGC,EAAGA,IAKnBc,iBAAmB,SAAU9J,GAC5B,IACI+J,GADS/J,EAAEkE,QAAUlE,EAAEgK,YACHd,wBAIpBU,EAAU,EAAGC,EAAU,EAY3B,YAXgC,IAArB7J,EAAE2J,gBAAkC3J,EAAE2J,eAAe7K,QAE/D8K,EAAU5J,EAAE2J,eAAe,GAAGC,QAC9BC,EAAU7J,EAAE2J,eAAe,GAAGE,SACC,iBAAd7J,EAAE4J,UACnBA,EAAU5J,EAAE4J,QACZC,EAAU7J,EAAE6J,SAKN,CAAEd,EAFLa,EAAUG,EAAWZ,KAEVH,EADXa,EAAUE,EAAWX,MAK1BE,WAAa,WACZ,IAAIW,EAAM3M,EAAOH,SAAS+M,gBAC1B,MAAO,EACL5M,EAAO6M,aAAeF,EAAIG,aAAeH,EAAII,YAAc,IAC3D/M,EAAOgN,aAAeL,EAAIM,YAAcN,EAAIO,WAAa,KAK5DC,YAAc,WACb,IAAIR,EAAM3M,EAAOH,SAAS+M,gBAC1B,MAAO,CACL5M,EAAOoN,YAAcT,EAAIU,YACzBrN,EAAOsN,aAAeX,EAAIY,eAW7BC,QAAU,SAAU7D,EAAGC,EAAGC,GACzBF,GAAK,IACLC,GAAK,IACLC,GAAK,IACL,IAAIrF,EAAIsF,KAAK2D,IAAI3D,KAAK2D,IAAI9D,EAAEC,GAAGC,GAC3B6D,EAAI5D,KAAK6D,IAAI7D,KAAK6D,IAAIhE,EAAEC,GAAGC,GAC3BnI,EAAIgM,EAAIlJ,EACZ,GAAU,IAAN9C,EAAW,MAAO,CAAE,KAAM,EAAG,IAAMgM,GACvC,IAAIE,EAAIjE,IAAInF,EAAI,GAAGqF,EAAED,GAAGlI,EAAKkI,IAAIpF,EAAI,GAAGmF,EAAEE,GAAGnI,EAAI,GAAGkI,EAAED,GAAGjI,EACzD,MAAO,CACN,IAAU,IAAJkM,EAAM,EAAEA,GACPlM,EAAEgM,EAAT,IACA,IAAMA,IAWRG,QAAU,SAAUD,EAAGE,EAAGJ,GACzB,IAAIK,EAAWL,EAAI,IAAX,IAER,GAAU,OAANE,EACH,MAAO,CAAEG,EAAGA,EAAGA,GAGhBH,GAAK,GACLE,GAAK,IAEL,IAAIvM,EAAIuI,KAAKkE,MAAMJ,GAEflM,EAAIqM,GAAK,EAAID,GACbtJ,EAAIuJ,GAAK,EAAID,GAFTvM,EAAE,EAAIqM,EAAErM,EAAI,GAAGqM,EAAErM,KAGzB,OAAQA,GACP,KAAK,EACL,KAAK,EAAG,MAAO,CAACwM,EAAEvJ,EAAE9C,GACpB,KAAK,EAAG,MAAO,CAAC8C,EAAEuJ,EAAErM,GACpB,KAAK,EAAG,MAAO,CAACA,EAAEqM,EAAEvJ,GACpB,KAAK,EAAG,MAAO,CAAC9C,EAAE8C,EAAEuJ,GACpB,KAAK,EAAG,MAAO,CAACvJ,EAAE9C,EAAEqM,GACpB,KAAK,EAAG,MAAO,CAACA,EAAErM,EAAE8C,KAKtByJ,iBAAmB,SAAUtL,GAC5B,IAKIjB,EALAwM,EAAM,CACTC,KAAM,KACNC,OAAQ,MAKT,GAAI1M,EAAIiB,EAAIV,MAAM,4BAA6B,CAG9C,GAAoB,IAAhBP,EAAE,GAAGF,OAER0M,EAAIE,OAAS,OACbF,EAAIC,KAAO,CACVE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1BoE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1BoE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1BoE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAAM,UAG3B,GAAoB,IAAhBvI,EAAE,GAAGF,OAEf0M,EAAIE,OAAS,MACbF,EAAIC,KAAO,CACVE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1BoE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1BoE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1B,UAGK,IAAoB,IAAhBvI,EAAE,GAAGF,OAWf,OAAO,EATP0M,EAAIE,OAAS,MACbF,EAAIC,KAAO,CACVE,SAAS3M,EAAE,GAAG4M,OAAO,GAAK5M,EAAE,GAAG4M,OAAO,GAAG,IACzCD,SAAS3M,EAAE,GAAG4M,OAAO,GAAK5M,EAAE,GAAG4M,OAAO,GAAG,IACzCD,SAAS3M,EAAE,GAAG4M,OAAO,GAAK5M,EAAE,GAAG4M,OAAO,GAAG,IACzC,MAOF,OAAOJ,EAGR,GAAIxM,EAAIiB,EAAIV,MAAM,6BAA8B,CAG/C,IAEIsM,EAAIC,EAAIC,EAAIC,EAFZC,EAAMjN,EAAE,GAAG0G,MAAM,KACjBwG,EAAK,kCAET,GACCD,EAAInN,QAAU,IACb+M,EAAKI,EAAI,GAAG1M,MAAM2M,MAClBJ,EAAKG,EAAI,GAAG1M,MAAM2M,MAClBH,EAAKE,EAAI,GAAG1M,MAAM2M,IAiBnB,OAfAV,EAAIE,OAAS,MACbF,EAAIC,KAAO,CACVU,WAAWN,EAAG,KAAO,EACrBM,WAAWL,EAAG,KAAO,EACrBK,WAAWJ,EAAG,KAAO,EACrB,MAIAE,EAAInN,QAAU,IACbkN,EAAKC,EAAI,GAAG1M,MAAM2M,MAEnBV,EAAIE,OAAS,OACbF,EAAIC,KAAK,GAAKU,WAAWH,EAAG,KAAO,GAE7BR,EAIT,OAAO,GAIRY,kBAAoB,SAAUC,GAC7B,IAAIC,EAAO,GAEU,iBAAVD,EAEVA,EAAM5G,QAAQ,iDAAiD,SAAUpE,GACxEiL,EAAK3L,KAAKU,MAEDgH,MAAMkE,QAAQF,KACxBC,EAAOD,GAOR,IAFA,IAAIG,EAAS,GAEJ3N,EAAI,EAAGA,EAAIyN,EAAKxN,OAAQD,IAAK,CACrC,IAAI4N,EAAQ9O,EAAI4N,iBAAiBe,EAAKzN,IAClC4N,GACHD,EAAO7L,KAAK8L,GAId,OAAOD,GAIRE,wBAA0B,SAAUF,GACnC,IAAK,IAAI3N,EAAI,EAAGA,EAAI2N,EAAO1N,OAAQD,IAAK,CACvC,IAAI6I,EAAI8E,EAAO3N,GAAG4M,KAAK,GACvB,GAAU,OAAN/D,GAAcA,EAAI,EACrB,OAAO,EAGT,OAAO,GAIRiF,cAAgB,SAAUjB,GACzB,OAAQA,EAAOvM,eACf,IAAK,OACL,IAAK,OACJ,OAAO,EAER,OAAO,GAQRyN,sBAAwB,SAAUC,GACjC,IAAIC,EAAMxP,EAAOyP,kBAAoB,EACrCF,EAAOG,OAASF,EAChBD,EAAOI,QAAUH,EACPD,EAAOK,WAAW,MACxBC,MAAML,EAAKA,IAIhBM,sBAAwB,SAAUX,EAAOY,EAAcC,EAAWC,GAEjE,IAAIC,EAAOpG,KAAKC,MAAM1J,EAAIO,IAAIuP,iBAAiB3O,QAC3C4O,EAAS/P,EAAIO,IAAIyP,eACjBC,EAAWjQ,EAAIO,IAAI2P,iBACnBC,EAAWnQ,EAAIO,IAAI6P,iBAEnBC,EAASV,GAAiC,EAATI,EACjCO,EAAmB,EAATP,EAEVb,EAASlP,EAAIiD,SAAS,UACtBsN,EAAMrB,EAAOK,WAAW,MAE5BL,EAAOG,MAAQgB,EACfnB,EAAOI,OAASgB,EACZV,GACH5P,EAAIiP,sBAAsBC,GAI3BqB,EAAIC,UAAYP,EAChBM,EAAIE,SAAS,EAAG,EAAGJ,EAAQC,GAG3BC,EAAIC,UAAYL,EAChB,IAAK,IAAI/E,EAAI,EAAGA,EAAIiF,EAAQjF,GAAc,EAAT2E,EAChCQ,EAAIE,SAASrF,EAAG,EAAG2E,EAAQA,GAC3BQ,EAAIE,SAASrF,EAAI2E,EAAQA,EAAQA,EAAQA,GAGtCjB,IAEHyB,EAAIC,UAAY1B,EAChByB,EAAIE,SAAS,EAAG,EAAGJ,EAAQC,IAG5B,IAAII,EAAQ,KACZ,OAAQhB,GACP,IAAK,OACJgB,EAAQ,EACRH,EAAII,UAAU,EAAG,EAAGd,EAAK,EAAGS,GAC5B,MACD,IAAK,QACJI,EAAQL,EAASR,EACjBU,EAAII,UAAUN,EAAUR,EAAK,EAAI,EAAGA,EAAK,EAAGS,GAG9C,GAAc,OAAVI,EAAgB,CACnBH,EAAIK,UAAY,EAChB,IAAK,IAAI1P,EAAI,EAAGA,EAAIlB,EAAIO,IAAIuP,iBAAiB3O,OAAQD,GAAK,EACzDqP,EAAIM,YACJN,EAAIO,YAAc9Q,EAAIO,IAAIuP,iBAAiB5O,GAC3CqP,EAAIQ,OAAO,GAAML,EAAQxP,EAAG,GAC5BqP,EAAIS,OAAO,GAAMN,EAAQxP,EAAGoP,GAC5BC,EAAIU,SAIN,MAAO,CACN/B,OAAQA,EACRG,MAAOgB,EACPf,OAAQgB,IAMVY,wBAA0B,SAAUpC,EAAOqC,EAAU9B,GACpD,IAAI+B,EAkBJ,OAfCA,EADGD,GAAY9B,EACN,CACR,MAAQ,CAAC7D,KAAO,QAAS6F,MAAQ,QAAQF,GACzCrC,EAAQ,MACRA,EAAQ,IAAMO,EAAQ,KACtB,kBAAoBA,EAAQ,GAAK,KACjC,sBAGQ,CACR,WACAP,EAAQ,MACRA,EAAQ,SAIH9O,EAAIkK,eAAeoH,MAAM1R,KAAMwR,IAIvCG,eAAiB,WAEhB,GAAKvR,EAAIwR,QAAWxR,EAAIwR,OAAOC,MAA/B,CAIA,IAEIC,EAAIC,EAFJC,EAAU5R,EAAIwR,OAAOC,MAIrBG,EAAQC,OAGXH,EAAK1R,EAAIkL,cAAc0G,EAAQ7O,eAAe,GAC9C4O,EAAK,CAAC,EAAG,KAETD,EAAK1R,EAAIkL,cAAc0G,EAAQ7O,eAC/B4O,EAAK3R,EAAI2L,cAGV,IAII5B,EAAGP,EAAGsI,EAJNC,EAAK/R,EAAI4L,eAAegG,EAAQ7O,eAChCiP,EAAKhS,EAAI8M,cACTmF,EAAKjS,EAAIkS,cAAcN,GACvBO,EAAK,CAACF,EAAGG,QAASH,EAAGI,SAEzB,OAAQT,EAAQT,SAAS3P,eACxB,IAAK,OAAQuI,EAAE,EAAGP,EAAE,EAAGsI,GAAG,EAAG,MAC7B,IAAK,QAAQ/H,EAAE,EAAGP,EAAE,EAAGsI,EAAE,EAAG,MAC5B,IAAK,MAAQ/H,EAAE,EAAGP,EAAE,EAAGsI,GAAG,EAAG,MAC7B,QAAa/H,EAAE,EAAGP,EAAE,EAAGsI,EAAE,EAE1B,IAAIQ,GAAKP,EAAGvI,GAAG2I,EAAG3I,IAAI,EAGtB,GAAKoI,EAAQW,cAMRC,EAAK,EACPb,EAAG5H,GAAG2H,EAAG3H,GAAGoI,EAAGpI,GAAKiI,EAAGjI,KACrB4H,EAAG5H,GAAG2H,EAAG3H,GAAGgI,EAAGhI,GAAG,EAAIiI,EAAGjI,GAAG,GAAK2H,EAAG3H,GAAGgI,EAAGhI,GAAGoI,EAAGpI,IAAM,EAAI2H,EAAG3H,GAAGgI,EAAGhI,GAAGoI,EAAGpI,GAC3E2H,EAAG3H,IACH4H,EAAGnI,GAAGkI,EAAGlI,GAAGuI,EAAGvI,GAAG2I,EAAG3I,GAAG8I,EAAEA,EAAER,EAAIE,EAAGxI,IACjCmI,EAAGnI,GAAGkI,EAAGlI,GAAGuI,EAAGvI,GAAG,EAAIwI,EAAGxI,GAAG,GAAKkI,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,GAAK,EAAIJ,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,EAAIJ,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,EAC/FJ,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,GAAK,EAAIJ,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,EAAIJ,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,QAXhE,IAAIU,EAAK,CACRd,EAAG3H,GACH2H,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,GAalB,IAAI1G,EAAIoH,EAAGzI,GACPsB,EAAImH,EAAGhJ,GACPiJ,EAAgBb,EAAQC,MAAQ,QAAU,WAC1Ca,GACFF,EAAG,GAAKL,EAAG,GAAKT,EAAG,IAAMc,EAAG,GAAKd,EAAG,GAAKK,EAAG,KAC5CS,EAAG,GAAKL,EAAG,GAAKT,EAAG,GAAKK,EAAG,GAE7B/R,EAAI2S,cAAcf,EAASxG,EAAGC,EAAGoH,EAAeC,KAIjDC,cAAgB,SAAUf,EAASxG,EAAGC,EAAGoH,EAAeC,GACvD,IAAIE,EAAUF,EAAiB,EAAId,EAAQiB,WAE3C7S,EAAIwR,OAAOsB,KAAK3J,MAAMgI,SAAWsB,EACjCzS,EAAIwR,OAAOsB,KAAK3J,MAAMqC,KAAOJ,EAAI,KACjCpL,EAAIwR,OAAOsB,KAAK3J,MAAMsC,IAAMJ,EAAI,KAEhCrL,EAAIgL,aACHhL,EAAIwR,OAAOuB,KACXnB,EAAQoB,OACP,IAAIhT,EAAIH,UAAU,EAAG+S,EAAShB,EAAQiB,WAAY,EAAGjB,EAAQqB,aAC7D,OAIHf,cAAgB,SAAUN,GACzB,IAAIsB,EAAI,EAAItB,EAAQuB,mBAAqBvB,EAAQvC,MAC7C9B,EAAI,EAAIqE,EAAQuB,mBAAqBvB,EAAQtC,OAE7C8D,EAAc,EAAIxB,EAAQuB,mBAAqB,EAAInT,EAAIqT,kBAAkBzB,GAAWA,EAAQ0B,WAE5FtT,EAAIuT,iBAAiB3B,KACxBsB,GAAKE,GAEFxB,EAAQ4B,oBACXN,GAAKE,GAGN,IAAIK,EAAMzT,EAAI0T,eAAe9B,EAASsB,GAElCO,EAAInE,SACP/B,GAAKkG,EAAInE,OAASsC,EAAQ+B,SAEvB/B,EAAQgC,cACXrG,GAAK,EAAIqE,EAAQuB,mBAAqBvB,EAAQ+B,QAAU/B,EAAQiC,cAGjE,IAAIC,EAAKZ,EAAK,EAAItB,EAAQ+B,QACtBI,EAAKxG,EAAK,EAAIqE,EAAQ+B,QAE1B,MAAO,CACNK,SAAUd,EACVe,SAAU1G,EACV2G,QAASJ,EACTK,QAASJ,EACT3B,QAAS0B,EAAM,EAAIlC,EAAQwC,YAC3B/B,QAAS0B,EAAM,EAAInC,EAAQwC,YAC3BC,QAASZ,IAKXC,eAAiB,SAAU9B,EAASvC,GACnC,IAAIiF,EAAO,EAAGC,EAAO,EAAGC,EAAQ,EAAGC,EAAQ,EAAGnF,EAAS,EACnDoF,EAAc9C,EAAQ+C,SAAW/C,EAAQ+C,SAASxT,OAAS,EAiB/D,OAfIuT,IAEHH,GADAD,EAAO1C,EAAQgD,aACD,EAAInL,KAAKoL,KAAKH,EAAcJ,GAAQ,EAGlDE,EAAQ/K,KAAK6D,IAAI,EAAG7D,KAAKkE,OAAO0B,GAAUiF,EAAO,GAAK1C,EAAQkD,gBAAmBR,IACjFG,EAAQ7C,EAAQmD,cAAgBtL,KAAK2D,IAAIwE,EAAQmD,cAAeP,GAASA,GAGtED,IACHjF,EACCiF,EAAOE,GACNF,EAAO,GAAK3C,EAAQkD,gBAGhB,CACNR,KAAMA,EACNC,KAAMA,EACNC,MAAOA,EACPC,MAAOA,EACPpF,MAAOA,EACPC,OAAQA,IAKV+D,kBAAoB,SAAUzB,GAC7B,OAAOnI,KAAK6D,IACXsE,EAAQ+B,QAAU,EACjB,EAAI/B,EAAQoD,mBAAqBpD,EAAQqD,iBAAoBrD,EAAQuB,qBAKxE+B,eAAiB,SAAUtD,GAC1B,OAAQA,EAAQuD,KAAKlH,OAAO,GAAGzM,eAC9B,IAAK,IAAK,MAAO,IAElB,MAAO,KAIR+R,iBAAmB,SAAU3B,GAC5B,GAAIA,EAAQuD,KAAKhU,OAAS,EACzB,OAAQyQ,EAAQuD,KAAKlH,OAAO,GAAGzM,eAC9B,IAAK,IAAK,MAAO,IACjB,IAAK,IAAK,MAAO,IAGnB,OAAO,MAKR4T,gBAAkB,SAAUxD,EAASxM,GACpC,GAAKwM,EAAQxM,GAAb,CAGA,IAAIiQ,EAAW,KAEf,GAA6B,iBAAlBzD,EAAQxM,GAElB,IACCiQ,EAAW,IAAI1S,SAAUiP,EAAQxM,IAChC,MAAO/C,GACRN,QAAQuT,MAAMjT,QAIfgT,EAAWzD,EAAQxM,GAGhBiQ,GACHA,EAASxK,KAAK+G,KAOhB2D,cAAgB,SAAUC,GAEzB,IADA,IAAI1S,EAAO9C,EAAI6C,eACN3B,EAAI,EAAGA,EAAI4B,EAAK3B,OAAQD,GAAK,EACrC4B,EAAK5B,GAAGuU,QAAQD,IAKlBE,kBAAoB,CACnBC,MAAO,YACPC,MAAO,aAERC,iBAAmB,CAClBF,MAAO,UACPC,MAAO,YAIRE,eAAiB,KACjBrP,gBAAkB,KAGlBsP,gBAAkB,SAAU1T,IACyB,IAAhD,CAAC,MAAO,UAAU+B,QAAQpE,EAAIsH,SAASjF,KACtCrC,EAAIwR,QAAUxR,EAAIwR,OAAOC,OAC5BzR,EAAIwR,OAAOC,MAAMuE,WAMpBC,eAAiB,SAAU5T,GAC1BrC,EAAIuR,kBAIL2E,eAAiB,SAAU7T,GAC1BrC,EAAIuR,kBAIL4E,eAAiB,SAAU9T,GAEtBrC,EAAIwR,QAAUxR,EAAIwR,OAAOC,OAC5BzR,EAAIwR,OAAOC,MAAMuE,WAKnBI,oBAAsB,SAAU/T,GAC/B,IAAIkE,EAASlE,EAAEkE,QAAUlE,EAAEgK,WAEvB9F,EAAOtG,SAAWsG,EAAOtG,mBAAmBD,EAAIO,IAC/CgG,EAAOtG,QAAQoW,cAAgB9P,EAAO+P,UACzC/P,EAAOtG,QAAQsW,OAENvW,EAAIuF,QAAQgB,EAAQ,OAChBvG,EAAIuF,QAAQgB,EAAQ,YAGjCvG,EAAIwW,sBAAsBnU,EAAGkE,EAAQvG,EAAIuF,QAAQgB,EAAQ,WAAY,SAIlEvG,EAAIwR,QAAUxR,EAAIwR,OAAOC,OAC5BzR,EAAIwR,OAAOC,MAAMuE,WAMpBS,mBAAqB,SAAUpU,GAC9B,IAAIkE,EAASlE,EAAEkE,QAAUlE,EAAEgK,WAEvBrM,EAAIuF,QAAQgB,EAAQ,YACvBvG,EAAIwW,sBAAsBnU,EAAGkE,EAAQvG,EAAIuF,QAAQgB,EAAQ,WAAY,UAKvEiQ,sBAAwB,SAAUnU,EAAGkE,EAAQmQ,EAAaC,GACzD,IAAI/E,EAAU5R,EAAIuF,QAAQgB,EAAQ,YAElCvG,EAAIoG,eAAe/D,GACnBrC,EAAIsG,cAAcC,GAElB,IAAIqQ,EAAqB,SAAUtK,EAAKuK,GACvC7W,EAAI8F,iBAAiB,OAAQwG,EAAKtM,EAAI0V,kBAAkBiB,GACvD3W,EAAI8W,sBAAsBzU,EAAGkE,EAAQmQ,EAAaC,EAAaE,IAChE7W,EAAI8F,iBAAiB,OAAQwG,EAAKtM,EAAI6V,iBAAiBc,GACtD3W,EAAI+W,qBAAqB1U,EAAGkE,EAAQmQ,EAAaC,KAKnD,GAFAC,EAAmBjX,EAAOH,SAAU,CAAC,EAAG,IAEpCG,EAAOqX,QAAUrX,EAAOsX,aAAc,CACzC,IAAI3L,EAAO3L,EAAOsX,aAAa1L,wBAC3B2L,EAAM,EAAE5L,EAAKE,MAAOF,EAAKG,KAC7BmL,EAAmBjX,EAAOqX,OAAOrX,OAAOH,SAAU0X,GAGnD,IAAIC,EAAMnX,EAAI+L,iBAAiB1J,GAC3B+U,EAAMpX,EAAImM,iBAAiB9J,GAM/B,OALArC,EAAI8V,eAAiB,CACpB1K,EAAG+L,EAAI/L,EAAIgM,EAAIhM,EACfC,EAAG8L,EAAI9L,EAAI+L,EAAI/L,GAGRqL,GACR,IAAK,MAEkC,MAAlC1W,EAAIuT,iBAAiB3B,IAA2C,IAAvBA,EAAQyF,SAAShK,GAC7DuE,EAAQ0F,SAAS,KAAM,KAAM,IAAK,MAEnCtX,EAAIuX,OAAO3F,EAASvP,EAAG,EAAG,GAC1B,MAED,IAAK,MACJrC,EAAIwX,OAAO5F,EAASvP,EAAG,GACvB,MAED,IAAK,OACJrC,EAAIyX,QAAQ7F,EAASvP,EAAG,GAGzBuP,EAAQ6D,QAAQ,UAIjBqB,sBAAwB,SAAUzU,EAAGkE,EAAQmQ,EAAaC,EAAaE,GACtE,OAAO,SAAUxU,GAChB,IAAIuP,EAAU5R,EAAIuF,QAAQgB,EAAQ,YAClC,OAAQmQ,GACR,IAAK,MACJ1W,EAAIuX,OAAO3F,EAASvP,EAAGwU,EAAO,GAAIA,EAAO,IACzC,MAED,IAAK,MACJ7W,EAAIwX,OAAO5F,EAASvP,EAAGwU,EAAO,IAC9B,MAED,IAAK,OACJ7W,EAAIyX,QAAQ7F,EAASvP,EAAGwU,EAAO,IAGhCjF,EAAQ6D,QAAQ,WAKlBsB,qBAAuB,SAAU1U,EAAGkE,EAAQmQ,EAAaC,GACxD,OAAO,SAAUtU,GAChB,IAAIuP,EAAU5R,EAAIuF,QAAQgB,EAAQ,YAClCvG,EAAIkG,kBAAkB,QACtBlG,EAAI0G,gBAKJkL,EAAQ6D,QAAQ,SAChB7D,EAAQ6D,QAAQ,YAKlBiC,qBAAuB,SAAUrV,GAChC,IAAIkE,EAASlE,EAAEsV,cACX/F,EAAU5R,EAAIuF,QAAQgB,EAAQ,YAC9BuI,EAAQ9O,EAAIuF,QAAQgB,EAAQ,SAGK,QAAjCqL,EAAQ7D,OAAOvM,gBAClBoQ,EAAQgG,WAAW9I,EAAMf,QACpB/N,EAAIgP,cAAc4C,EAAQiG,eAC9B/I,EAAMhB,KAAK,GAAK,IAKI,OAAlBgB,EAAMhB,KAAK,MACmB,IAA7B8D,EAAQkG,kBAA2D,SAA7BlG,EAAQkG,kBAA+BlG,EAAQmG,2BACxFjJ,EAAMhB,KAAK,GAAK,GAIlB8D,EAAQoG,SAAS1G,MAAMM,EAAS9C,EAAMhB,MAEtC8D,EAAQ6D,QAAQ,SAChB7D,EAAQ6D,QAAQ,UAEZ7D,EAAQqG,oBACXrG,EAAQsG,QAKVX,OAAS,SAAU3F,EAASvP,EAAG8V,EAAMC,GACpC,IAAIC,EAAarY,EAAI+L,iBAAiB1J,GAClC+I,EAAI+M,EAAOE,EAAWjN,EAAIpL,EAAI8V,eAAe1K,EAAIwG,EAAQ+B,QAAU/B,EAAQuB,mBAC3E9H,EAAI+M,EAAOC,EAAWhN,EAAIrL,EAAI8V,eAAezK,EAAIuG,EAAQ+B,QAAU/B,EAAQuB,mBAE3EmF,EAAOlN,GAAK,KAAOwG,EAAQvC,MAAQ,IACnCkJ,EAAO,IAAOlN,GAAK,KAAOuG,EAAQtC,OAAS,IAE/C,OAAQtP,EAAIkV,eAAetD,IAC3B,IAAK,IAAKA,EAAQ0F,SAASgB,EAAMC,EAAM,KAAM,MAAO,MACpD,IAAK,IAAK3G,EAAQ0F,SAASgB,EAAM,KAAMC,EAAM,QAK9Cf,OAAS,SAAU5F,EAASvP,EAAG+V,GAC9B,IAEIG,EAAO,KADHH,EADSpY,EAAI+L,iBAAiB1J,GACZgJ,EAAIrL,EAAI8V,eAAezK,EAAIuG,EAAQ+B,QAAU/B,EAAQuB,qBACxD,KAAOvB,EAAQtC,OAAS,IAE/C,OAAQtP,EAAIuT,iBAAiB3B,IAC7B,IAAK,IAAKA,EAAQ0F,SAAS,KAAMiB,EAAM,KAAM,MAAO,MACpD,IAAK,IAAK3G,EAAQ0F,SAAS,KAAM,KAAMiB,EAAM,QAK9Cd,QAAU,SAAU7F,EAASvP,EAAG+V,GAC/B,IAEIG,EAAO,GADHH,EADSpY,EAAI+L,iBAAiB1J,GACZgJ,EAAIrL,EAAI8V,eAAezK,EAAIuG,EAAQ+B,QAAU/B,EAAQuB,qBACxD,GAAOvB,EAAQtC,OAAS,IAE/C,GAAIiJ,EAAO,EAAK,CAEf,IAAIC,EAAM5G,EAAQiG,YACmB,QAAjCjG,EAAQ7D,OAAOvM,eAA4BxB,EAAIgP,cAAcwJ,IAChE5G,EAAQgG,WAAmB,QAARY,EAAgB,OAAS,QAI9C5G,EAAQ0F,SAAS,KAAM,KAAM,KAAMiB,IAIpCE,gBAAkB,WAEjB,IAAI5K,EAAM,CACT9N,IAAK,KACL2Y,KAAM,MAGHxJ,EAASlP,EAAIiD,SAAS,UACtBsN,EAAMrB,EAAOK,WAAW,MAsC5B,OAHA1B,EAAI9N,IAAMmP,EACVrB,EAAI6K,KAlCW,SAAUrJ,EAAOC,EAAQ/N,GACvC2N,EAAOG,MAAQA,EACfH,EAAOI,OAASA,EAEhBiB,EAAII,UAAU,EAAG,EAAGzB,EAAOG,MAAOH,EAAOI,QAEzC,IAAIqJ,EAAQpI,EAAIqI,qBAAqB,EAAG,EAAG1J,EAAOG,MAAO,GACzDsJ,EAAME,aAAa,EAAO,QAC1BF,EAAME,aAAa,EAAI,EAAG,QAC1BF,EAAME,aAAa,EAAI,EAAG,QAC1BF,EAAME,aAAa,GAAO,QAC1BF,EAAME,aAAa,EAAI,EAAG,QAC1BF,EAAME,aAAa,EAAI,EAAG,QAC1BF,EAAME,aAAa,EAAO,QAE1BtI,EAAIC,UAAYmI,EAChBpI,EAAIE,SAAS,EAAG,EAAGvB,EAAOG,MAAOH,EAAOI,QAExC,IAAIwJ,EAAQvI,EAAIqI,qBAAqB,EAAG,EAAG,EAAG1J,EAAOI,QACrD,OAAQ/N,EAAKC,eACb,IAAK,IACJsX,EAAMD,aAAa,EAAG,uBACtBC,EAAMD,aAAa,EAAG,uBACtB,MACD,IAAK,IACJC,EAAMD,aAAa,EAAG,iBACtBC,EAAMD,aAAa,EAAG,iBAGvBtI,EAAIC,UAAYsI,EAChBvI,EAAIE,SAAS,EAAG,EAAGvB,EAAOG,MAAOH,EAAOI,SAMlCzB,GAIRkL,qBAAuB,WAEtB,IAAIlL,EAAM,CACT9N,IAAK,KACL2Y,KAAM,MAGHxJ,EAASlP,EAAIiD,SAAS,UACtBsN,EAAMrB,EAAOK,WAAW,MAmB5B,OAHA1B,EAAI9N,IAAMmP,EACVrB,EAAI6K,KAfW,SAAUrJ,EAAOC,EAAQ0J,EAAQC,GAC/C/J,EAAOG,MAAQA,EACfH,EAAOI,OAASA,EAEhBiB,EAAII,UAAU,EAAG,EAAGzB,EAAOG,MAAOH,EAAOI,QAEzC,IAAI4J,EAAO3I,EAAIqI,qBAAqB,EAAG,EAAG,EAAG1J,EAAOI,QACpD4J,EAAKL,aAAa,EAAGG,GACrBE,EAAKL,aAAa,EAAGI,GAErB1I,EAAIC,UAAY0I,EAChB3I,EAAIE,SAAS,EAAG,EAAGvB,EAAOG,MAAOH,EAAOI,SAMlCzB,GAIRsL,sBAAwB,WAEvB,IAAItL,EAAM,CACT9N,IAAK,KACL2Y,KAAM,MAGHxJ,EAASlP,EAAIiD,SAAS,UACtBsN,EAAMrB,EAAOK,WAAW,MAoC5B,OAHA1B,EAAI9N,IAAMmP,EACVrB,EAAI6K,KAhCW,SAAUrJ,EAAOC,EAAQR,GACvCI,EAAOG,MAAQA,EACfH,EAAOI,OAASA,EAEhBiB,EAAII,UAAU,EAAG,EAAGzB,EAAOG,MAAOH,EAAOI,QAEzC,IAAIS,EAASb,EAAOG,MAAQ,EACxBY,EAAWjQ,EAAIO,IAAI2P,iBACnBC,EAAWnQ,EAAIO,IAAI6P,iBAMvB,GAHAG,EAAIC,UAAYP,EAChBM,EAAIE,SAAS,EAAG,EAAGvB,EAAOG,MAAOH,EAAOI,QAEpCS,EAAS,EACZ,IAAK,IAAI1E,EAAI,EAAGA,EAAI6D,EAAOI,OAAQjE,GAAc,EAAT0E,EAEvCQ,EAAIC,UAAYL,EAChBI,EAAIE,SAAS,EAAGpF,EAAG0E,EAAQA,GAC3BQ,EAAIE,SAASV,EAAQ1E,EAAI0E,EAAQA,EAAQA,GAI3C,IAAImJ,EAAO3I,EAAIqI,qBAAqB,EAAG,EAAG,EAAG1J,EAAOI,QACpD4J,EAAKL,aAAa,EAAG/J,GACrBoK,EAAKL,aAAa,EAAG,iBAErBtI,EAAIC,UAAY0I,EAChB3I,EAAIE,SAAS,EAAG,EAAGvB,EAAOG,MAAOH,EAAOI,SAMlCzB,GAIRhO,WACKA,EAAY,SAAUuZ,EAASxG,EAASyG,EAAMC,EAAQxK,EAAOyK,GAChE3Z,KAAKwZ,QAAUA,EACfxZ,KAAKgT,QAAUA,EACfhT,KAAKyZ,KAAOA,EACZzZ,KAAK0Z,OAASA,EACd1Z,KAAKkP,MAAQA,EACblP,KAAK2Z,QAAUA,GAGhB1Z,EAAU8K,UAAUhB,SAAW,WAC9B,IAAIgF,EAAO,CACVlF,KAAKC,MAAM9J,KAAKwZ,SAAW,KAC3B3P,KAAKC,MAAM9J,KAAKgT,SAAW,KAC3BnJ,KAAKC,MAAM9J,KAAKyZ,MAAQ,KACxB5P,KAAKC,MAAM9J,KAAK0Z,QAAU,KAC1B1Z,KAAKkP,OAKN,OAHIlP,KAAK2Z,OACR5K,EAAK3L,KAAK,SAEJ2L,EAAK/D,KAAK,MAGX/K,GAIR2Z,MAAQ,CACPC,WAAa,EACbC,WAAa,EACbC,aAAe,GAIhBC,SAAW,CACV7L,OAAQ,CAAC,OAAQ,MAAO,MAAO,OAAQ,MAAO,QAC9C8L,gBAAiB,CAAC,OAAQ,SAC1B1E,KAAM,CAAC,MAAO,MAAO,KAAM,MAC3BhE,SAAU,CAAC,OAAQ,QAAS,MAAO,UACnC2I,aAAc,CAAC,QAAQ,GAAM,GAC7BhC,iBAAkB,CAAC,QAAQ,GAAM,IAIlCiC,eAAiB,CAEhBC,aAAgB,iBAChBC,aAAgB,UAChBC,mBAAsB,aACtBC,SAAY,cACZC,WAAc,qBACdC,WAAc,qBACdC,OAAU,MAIXrY,QAAU,iCAUV1B,IAAM,SAAUwC,EAAeb,GAE9B,IAAIqY,EAAO3a,KAurBX,SAAS4a,EAAWC,EAAQnW,GAC3B,GAAsB,iBAAXmW,EACV,MAAM,IAAI/a,MAAM,kCAAoC+a,GAIrD,GAAIza,EAAI4Z,SAASzU,eAAesV,KACV,iBAAVnW,IACVA,EAAQA,EAAM9C,gBAE8B,IAAzCxB,EAAI4Z,SAASa,GAAQrW,QAAQE,IAChC,MAAM,IAAI5E,MAAM,WAAc+a,EAAS,wBAA2BnW,GAKpE,GAAItE,EAAI+Z,eAAe5U,eAAesV,GAAS,CAC9C,IAAIC,EAASD,EACTE,EAAS3a,EAAI+Z,eAAeU,GAChC,IAAIE,EAMH,MAAM,IAAIjb,MAAM,WAAc+a,EAAS,mBAJvC1Y,QAAQC,KAAK,iDAAuDhC,EAAIiC,QAASyY,EAAQC,GACzFF,EAASE,EAOX,IAAIC,EAAS,QAAUH,EAEvB,GAA4B,mBAAjBF,EAAKK,GAEf,OADAL,EAAKK,GAAQtW,IACN,EAED,GAAImW,KAAUF,EAEpB,OADAA,EAAKE,GAAUnW,GACR,EAGR,MAAM,IAAI5E,MAAM,sCAAwC+a,GAIzD,SAASI,EAAWJ,GACnB,GAAsB,iBAAXA,EACV,MAAM,IAAI/a,MAAM,kCAAoC+a,GAIrD,GAAIza,EAAI+Z,eAAe5U,eAAesV,GAAS,CAC9C,IAAIC,EAASD,EACTE,EAAS3a,EAAI+Z,eAAeU,GAChC,IAAIE,EAMH,MAAM,IAAIjb,MAAM,WAAc+a,EAAS,mBAJvC1Y,QAAQC,KAAK,iDAAuDhC,EAAIiC,QAASyY,EAAQC,GACzFF,EAASE,EAOX,IAAIG,EAAS,QAAUL,EAEvB,GAA4B,mBAAjBF,EAAKO,GACf,OAAOP,EAAKO,GAAQxW,OAEd,GAAImW,KAAUF,EACpB,OAAOA,EAAKE,GAGb,MAAM,IAAI/a,MAAM,sCAAwC+a,GAWzD,SAASM,IAKRR,EAAKS,8BAEAhb,EAAIwR,SACRxR,EAAIwR,OAAS,CACZC,MAAO,KACPqB,KAAO9S,EAAIiD,SAAS,OACpBgY,IAAMjb,EAAIiD,SAAS,OACnB8P,KAAO/S,EAAIiD,SAAS,OACpBiY,KAAOlb,EAAIiD,SAAS,OACpBkY,IAAMnb,EAAIiD,SAAS,OACnBmY,KAAOpb,EAAIiD,SAAS,OACpBoY,KAAOrb,EAAIiD,SAAS,OACpBqY,UAAYtb,EAAIyY,kBAChB8C,MAAQvb,EAAIiD,SAAS,OACrBuY,QAAUxb,EAAIiD,SAAS,OACvBwY,QAAUzb,EAAIiD,SAAS,OACvByY,QAAU1b,EAAIiD,SAAS,OACvB0Y,QAAU3b,EAAIiD,SAAS,OACvB2Y,IAAM5b,EAAIiD,SAAS,OACnB4Y,KAAO7b,EAAIiD,SAAS,OACpB6Y,KAAO9b,EAAIiD,SAAS,OACpB8Y,QAAU/b,EAAI+Y,uBACdiD,QAAUhc,EAAIiD,SAAS,OACvBgZ,SAAWjc,EAAIiD,SAAS,OACxBiZ,SAAWlc,EAAIiD,SAAS,OACxBkZ,SAAWnc,EAAIiD,SAAS,OACxBmZ,KAAOpc,EAAIiD,SAAS,OACpBoZ,MAAQrc,EAAIiD,SAAS,OACrBqZ,MAAQtc,EAAIiD,SAAS,OACrBsZ,SAAWvc,EAAImZ,wBACfqD,SAAWxc,EAAIiD,SAAS,OACxBwZ,UAAYzc,EAAIiD,SAAS,OACzByZ,UAAY1c,EAAIiD,SAAS,OACzB0Z,UAAY3c,EAAIiD,SAAS,OACzBwQ,IAAMzT,EAAIiD,SAAS,OACnB2Z,IAAM5c,EAAIiD,SAAS,OACnB4Z,KAAO7c,EAAIiD,SAAS,SAGrBjD,EAAIwR,OAAO2J,IAAI2B,YAAY9c,EAAIwR,OAAO8J,UAAUvb,KAChDC,EAAIwR,OAAO4J,KAAK0B,YAAY9c,EAAIwR,OAAO2J,KACvCnb,EAAIwR,OAAO+J,MAAMuB,YAAY9c,EAAIwR,OAAOgK,SACxCxb,EAAIwR,OAAO+J,MAAMuB,YAAY9c,EAAIwR,OAAOiK,SACxCzb,EAAIwR,OAAO+J,MAAMuB,YAAY9c,EAAIwR,OAAOkK,SACxC1b,EAAIwR,OAAO+J,MAAMuB,YAAY9c,EAAIwR,OAAOmK,SACxC3b,EAAIwR,OAAO4J,KAAK0B,YAAY9c,EAAIwR,OAAO+J,OACvCvb,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAO4J,MACtCpb,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAO6J,MAEtCrb,EAAIwR,OAAOoK,IAAIkB,YAAY9c,EAAIwR,OAAOuK,QAAQhc,KAC9CC,EAAIwR,OAAOqK,KAAKiB,YAAY9c,EAAIwR,OAAOoK,KACvC5b,EAAIwR,OAAOqK,KAAKiB,YAAY9c,EAAIwR,OAAO2K,UACvCnc,EAAIwR,OAAO2K,SAASW,YAAY9c,EAAIwR,OAAO0K,UAC3Clc,EAAIwR,OAAO0K,SAASY,YAAY9c,EAAIwR,OAAOyK,UAC3Cjc,EAAIwR,OAAOyK,SAASa,YAAY9c,EAAIwR,OAAOwK,SAC3Chc,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAOqK,MACtC7b,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAOsK,MAEtC9b,EAAIwR,OAAO4K,KAAKU,YAAY9c,EAAIwR,OAAO+K,SAASxc,KAChDC,EAAIwR,OAAO6K,MAAMS,YAAY9c,EAAIwR,OAAO4K,MACxCpc,EAAIwR,OAAO6K,MAAMS,YAAY9c,EAAIwR,OAAOmL,WACxC3c,EAAIwR,OAAOmL,UAAUG,YAAY9c,EAAIwR,OAAOkL,WAC5C1c,EAAIwR,OAAOkL,UAAUI,YAAY9c,EAAIwR,OAAOiL,WAC5Czc,EAAIwR,OAAOiL,UAAUK,YAAY9c,EAAIwR,OAAOgL,UAC5Cxc,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAO6K,OACtCrc,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAO8K,OAEtCtc,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAOiC,KAEtCzT,EAAIwR,OAAOoL,IAAIE,YAAY9c,EAAIwR,OAAOqL,MACtC7c,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAOoL,KAEtC5c,EAAIwR,OAAO0J,KAAK4B,YAAY9c,EAAIwR,OAAOyJ,KACvCjb,EAAIwR,OAAOsB,KAAKgK,YAAY9c,EAAIwR,OAAOuB,MACvC/S,EAAIwR,OAAOsB,KAAKgK,YAAY9c,EAAIwR,OAAO0J,MAEvClb,EAAIwR,OAAOsB,KAAKxS,iBAAiB,aAAcN,EAAIyW,qBAClDzW,EAAIwE,yBAA0B,CAACuY,SAAS,KAG1C,IAoSKC,EACAC,EArSDC,EAAIld,EAAIwR,OAER2L,IAAkBnd,EAAIuT,iBAAiBgH,GACvC6C,EAAqB7C,EAAK/G,kBAC1B6J,EAAard,EAAIkS,cAAcqI,GAC/B+C,EAAkB,EAAI/C,EAAKvF,mBAAqBuF,EAAKtF,iBAAmB,EAAIsF,EAAKgD,UACjFC,EAAiBxd,EAAIqT,kBAAkBkH,GACvCkD,EAAehU,KAAK2D,IACvBmN,EAAKkD,aACLhU,KAAKC,MAAM6Q,EAAK5G,QAAUlK,KAAKiU,KAIhCR,EAAEpK,KAAKnR,UAAY,sBACnBub,EAAEpK,KAAK3J,MAAMwU,MAAQ,OACrBT,EAAEpK,KAAK3J,MAAMkG,MAAQgO,EAAWjL,QAAU,KAC1C8K,EAAEpK,KAAK3J,MAAMmG,OAAS+N,EAAWhL,QAAU,KAC3C6K,EAAEpK,KAAK3J,MAAMyU,OAASrD,EAAKqD,OAG3BV,EAAEjC,IAAItZ,UAAY,iBAClBub,EAAEjC,IAAI9R,MAAMkG,MAAQgO,EAAWnJ,QAAU,KACzCgJ,EAAEjC,IAAI9R,MAAMmG,OAAS+N,EAAWlJ,QAAU,KAC1C+I,EAAEjC,IAAI9R,MAAMgI,SAAW,WAGvB+L,EAAEnK,KAAKpR,UAAY,wBACnBub,EAAEnK,KAAK5J,MAAMgI,SAAW,WACxB+L,EAAEnK,KAAK5J,MAAMqC,KAAO,IACpB0R,EAAEnK,KAAK5J,MAAMsC,IAAM,IACnByR,EAAEnK,KAAK5J,MAAMkG,MAAQ,OACrB6N,EAAEnK,KAAK5J,MAAMmG,OAAS,OACtBtP,EAAI8K,gBAAgBoS,EAAEnK,KAAM0K,EAAe,MAG3CP,EAAEhC,KAAKvZ,UAAY,wBACnBub,EAAEhC,KAAK/R,MAAMgI,SAAW,WACxB+L,EAAEhC,KAAK/R,MAAM0U,OAAStD,EAAKnG,YAAc,WACzC8I,EAAEhC,KAAK/R,MAAM2U,YAAcvD,EAAKuD,YAChCZ,EAAEhC,KAAK/R,MAAMqB,WAAa+P,EAAKwD,gBAC/B/d,EAAI8K,gBAAgBoS,EAAEhC,KAAMuC,EAAe,MAK3CP,EAAE7B,KAAKlS,MAAMqB,WAAa,mBAC1B0S,EAAEpB,KAAK3S,MAAMqB,WAAa,mBAC1B0S,EAAEZ,MAAMnT,MAAMqB,WAAa,mBAE3B0S,EAAE7B,KAAKlS,MAAM6U,QACbd,EAAEpB,KAAK3S,MAAM6U,QACbd,EAAEZ,MAAMnT,MAAM6U,QACb,IAGDd,EAAE/B,IAAIhS,MAAMgI,SAAW,WACvB+L,EAAE/B,IAAIhS,MAAMkG,MAAQkL,EAAKlL,MAAQ,KACjC6N,EAAE/B,IAAIhS,MAAMmG,OAASiL,EAAKjL,OAAS,KAGnC4N,EAAE5B,UAAU5C,KAAK6B,EAAKlL,MAAOkL,EAAKjL,OAAQtP,EAAIkV,eAAeqF,IAG7D2C,EAAE9B,KAAKjS,MAAMgI,SAAW,WACxB+L,EAAE9B,KAAKjS,MAAMqC,KAAO+O,EAAK5G,QAAU,KACnCuJ,EAAE9B,KAAKjS,MAAMsC,IAAM8O,EAAK5G,QAAU,KAClCuJ,EAAE9B,KAAKjS,MAAM0U,OAAStD,EAAKpH,mBAAqB,WAChD+J,EAAE9B,KAAKjS,MAAM2U,YAAcvD,EAAK0D,mBAGhCf,EAAE7B,KAAKlS,MAAMgI,SAAW,WACxB+L,EAAE7B,KAAKlS,MAAMqC,KAAO,MACpB0R,EAAE7B,KAAKlS,MAAMsC,IAAM,MACnByR,EAAE7B,KAAKlS,MAAMkG,MAASkL,EAAK5G,QAAU,EAAI4G,EAAKpH,mBAAqBoH,EAAKlL,MAAQmO,EAAkB,KAClGN,EAAE7B,KAAKlS,MAAMmG,OAAU,EAAIiL,EAAKpH,mBAAqB,EAAIoH,EAAK5G,QAAU4G,EAAKjL,OAAU,KACvF4N,EAAE7B,KAAKlS,MAAM+U,OAjEG,YAkEhBle,EAAIqD,QAAQ6Z,EAAE7B,KAAM,CACnB8C,SAAU5D,EACV6D,QAAS,QAIVlB,EAAE3B,MAAMpS,MAAMgI,SAAW,WACzB+L,EAAE3B,MAAMpS,MAAMqC,KACd0R,EAAE3B,MAAMpS,MAAMsC,IACb,IACDyR,EAAE3B,MAAMpS,MAAMkG,MACd6N,EAAE3B,MAAMpS,MAAMmG,OACbgO,EAAiB,KAGlBJ,EAAE1B,QAAQrS,MAAMgI,SAChB+L,EAAEzB,QAAQtS,MAAMgI,SACf,WACD+L,EAAE1B,QAAQrS,MAAMqB,WAChB0S,EAAEzB,QAAQtS,MAAMqB,WACf+P,EAAK8D,mBACNnB,EAAE1B,QAAQrS,MAAMkG,MAChB6N,EAAEzB,QAAQtS,MAAMmG,OACd,EAAIiL,EAAKvF,mBAAqBuF,EAAKtF,iBAAoB,KACzDiI,EAAE1B,QAAQrS,MAAMmG,OAChB4N,EAAEzB,QAAQtS,MAAMkG,MACfiO,EAAiB,KAClBJ,EAAE1B,QAAQrS,MAAMqC,KAChB0R,EAAEzB,QAAQtS,MAAMsC,IACdhC,KAAKkE,MAAM2P,EAAiB,GAAK7T,KAAKkE,MAAM4M,EAAKtF,iBAAmB,GAAKsF,EAAKvF,mBAAsB,KACtGkI,EAAE1B,QAAQrS,MAAMsC,IAChByR,EAAEzB,QAAQtS,MAAMqC,KACf,IAGD0R,EAAExB,QAAQvS,MAAMgI,SAChB+L,EAAEvB,QAAQxS,MAAMgI,SACf,WACD+L,EAAExB,QAAQvS,MAAMqB,WAChB0S,EAAEvB,QAAQxS,MAAMqB,WACf+P,EAAK+D,aACNpB,EAAExB,QAAQvS,MAAMmG,OAChB4N,EAAEvB,QAAQxS,MAAMkG,MACdiO,EAAiB,EAAI/C,EAAKvF,mBAAsB,KAClDkI,EAAExB,QAAQvS,MAAMkG,MAChB6N,EAAEvB,QAAQxS,MAAMmG,OACfiL,EAAKtF,iBAAmB,KACzBiI,EAAExB,QAAQvS,MAAMqC,KAChB0R,EAAEvB,QAAQxS,MAAMsC,IACdhC,KAAKkE,MAAM2P,EAAiB,GAAK7T,KAAKkE,MAAM4M,EAAKtF,iBAAmB,GAAM,KAC5EiI,EAAExB,QAAQvS,MAAMsC,IAChByR,EAAEvB,QAAQxS,MAAMqC,KACf+O,EAAKvF,mBAAqB,KAI3BkI,EAAEtB,IAAIzS,MAAMoV,SAAW,SACvBrB,EAAEtB,IAAIzS,MAAMkG,MAAQkL,EAAKjH,WAAa,KACtC4J,EAAEtB,IAAIzS,MAAMmG,OAASiL,EAAKjL,OAAS,KAGnC4N,EAAEnB,QAAQrD,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQ,OAAQ,QAGrD4N,EAAErB,KAAK1S,MAAMqV,QAAUrB,EAAgB,QAAU,OACjDD,EAAErB,KAAK1S,MAAMgI,SAAW,WACxB+L,EAAErB,KAAK1S,MAAMqC,KAAQ+O,EAAK5G,QAAU4G,EAAKlL,MAAQ,EAAIkL,EAAKpH,mBAAqB,EAAIqK,EAAkB,KACrGN,EAAErB,KAAK1S,MAAMsC,IAAM8O,EAAK5G,QAAU,KAClCuJ,EAAErB,KAAK1S,MAAM0U,OAAStD,EAAKpH,mBAAqB,WAChD+J,EAAErB,KAAK1S,MAAM2U,YAAcvD,EAAK0D,mBAGhCf,EAAEpB,KAAK3S,MAAMqV,QAAUrB,EAAgB,QAAU,OACjDD,EAAEpB,KAAK3S,MAAMgI,SAAW,WACxB+L,EAAEpB,KAAK3S,MAAMqC,KAAQ+O,EAAK5G,QAAU4G,EAAKlL,MAAQ,EAAIkL,EAAKpH,mBAAqBqK,EAAkB,KACjGN,EAAEpB,KAAK3S,MAAMsC,IAAM,MACnByR,EAAEpB,KAAK3S,MAAMkG,MACVkL,EAAKjH,WAAa,EAAIkK,EAAiB,EAAIjD,EAAKpH,oBAChDiK,EAAqB,EAAI3T,KAAK6D,IAAI,EAAGiN,EAAK5G,QAAU6J,IAClD,KACLN,EAAEpB,KAAK3S,MAAMmG,OAAU,EAAIiL,EAAKpH,mBAAqB,EAAIoH,EAAK5G,QAAU4G,EAAKjL,OAAU,KACvF4N,EAAEpB,KAAK3S,MAAM+U,OAAS,UACtBle,EAAIqD,QAAQ6Z,EAAEpB,KAAM,CACnBqC,SAAU5D,EACV6D,QAAS,QAIVlB,EAAEjB,SAAS9S,MAAM0U,OACjBX,EAAEf,SAAShT,MAAM0U,OAChBtD,EAAKvF,mBAAqB,YAAcuF,EAAK8D,mBAG9CnB,EAAEf,SAAShT,MAAMgI,SAAW,WAC5B+L,EAAEf,SAAShT,MAAMqC,OAAS,EAAI+O,EAAKvF,mBAAqBuF,EAAKtF,kBAAoB,KACjFiI,EAAEf,SAAShT,MAAMsC,IAAM,IAGvByR,EAAEhB,SAAS/S,MAAM0U,OAAStD,EAAKtF,iBAAmB,YAAcsF,EAAK+D,aAGrEpB,EAAElB,QAAQ7S,MAAMkG,MAAQkL,EAAKjH,WAAa,KAC1C4J,EAAElB,QAAQ7S,MAAMmG,OAAStP,EAAIO,IAAIke,iBAAmB,KAIpDvB,EAAEd,KAAKjT,MAAMoV,SAAW,SACxBrB,EAAEd,KAAKjT,MAAMkG,MAAQkL,EAAKjH,WAAa,KACvC4J,EAAEd,KAAKjT,MAAMmG,OAASiL,EAAKjL,OAAS,KAGpC4N,EAAEX,SAAS7D,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQ,QAG9C4N,EAAEb,MAAMlT,MAAMqV,QAAUpB,EAAqB,QAAU,OACvDF,EAAEb,MAAMlT,MAAMgI,SAAW,WACzB+L,EAAEb,MAAMlT,MAAMqC,KACX+O,EAAK5G,QAAU4G,EAAKlL,MAAQ,EAAIkL,EAAKpH,mBAAqBqK,GAC1DL,EAAiB5C,EAAKjH,WAAa,EAAIkK,EAAiB,EAAIjD,EAAKpH,mBAAsB,GACrF,KACL+J,EAAEb,MAAMlT,MAAMsC,IAAM8O,EAAK5G,QAAU,KACnCuJ,EAAEb,MAAMlT,MAAM0U,OAAStD,EAAKpH,mBAAqB,WACjD+J,EAAEb,MAAMlT,MAAM2U,YAAcvD,EAAK0D,mBAGjCf,EAAEZ,MAAMnT,MAAMqV,QAAUpB,EAAqB,QAAU,OACvDF,EAAEZ,MAAMnT,MAAMgI,SAAW,WACzB+L,EAAEZ,MAAMnT,MAAMqC,KACX+O,EAAK5G,QAAU4G,EAAKlL,MAAQ,EAAIkL,EAAKpH,mBAAqBqK,GAC1DL,EAAiB5C,EAAKjH,WAAa,EAAIkK,EAAiB,EAAIjD,EAAKpH,mBAAsB,GACrF,KACL+J,EAAEZ,MAAMnT,MAAMsC,IAAM,MACpByR,EAAEZ,MAAMnT,MAAMkG,MACXkL,EAAKjH,WAAa,EAAIkK,EAAiB,EAAIjD,EAAKpH,mBACjD1J,KAAK6D,IAAI,EAAGiN,EAAK5G,QAAU6J,GACxB,KACLN,EAAEZ,MAAMnT,MAAMmG,OAAU,EAAIiL,EAAKpH,mBAAqB,EAAIoH,EAAK5G,QAAU4G,EAAKjL,OAAU,KACxF4N,EAAEZ,MAAMnT,MAAM+U,OAAS,UACvBle,EAAIqD,QAAQ6Z,EAAEZ,MAAO,CACpB6B,SAAU5D,EACV6D,QAAS,SAIVlB,EAAET,UAAUtT,MAAM0U,OAClBX,EAAEP,UAAUxT,MAAM0U,OACjBtD,EAAKvF,mBAAqB,YAAcuF,EAAK8D,mBAG9CnB,EAAEP,UAAUxT,MAAMgI,SAAW,WAC7B+L,EAAEP,UAAUxT,MAAMqC,OAAS,EAAI+O,EAAKvF,mBAAqBuF,EAAKtF,kBAAoB,KAClFiI,EAAEP,UAAUxT,MAAMsC,IAAM,IAGxByR,EAAER,UAAUvT,MAAM0U,OAAStD,EAAKtF,iBAAmB,YAAcsF,EAAK+D,aAGtEpB,EAAEV,SAASrT,MAAMkG,MAAQkL,EAAKjH,WAAa,KAC3C4J,EAAEV,SAASrT,MAAMmG,OAAStP,EAAIO,IAAIke,iBAAmB,KAIrDvB,EAAEzJ,IAAI9R,UAAY,kBAClBub,EAAEzJ,IAAItK,MAAMqV,QAAUnB,EAAWhJ,QAAQE,KAAO,QAAU,OAC1D2I,EAAEzJ,IAAItK,MAAMgI,SAAW,WACvB+L,EAAEzJ,IAAItK,MAAMqC,KAAO+O,EAAK5G,QAAU,KAClCuJ,EAAEzJ,IAAItK,MAAMsC,IAAO,EAAI8O,EAAKpH,mBAAqB,EAAIoH,EAAK5G,QAAU4G,EAAKjL,OAAU,KAInF4N,EAAEzJ,IAAIiL,UAAY,GAKlB,IAHA,IAAIC,EAAa3e,EAAIyP,sBAAsB,iBAEvCmP,EAAK,EACAtV,EAAI,EAAGA,EAAI+T,EAAWhJ,QAAQE,KAAMjL,IAC5C,IAAK,IAAIwI,EAAI,EAAGA,EAAIuL,EAAWhJ,QAAQC,MAAQsK,EAAKrE,EAAK5F,SAASxT,OAAQ2Q,IAAK8M,IAAM,CACpF,IAAIC,EAActE,EAAK5F,SAASiK,GAC5BE,EAAiB9e,EAAIiK,UAAUqH,MAAM,KAAMuN,EAAY/Q,MAEvDiR,EAAK/e,EAAIiD,SAAS,OACtB8b,EAAG5V,MAAMkG,MAASgO,EAAWhJ,QAAQG,MAAQ,EAAI+F,EAAKpH,mBAAsB,KAC5E4L,EAAG5V,MAAMmG,OAAU+N,EAAWhJ,QAAQI,MAAQ,EAAI8F,EAAKpH,mBAAsB,KAC7E4L,EAAG5V,MAAM4U,gBAAkBe,EAE3B,IAAIE,EAAKhf,EAAIiD,SAAS,OACtB+b,EAAGrd,UAAY,yBACfqd,EAAG7V,MAAMqV,QAAU,QACnBQ,EAAG7V,MAAMgI,SAAW,WACpB6N,EAAG7V,MAAMqC,MACP6R,EAAWhJ,QAAQC,MAAQ,EAAI,EAC/B7K,KAAKC,MAAYoI,IAAMuL,EAAWrJ,SAAWqJ,EAAWhJ,QAAQG,QAAU6I,EAAWhJ,QAAQC,KAAO,IAAzF,IAAiG,IACzG,KACL0K,EAAG7V,MAAMsC,IAAOnC,GAAK+T,EAAWhJ,QAAQI,MAAQ8F,EAAKzF,gBAAmB,KACxEkK,EAAG7V,MAAM0U,OAAStD,EAAKpH,mBAAqB,WAC5C6L,EAAG7V,MAAM2U,YAAcvD,EAAK0D,mBAC5Be,EAAG7V,MAAM+U,OAAS,UACU,OAAxBW,EAAY/Q,KAAK,IAAe+Q,EAAY/Q,KAAK,GAAK,IACzDkR,EAAG7V,MAAM8V,gBAAkB,QAAWN,EAAWzP,OAAOgQ,YAAc,KACtEF,EAAG7V,MAAMgW,iBAAmB,SAC5BH,EAAG7V,MAAMiW,mBAAqB,iBAE/Bpf,EAAIqD,QAAQ2b,EAAI,CACfb,SAAU5D,EACV6D,QAAS,iBACTtP,MAAO+P,IAERG,EAAG1e,iBAAiB,QAASN,EAAI0X,sBAAsB,GACvDsH,EAAGlC,YAAYiC,GACf7B,EAAEzJ,IAAIqJ,YAAYkC,GAYpB9B,EAAEN,IAAIjb,UAAY,oBAClBub,EAAEN,IAAIzT,MAAMqV,QAAUjE,EAAK3G,YAAc,QAAU,OACnDsJ,EAAEN,IAAIzT,MAAMgI,SAAW,WACvB+L,EAAEN,IAAIzT,MAAMqC,KAAO+O,EAAK5G,QAAU,KAClCuJ,EAAEN,IAAIzT,MAAMkW,OAAS9E,EAAK5G,QAAU,KACpCuJ,EAAEN,IAAIzT,MAAMwK,QAAU,SACtBuJ,EAAEN,IAAIzT,MAAMmW,SAAYjC,EAAWrJ,SAAW,EAAIuG,EAAKpH,mBAAqB,GAAkB,KAC9F+J,EAAEN,IAAIzT,MAAMoV,SAAW,SACvBrB,EAAEN,IAAIzT,MAAMmG,OAASiL,EAAK1G,aAAe,KACzCqJ,EAAEN,IAAIzT,MAAMoW,WAAa,SACzBrC,EAAEN,IAAIzT,MAAM0U,OAAStD,EAAKpH,mBAAqB,WAd1C8J,GADAD,EAAczC,EAAK0D,mBAAmBlW,MAAM,QAClB5G,OAAS,EAAI6b,EAAY,GAAKA,EAAY,GAAK,IAAMA,EAAY,GAAK,IAAMA,EAAY,GAAK,IAAMA,EAAY,GAC7IE,EAAEN,IAAIzT,MAAM2U,YAAcb,EAe3BC,EAAEN,IAAIzT,MAAM2F,MAAQyL,EAAKiF,YACzBtC,EAAEN,IAAIzT,MAAMsW,KAAO,kBACnBvC,EAAEN,IAAIzT,MAAMuW,UAAY,SACxBxC,EAAEN,IAAIzT,MAAM+U,OAAS,UACrBhB,EAAEN,IAAI+C,YAAc,WACnBpF,EAAKrC,QAENgF,EAAEL,KAAK1T,MAAMyW,WAAarF,EAAK1G,aAAe,KAC9CqJ,EAAEL,KAAK6B,UAAY,GACnBxB,EAAEL,KAAKC,YAAYnd,EAAOH,SAASqgB,eAAetF,EAAKuF,YAGvDC,IACAC,IACAC,IAIIjgB,EAAIwR,OAAOC,OAASzR,EAAIwR,OAAOC,QAAU8I,GAC5Cva,EAAIsI,YAAYtI,EAAIwR,OAAOC,MAAM1O,cAAe/C,EAAIO,IAAI2f,iBAIzDlgB,EAAIwR,OAAOC,MAAQ8I,EAIfA,EAAK4F,YAAcxgB,EAAOH,SAAS4gB,KACtCpgB,EAAIuR,iBAEJvR,EAAI2S,cAAc4H,EAAM,EAAG,EAAG,YAAY,GAGvC2C,EAAEpK,KAAKuN,aAAe9F,EAAK4F,WAC9B5F,EAAK4F,UAAUrD,YAAYI,EAAEpK,MAG9B9S,EAAImI,SAASoS,EAAKxX,cAAe/C,EAAIO,IAAI2f,iBAI1C,SAASH,IAER,IAAIO,EAAWtgB,EAAIkV,eAAeqF,GAC9BnP,EAAI3B,KAAKC,MAAO6Q,EAAKlD,SAAS9J,EAAI,KAAQgN,EAAKlL,MAAQ,IACvDhE,EAAI5B,KAAKC,OAAO,EAAI6Q,EAAKlD,SAASiJ,GAAY,MAAQ/F,EAAKjL,OAAS,IACpEgO,EAAkB,EAAI/C,EAAKvF,mBAAqBuF,EAAKtF,iBAAmB,EAAIsF,EAAKgD,UACjFrG,GAAOzN,KAAKkE,MAAM2P,EAAiB,GAKvC,OAJAtd,EAAIwR,OAAO+J,MAAMpS,MAAMqC,KAAQJ,EAAI8L,EAAO,KAC1ClX,EAAIwR,OAAO+J,MAAMpS,MAAMsC,IAAOJ,EAAI6L,EAAO,KAGjClX,EAAIuT,iBAAiBgH,IAC7B,IAAK,IACJ,IAAIgG,EAAOvgB,EAAIwN,QAAQ+M,EAAKlD,SAAS9J,EAAG,IAAKgN,EAAKlD,SAAShK,GACvDmT,EAAOxgB,EAAIwN,QAAQ+M,EAAKlD,SAAS9J,EAAG,EAAGgN,EAAKlD,SAAShK,GACrD2L,EAAS,OACZvP,KAAKC,MAAM6W,EAAK,IAAM,IACtB9W,KAAKC,MAAM6W,EAAK,IAAM,IACtB9W,KAAKC,MAAM6W,EAAK,IAAM,IACnBtH,EAAS,OACZxP,KAAKC,MAAM8W,EAAK,IAAM,IACtB/W,KAAKC,MAAM8W,EAAK,IAAM,IACtB/W,KAAKC,MAAM8W,EAAK,IAAM,IACvBxgB,EAAIwR,OAAOuK,QAAQrD,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQ0J,EAAQC,GAC9D,MACD,IAAK,IACJ,IAAIwH,EAAMzgB,EAAIwN,QAAQ+M,EAAKlD,SAAS9J,EAAGgN,EAAKlD,SAAS5J,EAAG,KACpDuL,EAAS,OACZvP,KAAKC,MAAM+W,EAAI,IAAM,IACrBhX,KAAKC,MAAM+W,EAAI,IAAM,IACrBhX,KAAKC,MAAM+W,EAAI,IAAM,IAClBxH,EAAS,OACbjZ,EAAIwR,OAAOuK,QAAQrD,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQ0J,EAAQC,GAK/DjZ,EAAIwR,OAAO+K,SAAS7D,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQiL,EAAKmG,eAI7D,SAASV,IACR,IAAIW,EAAa3gB,EAAIuT,iBAAiBgH,GACtC,GAAIoG,EAAY,CAEf,IAAItV,EAAI5B,KAAKC,OAAO,EAAI6Q,EAAKlD,SAASsJ,GAAc,MAAQpG,EAAKjL,OAAS,IAC1EtP,EAAIwR,OAAO2K,SAAShT,MAAMsC,IAAOJ,GAAK,EAAIkP,EAAKvF,mBAAqBuF,EAAKtF,kBAAoBxL,KAAKkE,MAAM3N,EAAIO,IAAIke,iBAAmB,GAAM,KAI1Ize,EAAIwR,OAAO+K,SAAS7D,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQiL,EAAKmG,eAI7D,SAAST,IACR,IAAI5U,EAAI5B,KAAKC,OAAO,EAAI6Q,EAAKlD,SAAStN,IAAMwQ,EAAKjL,OAAS,IAC1DtP,EAAIwR,OAAOmL,UAAUxT,MAAMsC,IAAOJ,GAAK,EAAIkP,EAAKvF,mBAAqBuF,EAAKtF,kBAAoBxL,KAAKkE,MAAM3N,EAAIO,IAAIke,iBAAmB,GAAM,KAI3I,SAASmC,IACR,OAAO5gB,EAAIwR,QAAUxR,EAAIwR,OAAOC,QAAU8I,EAgG3C,GAx1CKrY,IACJA,EAAO,IAGRtC,KAAKyX,SAAW,CACf/N,EAAG,IACHC,EAAG,IACHC,EAAG,IACH+D,EAAG,EACHE,EAAG,EACHJ,EAAG,IACHtD,EAAG,GAKJnK,KAAKmO,OAAS,OACdnO,KAAK0E,WAAQhD,EACb1B,KAAKihB,WAAQvf,EACb1B,KAAKkhB,cAAWxf,EAChB1B,KAAKmhB,aAAUzf,EACf1B,KAAKohB,kBAAe1f,EACpB1B,KAAKqhB,kBAAe3f,EACpB1B,KAAKshB,oBAAiB5f,EACtB1B,KAAKia,gBAAkB,OACvBja,KAAKuhB,YAAc,GACnBvhB,KAAKwhB,eAAiB,EACtBxhB,KAAKyhB,UAAW,EAChBzhB,KAAK0hB,MAAO,EACZ1hB,KAAK2hB,WAAY,EACjB3hB,KAAK4hB,YAAa,EAIlB5hB,KAAKyP,MAAQ,IACbzP,KAAK0P,OAAS,IACd1P,KAAKuV,KAAO,MACZvV,KAAKka,aAAe,OACpBla,KAAKuR,SAAW,SAChBvR,KAAK2S,eAAgB,EACrB3S,KAAKyW,aAAc,EACnBzW,KAAK6hB,aAAc,EACnB7hB,KAAKyU,QAAU,GACfzU,KAAKgV,YAAc,GACnBhV,KAAKkY,iBAAmB,OACxBlY,KAAKmV,cAAgB,GACrBnV,KAAKkV,eAAiB,EACtBlV,KAAKqY,oBAAqB,EAC1BrY,KAAK0T,WAAa,GAClB1T,KAAK2d,UAAY,EACjB3d,KAAKgU,aAAc,EACnBhU,KAAKkgB,UAAY,QACjBlgB,KAAK4f,YAAc,gBACnB5f,KAAKiU,aAAe,GACpBjU,KAAK+T,QAAU,GACf/T,KAAKme,gBAAkB,sBACvBne,KAAKwU,YAAc,EACnBxU,KAAKke,YAAc,sBACnBle,KAAK6d,aAAe,EACpB7d,KAAKuT,mBAAqB,EAC1BvT,KAAKqe,mBAAqB,sBAC1Bre,KAAKoT,QAAS,EACdpT,KAAKiT,WAAa,GAClBjT,KAAKqT,YAAc,kBACnBrT,KAAK0e,aAAe,mBACpB1e,KAAKoV,mBAAqB,EAC1BpV,KAAKye,mBAAqB,sBAC1Bze,KAAKqV,iBAAmB,EACxBrV,KAAKge,OAAS,IACdhe,KAAKugB,eAAY7e,EAIjB1B,KAAK8hB,KAAO,EACZ9hB,KAAK+hB,KAAO,IACZ/hB,KAAKgiB,KAAO,EACZhiB,KAAKiiB,KAAO,IACZjiB,KAAKkiB,KAAO,EACZliB,KAAKmiB,KAAO,EAOZniB,KAAK6a,OAAS,WACb,IAAKxV,UAAU9D,OACd,MAAM,IAAIzB,MAAM,uBAGjB,GAAyB,IAArBuF,UAAU9D,QAAwC,iBAAjB8D,UAAU,GAAiB,CAE/D,IACC,OAAO4V,EAAU5V,UAAU,IAC1B,MAAO5C,GACRN,QAAQC,KAAKK,GAEd,OAAO,EAED,GAAI4C,UAAU9D,QAAU,GAA6B,iBAAjB8D,UAAU,GAAiB,CAErE,IACC,IAAKuV,EAAUvV,UAAU,GAAIA,UAAU,IACtC,OAAO,EAEP,MAAO5C,GAER,OADAN,QAAQC,KAAKK,IACN,EAIR,OAFAzC,KAAKoiB,SACLpiB,KAAKqiB,eACE,EAED,GAAyB,IAArBhd,UAAU9D,QAAwC,iBAAjB8D,UAAU,GAAiB,CAEtE,IAAI/C,EAAO+C,UAAU,GACjBid,GAAU,EACd,IAAK,IAAIC,KAAOjgB,EACf,GAAIA,EAAKiD,eAAegd,GACvB,IACM3H,EAAU2H,EAAKjgB,EAAKigB,MACxBD,GAAU,GAEV,MAAO7f,GACRN,QAAQC,KAAKK,GACb6f,GAAU,EAMb,OAFAtiB,KAAKoiB,SACLpiB,KAAKqiB,cACEC,EAGR,MAAM,IAAIxiB,MAAM,sBAOjBE,KAAKwiB,QAAU,SAAU3c,EAAMnB,GAC9B,GAAoB,iBAATmB,EACV,MAAM,IAAI/F,MAAM,mCAAqC+F,GAGtD,QAAcnE,IAAVgD,EAEH,OAAK1E,KAAKyX,SAASlS,eAAeM,EAAKjE,eAIhC5B,KAAKyX,SAAS5R,EAAKjE,gBAHzBO,QAAQC,KAAK,4BAA8ByD,IACpC,GAMR,IAAI4c,GAAM,EACV,OAAQ5c,EAAKjE,eACZ,IAAK,IAAK6gB,EAAMziB,KAAKoY,SAAS1T,EAAO,KAAM,KAAM,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAKoY,SAAS,KAAM1T,EAAO,KAAM,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAKoY,SAAS,KAAM,KAAM1T,EAAO,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAK0X,SAAShT,EAAO,KAAM,KAAM,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAK0X,SAAS,KAAMhT,EAAO,KAAM,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAK0X,SAAS,KAAM,KAAMhT,EAAO,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAK0X,SAAS,KAAM,KAAM,KAAMhT,GAAQ,MACxD,QAEC,OADAvC,QAAQC,KAAK,4BAA8ByD,IACpC,EAET,QAAI4c,IACHziB,KAAKoiB,UACE,IAcVpiB,KAAK6V,QAAU,SAAUD,GAExB,IADA,IAAI8M,EAAMtiB,EAAI6H,QAAQ2N,GACbtU,EAAI,EAAGA,EAAIohB,EAAInhB,OAAQD,GAAK,EAAG,CACvC,IAAI8F,EAAKsb,EAAIphB,GAAGM,cAGZ+gB,EAAe,KACnB,OAAQvb,GACP,IAAK,QAASub,EAAe,UAAW,MACxC,IAAK,SAAUA,EAAe,WAE3BA,GACHviB,EAAIoV,gBAAgBxV,KAAM2iB,GAI3BviB,EAAIqH,kBAAkBzH,KAAKohB,aAAcha,GAAI,GAAM,KAUrDpH,KAAK0X,SAAW,SAAU/J,EAAGE,EAAGJ,EAAGtD,EAAGyP,GAMrC,QALUlY,IAANiM,IAAmBA,EAAI,WACjBjM,IAANmM,IAAmBA,EAAI,WACjBnM,IAAN+L,IAAmBA,EAAI,WACjB/L,IAANyI,IAAmBA,EAAI,MAEjB,OAANwD,EAAY,CACf,GAAIiV,MAAMjV,GAAM,OAAO,EACvB3N,KAAKyX,SAAS9J,EAAI9D,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAKG,IAE7C,GAAU,OAANE,EAAY,CACf,GAAI+U,MAAM/U,GAAM,OAAO,EACvB7N,KAAKyX,SAAS5J,EAAIhE,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAKxN,KAAK+hB,KAAMlU,GAAI7N,KAAK8hB,MAEjE,GAAU,OAANrU,EAAY,CACf,GAAImV,MAAMnV,GAAM,OAAO,EACvBzN,KAAKyX,SAAShK,EAAI5D,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAKxN,KAAKiiB,KAAMxU,GAAIzN,KAAKgiB,MAEjE,GAAU,OAAN7X,EAAY,CACf,GAAIyY,MAAMzY,GAAM,OAAO,EACvBnK,KAAKyX,SAAStN,EAAInK,KAAK4T,kBACtB/J,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,EAAGxN,KAAKmiB,KAAMhY,GAAInK,KAAKkiB,MAC5C,EAGF,IAAIrB,EAAMzgB,EAAIwN,QACb5N,KAAKyX,SAAS9J,EACd3N,KAAKyX,SAAS5J,EACd7N,KAAKyX,SAAShK,GAOf,OALAzN,KAAKyX,SAAS/N,EAAImX,EAAI,GACtB7gB,KAAKyX,SAAS9N,EAAIkX,EAAI,GACtB7gB,KAAKyX,SAAS7N,EAAIiX,EAAI,GAEtB7gB,KAAKqiB,YAAYzI,IACV,GASR5Z,KAAKoY,SAAW,SAAU1O,EAAGC,EAAGC,EAAGO,EAAGyP,GAMrC,QALUlY,IAANgI,IAAmBA,EAAI,WACjBhI,IAANiI,IAAmBA,EAAI,WACjBjI,IAANkI,IAAmBA,EAAI,WACjBlI,IAANyI,IAAmBA,EAAI,MAEjB,OAANT,EAAY,CACf,GAAIkZ,MAAMlZ,GAAM,OAAO,EACvBA,EAAIG,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAK9D,IAE/B,GAAU,OAANC,EAAY,CACf,GAAIiZ,MAAMjZ,GAAM,OAAO,EACvBA,EAAIE,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAK7D,IAE/B,GAAU,OAANC,EAAY,CACf,GAAIgZ,MAAMhZ,GAAM,OAAO,EACvBA,EAAIC,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAK5D,IAE/B,GAAU,OAANO,EAAY,CACf,GAAIyY,MAAMzY,GAAM,OAAO,EACvBnK,KAAKyX,SAAStN,EAAInK,KAAK4T,kBACtB/J,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,EAAGxN,KAAKmiB,KAAMhY,GAAInK,KAAKkiB,MAC5C,EAGF,IAAIW,EAAMziB,EAAImN,QACT,OAAJ7D,EAAW1J,KAAKyX,SAAS/N,EAAIA,EACzB,OAAJC,EAAW3J,KAAKyX,SAAS9N,EAAIA,EACzB,OAAJC,EAAW5J,KAAKyX,SAAS7N,EAAIA,GAEf,OAAXiZ,EAAI,KACP7iB,KAAKyX,SAAS9J,EAAI9D,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAKqV,EAAI,MAElC,IAAXA,EAAI,KACP7iB,KAAKyX,SAAS5J,EAAIhE,KAAK6D,IAAI,EAAG1N,KAAK8hB,KAAMjY,KAAK2D,IAAI,IAAKxN,KAAK+hB,KAAMc,EAAI,MAEvE7iB,KAAKyX,SAAShK,EAAI5D,KAAK6D,IAAI,EAAG1N,KAAKgiB,KAAMnY,KAAK2D,IAAI,IAAKxN,KAAKiiB,KAAMY,EAAI,KAGtE,IAAIhC,EAAMzgB,EAAIwN,QAAQ5N,KAAKyX,SAAS9J,EAAG3N,KAAKyX,SAAS5J,EAAG7N,KAAKyX,SAAShK,GAMtE,OALAzN,KAAKyX,SAAS/N,EAAImX,EAAI,GACtB7gB,KAAKyX,SAAS9N,EAAIkX,EAAI,GACtB7gB,KAAKyX,SAAS7N,EAAIiX,EAAI,GAEtB7gB,KAAKqiB,YAAYzI,IACV,GAMR5Z,KAAK8iB,QAAU,SAAUnV,EAAGE,EAAGJ,EAAGmM,GAEjC,OADAzX,QAAQC,KAAK,4DAA8DhC,EAAIiC,SACxErC,KAAK0X,SAAS/J,EAAGE,EAAGJ,EAAG,KAAMmM,IAMrC5Z,KAAK+iB,QAAU,SAAUrZ,EAAGC,EAAGC,EAAGgQ,GAEjC,OADAzX,QAAQC,KAAK,4DAA8DhC,EAAIiC,SACxErC,KAAKoY,SAAS1O,EAAGC,EAAGC,EAAG,KAAMgQ,IAIrC5Z,KAAKgjB,WAAa,SAAUtgB,EAAKkX,GAChC,IAAK5Z,KAAKyhB,UAA2B,KAAf/e,EAAIH,OAIzB,OAFAvC,KAAKijB,oBAAoB,MACzBjjB,KAAKkjB,qBAAqB,KACnB,EAGR,IAAIhU,EAAQ9O,EAAI4N,iBAAiBtL,GACjC,QAAKwM,IAG6B,QAA9BlP,KAAKmO,OAAOvM,gBACf5B,KAAKgY,WAAW9I,EAAMf,QACjB/N,EAAIgP,cAAcpP,KAAKiY,eAC3B/I,EAAMhB,KAAK,GAAK,IAGlBlO,KAAKoY,SACJlJ,EAAMhB,KAAK,GACXgB,EAAMhB,KAAK,GACXgB,EAAMhB,KAAK,GACXgB,EAAMhB,KAAK,GACX0L,IAEM,IAIR5Z,KAAK+J,SAAW,SAAUoE,GAIzB,YAHezM,IAAXyM,IACHA,EAASnO,KAAKiY,aAEP9J,EAAOvM,eACd,IAAK,MAAO,OAAO5B,KAAK8gB,cACxB,IAAK,OAAQ,OAAO9gB,KAAKmjB,eACzB,IAAK,MAAO,OAAOnjB,KAAKojB,cACxB,IAAK,OAAQ,OAAOpjB,KAAKqjB,eAE1B,OAAO,GAIRrjB,KAAK8gB,YAAc,WAClB,OAAO1gB,EAAIqJ,SACVzJ,KAAKyX,SAAS/N,EACd1J,KAAKyX,SAAS9N,EACd3J,KAAKyX,SAAS7N,IAKhB5J,KAAKmjB,aAAe,WACnB,OAAO/iB,EAAI8J,UACVlK,KAAKyX,SAAS/N,EACd1J,KAAKyX,SAAS9N,EACd3J,KAAKyX,SAAS7N,EACd5J,KAAKyX,SAAStN,IAKhBnK,KAAKojB,YAAc,WAClB,OAAOhjB,EAAIgK,SACVpK,KAAKyX,SAAS/N,EACd1J,KAAKyX,SAAS9N,EACd3J,KAAKyX,SAAS7N,IAKhB5J,KAAKqjB,aAAe,WACnB,OAAOjjB,EAAIiK,UACVrK,KAAKyX,SAAS/N,EACd1J,KAAKyX,SAAS9N,EACd3J,KAAKyX,SAAS7N,EACd5J,KAAKyX,SAAStN,IAKhBnK,KAAKsjB,YAAc,WAClB,MACC,KAAQtjB,KAAKyX,SAAS/N,EACtB,KAAQ1J,KAAKyX,SAAS9N,EACtB,KAAQ3J,KAAKyX,SAAS7N,GAKxB5J,KAAKujB,SAAW,WACf,OAAOnjB,EAAIyP,sBAAsB7P,KAAKqjB,gBAAgB/T,QAIvDtP,KAAKsf,UAAY,WAChB,OAAOtf,KAAKujB,WAAWjE,aAIxBtf,KAAKwjB,aAAe,WACnB,OAAOpjB,EAAIO,IAAIiK,WAAW5K,KAAKqjB,iBAIhCrjB,KAAKyjB,QAAU,WACd,OAAOzjB,KAAKsjB,cAAgB,OAI7BtjB,KAAKsY,KAAO,WACP0I,MAmVJ5gB,EAAIsI,YAAYiS,EAAKxX,cAAe/C,EAAIO,IAAI2f,iBAC5ClgB,EAAIwR,OAAOsB,KAAKuN,WAAWrc,YAAYhE,EAAIwR,OAAOsB,aAC3C9S,EAAIwR,OAAOC,QA/UnB7R,KAAK2W,KAAO,WACXwE,KAIDnb,KAAKoiB,OAAS,WACTpB,KACH7F,KAKFnb,KAAKiY,UAAY,WAChB,OAAOjY,KAAK0jB,gBAIb1jB,KAAKgY,WAAa,SAAU7J,GAC3BnO,KAAK0jB,eAAiBvV,EAAOvM,eAI9B5B,KAAK4T,gBAAkB,WACtB,MAA0B,SAAtB5T,KAAKka,aAEuB,QAA9Bla,KAAKmO,OAAOvM,eACZxB,EAAIgP,cAAcpP,KAAKiY,mBACRvW,IAAf1B,KAAKihB,YACiBvf,IAAtB1B,KAAKqhB,aAIArhB,KAAKka,cAIbla,KAAK2jB,kBAAoB,SAAUjhB,GAC7B1C,KAAKgjB,WAAWtgB,IAEpB1C,KAAKqiB,eAKPriB,KAAK4jB,kBAAoB,SAAUlhB,GAC7B1C,KAAK0X,SAAS,KAAM,KAAM,KAAM9I,WAAWlM,KAE/C1C,KAAKqiB,eAKPriB,KAAKqiB,YAAc,SAAUzI,GAC5B,IAAIiK,EAAW7jB,KAAK+J,WAChB6O,EAAM5Y,KAAKiY,YAaf,GAVA7X,EAAI4F,YAAYhG,KAAKmD,cAAe,gBAAiB0gB,GAE/CjK,EAAQxZ,EAAIwZ,MAAMC,aAAe7Z,KAAKohB,eAC/B,QAARxI,GAAyB,SAARA,IACf5Y,KAAK2hB,YAAakC,EAAWA,EAASjiB,eACtC5B,KAAK0hB,OAAQmC,EAAWA,EAAS3b,QAAQ,KAAM,MAErDlI,KAAKkjB,qBAAqBW,MAGrBjK,EAAQxZ,EAAIwZ,MAAME,aAAe9Z,KAAKqhB,aAAc,CACzD,IAAIyC,EAAWja,KAAKC,MAAwB,IAAlB9J,KAAKyX,SAAStN,GAAW,IACnDnK,KAAK+jB,qBAAqBD,GAGrBlK,EAAQxZ,EAAIwZ,MAAMG,eAAiB/Z,KAAKshB,kBAI5ClhB,EAAIiE,YAAYrE,KAAKshB,iBACpBlhB,EAAIkE,SAAStE,KAAKshB,kBAAoBlhB,EAAIqE,cAAczE,KAAKshB,kBAEjDthB,KAAKia,gBAGnBja,KAAKijB,oBAAoBjjB,KAAKqjB,iBAG3BrC,MACHb,IACAC,IACAC,MAKFrgB,KAAKijB,oBAAsB,SAAU/T,GACpC,GAAKlP,KAAKshB,eAAV,CAIA,IAAI/P,EAAW,KACX9B,EAAQ,MAEXrP,EAAIiE,YAAYrE,KAAKshB,iBACpBlhB,EAAIkE,SAAStE,KAAKshB,kBAAoBlhB,EAAIqE,cAAczE,KAAKshB,mBAE9D/P,EAAWvR,KAAKia,gBAChBxK,EAAQzP,KAAKuhB,aAGd,IAAIyC,EAAc,GAElB,GAAK9U,EASE,CAEN8U,EAAY5gB,KAAK,CAChB6gB,MAAO7jB,EAAIkR,wBACVpC,EACAqC,EACA9B,EAAQA,EAAQrP,EAAIO,IAAIuP,iBAAiB3O,OAAS,MAEnDgQ,SAAU,WACV2S,KAAM,OACNC,OAAQ5S,EAAW,WAAa,SAChC6S,OAAQ,gBAIT,IAAIC,EAAUjkB,EAAIyP,sBACjB,gBACA0B,EAAW,CAAC3F,KAAO,QAAS6F,MAAQ,QAAQF,GAAY,KACxD9B,GACA,GAEDuU,EAAY5gB,KAAK,CAChB6gB,MAAO,QAAWI,EAAQ/U,OAAOgQ,YAAc,KAC/C/N,UAAWA,GAAY,QAAU,OACjC2S,KAAMG,EAAQ5U,MAAQ,MAAQ4U,EAAQ3U,OAAS,KAC/CyU,OAAQ5S,EAAW,WAAa,SAChC6S,OAAQ,qBAjCTJ,EAAY5gB,KAAK,CAChB6gB,MAAO,OACP1S,SAAU,WACV2S,KAAM,OACNC,OAAQ,YACRC,OAAQ,gBAuCV,IAPA,IAAIE,EAAK,CACRL,MAAO,GACP1S,SAAU,GACV2S,KAAM,GACNC,OAAQ,GACRC,OAAQ,IAEA9iB,EAAI,EAAGA,EAAI0iB,EAAYziB,OAAQD,GAAK,EAC5CgjB,EAAGL,MAAM7gB,KAAK4gB,EAAY1iB,GAAG2iB,OAC7BK,EAAG/S,SAASnO,KAAK4gB,EAAY1iB,GAAGiQ,UAChC+S,EAAGJ,KAAK9gB,KAAK4gB,EAAY1iB,GAAG4iB,MAC5BI,EAAGH,OAAO/gB,KAAK4gB,EAAY1iB,GAAG6iB,QAC9BG,EAAGF,OAAOhhB,KAAK4gB,EAAY1iB,GAAG8iB,QAI/B,IAAIG,EAAM,CACTC,mBAAoBF,EAAGL,MAAMjZ,KAAK,MAClCyZ,sBAAuBH,EAAG/S,SAASvG,KAAK,MACxC0Z,kBAAmBJ,EAAGJ,KAAKlZ,KAAK,MAChC2Z,oBAAqBL,EAAGH,OAAOnZ,KAAK,MACpC4Z,oBAAqBN,EAAGF,OAAOpZ,KAAK,OAErC5K,EAAI4I,SAAShJ,KAAKshB,eAAgBiD,EAAKvkB,KAAK4hB,YAI5C,IAAI7N,EAAU,CACbnI,KAAM,KACN6F,MAAO,MAEJF,IACHwC,EAAQxC,GAAavR,KAAKuhB,YAAcvhB,KAAKwhB,eAAkB,MAG5D+C,EAAM,CACTM,eAAgB9Q,EAAQnI,KACxBkZ,gBAAiB/Q,EAAQtC,OAE1BrR,EAAI4I,SAAShJ,KAAKshB,eAAgBiD,EAAKvkB,KAAK4hB,YAAY,KAIzD5hB,KAAKkjB,qBAAuB,SAAUxgB,GACjC1C,KAAKohB,eACgC,UAApChhB,EAAI6D,SAASjE,KAAKohB,cACrBphB,KAAKohB,aAAa1c,MAAQhC,EAE1B1C,KAAKohB,aAAatC,UAAYpc,IAMjC1C,KAAK+jB,qBAAuB,SAAUrhB,GACjC1C,KAAKqhB,eACgC,UAApCjhB,EAAI6D,SAASjE,KAAKqhB,cACrBrhB,KAAKqhB,aAAa3c,MAAQhC,EAE1B1C,KAAKqhB,aAAavC,UAAYpc,IAMjC1C,KAAKob,4BAA8B,WAClC,IAAIpb,KAAK+kB,yBAAT,CACA/kB,KAAK+kB,0BAA2B,EAEhC,IAAI5kB,EAAMH,KAAKmD,cACf,EAAG,CAGF,IAAI6hB,EAAY5kB,EAAIyI,aAAa1I,GAC7B6kB,EAAUzT,UAAiD,UAArCyT,EAAUzT,SAAS3P,gBAC5C5B,KAAKiS,OAAQ,GAGV9R,IAAQH,KAAKmD,gBAMX/C,EAAIuF,QAAQxF,EAAK,uBACrBA,EAAIO,iBAAiB,SAAUN,EAAImW,gBAAgB,GACnDnW,EAAIqD,QAAQtD,EAAK,qBAAqB,YAG/BA,EAAMA,EAAIsgB,aAAqC,SAAtBrgB,EAAI6D,SAAS9D,MAIjDH,KAAKoW,QAAU,WACVpW,KAAK6hB,aACR7hB,KAAKsY,QAKPtY,KAAKilB,aAAe,SAAUnhB,GAC7B9D,KAAKyU,QAAU3Q,EACf9D,KAAK+U,SAAW3U,EAAIyO,kBAAkB/K,GACtC9D,KAAKmY,wBAA0B/X,EAAI+O,wBAAwBnP,KAAK+U,WAuqB7D3U,EAAIO,IAAIukB,QAEX,IAAK,IAAI3C,KAAOniB,EAAIO,IAAIukB,QACvB,GAAI9kB,EAAIO,IAAIukB,QAAQ3f,eAAegd,GAClC,IACC3H,EAAU2H,EAAKniB,EAAIO,IAAIukB,QAAQ3C,IAC9B,MAAO9f,GACRN,QAAQC,KAAKK,GASjB,IAAI0iB,EAAa,GAEb7iB,EAAK8iB,SACmB,iBAAhB9iB,EAAK8iB,OACfD,EAAa7iB,EAAK8iB,OAAOjd,MAAM,OACrB2C,MAAMkE,QAAQ1M,EAAK8iB,QAC7BD,EAAa7iB,EAAK8iB,OAAOC,QAEzBljB,QAAQC,KAAK,+BAKwB,IAAnC+iB,EAAW3gB,QAAQ,YACtB2gB,EAAW/hB,KAAK,WAKjB,IAAK,IAAI9B,EAAI6jB,EAAW5jB,OAAS,EAAGD,GAAK,EAAGA,GAAK,EAAG,CACnD,IAAIgkB,EAAOH,EAAW7jB,GACtB,GAAKgkB,EAGL,GAAKllB,EAAIO,IAAI4kB,QAAQhgB,eAAe+f,IAIpC,IAAK,IAAI/C,KAAOniB,EAAIO,IAAI4kB,QAAQD,GAC/B,GAAIllB,EAAIO,IAAI4kB,QAAQD,GAAM/f,eAAegd,GACxC,IACC3H,EAAU2H,EAAKniB,EAAIO,IAAI4kB,QAAQD,GAAM/C,IACpC,MAAO9f,GACRN,QAAQC,KAAKK,SARfN,QAAQC,KAAK,qBAAsBkjB,GAgBrC,IAAIE,EAAgB,CAEnB,UAED,IAAK,IAAIjD,KAAOjgB,EACf,GAAIA,EAAKiD,eAAegd,KACa,IAAhCiD,EAAchhB,QAAQ+d,GACzB,IACC3H,EAAU2H,EAAKjgB,EAAKigB,IACnB,MAAO9f,GACRN,QAAQC,KAAKK,GAoBjB,QAPuBf,IAAnB1B,KAAKugB,UACRvgB,KAAKugB,UAAYxgB,EAAOH,SAAS4gB,KAGjCxgB,KAAKugB,UAAYngB,EAAIY,KAAKhB,KAAKugB,YAG3BvgB,KAAKugB,UACT,MAAM,IAAIzgB,MAAM,+DAOjB,GAFAE,KAAKmD,cAAgB/C,EAAIY,KAAKmC,IAEzBnD,KAAKmD,cAAe,CAExB,GAA6B,iBAAlBA,GAA8B,qBAAqBsiB,KAAKtiB,GAGlE,MAAM,IAAIrD,MAAM,OADCqD,EACsB,2CADtBA,EACkF,gCAGpG,MAAM,IAAIrD,MAAM,4DAGjB,GAAIE,KAAKmD,cAAc9C,SAAWL,KAAKmD,cAAc9C,mBAAmBD,EAAIO,IAC3E,MAAM,IAAIb,MAAM,kDAajB,GARAE,KAAKmD,cAAc9C,QAAUL,KAC7BI,EAAImI,SAASvI,KAAKmD,cAAe/C,EAAIO,IAAIoB,WAGzC3B,EAAIG,UAAU6C,KAAKpD,MAIfI,EAAIkE,SAAStE,KAAKmD,iBAEyB,WAA1CnD,KAAKmD,cAAcxB,KAAKC,gBAG3B5B,KAAKmD,cAAcxB,KAAO,UAGvBvB,EAAIqE,cAAczE,KAAKmD,gBAAgB,CAK1C/C,EAAI8D,eAAelE,KAAKmD,eAGxBnD,KAAKmD,cAAc+Z,YAAYnd,EAAOH,SAASqgB,eAAe,MAG9D,IAAI+E,EAAY5kB,EAAIyI,aAAa7I,KAAKmD,gBACnByL,WAAWoW,EAAU,eAAiB,GACtChlB,KAAKuhB,aACvBnhB,EAAI4I,SAAShJ,KAAKmD,cAAe,CAChCuiB,YAAa1lB,KAAKuhB,YAAc,MAC9BvhB,KAAK4hB,YAsCX,QAhC0BlgB,IAAtB1B,KAAKohB,aACJhhB,EAAIiE,YAAYrE,KAAKmD,iBAExBnD,KAAKohB,aAAephB,KAAKmD,eAKM,OAAtBnD,KAAKohB,eAIfphB,KAAKohB,aAAehhB,EAAIY,KAAKhB,KAAKohB,eAI/BphB,KAAKqhB,eACRrhB,KAAKqhB,aAAejhB,EAAIY,KAAKhB,KAAKqhB,oBAIP3f,IAAxB1B,KAAKshB,eACRthB,KAAKshB,eAAiBthB,KAAKmD,cAEO,OAAxBnD,KAAKshB,iBAIfthB,KAAKshB,eAAiBlhB,EAAIY,KAAKhB,KAAKshB,iBAIjCthB,KAAKohB,cAAgBhhB,EAAIiE,YAAYrE,KAAKohB,cAAe,CAI5D,IAAIuE,EAAyB,CAC5BxE,QAASnhB,KAAKohB,aAAawE,SAE5B5lB,KAAKohB,aAAawE,QAAU,KAE5B5lB,KAAKohB,aAAa1gB,iBAAiB,WA3RpC,SAAyB0G,GACC,UAArBhH,EAAIsH,SAASN,KACZuT,EAAKyG,cACRzG,EAAKgJ,kBAAkBhJ,EAAKyG,aAAa1c,OAE1CiW,EAAKvE,cAsRwD,GAC9DpW,KAAKohB,aAAa1gB,iBAAiB,UAxQpC,SAAwB0G,GACvB,IAAIhH,EAAIuF,QAAQyB,EAAI,YAApB,CAIA,IAAIye,EAASlL,EAAKyG,aAAa1c,MAE/BiW,EAAKgJ,kBAAkBhJ,EAAKyG,aAAa1c,OAEzCtE,EAAIoV,gBAAgBmF,EAAM,YAEtBA,EAAKyG,aAAa1c,QAAUmhB,GAE/BzlB,EAAIqH,kBAAkBkT,EAAKyG,aAAc,UAAU,GAAM,OA2PE,GAC5DphB,KAAKohB,aAAa1gB,iBAAiB,SAlOpC,SAAuB0G,GAClBhH,EAAIuF,QAAQyB,EAAI,cAIhBuT,EAAKyG,cACRzG,EAAKqI,WAAWrI,EAAKyG,aAAa1c,MAAOtE,EAAIwZ,MAAMC,YAGpDzZ,EAAIoV,gBAAgBmF,EAAM,eAyNgC,GAEtDgL,EAAuBxE,SAC1BnhB,KAAKohB,aAAa1gB,iBAAiB,QAASilB,EAAuBxE,SAAS,GAG7EnhB,KAAKohB,aAAalc,aAAa,eAAgB,OAC/ClF,KAAKohB,aAAalc,aAAa,cAAe,OAC9ClF,KAAKohB,aAAalc,aAAa,iBAAkB,OACjDlF,KAAKohB,aAAalc,aAAa,cAAc,GAI1ClF,KAAKqhB,cAAgBjhB,EAAIiE,YAAYrE,KAAKqhB,gBAC7CrhB,KAAKqhB,aAAa3gB,iBAAiB,WAjSpC,SAAyB0G,GACC,UAArBhH,EAAIsH,SAASN,KACZuT,EAAK0G,cACR1G,EAAKiJ,kBAAkBjJ,EAAK0G,aAAa3c,OAE1CiW,EAAKvE,cA4RwD,GAC9DpW,KAAKqhB,aAAa3gB,iBAAiB,UAtQpC,SAAwB0G,GACvB,IAAIhH,EAAIuF,QAAQyB,EAAI,YAApB,CAIA,IAAIye,EAASlL,EAAK0G,aAAa3c,MAE/BiW,EAAKiJ,kBAAkBjJ,EAAK0G,aAAa3c,OAEzCtE,EAAIoV,gBAAgBmF,EAAM,YAG1Bva,EAAIqH,kBAAkBkT,EAAKyG,aAAc,UAAU,GAAM,GAErDzG,EAAK0G,aAAa3c,QAAUmhB,GAE/BzlB,EAAIqH,kBAAkBkT,EAAK0G,aAAc,UAAU,GAAM,OAsPE,GAC5DrhB,KAAKqhB,aAAa3gB,iBAAiB,SAlOpC,SAAuB0G,GAClBhH,EAAIuF,QAAQyB,EAAI,cAIhBuT,EAAK0G,cACR1G,EAAKjD,SAAS,KAAM,KAAM,KAAM9I,WAAW+L,EAAK0G,aAAa3c,OAAQtE,EAAIwZ,MAAME,YAGhF1Z,EAAIoV,gBAAgBmF,EAAM,WAG1Bva,EAAIqH,kBAAkBkT,EAAKyG,aAAc,SAAS,GAAM,OAsNE,GAE1DphB,KAAKqhB,aAAanc,aAAa,eAAgB,OAC/ClF,KAAKqhB,aAAanc,aAAa,cAAe,OAC9ClF,KAAKqhB,aAAanc,aAAa,iBAAkB,OACjDlF,KAAKqhB,aAAanc,aAAa,cAAc,IAK9C,IAAI4gB,EAAY,cAEGpkB,IAAf1B,KAAK0E,MACRohB,EAAY9lB,KAAK0E,MACP1E,KAAKohB,mBAA4C1f,IAA5B1B,KAAKohB,aAAa1c,QACjDohB,EAAY9lB,KAAKohB,aAAa1c,OAK/B,IAAIqhB,OAAYrkB,EAYhB,QAVmBA,IAAf1B,KAAKihB,MACR8E,EAAa,GAAG/lB,KAAKihB,MACXjhB,KAAKqhB,mBAA4C3f,IAA5B1B,KAAKqhB,aAAa3c,QACjDqhB,EAAY/lB,KAAKqhB,aAAa3c,OAK/B1E,KAAK0jB,eAAiB,KAElB,CAAC,OAAQ,OAAOlf,QAAQxE,KAAKmO,OAAOvM,gBAAkB,EAAG,CAE5D,IAAIsN,EAAQ9O,EAAI4N,iBAAiB8X,GACjC9lB,KAAK0jB,eAAiBxU,EAAQA,EAAMf,OAAS,WAG7CnO,KAAK0jB,eAAiB1jB,KAAKmO,OAAOvM,cAKnC5B,KAAK2jB,kBAAkBmC,QAOLpkB,IAAdqkB,GACH/lB,KAAK4jB,kBAAkBmC,MAkBtBplB,IAAIoB,UAAY,UAIpB3B,EAAIO,IAAI2f,gBAAkB,iBAK1BlgB,EAAIO,IAAImC,WAAY,EAIpB1C,EAAIO,IAAI4kB,QAAU,GAGlBnlB,EAAIO,IAAI4kB,QAAiB,QAAI,GAE7BnlB,EAAIO,IAAI4kB,QAAe,MAAI,CAC1BpH,gBAAiB,sBACjBE,mBAAoB,sBACpBuB,YAAa,iBAEdxf,EAAIO,IAAI4kB,QAAc,KAAI,CACzBpH,gBAAiB,mBACjBE,mBAAoB,sBACpBuB,YAAa,uBAGdxf,EAAIO,IAAI4kB,QAAe,MAAI,CAAE9V,MAAM,IAAKC,OAAO,IAAKqE,QAAQ,GAAIL,WAAW,GAAIsB,YAAY,GAC3F5U,EAAIO,IAAI4kB,QAAgB,OAAI,CAAE9V,MAAM,IAAKC,OAAO,IAAKqE,QAAQ,GAAIL,WAAW,GAAIsB,YAAY,IAC5F5U,EAAIO,IAAI4kB,QAAe,MAAI,CAAE9V,MAAM,IAAKC,OAAO,IAAKqE,QAAQ,GAAIL,WAAW,GAAIsB,YAAY,IAE3F5U,EAAIO,IAAI4kB,QAAc,KAAI,CAAE/Q,YAAY,EAAGjB,mBAAmB,EAAG6B,mBAAmB,GACpFhV,EAAIO,IAAI4kB,QAAe,MAAI,CAAE/Q,YAAY,EAAGjB,mBAAmB,EAAG6B,mBAAmB,GAIrFhV,EAAIO,IAAIke,iBAAmB,EAG3Bze,EAAIO,IAAIyP,eAAiB,EACzBhQ,EAAIO,IAAI2P,iBAAmB,UAC3BlQ,EAAIO,IAAI6P,iBAAmB,UAG3BpQ,EAAIO,IAAIuP,iBAAmB,CAAC,wBAAyB,yBAIrD9P,EAAIO,IAAIC,KAAO,WACd,IAAIR,EAAIE,YAgBR,IAXAP,EAAOH,SAASc,iBAAiB,YAAaN,EAAIoW,qBAAqB,GACvEzW,EAAOH,SAASc,iBAAiB,QAASN,EAAI+V,iBAAiB,GAC/DpW,EAAOW,iBAAiB,SAAUN,EAAIiW,gBAAgB,GACtDtW,EAAOW,iBAAiB,SAAUN,EAAIkW,gBAAgB,GAGtDlW,EAAIO,IAAIqlB,UAER5lB,EAAIE,aAAc,EAGXF,EAAII,WAAWe,QACVnB,EAAII,WAAWylB,OAC1B5f,IAMFjG,EAAIO,IAAIqlB,QAAU,SAAUjlB,GAC3B,IAAIuhB,GAAU,EAEd,IACCliB,EAAIS,kBAAkB,iBAAkBE,GACvC,MAAO0B,GACR6f,GAAU,EACVngB,QAAQC,KAAKK,GAId,GAAIrC,EAAIO,IAAIU,YACX,IACCjB,EAAIS,kBAEF,SAAWT,EAAIO,IAAIU,YAAnB,YACYjB,EAAIO,IAAIU,YAErBN,GAEA,MAAO0B,IAGV,OAAO6f,GAMRliB,EAAIO,IAAIulB,MAAQ,SAAU7f,GACzB,MAAoB,mBAATA,GACVlE,QAAQC,KAAK,mCACN,IAGJhC,EAAIE,YACP+F,IAEAjG,EAAII,WAAW4C,KAAKiD,IAEd,IASRjG,EAAIO,IAAIkV,QAAU,SAAUD,GAC3B,IAAIuQ,EAAa,WAChB/lB,EAAIuV,cAAcC,IAGfxV,EAAIE,YACP6lB,IAEA/lB,EAAIO,IAAIulB,MAAMC,IAMhB/lB,EAAIO,IAAI2X,KAAO,WACVlY,EAAIwR,QAAUxR,EAAIwR,OAAOC,OAC5BzR,EAAIwR,OAAOC,MAAMyG,QAMnBlY,EAAIO,IAAIoe,WAAa,SAAU7P,GAK9B,OAJKA,IACJA,EAAQ,iBAEK9O,EAAIyP,sBAAsBX,GACzBI,OAAOgQ,aAKvBlf,EAAIO,IAAIiK,WAAa,SAAUsE,GAC9B,IAAI8U,EAAc,GAGlBA,EAAY5gB,KAAKhD,EAAIkR,wBAAwBpC,IAG7C,IAAImV,EAAUjkB,EAAIyP,wBAOlB,OANAmU,EAAY5gB,KAAK,CAChB,QAAWihB,EAAQ/U,OAAOgQ,YAAc,KACxC,WACA,UACCtU,KAAK,MAEAgZ,EAAYhZ,KAAK,OAYzB5K,EAAIO,IAAIukB,QAAU,GAUlB9kB,EAAIO,IAAIU,YAAc,UAMtBjB,EAAIO,IAAIylB,mBAAqB,WAE5B,OADAjkB,QAAQuT,MAAM,qGAAuGtV,EAAIiC,UAClH,GAIRjC,EAAIK,WAGGL,EAAIO,KAaX,YAP8B,IAAnBZ,EAAOM,UACjBN,EAAOM,QAAUN,EAAOsmB,QAAUhmB,GAM5BA,OAUOimB,EAA2B,GAG/B,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqB9kB,IAAjB+kB,EACH,OAAOA,EAAa9mB,QAGrB,IAAIH,EAAS8mB,EAAyBE,GAAY,CAGjD7mB,QAAS,IAOV,OAHAL,EAAoBknB,GAAUvb,KAAKzL,EAAOG,QAASH,EAAQA,EAAOG,QAAS4mB,GAGpE/mB,EAAOG,QAOd4mB,EAAoBhiB,EAAK/E,IACxB,IAAI0b,EAAS1b,GAAUA,EAAOknB,WAC7B,IAAOlnB,EAAiB,QACxB,IAAM,EAEP,OADA+mB,EAAoBI,EAAEzL,EAAQ,CAAE/Q,EAAG+Q,IAC5BA,GAORqL,EAAoBI,EAAI,CAAChnB,EAASinB,KACjC,IAAI,IAAIC,KAAOD,EACXL,EAAoBO,EAAEF,EAAYC,KAASN,EAAoBO,EAAEnnB,EAASknB,IAC5E/hB,OAAOC,eAAepF,EAASknB,EAAK,CAAEE,YAAY,EAAM/hB,IAAK4hB,EAAWC,MAQ3EN,EAAoBO,EAAI,CAAC1hB,EAAKI,IAAUV,OAAOiG,UAAUxF,eAAe0F,KAAK7F,EAAKI,GAM7F,MACA,aAiDA,IAAIwhB,EAAY,GAUhB,SAASC,IACHD,EAAUE,iBAAmBC,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerDiv","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","groupObject","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file diff --git a/src/Disp/MenuSections/Prompt.js b/src/Disp/MenuSections/Prompt.js new file mode 100644 index 00000000..0c18a29f --- /dev/null +++ b/src/Disp/MenuSections/Prompt.js @@ -0,0 +1,23 @@ +/* eslint-disable no-return-assign */ +/** Creates a Prompt similar to the base game without some of the stuff breaking them */ +export default function CookieMonsterPrompt(content, options) { + Game.promptWrapL.className = 'framed'; + const str = content; + Game.promptL.innerHTML = `${str}
`; + Object.keys(options).forEach((i) => { + const option = document.createElement('a'); + option.id = `promptOption${i}`; + option.className = 'option'; + option.onclick = function () { + PlaySound('snd/tick.mp3'); + options[i][1](); + }; + option.textContent = options[i][0]; + Game.promptL.children[1].appendChild(option); + }); + Game.promptAnchorL.style.display = 'block'; + Game.darkenL.style.display = 'block'; + Game.promptL.focus(); + Game.promptOn = 1; + Game.UpdatePrompt(); +} diff --git a/src/Disp/MenuSections/SettingsPage.js b/src/Disp/MenuSections/SettingsPage.js index 7bca5402..6b458bb9 100644 --- a/src/Disp/MenuSections/SettingsPage.js +++ b/src/Disp/MenuSections/SettingsPage.js @@ -22,6 +22,7 @@ import RefreshScale from '../HelperFunctions/RefreshScale'; import UpdateColours from '../HelperFunctions/UpdateColours'; import Flash from '../Notifications/Flash'; import PlaySound from '../Notifications/Sound'; +import CookieMonsterPrompt from './Prompt'; /** * This function creates a header-object for the options page @@ -147,17 +148,22 @@ function CreatePrefOption(config) { const a = document.createElement('a'); a.className = 'option'; a.onclick = function () { - Game.Prompt(inputPrompt.outerHTML, [ + CookieMonsterPrompt(inputPrompt.outerHTML, [ [ 'Save', function () { - CMOptions[`${config}`] = l(`${ConfigPrefix}${config}Prompt`).value; + CMOptions[config] = l(`${ConfigPrefix}${config}Prompt`).value; SaveConfig(); Game.ClosePrompt(); Game.UpdateMenu(); }, ], - 'Cancel', + [ + 'Cancel', + function () { + Game.ClosePrompt(); + }, + ], ]); }; a.textContent = 'Edit'; From 10eb88cde157e539773fd9648df499568916d820 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Fri, 2 Apr 2021 14:50:55 +0200 Subject: [PATCH 08/30] Fixed typo --- CookieMonster.js | 2 +- dist/CookieMonster.js | 2 +- src/Data/SettingsData.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CookieMonster.js b/CookieMonster.js index 34832763..2324773f 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,Rt={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Ue===t.id)return 2;if(Re===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Ue=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;eVt[30][0]?W:L,0!==Number(e.PPSecondsLowerLimit)&&o/lo()0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Uo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Uo).forEach((e=>{to(Uo[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Aabreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Rt=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Un(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Ut,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(i.push(Uo[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Rn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Rn).forEach((t=>{const n=In(t,Rn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Un(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,Rt={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Ue===t.id)return 2;if(Re===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Ue=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;eVt[30][0]?W:L,0!==Number(e.PPSecondsLowerLimit)&&o/lo()0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Uo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Uo).forEach((e=>{to(Uo[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Rt=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Un(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Ut,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(i.push(Uo[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Rn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Rn).forEach((t=>{const n=In(t,Rn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Un(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index 34832763..2324773f 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,Rt={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Ue===t.id)return 2;if(Re===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Ue=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;eVt[30][0]?W:L,0!==Number(e.PPSecondsLowerLimit)&&o/lo()0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Uo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Uo).forEach((e=>{to(Uo[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Aabreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Rt=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Un(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Ut,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(i.push(Uo[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Rn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Rn).forEach((t=>{const n=In(t,Rn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Un(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,Rt={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Ue===t.id)return 2;if(Re===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Ue=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;eVt[30][0]?W:L,0!==Number(e.PPSecondsLowerLimit)&&o/lo()0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Uo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Uo).forEach((e=>{to(Uo[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Rt=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Un(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Ut,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(i.push(Uo[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Rn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Rn).forEach((t=>{const n=In(t,Rn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Un(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); diff --git a/src/Data/SettingsData.js b/src/Data/SettingsData.js index c8157cf0..6981b0c6 100644 --- a/src/Data/SettingsData.js +++ b/src/Data/SettingsData.js @@ -84,7 +84,7 @@ const Config = { "Game's setting scale", 'Metric', 'Short scale', - 'Short scale (Aabreviated)', + 'Short scale (Abbreviated)', 'Scientific notation', 'Engineering notation', ], From 5f64d2dd9fc721b198ec5e8bfb8c7162709bb26e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Fri, 2 Apr 2021 14:58:31 +0200 Subject: [PATCH 09/30] Fixed notation of negative numbers #736 --- CookieMonster.js | 2 +- dist/CookieMonster.js | 2 +- dist/CookieMonster.js.map | 2 +- src/Disp/BeautifyAndFormatting/BeautifyFormatting.js | 3 +++ 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CookieMonster.js b/CookieMonster.js index 2324773f..87037925 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,Rt={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Ue===t.id)return 2;if(Re===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Ue=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;eVt[30][0]?W:L,0!==Number(e.PPSecondsLowerLimit)&&o/lo()0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Uo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Uo).forEach((e=>{to(Uo[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Rt=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Un(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Ut,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(i.push(Uo[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Rn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Rn).forEach((t=>{const n=In(t,Rn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Un(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${se(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,Rt={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Ue===t.id)return 2;if(Re===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Ue=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;eVt[30][0]?W:L,0!==Number(e.PPSecondsLowerLimit)&&o/lo()0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Uo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Uo).forEach((e=>{to(Uo[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Rt=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Un(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Ut,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(i.push(Uo[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Rn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Rn).forEach((t=>{const n=In(t,Rn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Un(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index 2324773f..87037925 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,Rt={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Ue===t.id)return 2;if(Re===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Ue=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;eVt[30][0]?W:L,0!==Number(e.PPSecondsLowerLimit)&&o/lo()0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Uo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Uo).forEach((e=>{to(Uo[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Rt=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Un(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Ut,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(i.push(Uo[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Rn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Rn).forEach((t=>{const n=In(t,Rn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Un(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${se(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,Rt={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Ue===t.id)return 2;if(Re===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Ue=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;eVt[30][0]?W:L,0!==Number(e.PPSecondsLowerLimit)&&o/lo()0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Uo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Uo).forEach((e=>{to(Uo[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Rt=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Un(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Ut,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(i.push(Uo[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Rn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Rn).forEach((t=>{const n=In(t,Rn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Un(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index 7eac7ecb..f08416a0 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerDiv","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","groupObject","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerDiv","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","groupObject","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC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,MAAO,IAAIipB,GACT,OACA,WACA,CACE,uBACA,SACA,cACA,4BACA,sBACA,wBAEF,yCACA,GACA,WACET,QAGJ1oB,cAAe,IAAImpB,GACjB,OACA,WACA,CAAC,aAAc,aAAc,cAC7B,oIACA,GACA,WACET,QAGJloB,eAAgB,IAAI2oB,GAClB,OACA,WACA,CAAC,4BAA6B,mBAC9B,qDACA,GACA,WACET,QAGJnoB,YAAa,IAAImpB,GACf,WACA,WACA,2BACA,8KACA,EACA,WAEFvoB,WAAY,IAAIgoB,GACd,OACA,WACA,CAAC,0BAA2B,uBAC5B,0BACA,GAEFhG,aAAc,IAAIgG,GAChB,OACA,WACA,CAAC,oBAAqB,oBACtB,mEACA,GACA,WAlU6B,IAA3B7tB,EAAU6nB,aAAoB1nB,KAAKkd,QAAUza,EAC5CzC,KAAKkd,QAAUzb,EAAgByb,WAqUpCpK,cAAe,IAAI4a,GACjB,OACA,WACA,CAAC,yBAA0B,mBAC3B,sKACA,GAIFve,YAAa,IAAIue,GACf,OACA,UACA,CAAC,uBAAwB,uBACzB,yBACA,GACA,WACEze,QAGJ6R,sBAAuB,IAAI4M,GACzB,OACA,UACA,CAAC,2BAA4B,sBAC7B,0KACA,GAEFxM,aAAc,IAAIwM,GAChB,OACA,UACA,CACE,mBACA,kBACA,0BACA,gCAEF,sGACA,GAEF1M,cAAe,IAAI0M,GACjB,OACA,UACA,CAAC,mBAAoB,mBACrB,sJACA,GAEF7M,oBAAqB,IAAIoN,GACvB,WACA,UACA,oCACA,wMACA,EACAzpB,KAEF5C,WAAY,IAAImsB,GACd,SACA,UACA,6HAEFlsB,YAAa,IAAIksB,GACf,SACA,UACA,yGAEFjsB,aAAc,IAAIisB,GAChB,SACA,UACA,qHAEFhsB,aAAc,IAAIgsB,GAChB,SACA,UACA,4HAEF/rB,UAAW,IAAI+rB,GACb,SACA,UACA,gHAEF9rB,aAAc,IAAI8rB,GAChB,SACA,UACA,8HAEF7rB,WAAY,IAAI6rB,GACd,SACA,UACA,wGAEF5rB,WAAY,IAAI4rB,GACd,SACA,UACA,sDAEF3rB,YAAa,IAAI2rB,GACf,SACA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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file diff --git a/src/Disp/BeautifyAndFormatting/BeautifyFormatting.js b/src/Disp/BeautifyAndFormatting/BeautifyFormatting.js index bd4cdc11..1f7257e4 100644 --- a/src/Disp/BeautifyAndFormatting/BeautifyFormatting.js +++ b/src/Disp/BeautifyAndFormatting/BeautifyFormatting.js @@ -30,6 +30,9 @@ export function Beautify(num, floats, forced) { return BackupFunctions.Beautify(num, floats); } if (Number.isFinite(num)) { + if (num < 0) { + return `-${Beautify(Math.abs(num))}`; + } let answer = ''; if (num === 0) { return num.toString(); From ba0ff40aba5711bc94154a37e81d022201a06cad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Fri, 2 Apr 2021 15:08:02 +0200 Subject: [PATCH 10/30] Fixed dragon tooltip #736 --- CookieMonster.js | 2 +- dist/CookieMonster.js | 2 +- dist/CookieMonster.js.map | 2 +- src/Cache/Dragon/Dragon.js | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CookieMonster.js b/CookieMonster.js index 87037925..4514d653 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${se(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,Rt={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Ue===t.id)return 2;if(Re===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Ue=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;eVt[30][0]?W:L,0!==Number(e.PPSecondsLowerLimit)&&o/lo()0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Uo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Uo).forEach((e=>{to(Uo[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Rt=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Un(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Ut,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(i.push(Uo[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Rn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Rn).forEach((t=>{const n=In(t,Rn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Un(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${se(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,Rt={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Ue===t.id)return 2;if(Re===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Ue=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;eVt[30][0]?W:L,0!==Number(e.PPSecondsLowerLimit)&&o/lo()0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Uo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Uo).forEach((e=>{to(Uo[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Rt=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Un(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Ut,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(i.push(Uo[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Rn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Rn).forEach((t=>{const n=In(t,Rn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Un(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index 87037925..4514d653 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${se(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,Rt={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Ue===t.id)return 2;if(Re===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Ue=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;eVt[30][0]?W:L,0!==Number(e.PPSecondsLowerLimit)&&o/lo()0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Uo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Uo).forEach((e=>{to(Uo[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Rt=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Un(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Ut,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(i.push(Uo[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Rn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Rn).forEach((t=>{const n=In(t,Rn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Un(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${se(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,Rt={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Ue===t.id)return 2;if(Re===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Ue=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;eVt[30][0]?W:L,0!==Number(e.PPSecondsLowerLimit)&&o/lo()0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Uo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Uo).forEach((e=>{to(Uo[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Rt=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Un(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Ut,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(i.push(Uo[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Rn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Rn).forEach((t=>{const n=In(t,Rn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Un(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index f08416a0..1e9840c5 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerDiv","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","groupObject","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC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,MAAO,IAAIipB,GACT,OACA,WACA,CACE,uBACA,SACA,cACA,4BACA,sBACA,wBAEF,yCACA,GACA,WACET,QAGJ1oB,cAAe,IAAImpB,GACjB,OACA,WACA,CAAC,aAAc,aAAc,cAC7B,oIACA,GACA,WACET,QAGJloB,eAAgB,IAAI2oB,GAClB,OACA,WACA,CAAC,4BAA6B,mBAC9B,qDACA,GACA,WACET,QAGJnoB,YAAa,IAAImpB,GACf,WACA,WACA,2BACA,8KACA,EACA,WAEFvoB,WAAY,IAAIgoB,GACd,OACA,WACA,CAAC,0BAA2B,uBAC5B,0BACA,GAEFhG,aAAc,IAAIgG,GAChB,OACA,WACA,CAAC,oBAAqB,oBACtB,mEACA,GACA,WAlU6B,IAA3B7tB,EAAU6nB,aAAoB1nB,KAAKkd,QAAUza,EAC5CzC,KAAKkd,QAAUzb,EAAgByb,WAqUpCpK,cAAe,IAAI4a,GACjB,OACA,WACA,CAAC,yBAA0B,mBAC3B,sKACA,GAIFve,YAAa,IAAIue,GACf,OACA,UACA,CAAC,uBAAwB,uBACzB,yBACA,GACA,WACEze,QAGJ6R,sBAAuB,IAAI4M,GACzB,OACA,UACA,CAAC,2BAA4B,sBAC7B,0KACA,GAEFxM,aAAc,IAAIwM,GAChB,OACA,UACA,CACE,mBACA,kBACA,0BACA,gCAEF,sGACA,GAEF1M,cAAe,IAAI0M,GACjB,OACA,UACA,CAAC,mBAAoB,mBACrB,sJACA,GAEF7M,oBAAqB,IAAIoN,GACvB,WACA,UACA,oCACA,wMACA,EACAzpB,KAEF5C,WAAY,IAAImsB,GACd,SACA,UACA,6HAEFlsB,YAAa,IAAIksB,GACf,SACA,UACA,yGAEFjsB,aAAc,IAAIisB,GAChB,SACA,UACA,qHAEFhsB,aAAc,IAAIgsB,GAChB,SACA,UACA,4HAEF/rB,UAAW,IAAI+rB,GACb,SACA,UACA,gHAEF9rB,aAAc,IAAI8rB,GAChB,SACA,UACA,8HAEF7rB,WAAY,IAAI6rB,GACd,SACA,UACA,wGAEF5rB,WAAY,IAAI4rB,GACd,SACA,UACA,sDAEF3rB,YAAa,IAAI2rB,GACf,SACA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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerDiv","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","groupObject","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":";AAAS,MACC,IAAIA,EAAsB,CAE9BC,IACA,SAAUC,IAchB,SAAWC,EAAQC,GAElB,aAEuC,iBAAnBF,EAAOG,QAc3BD,EAAQD,GAZPD,EAAOG,QAAUF,EAAOG,SACvBF,EAASD,GACT,SAAUI,GACT,IAAKA,EAAID,SACR,MAAM,IAAIE,MAAM,wCAEjB,OAAOJ,EAAQG,IAZnB,CAoBqB,oBAAXE,OAAyBA,OAASC,MAAM,SAAUD,GAK5D,aAGA,IAwgDME,EAt7BAC,EAzXAC,EAvNFC,EAFAC,IAEAD,EAAM,CAGTE,aAAc,EAEdC,UAAY,GAEZC,WAAa,GAGbC,SAAW,gBACY,IAAXV,GAA0BA,EAAOH,UAC3CG,EAAOH,SAASc,iBAAiB,mBAAoBN,EAAIO,IAAIC,MAAM,IAKrEC,kBAAoB,SAAUC,EAAUC,GAEvC,KADAA,EAAWA,EAAWX,EAAIY,KAAKD,GAAYhB,EAAOH,UAEjD,MAAM,IAAIE,MAAM,qBAQjB,IALA,IAAImB,EAAOF,EAASG,iBAAiBJ,GAGjCK,EAAa,IAAIC,OAAO,WAAahB,EAAIO,IAAIU,YAAc,6BAA8B,KAEpFC,EAAI,EAAGA,EAAIL,EAAKM,OAAQD,GAAK,EAAG,CAUxC,IAAIE,EAAUC,EARd,KAAIR,EAAKK,GAAGjB,SAAWY,EAAKK,GAAGjB,mBAAmBD,EAAIO,YAIjCe,IAAjBT,EAAKK,GAAGK,MAAoD,SAA9BV,EAAKK,GAAGK,KAAKC,gBAA4BxB,EAAIyB,wBAOzB,QAApDL,EAAWpB,EAAI0B,YAAYb,EAAKK,GAAI,aACpCL,EAAKK,GAAGS,YAAcN,EAAIR,EAAKK,GAAGS,UAAUC,MAAMb,KAClD,CACD,IAAIc,EAAYhB,EAAKK,GAEjBY,EAAU,GACG,OAAbV,EACHU,EAAUV,EAEAC,IACVU,QAAQC,KAAK,sFAAwFhC,EAAIiC,SACrGZ,EAAE,KACLS,EAAUT,EAAE,KAId,IAAIa,EAAO,KACX,GAAIJ,EAAQK,OACX,IACCD,EAAOlC,EAAIoC,gBAAgBN,GAC1B,MAAOO,GACRN,QAAQC,KAAKK,EAAI,KAAOP,GAI1B,IACC,IAAI9B,EAAIO,IAAIsB,EAAWK,GACtB,MAAOG,GACRN,QAAQC,KAAKK,OAOjBD,gBAAkB,SAAUE,GAC3B,IAAIJ,EAAO,KAEX,IACCA,EAAOK,KAAKC,MAAMF,GAEjB,MAAOG,GACR,IAAKzC,EAAIO,IAAImC,UACZ,MAAM,IAAIhD,MAAM,4CAA8C+C,GAG9D,IACCP,EAAO,IAAKS,SAAU,eAAiBL,EAAM,kDAAtC,GACN,MAAOM,GACR,MAAM,IAAIlD,MAAM,uCAAyCkD,IAI5D,OAAOV,GAIRW,aAAe,WAEd,IADA,IAAIC,EAAO,GACF5B,EAAI,EAAGA,EAAIlB,EAAIG,UAAUgB,OAAQD,GAAK,EAE1ClB,EAAIG,UAAUe,IAAMlB,EAAIG,UAAUe,GAAG6B,eACxCD,EAAKE,KAAKhD,EAAIG,UAAUe,IAG1B,OAAO4B,GAIRG,SAAW,SAAUC,GACpB,IAAIC,EAAKxD,EAAOH,SAAS4D,cAAcF,GAEvC,OADAlD,EAAIqD,QAAQF,EAAI,OAAO,GAChBA,GAIRvC,KAAO,SAAU0C,GAChB,IAAKA,EACJ,OAAO,KAGR,GAA8B,iBAAnBA,EAA6B,CAEvC,IAAIC,EAAMD,EACNH,EAAK,KACT,IACCA,EAAKxD,EAAOH,SAASgE,cAAcD,GAClC,MAAOlB,GAER,OADAN,QAAQC,KAAKK,GACN,KAKR,OAHKc,GACJpB,QAAQC,KAAK,sCAAuCuB,GAE9CJ,EAGR,OAAInD,EAAIyD,OAAOH,GAEPA,GAGRvB,QAAQC,KAAK,qCAAsCsB,EAAgBA,GAC5D,OAKRG,OAAS,SAAUC,GAClB,MAAoB,iBAATC,KACHD,aAAeC,KAEhBD,GAAsB,iBAARA,GAA4C,iBAAjBA,EAAIE,UAAiD,iBAAjBF,EAAIG,UAIzFA,SAAW,SAAUjD,GACpB,SAAIA,IAAQA,EAAKiD,WACTjD,EAAKiD,SAASrC,eAMvBsC,eAAiB,SAAUlD,GAC1B,KAAOA,EAAKmD,YACXnD,EAAKoD,YAAYpD,EAAKmD,aAKxBE,YAAc,SAAUd,GACvB,OAAOA,GAA2B,UAArBnD,EAAI6D,SAASV,IAA6C,SAA1BA,EAAG5B,KAAKC,eAItD0C,SAAW,SAAUf,GACpB,IAAKA,EACJ,OAAO,EAER,IAAIgB,EAAInE,EAAI6D,SAASV,GACrB,MACQ,WAANgB,GACM,UAANA,GAAiB,CAAC,SAAU,SAAU,SAASC,QAAQjB,EAAG5B,KAAKC,gBAAkB,GAKpF6C,cAAgB,SAAUlB,GACzB,OAAQnD,EAAI6D,SAASV,IACpB,IAAK,QAAS,OAASA,EAAGmB,OAA6B,KAApBnB,EAAGmB,MAAMnC,OAC5C,IAAK,SAAU,MAAkC,KAA1BgB,EAAGoB,YAAYpC,OAEvC,OAAO,MAKRqC,wBAA0B,WACzB,IAAIC,GAAY,EAEhB,IACC,IAAIvC,EAAOwC,OAAOC,eAAe,GAAI,UAAW,CAC/CC,IAAK,WAAcH,GAAY,KAEhC9E,EAAOW,iBAAiB,cAAe,KAAM4B,GAC7CvC,EAAOkF,oBAAoB,cAAe,KAAM3C,GAC/C,MAAOG,IAET,OAAOoC,EAXkB,GAe1BhD,sBACK1B,EAAMJ,EAAOH,SAAS4D,cAAc,YACpCrD,EAAI+E,eACP/E,EAAI+E,aAAa,OAAQ,SACK,SAA1B/E,EAAIwB,KAAKC,iBAQfuD,SAAW,gBAOX1B,QAAU,WACT,IAAI2B,EAAMC,UAAU,GAEpB,GAAyB,IAArBA,UAAU9D,OAAc,CAE3B,IAAI+D,EAAOF,EAAIG,eAAenF,EAAI+E,UAAYC,EAAIhF,EAAI+E,UAAaC,EAAIhF,EAAI+E,UAAY,GAEnFT,EAAQW,UAAU,GAGtB,OADAC,EAHIE,EAAOH,UAAU,IAGRX,GACN,EAED,GAAyB,IAArBW,UAAU9D,QAAwC,iBAAjB8D,UAAU,GAAiB,CAElEC,EAAOF,EAAIG,eAAenF,EAAI+E,UAAYC,EAAIhF,EAAI+E,UAAaC,EAAIhF,EAAI+E,UAAY,GAAvF,IACIM,EAAMJ,UAAU,GAEpB,IAAK,IAAIG,KAAQC,EACZA,EAAIF,eAAeC,KACtBF,EAAKE,GAAQC,EAAID,IAGnB,OAAO,EAGR,MAAM,IAAI1F,MAAM,sBAOjB4F,WAAa,WACZ,IAAIN,EAAMC,UAAU,GACpB,IAAKD,EAAIG,eAAenF,EAAI+E,UAC3B,OAAO,EAER,IAAK,IAAI7D,EAAI,EAAGA,EAAI+D,UAAU9D,OAAQD,GAAK,EAAG,CAC7C,IAAIkE,EAAOH,UAAU/D,UACd8D,EAAIhF,EAAI+E,UAAUK,GAE1B,OAAO,GAIRG,QAAU,SAAUP,EAAKI,EAAMI,GAC9B,IAAKR,EAAIG,eAAenF,EAAI+E,UAAW,CAEtC,QAAmBzD,IAAfkE,EAGH,OAFAR,EAAIhF,EAAI+E,UAAY,GAKtB,IAAIG,EAAOF,EAAIhF,EAAI+E,UAKnB,OAHKG,EAAKC,eAAeC,SAAwB9D,IAAfkE,IACjCN,EAAKE,GAAQI,GAEPN,EAAKE,IAIb1D,YAAc,SAAUyB,EAAIsC,GAC3B,IAAIC,EAAW,QAAUD,EAEzB,OADgBtC,EAAGwC,aAAaD,IAKjCE,YAAc,SAAUzC,EAAIsC,EAAMnB,GACjC,IAAIoB,EAAW,QAAUD,EACzBtC,EAAG2B,aAAaY,EAAUpB,IAI3BuB,qBAAuB,GAGvBC,iBAAmB,SAAUC,EAAW5C,EAAI6C,EAAMC,GAC5CjG,EAAI6F,qBAAqBV,eAAeY,KAC5C/F,EAAI6F,qBAAqBE,GAAa,IAEvC/F,EAAI6F,qBAAqBE,GAAW/C,KAAK,CAACG,EAAI6C,EAAMC,IACpD9C,EAAG7C,iBAAiB0F,EAAMC,GAAM,IAIjCC,kBAAoB,SAAUH,GAC7B,GAAI/F,EAAI6F,qBAAqBV,eAAeY,GAAY,CACvD,IAAK,IAAI7E,EAAI,EAAGA,EAAIlB,EAAI6F,qBAAqBE,GAAW5E,OAAQD,GAAK,EAAG,CACvE,IAAIiF,EAAMnG,EAAI6F,qBAAqBE,GAAW7E,GAC9CiF,EAAI,GAAGtB,oBAAoBsB,EAAI,GAAIA,EAAI,IAAI,UAErCnG,EAAI6F,qBAAqBE,KAKlCK,eAAiB,SAAU/D,GACtBA,EAAE+D,gBAAkB/D,EAAE+D,iBAC1B/D,EAAEgE,aAAc,GAIjBC,cAAgB,SAAUC,GAErBA,EAAOC,aACVxG,EAAIyG,gBAAkBF,EACtBvG,EAAIyG,gBAAgBD,eAKtBE,cAAgB,WAEX1G,EAAIyG,kBACPzG,EAAIyG,gBAAgBE,iBACpB3G,EAAIyG,gBAAkB,OAKxBG,aAAe,SAAUzD,EAAI0D,EAAWC,EAASC,GAChD,GAAK5D,EAAL,CAIA,IAAI6D,EAAK,KAaT,MAXqB,mBAAVC,MACVD,EAAK,IAAIC,MAAMJ,EAAW,CACzBC,QAASA,EACTC,WAAYA,KAIbC,EAAKrH,EAAOH,SAAS0H,YAAY,UAC9BC,UAAUN,EAAWC,EAASC,KAG7BC,IAKLhH,EAAIqD,QAAQ2D,EAAI,YAAY,GAE5B7D,EAAGiE,cAAcJ,IACV,KAIRK,kBAAoB,SAAUlE,EAAI0D,EAAWC,EAASC,GAChD5D,GAGDnD,EAAIiE,YAAYd,IACnBnD,EAAI4G,aAAazD,EAAI0D,EAAWC,EAASC,IAK3CO,SAAW,SAAUN,GACpB,IAAIO,EAAO,CACVC,EAAG,MACHC,GAAI,QACJC,GAAI,UAEL,MAAuB,iBAAZV,EAAGW,KACNX,EAAGW,UACerG,IAAf0F,EAAGY,SAAyBL,EAAKpC,eAAe6B,EAAGY,SACtDL,EAAKP,EAAGY,SAET,MAIRC,QAAU,SAAUvF,GACnB,OAAKA,EAGEA,EAAIwF,QAAQ,aAAc,IAAIC,MAAM,OAFnC,IAOTC,SAAW,SAAUjI,EAAK4B,GACzB,QAAKA,SAGiBL,IAAlBvB,EAAIkI,UACAlI,EAAIkI,UAAUC,SAASvG,IAGvB,IAAM,IAAM5B,EAAI4B,UAAUmG,QAAQ,OAAQ,KAAO,KAAK1D,QAAQ,IAAMzC,EAAY,OAKzFwG,SAAW,SAAUpI,EAAK4B,GACzB,IAAIyG,EAAapI,EAAI6H,QAAQlG,GAE7B,QAAsBL,IAAlBvB,EAAIkI,UAOR,IAAS/G,EAAI,EAAGA,EAAIkH,EAAWjH,OAAQD,GAAK,EACtClB,EAAIgI,SAASjI,EAAKqI,EAAWlH,MACjCnB,EAAI4B,YAAc5B,EAAI4B,UAAY,IAAM,IAAMyG,EAAWlH,SAR1D,IAAK,IAAIA,EAAI,EAAGA,EAAIkH,EAAWjH,OAAQD,GAAK,EAC3CnB,EAAIkI,UAAUI,IAAID,EAAWlH,KAchCoH,YAAc,SAAUvI,EAAK4B,GAC5B,IAAIyG,EAAapI,EAAI6H,QAAQlG,GAE7B,QAAsBL,IAAlBvB,EAAIkI,UAOR,IAAS/G,EAAI,EAAGA,EAAIkH,EAAWjH,OAAQD,GAAK,EAAG,CAC9C,IAAIqH,EAAO,IAAIvH,OACd,QAAUoH,EAAWlH,GAArB,YACSkH,EAAWlH,GADpB,aAESkH,EAAWlH,GAAK,SACzB,KAEDnB,EAAI4B,UAAY5B,EAAI4B,UAAUmG,QAAQS,EAAM,WAb5C,IAAK,IAAIrH,EAAI,EAAGA,EAAIkH,EAAWjH,OAAQD,GAAK,EAC3CnB,EAAIkI,UAAUO,OAAOJ,EAAWlH,KAiBnCuH,aAAe,SAAU1I,GAKxB,OAJgBJ,EAAO+I,iBAAmB/I,EAAO+I,iBAAiB3I,GAAOA,EAAI4I,eAKrE,IAUTC,SAAW,SAAU7I,EAAK8I,EAAQC,EAAWC,GAE5C,IAAIC,EAAWF,EAAY,YAAc,GACrCG,EAAY,KAEhB,IAAK,IAAI7D,KAAQyD,EAChB,GAAIA,EAAO1D,eAAeC,GAAO,CAChC,IAAI8D,EAAS,KAEQ,OAAjBL,EAAOzD,IAGL6D,IAEJA,EAAYjJ,EAAIuF,QAAQxF,EAAK,cAE1BkJ,GAAaA,EAAU9D,eAAeC,KAEzC8D,EAASD,EAAU7D,MAMhB2D,IACEE,IAEJA,EAAYjJ,EAAIuF,QAAQxF,EAAK,YAAa,KAEtCkJ,EAAU9D,eAAeC,KAE7B6D,EAAU7D,GAAQrF,EAAIoJ,MAAM/D,KAG9B8D,EAASL,EAAOzD,IAGF,OAAX8D,GACHnJ,EAAIoJ,MAAMC,YAAYhE,EAAM8D,EAAQF,KAOxCK,SAAW,SAAUC,EAAGC,EAAGC,GAC1B,MAAO,MACL,IAAMC,KAAKC,MAAMJ,GAAGK,SAAS,KAAKC,QAAQ,IAC1C,IAAMH,KAAKC,MAAMH,GAAGI,SAAS,KAAKC,QAAQ,IAC1C,IAAMH,KAAKC,MAAMF,GAAGG,SAAS,KAAKC,QAAQ,IAC1CC,eAIHC,UAAY,SAAUR,EAAGC,EAAGC,EAAGO,GAC9B,MAAO,MACL,IAAMN,KAAKC,MAAMJ,GAAGK,SAAS,KAAKC,QAAQ,IAC1C,IAAMH,KAAKC,MAAMH,GAAGI,SAAS,KAAKC,QAAQ,IAC1C,IAAMH,KAAKC,MAAMF,GAAGG,SAAS,KAAKC,QAAQ,IAC1C,IAAMH,KAAKC,MAAU,IAAJK,GAASJ,SAAS,KAAKC,QAAQ,IAChDC,eAIHG,SAAW,SAAUV,EAAGC,EAAGC,GAC1B,MAAO,OACNC,KAAKC,MAAMJ,GAAK,IAChBG,KAAKC,MAAMH,GAAK,IAChBE,KAAKC,MAAMF,GACZ,KAIDS,UAAY,SAAUX,EAAGC,EAAGC,EAAGO,GAC9B,MAAO,QACNN,KAAKC,MAAMJ,GAAK,IAChBG,KAAKC,MAAMH,GAAK,IAChBE,KAAKC,MAAMF,GAAK,IACfC,KAAKC,MAA4C,KAArCK,QAA4B,EAAIA,IAAY,IAC1D,KAIDG,gBAmBKpK,EAjBJ,WAKC,IAJA,IAAIqK,EAAU,kBACVC,EAAW,CAAC,GAAI,WAAY,QAAS,MAAO,QAC5CC,EAAS1K,EAAOH,SAAS4D,cAAc,OAElClC,EAAI,EAAGA,EAAIkJ,EAASjJ,OAAQD,GAAK,EAAG,CAC5C,IAAIoJ,EAAUF,EAASlJ,GAAKiJ,EACxBI,EAASD,EAAU,2CAGvB,GADAD,EAAOlB,MAAMqB,WAAaD,EACtBF,EAAOlB,MAAMqB,WAChB,OAAOF,EAGT,OAAOH,EAGOM,GAER,WACN,OAAO3K,EAAW,IAAM4K,MAAMC,UAAUC,KAAKC,KAAK5F,UAAW,MAAQ,MAMvE6F,gBAAkB,SAAU/K,EAAKuE,GAChCtE,EAAI4I,SAAS7I,EAAK,CAACgL,gBAAkBzG,GAAS,OAI/C0G,aAAe,SAAUjL,EAAKuE,GAC7BtE,EAAI4I,SAAS7I,EAAK,CAACkL,aAAc3G,GAAS,UAI3C4G,cAAgB,SAAU7I,EAAG8I,GAC5B,IAAIC,EAAE,EAAGC,EAAE,EACPC,EAAOjJ,EAAEkJ,wBAGb,GAFAH,EAAIE,EAAKE,KACTH,EAAIC,EAAKG,KACJN,EAAoB,CACxB,IAAIO,EAAU1L,EAAI2L,aAClBP,GAAKM,EAAQ,GACbL,GAAKK,EAAQ,GAEd,MAAO,CAACN,EAAGC,IAIZO,eAAiB,SAAUvJ,GAC1B,MAAO,CAACA,EAAEwJ,YAAaxJ,EAAEyJ,eAK1BC,iBAAmB,SAAU1J,GAC5B,IAAI+I,EAAI,EAAGC,EAAI,EASf,YARgC,IAArBhJ,EAAE2J,gBAAkC3J,EAAE2J,eAAe7K,QAE/DiK,EAAI/I,EAAE2J,eAAe,GAAGC,QACxBZ,EAAIhJ,EAAE2J,eAAe,GAAGE,SACO,iBAAd7J,EAAE4J,UACnBb,EAAI/I,EAAE4J,QACNZ,EAAIhJ,EAAE6J,SAEA,CAAEd,EAAGA,EAAGC,EAAGA,IAKnBc,iBAAmB,SAAU9J,GAC5B,IACI+J,GADS/J,EAAEkE,QAAUlE,EAAEgK,YACHd,wBAIpBU,EAAU,EAAGC,EAAU,EAY3B,YAXgC,IAArB7J,EAAE2J,gBAAkC3J,EAAE2J,eAAe7K,QAE/D8K,EAAU5J,EAAE2J,eAAe,GAAGC,QAC9BC,EAAU7J,EAAE2J,eAAe,GAAGE,SACC,iBAAd7J,EAAE4J,UACnBA,EAAU5J,EAAE4J,QACZC,EAAU7J,EAAE6J,SAKN,CAAEd,EAFLa,EAAUG,EAAWZ,KAEVH,EADXa,EAAUE,EAAWX,MAK1BE,WAAa,WACZ,IAAIW,EAAM3M,EAAOH,SAAS+M,gBAC1B,MAAO,EACL5M,EAAO6M,aAAeF,EAAIG,aAAeH,EAAII,YAAc,IAC3D/M,EAAOgN,aAAeL,EAAIM,YAAcN,EAAIO,WAAa,KAK5DC,YAAc,WACb,IAAIR,EAAM3M,EAAOH,SAAS+M,gBAC1B,MAAO,CACL5M,EAAOoN,YAAcT,EAAIU,YACzBrN,EAAOsN,aAAeX,EAAIY,eAW7BC,QAAU,SAAU7D,EAAGC,EAAGC,GACzBF,GAAK,IACLC,GAAK,IACLC,GAAK,IACL,IAAIrF,EAAIsF,KAAK2D,IAAI3D,KAAK2D,IAAI9D,EAAEC,GAAGC,GAC3B6D,EAAI5D,KAAK6D,IAAI7D,KAAK6D,IAAIhE,EAAEC,GAAGC,GAC3BnI,EAAIgM,EAAIlJ,EACZ,GAAU,IAAN9C,EAAW,MAAO,CAAE,KAAM,EAAG,IAAMgM,GACvC,IAAIE,EAAIjE,IAAInF,EAAI,GAAGqF,EAAED,GAAGlI,EAAKkI,IAAIpF,EAAI,GAAGmF,EAAEE,GAAGnI,EAAI,GAAGkI,EAAED,GAAGjI,EACzD,MAAO,CACN,IAAU,IAAJkM,EAAM,EAAEA,GACPlM,EAAEgM,EAAT,IACA,IAAMA,IAWRG,QAAU,SAAUD,EAAGE,EAAGJ,GACzB,IAAIK,EAAWL,EAAI,IAAX,IAER,GAAU,OAANE,EACH,MAAO,CAAEG,EAAGA,EAAGA,GAGhBH,GAAK,GACLE,GAAK,IAEL,IAAIvM,EAAIuI,KAAKkE,MAAMJ,GAEflM,EAAIqM,GAAK,EAAID,GACbtJ,EAAIuJ,GAAK,EAAID,GAFTvM,EAAE,EAAIqM,EAAErM,EAAI,GAAGqM,EAAErM,KAGzB,OAAQA,GACP,KAAK,EACL,KAAK,EAAG,MAAO,CAACwM,EAAEvJ,EAAE9C,GACpB,KAAK,EAAG,MAAO,CAAC8C,EAAEuJ,EAAErM,GACpB,KAAK,EAAG,MAAO,CAACA,EAAEqM,EAAEvJ,GACpB,KAAK,EAAG,MAAO,CAAC9C,EAAE8C,EAAEuJ,GACpB,KAAK,EAAG,MAAO,CAACvJ,EAAE9C,EAAEqM,GACpB,KAAK,EAAG,MAAO,CAACA,EAAErM,EAAE8C,KAKtByJ,iBAAmB,SAAUtL,GAC5B,IAKIjB,EALAwM,EAAM,CACTC,KAAM,KACNC,OAAQ,MAKT,GAAI1M,EAAIiB,EAAIV,MAAM,4BAA6B,CAG9C,GAAoB,IAAhBP,EAAE,GAAGF,OAER0M,EAAIE,OAAS,OACbF,EAAIC,KAAO,CACVE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1BoE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1BoE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1BoE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAAM,UAG3B,GAAoB,IAAhBvI,EAAE,GAAGF,OAEf0M,EAAIE,OAAS,MACbF,EAAIC,KAAO,CACVE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1BoE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1BoE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1B,UAGK,IAAoB,IAAhBvI,EAAE,GAAGF,OAWf,OAAO,EATP0M,EAAIE,OAAS,MACbF,EAAIC,KAAO,CACVE,SAAS3M,EAAE,GAAG4M,OAAO,GAAK5M,EAAE,GAAG4M,OAAO,GAAG,IACzCD,SAAS3M,EAAE,GAAG4M,OAAO,GAAK5M,EAAE,GAAG4M,OAAO,GAAG,IACzCD,SAAS3M,EAAE,GAAG4M,OAAO,GAAK5M,EAAE,GAAG4M,OAAO,GAAG,IACzC,MAOF,OAAOJ,EAGR,GAAIxM,EAAIiB,EAAIV,MAAM,6BAA8B,CAG/C,IAEIsM,EAAIC,EAAIC,EAAIC,EAFZC,EAAMjN,EAAE,GAAG0G,MAAM,KACjBwG,EAAK,kCAET,GACCD,EAAInN,QAAU,IACb+M,EAAKI,EAAI,GAAG1M,MAAM2M,MAClBJ,EAAKG,EAAI,GAAG1M,MAAM2M,MAClBH,EAAKE,EAAI,GAAG1M,MAAM2M,IAiBnB,OAfAV,EAAIE,OAAS,MACbF,EAAIC,KAAO,CACVU,WAAWN,EAAG,KAAO,EACrBM,WAAWL,EAAG,KAAO,EACrBK,WAAWJ,EAAG,KAAO,EACrB,MAIAE,EAAInN,QAAU,IACbkN,EAAKC,EAAI,GAAG1M,MAAM2M,MAEnBV,EAAIE,OAAS,OACbF,EAAIC,KAAK,GAAKU,WAAWH,EAAG,KAAO,GAE7BR,EAIT,OAAO,GAIRY,kBAAoB,SAAUC,GAC7B,IAAIC,EAAO,GAEU,iBAAVD,EAEVA,EAAM5G,QAAQ,iDAAiD,SAAUpE,GACxEiL,EAAK3L,KAAKU,MAEDgH,MAAMkE,QAAQF,KACxBC,EAAOD,GAOR,IAFA,IAAIG,EAAS,GAEJ3N,EAAI,EAAGA,EAAIyN,EAAKxN,OAAQD,IAAK,CACrC,IAAI4N,EAAQ9O,EAAI4N,iBAAiBe,EAAKzN,IAClC4N,GACHD,EAAO7L,KAAK8L,GAId,OAAOD,GAIRE,wBAA0B,SAAUF,GACnC,IAAK,IAAI3N,EAAI,EAAGA,EAAI2N,EAAO1N,OAAQD,IAAK,CACvC,IAAI6I,EAAI8E,EAAO3N,GAAG4M,KAAK,GACvB,GAAU,OAAN/D,GAAcA,EAAI,EACrB,OAAO,EAGT,OAAO,GAIRiF,cAAgB,SAAUjB,GACzB,OAAQA,EAAOvM,eACf,IAAK,OACL,IAAK,OACJ,OAAO,EAER,OAAO,GAQRyN,sBAAwB,SAAUC,GACjC,IAAIC,EAAMxP,EAAOyP,kBAAoB,EACrCF,EAAOG,OAASF,EAChBD,EAAOI,QAAUH,EACPD,EAAOK,WAAW,MACxBC,MAAML,EAAKA,IAIhBM,sBAAwB,SAAUX,EAAOY,EAAcC,EAAWC,GAEjE,IAAIC,EAAOpG,KAAKC,MAAM1J,EAAIO,IAAIuP,iBAAiB3O,QAC3C4O,EAAS/P,EAAIO,IAAIyP,eACjBC,EAAWjQ,EAAIO,IAAI2P,iBACnBC,EAAWnQ,EAAIO,IAAI6P,iBAEnBC,EAASV,GAAiC,EAATI,EACjCO,EAAmB,EAATP,EAEVb,EAASlP,EAAIiD,SAAS,UACtBsN,EAAMrB,EAAOK,WAAW,MAE5BL,EAAOG,MAAQgB,EACfnB,EAAOI,OAASgB,EACZV,GACH5P,EAAIiP,sBAAsBC,GAI3BqB,EAAIC,UAAYP,EAChBM,EAAIE,SAAS,EAAG,EAAGJ,EAAQC,GAG3BC,EAAIC,UAAYL,EAChB,IAAK,IAAI/E,EAAI,EAAGA,EAAIiF,EAAQjF,GAAc,EAAT2E,EAChCQ,EAAIE,SAASrF,EAAG,EAAG2E,EAAQA,GAC3BQ,EAAIE,SAASrF,EAAI2E,EAAQA,EAAQA,EAAQA,GAGtCjB,IAEHyB,EAAIC,UAAY1B,EAChByB,EAAIE,SAAS,EAAG,EAAGJ,EAAQC,IAG5B,IAAII,EAAQ,KACZ,OAAQhB,GACP,IAAK,OACJgB,EAAQ,EACRH,EAAII,UAAU,EAAG,EAAGd,EAAK,EAAGS,GAC5B,MACD,IAAK,QACJI,EAAQL,EAASR,EACjBU,EAAII,UAAUN,EAAUR,EAAK,EAAI,EAAGA,EAAK,EAAGS,GAG9C,GAAc,OAAVI,EAAgB,CACnBH,EAAIK,UAAY,EAChB,IAAK,IAAI1P,EAAI,EAAGA,EAAIlB,EAAIO,IAAIuP,iBAAiB3O,OAAQD,GAAK,EACzDqP,EAAIM,YACJN,EAAIO,YAAc9Q,EAAIO,IAAIuP,iBAAiB5O,GAC3CqP,EAAIQ,OAAO,GAAML,EAAQxP,EAAG,GAC5BqP,EAAIS,OAAO,GAAMN,EAAQxP,EAAGoP,GAC5BC,EAAIU,SAIN,MAAO,CACN/B,OAAQA,EACRG,MAAOgB,EACPf,OAAQgB,IAMVY,wBAA0B,SAAUpC,EAAOqC,EAAU9B,GACpD,IAAI+B,EAkBJ,OAfCA,EADGD,GAAY9B,EACN,CACR,MAAQ,CAAC7D,KAAO,QAAS6F,MAAQ,QAAQF,GACzCrC,EAAQ,MACRA,EAAQ,IAAMO,EAAQ,KACtB,kBAAoBA,EAAQ,GAAK,KACjC,sBAGQ,CACR,WACAP,EAAQ,MACRA,EAAQ,SAIH9O,EAAIkK,eAAeoH,MAAM1R,KAAMwR,IAIvCG,eAAiB,WAEhB,GAAKvR,EAAIwR,QAAWxR,EAAIwR,OAAOC,MAA/B,CAIA,IAEIC,EAAIC,EAFJC,EAAU5R,EAAIwR,OAAOC,MAIrBG,EAAQC,OAGXH,EAAK1R,EAAIkL,cAAc0G,EAAQ7O,eAAe,GAC9C4O,EAAK,CAAC,EAAG,KAETD,EAAK1R,EAAIkL,cAAc0G,EAAQ7O,eAC/B4O,EAAK3R,EAAI2L,cAGV,IAII5B,EAAGP,EAAGsI,EAJNC,EAAK/R,EAAI4L,eAAegG,EAAQ7O,eAChCiP,EAAKhS,EAAI8M,cACTmF,EAAKjS,EAAIkS,cAAcN,GACvBO,EAAK,CAACF,EAAGG,QAASH,EAAGI,SAEzB,OAAQT,EAAQT,SAAS3P,eACxB,IAAK,OAAQuI,EAAE,EAAGP,EAAE,EAAGsI,GAAG,EAAG,MAC7B,IAAK,QAAQ/H,EAAE,EAAGP,EAAE,EAAGsI,EAAE,EAAG,MAC5B,IAAK,MAAQ/H,EAAE,EAAGP,EAAE,EAAGsI,GAAG,EAAG,MAC7B,QAAa/H,EAAE,EAAGP,EAAE,EAAGsI,EAAE,EAE1B,IAAIQ,GAAKP,EAAGvI,GAAG2I,EAAG3I,IAAI,EAGtB,GAAKoI,EAAQW,cAMRC,EAAK,EACPb,EAAG5H,GAAG2H,EAAG3H,GAAGoI,EAAGpI,GAAKiI,EAAGjI,KACrB4H,EAAG5H,GAAG2H,EAAG3H,GAAGgI,EAAGhI,GAAG,EAAIiI,EAAGjI,GAAG,GAAK2H,EAAG3H,GAAGgI,EAAGhI,GAAGoI,EAAGpI,IAAM,EAAI2H,EAAG3H,GAAGgI,EAAGhI,GAAGoI,EAAGpI,GAC3E2H,EAAG3H,IACH4H,EAAGnI,GAAGkI,EAAGlI,GAAGuI,EAAGvI,GAAG2I,EAAG3I,GAAG8I,EAAEA,EAAER,EAAIE,EAAGxI,IACjCmI,EAAGnI,GAAGkI,EAAGlI,GAAGuI,EAAGvI,GAAG,EAAIwI,EAAGxI,GAAG,GAAKkI,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,GAAK,EAAIJ,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,EAAIJ,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,EAC/FJ,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,GAAK,EAAIJ,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,EAAIJ,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,QAXhE,IAAIU,EAAK,CACRd,EAAG3H,GACH2H,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,GAalB,IAAI1G,EAAIoH,EAAGzI,GACPsB,EAAImH,EAAGhJ,GACPiJ,EAAgBb,EAAQC,MAAQ,QAAU,WAC1Ca,GACFF,EAAG,GAAKL,EAAG,GAAKT,EAAG,IAAMc,EAAG,GAAKd,EAAG,GAAKK,EAAG,KAC5CS,EAAG,GAAKL,EAAG,GAAKT,EAAG,GAAKK,EAAG,GAE7B/R,EAAI2S,cAAcf,EAASxG,EAAGC,EAAGoH,EAAeC,KAIjDC,cAAgB,SAAUf,EAASxG,EAAGC,EAAGoH,EAAeC,GACvD,IAAIE,EAAUF,EAAiB,EAAId,EAAQiB,WAE3C7S,EAAIwR,OAAOsB,KAAK3J,MAAMgI,SAAWsB,EACjCzS,EAAIwR,OAAOsB,KAAK3J,MAAMqC,KAAOJ,EAAI,KACjCpL,EAAIwR,OAAOsB,KAAK3J,MAAMsC,IAAMJ,EAAI,KAEhCrL,EAAIgL,aACHhL,EAAIwR,OAAOuB,KACXnB,EAAQoB,OACP,IAAIhT,EAAIH,UAAU,EAAG+S,EAAShB,EAAQiB,WAAY,EAAGjB,EAAQqB,aAC7D,OAIHf,cAAgB,SAAUN,GACzB,IAAIsB,EAAI,EAAItB,EAAQuB,mBAAqBvB,EAAQvC,MAC7C9B,EAAI,EAAIqE,EAAQuB,mBAAqBvB,EAAQtC,OAE7C8D,EAAc,EAAIxB,EAAQuB,mBAAqB,EAAInT,EAAIqT,kBAAkBzB,GAAWA,EAAQ0B,WAE5FtT,EAAIuT,iBAAiB3B,KACxBsB,GAAKE,GAEFxB,EAAQ4B,oBACXN,GAAKE,GAGN,IAAIK,EAAMzT,EAAI0T,eAAe9B,EAASsB,GAElCO,EAAInE,SACP/B,GAAKkG,EAAInE,OAASsC,EAAQ+B,SAEvB/B,EAAQgC,cACXrG,GAAK,EAAIqE,EAAQuB,mBAAqBvB,EAAQ+B,QAAU/B,EAAQiC,cAGjE,IAAIC,EAAKZ,EAAK,EAAItB,EAAQ+B,QACtBI,EAAKxG,EAAK,EAAIqE,EAAQ+B,QAE1B,MAAO,CACNK,SAAUd,EACVe,SAAU1G,EACV2G,QAASJ,EACTK,QAASJ,EACT3B,QAAS0B,EAAM,EAAIlC,EAAQwC,YAC3B/B,QAAS0B,EAAM,EAAInC,EAAQwC,YAC3BC,QAASZ,IAKXC,eAAiB,SAAU9B,EAASvC,GACnC,IAAIiF,EAAO,EAAGC,EAAO,EAAGC,EAAQ,EAAGC,EAAQ,EAAGnF,EAAS,EACnDoF,EAAc9C,EAAQ+C,SAAW/C,EAAQ+C,SAASxT,OAAS,EAiB/D,OAfIuT,IAEHH,GADAD,EAAO1C,EAAQgD,aACD,EAAInL,KAAKoL,KAAKH,EAAcJ,GAAQ,EAGlDE,EAAQ/K,KAAK6D,IAAI,EAAG7D,KAAKkE,OAAO0B,GAAUiF,EAAO,GAAK1C,EAAQkD,gBAAmBR,IACjFG,EAAQ7C,EAAQmD,cAAgBtL,KAAK2D,IAAIwE,EAAQmD,cAAeP,GAASA,GAGtED,IACHjF,EACCiF,EAAOE,GACNF,EAAO,GAAK3C,EAAQkD,gBAGhB,CACNR,KAAMA,EACNC,KAAMA,EACNC,MAAOA,EACPC,MAAOA,EACPpF,MAAOA,EACPC,OAAQA,IAKV+D,kBAAoB,SAAUzB,GAC7B,OAAOnI,KAAK6D,IACXsE,EAAQ+B,QAAU,EACjB,EAAI/B,EAAQoD,mBAAqBpD,EAAQqD,iBAAoBrD,EAAQuB,qBAKxE+B,eAAiB,SAAUtD,GAC1B,OAAQA,EAAQuD,KAAKlH,OAAO,GAAGzM,eAC9B,IAAK,IAAK,MAAO,IAElB,MAAO,KAIR+R,iBAAmB,SAAU3B,GAC5B,GAAIA,EAAQuD,KAAKhU,OAAS,EACzB,OAAQyQ,EAAQuD,KAAKlH,OAAO,GAAGzM,eAC9B,IAAK,IAAK,MAAO,IACjB,IAAK,IAAK,MAAO,IAGnB,OAAO,MAKR4T,gBAAkB,SAAUxD,EAASxM,GACpC,GAAKwM,EAAQxM,GAAb,CAGA,IAAIiQ,EAAW,KAEf,GAA6B,iBAAlBzD,EAAQxM,GAElB,IACCiQ,EAAW,IAAI1S,SAAUiP,EAAQxM,IAChC,MAAO/C,GACRN,QAAQuT,MAAMjT,QAIfgT,EAAWzD,EAAQxM,GAGhBiQ,GACHA,EAASxK,KAAK+G,KAOhB2D,cAAgB,SAAUC,GAEzB,IADA,IAAI1S,EAAO9C,EAAI6C,eACN3B,EAAI,EAAGA,EAAI4B,EAAK3B,OAAQD,GAAK,EACrC4B,EAAK5B,GAAGuU,QAAQD,IAKlBE,kBAAoB,CACnBC,MAAO,YACPC,MAAO,aAERC,iBAAmB,CAClBF,MAAO,UACPC,MAAO,YAIRE,eAAiB,KACjBrP,gBAAkB,KAGlBsP,gBAAkB,SAAU1T,IACyB,IAAhD,CAAC,MAAO,UAAU+B,QAAQpE,EAAIsH,SAASjF,KACtCrC,EAAIwR,QAAUxR,EAAIwR,OAAOC,OAC5BzR,EAAIwR,OAAOC,MAAMuE,WAMpBC,eAAiB,SAAU5T,GAC1BrC,EAAIuR,kBAIL2E,eAAiB,SAAU7T,GAC1BrC,EAAIuR,kBAIL4E,eAAiB,SAAU9T,GAEtBrC,EAAIwR,QAAUxR,EAAIwR,OAAOC,OAC5BzR,EAAIwR,OAAOC,MAAMuE,WAKnBI,oBAAsB,SAAU/T,GAC/B,IAAIkE,EAASlE,EAAEkE,QAAUlE,EAAEgK,WAEvB9F,EAAOtG,SAAWsG,EAAOtG,mBAAmBD,EAAIO,IAC/CgG,EAAOtG,QAAQoW,cAAgB9P,EAAO+P,UACzC/P,EAAOtG,QAAQsW,OAENvW,EAAIuF,QAAQgB,EAAQ,OAChBvG,EAAIuF,QAAQgB,EAAQ,YAGjCvG,EAAIwW,sBAAsBnU,EAAGkE,EAAQvG,EAAIuF,QAAQgB,EAAQ,WAAY,SAIlEvG,EAAIwR,QAAUxR,EAAIwR,OAAOC,OAC5BzR,EAAIwR,OAAOC,MAAMuE,WAMpBS,mBAAqB,SAAUpU,GAC9B,IAAIkE,EAASlE,EAAEkE,QAAUlE,EAAEgK,WAEvBrM,EAAIuF,QAAQgB,EAAQ,YACvBvG,EAAIwW,sBAAsBnU,EAAGkE,EAAQvG,EAAIuF,QAAQgB,EAAQ,WAAY,UAKvEiQ,sBAAwB,SAAUnU,EAAGkE,EAAQmQ,EAAaC,GACzD,IAAI/E,EAAU5R,EAAIuF,QAAQgB,EAAQ,YAElCvG,EAAIoG,eAAe/D,GACnBrC,EAAIsG,cAAcC,GAElB,IAAIqQ,EAAqB,SAAUtK,EAAKuK,GACvC7W,EAAI8F,iBAAiB,OAAQwG,EAAKtM,EAAI0V,kBAAkBiB,GACvD3W,EAAI8W,sBAAsBzU,EAAGkE,EAAQmQ,EAAaC,EAAaE,IAChE7W,EAAI8F,iBAAiB,OAAQwG,EAAKtM,EAAI6V,iBAAiBc,GACtD3W,EAAI+W,qBAAqB1U,EAAGkE,EAAQmQ,EAAaC,KAKnD,GAFAC,EAAmBjX,EAAOH,SAAU,CAAC,EAAG,IAEpCG,EAAOqX,QAAUrX,EAAOsX,aAAc,CACzC,IAAI3L,EAAO3L,EAAOsX,aAAa1L,wBAC3B2L,EAAM,EAAE5L,EAAKE,MAAOF,EAAKG,KAC7BmL,EAAmBjX,EAAOqX,OAAOrX,OAAOH,SAAU0X,GAGnD,IAAIC,EAAMnX,EAAI+L,iBAAiB1J,GAC3B+U,EAAMpX,EAAImM,iBAAiB9J,GAM/B,OALArC,EAAI8V,eAAiB,CACpB1K,EAAG+L,EAAI/L,EAAIgM,EAAIhM,EACfC,EAAG8L,EAAI9L,EAAI+L,EAAI/L,GAGRqL,GACR,IAAK,MAEkC,MAAlC1W,EAAIuT,iBAAiB3B,IAA2C,IAAvBA,EAAQyF,SAAShK,GAC7DuE,EAAQ0F,SAAS,KAAM,KAAM,IAAK,MAEnCtX,EAAIuX,OAAO3F,EAASvP,EAAG,EAAG,GAC1B,MAED,IAAK,MACJrC,EAAIwX,OAAO5F,EAASvP,EAAG,GACvB,MAED,IAAK,OACJrC,EAAIyX,QAAQ7F,EAASvP,EAAG,GAGzBuP,EAAQ6D,QAAQ,UAIjBqB,sBAAwB,SAAUzU,EAAGkE,EAAQmQ,EAAaC,EAAaE,GACtE,OAAO,SAAUxU,GAChB,IAAIuP,EAAU5R,EAAIuF,QAAQgB,EAAQ,YAClC,OAAQmQ,GACR,IAAK,MACJ1W,EAAIuX,OAAO3F,EAASvP,EAAGwU,EAAO,GAAIA,EAAO,IACzC,MAED,IAAK,MACJ7W,EAAIwX,OAAO5F,EAASvP,EAAGwU,EAAO,IAC9B,MAED,IAAK,OACJ7W,EAAIyX,QAAQ7F,EAASvP,EAAGwU,EAAO,IAGhCjF,EAAQ6D,QAAQ,WAKlBsB,qBAAuB,SAAU1U,EAAGkE,EAAQmQ,EAAaC,GACxD,OAAO,SAAUtU,GAChB,IAAIuP,EAAU5R,EAAIuF,QAAQgB,EAAQ,YAClCvG,EAAIkG,kBAAkB,QACtBlG,EAAI0G,gBAKJkL,EAAQ6D,QAAQ,SAChB7D,EAAQ6D,QAAQ,YAKlBiC,qBAAuB,SAAUrV,GAChC,IAAIkE,EAASlE,EAAEsV,cACX/F,EAAU5R,EAAIuF,QAAQgB,EAAQ,YAC9BuI,EAAQ9O,EAAIuF,QAAQgB,EAAQ,SAGK,QAAjCqL,EAAQ7D,OAAOvM,gBAClBoQ,EAAQgG,WAAW9I,EAAMf,QACpB/N,EAAIgP,cAAc4C,EAAQiG,eAC9B/I,EAAMhB,KAAK,GAAK,IAKI,OAAlBgB,EAAMhB,KAAK,MACmB,IAA7B8D,EAAQkG,kBAA2D,SAA7BlG,EAAQkG,kBAA+BlG,EAAQmG,2BACxFjJ,EAAMhB,KAAK,GAAK,GAIlB8D,EAAQoG,SAAS1G,MAAMM,EAAS9C,EAAMhB,MAEtC8D,EAAQ6D,QAAQ,SAChB7D,EAAQ6D,QAAQ,UAEZ7D,EAAQqG,oBACXrG,EAAQsG,QAKVX,OAAS,SAAU3F,EAASvP,EAAG8V,EAAMC,GACpC,IAAIC,EAAarY,EAAI+L,iBAAiB1J,GAClC+I,EAAI+M,EAAOE,EAAWjN,EAAIpL,EAAI8V,eAAe1K,EAAIwG,EAAQ+B,QAAU/B,EAAQuB,mBAC3E9H,EAAI+M,EAAOC,EAAWhN,EAAIrL,EAAI8V,eAAezK,EAAIuG,EAAQ+B,QAAU/B,EAAQuB,mBAE3EmF,EAAOlN,GAAK,KAAOwG,EAAQvC,MAAQ,IACnCkJ,EAAO,IAAOlN,GAAK,KAAOuG,EAAQtC,OAAS,IAE/C,OAAQtP,EAAIkV,eAAetD,IAC3B,IAAK,IAAKA,EAAQ0F,SAASgB,EAAMC,EAAM,KAAM,MAAO,MACpD,IAAK,IAAK3G,EAAQ0F,SAASgB,EAAM,KAAMC,EAAM,QAK9Cf,OAAS,SAAU5F,EAASvP,EAAG+V,GAC9B,IAEIG,EAAO,KADHH,EADSpY,EAAI+L,iBAAiB1J,GACZgJ,EAAIrL,EAAI8V,eAAezK,EAAIuG,EAAQ+B,QAAU/B,EAAQuB,qBACxD,KAAOvB,EAAQtC,OAAS,IAE/C,OAAQtP,EAAIuT,iBAAiB3B,IAC7B,IAAK,IAAKA,EAAQ0F,SAAS,KAAMiB,EAAM,KAAM,MAAO,MACpD,IAAK,IAAK3G,EAAQ0F,SAAS,KAAM,KAAMiB,EAAM,QAK9Cd,QAAU,SAAU7F,EAASvP,EAAG+V,GAC/B,IAEIG,EAAO,GADHH,EADSpY,EAAI+L,iBAAiB1J,GACZgJ,EAAIrL,EAAI8V,eAAezK,EAAIuG,EAAQ+B,QAAU/B,EAAQuB,qBACxD,GAAOvB,EAAQtC,OAAS,IAE/C,GAAIiJ,EAAO,EAAK,CAEf,IAAIC,EAAM5G,EAAQiG,YACmB,QAAjCjG,EAAQ7D,OAAOvM,eAA4BxB,EAAIgP,cAAcwJ,IAChE5G,EAAQgG,WAAmB,QAARY,EAAgB,OAAS,QAI9C5G,EAAQ0F,SAAS,KAAM,KAAM,KAAMiB,IAIpCE,gBAAkB,WAEjB,IAAI5K,EAAM,CACT9N,IAAK,KACL2Y,KAAM,MAGHxJ,EAASlP,EAAIiD,SAAS,UACtBsN,EAAMrB,EAAOK,WAAW,MAsC5B,OAHA1B,EAAI9N,IAAMmP,EACVrB,EAAI6K,KAlCW,SAAUrJ,EAAOC,EAAQ/N,GACvC2N,EAAOG,MAAQA,EACfH,EAAOI,OAASA,EAEhBiB,EAAII,UAAU,EAAG,EAAGzB,EAAOG,MAAOH,EAAOI,QAEzC,IAAIqJ,EAAQpI,EAAIqI,qBAAqB,EAAG,EAAG1J,EAAOG,MAAO,GACzDsJ,EAAME,aAAa,EAAO,QAC1BF,EAAME,aAAa,EAAI,EAAG,QAC1BF,EAAME,aAAa,EAAI,EAAG,QAC1BF,EAAME,aAAa,GAAO,QAC1BF,EAAME,aAAa,EAAI,EAAG,QAC1BF,EAAME,aAAa,EAAI,EAAG,QAC1BF,EAAME,aAAa,EAAO,QAE1BtI,EAAIC,UAAYmI,EAChBpI,EAAIE,SAAS,EAAG,EAAGvB,EAAOG,MAAOH,EAAOI,QAExC,IAAIwJ,EAAQvI,EAAIqI,qBAAqB,EAAG,EAAG,EAAG1J,EAAOI,QACrD,OAAQ/N,EAAKC,eACb,IAAK,IACJsX,EAAMD,aAAa,EAAG,uBACtBC,EAAMD,aAAa,EAAG,uBACtB,MACD,IAAK,IACJC,EAAMD,aAAa,EAAG,iBACtBC,EAAMD,aAAa,EAAG,iBAGvBtI,EAAIC,UAAYsI,EAChBvI,EAAIE,SAAS,EAAG,EAAGvB,EAAOG,MAAOH,EAAOI,SAMlCzB,GAIRkL,qBAAuB,WAEtB,IAAIlL,EAAM,CACT9N,IAAK,KACL2Y,KAAM,MAGHxJ,EAASlP,EAAIiD,SAAS,UACtBsN,EAAMrB,EAAOK,WAAW,MAmB5B,OAHA1B,EAAI9N,IAAMmP,EACVrB,EAAI6K,KAfW,SAAUrJ,EAAOC,EAAQ0J,EAAQC,GAC/C/J,EAAOG,MAAQA,EACfH,EAAOI,OAASA,EAEhBiB,EAAII,UAAU,EAAG,EAAGzB,EAAOG,MAAOH,EAAOI,QAEzC,IAAI4J,EAAO3I,EAAIqI,qBAAqB,EAAG,EAAG,EAAG1J,EAAOI,QACpD4J,EAAKL,aAAa,EAAGG,GACrBE,EAAKL,aAAa,EAAGI,GAErB1I,EAAIC,UAAY0I,EAChB3I,EAAIE,SAAS,EAAG,EAAGvB,EAAOG,MAAOH,EAAOI,SAMlCzB,GAIRsL,sBAAwB,WAEvB,IAAItL,EAAM,CACT9N,IAAK,KACL2Y,KAAM,MAGHxJ,EAASlP,EAAIiD,SAAS,UACtBsN,EAAMrB,EAAOK,WAAW,MAoC5B,OAHA1B,EAAI9N,IAAMmP,EACVrB,EAAI6K,KAhCW,SAAUrJ,EAAOC,EAAQR,GACvCI,EAAOG,MAAQA,EACfH,EAAOI,OAASA,EAEhBiB,EAAII,UAAU,EAAG,EAAGzB,EAAOG,MAAOH,EAAOI,QAEzC,IAAIS,EAASb,EAAOG,MAAQ,EACxBY,EAAWjQ,EAAIO,IAAI2P,iBACnBC,EAAWnQ,EAAIO,IAAI6P,iBAMvB,GAHAG,EAAIC,UAAYP,EAChBM,EAAIE,SAAS,EAAG,EAAGvB,EAAOG,MAAOH,EAAOI,QAEpCS,EAAS,EACZ,IAAK,IAAI1E,EAAI,EAAGA,EAAI6D,EAAOI,OAAQjE,GAAc,EAAT0E,EAEvCQ,EAAIC,UAAYL,EAChBI,EAAIE,SAAS,EAAGpF,EAAG0E,EAAQA,GAC3BQ,EAAIE,SAASV,EAAQ1E,EAAI0E,EAAQA,EAAQA,GAI3C,IAAImJ,EAAO3I,EAAIqI,qBAAqB,EAAG,EAAG,EAAG1J,EAAOI,QACpD4J,EAAKL,aAAa,EAAG/J,GACrBoK,EAAKL,aAAa,EAAG,iBAErBtI,EAAIC,UAAY0I,EAChB3I,EAAIE,SAAS,EAAG,EAAGvB,EAAOG,MAAOH,EAAOI,SAMlCzB,GAIRhO,WACKA,EAAY,SAAUuZ,EAASxG,EAASyG,EAAMC,EAAQxK,EAAOyK,GAChE3Z,KAAKwZ,QAAUA,EACfxZ,KAAKgT,QAAUA,EACfhT,KAAKyZ,KAAOA,EACZzZ,KAAK0Z,OAASA,EACd1Z,KAAKkP,MAAQA,EACblP,KAAK2Z,QAAUA,GAGhB1Z,EAAU8K,UAAUhB,SAAW,WAC9B,IAAIgF,EAAO,CACVlF,KAAKC,MAAM9J,KAAKwZ,SAAW,KAC3B3P,KAAKC,MAAM9J,KAAKgT,SAAW,KAC3BnJ,KAAKC,MAAM9J,KAAKyZ,MAAQ,KACxB5P,KAAKC,MAAM9J,KAAK0Z,QAAU,KAC1B1Z,KAAKkP,OAKN,OAHIlP,KAAK2Z,OACR5K,EAAK3L,KAAK,SAEJ2L,EAAK/D,KAAK,MAGX/K,GAIR2Z,MAAQ,CACPC,WAAa,EACbC,WAAa,EACbC,aAAe,GAIhBC,SAAW,CACV7L,OAAQ,CAAC,OAAQ,MAAO,MAAO,OAAQ,MAAO,QAC9C8L,gBAAiB,CAAC,OAAQ,SAC1B1E,KAAM,CAAC,MAAO,MAAO,KAAM,MAC3BhE,SAAU,CAAC,OAAQ,QAAS,MAAO,UACnC2I,aAAc,CAAC,QAAQ,GAAM,GAC7BhC,iBAAkB,CAAC,QAAQ,GAAM,IAIlCiC,eAAiB,CAEhBC,aAAgB,iBAChBC,aAAgB,UAChBC,mBAAsB,aACtBC,SAAY,cACZC,WAAc,qBACdC,WAAc,qBACdC,OAAU,MAIXrY,QAAU,iCAUV1B,IAAM,SAAUwC,EAAeb,GAE9B,IAAIqY,EAAO3a,KAurBX,SAAS4a,EAAWC,EAAQnW,GAC3B,GAAsB,iBAAXmW,EACV,MAAM,IAAI/a,MAAM,kCAAoC+a,GAIrD,GAAIza,EAAI4Z,SAASzU,eAAesV,KACV,iBAAVnW,IACVA,EAAQA,EAAM9C,gBAE8B,IAAzCxB,EAAI4Z,SAASa,GAAQrW,QAAQE,IAChC,MAAM,IAAI5E,MAAM,WAAc+a,EAAS,wBAA2BnW,GAKpE,GAAItE,EAAI+Z,eAAe5U,eAAesV,GAAS,CAC9C,IAAIC,EAASD,EACTE,EAAS3a,EAAI+Z,eAAeU,GAChC,IAAIE,EAMH,MAAM,IAAIjb,MAAM,WAAc+a,EAAS,mBAJvC1Y,QAAQC,KAAK,iDAAuDhC,EAAIiC,QAASyY,EAAQC,GACzFF,EAASE,EAOX,IAAIC,EAAS,QAAUH,EAEvB,GAA4B,mBAAjBF,EAAKK,GAEf,OADAL,EAAKK,GAAQtW,IACN,EAED,GAAImW,KAAUF,EAEpB,OADAA,EAAKE,GAAUnW,GACR,EAGR,MAAM,IAAI5E,MAAM,sCAAwC+a,GAIzD,SAASI,EAAWJ,GACnB,GAAsB,iBAAXA,EACV,MAAM,IAAI/a,MAAM,kCAAoC+a,GAIrD,GAAIza,EAAI+Z,eAAe5U,eAAesV,GAAS,CAC9C,IAAIC,EAASD,EACTE,EAAS3a,EAAI+Z,eAAeU,GAChC,IAAIE,EAMH,MAAM,IAAIjb,MAAM,WAAc+a,EAAS,mBAJvC1Y,QAAQC,KAAK,iDAAuDhC,EAAIiC,QAASyY,EAAQC,GACzFF,EAASE,EAOX,IAAIG,EAAS,QAAUL,EAEvB,GAA4B,mBAAjBF,EAAKO,GACf,OAAOP,EAAKO,GAAQxW,OAEd,GAAImW,KAAUF,EACpB,OAAOA,EAAKE,GAGb,MAAM,IAAI/a,MAAM,sCAAwC+a,GAWzD,SAASM,IAKRR,EAAKS,8BAEAhb,EAAIwR,SACRxR,EAAIwR,OAAS,CACZC,MAAO,KACPqB,KAAO9S,EAAIiD,SAAS,OACpBgY,IAAMjb,EAAIiD,SAAS,OACnB8P,KAAO/S,EAAIiD,SAAS,OACpBiY,KAAOlb,EAAIiD,SAAS,OACpBkY,IAAMnb,EAAIiD,SAAS,OACnBmY,KAAOpb,EAAIiD,SAAS,OACpBoY,KAAOrb,EAAIiD,SAAS,OACpBqY,UAAYtb,EAAIyY,kBAChB8C,MAAQvb,EAAIiD,SAAS,OACrBuY,QAAUxb,EAAIiD,SAAS,OACvBwY,QAAUzb,EAAIiD,SAAS,OACvByY,QAAU1b,EAAIiD,SAAS,OACvB0Y,QAAU3b,EAAIiD,SAAS,OACvB2Y,IAAM5b,EAAIiD,SAAS,OACnB4Y,KAAO7b,EAAIiD,SAAS,OACpB6Y,KAAO9b,EAAIiD,SAAS,OACpB8Y,QAAU/b,EAAI+Y,uBACdiD,QAAUhc,EAAIiD,SAAS,OACvBgZ,SAAWjc,EAAIiD,SAAS,OACxBiZ,SAAWlc,EAAIiD,SAAS,OACxBkZ,SAAWnc,EAAIiD,SAAS,OACxBmZ,KAAOpc,EAAIiD,SAAS,OACpBoZ,MAAQrc,EAAIiD,SAAS,OACrBqZ,MAAQtc,EAAIiD,SAAS,OACrBsZ,SAAWvc,EAAImZ,wBACfqD,SAAWxc,EAAIiD,SAAS,OACxBwZ,UAAYzc,EAAIiD,SAAS,OACzByZ,UAAY1c,EAAIiD,SAAS,OACzB0Z,UAAY3c,EAAIiD,SAAS,OACzBwQ,IAAMzT,EAAIiD,SAAS,OACnB2Z,IAAM5c,EAAIiD,SAAS,OACnB4Z,KAAO7c,EAAIiD,SAAS,SAGrBjD,EAAIwR,OAAO2J,IAAI2B,YAAY9c,EAAIwR,OAAO8J,UAAUvb,KAChDC,EAAIwR,OAAO4J,KAAK0B,YAAY9c,EAAIwR,OAAO2J,KACvCnb,EAAIwR,OAAO+J,MAAMuB,YAAY9c,EAAIwR,OAAOgK,SACxCxb,EAAIwR,OAAO+J,MAAMuB,YAAY9c,EAAIwR,OAAOiK,SACxCzb,EAAIwR,OAAO+J,MAAMuB,YAAY9c,EAAIwR,OAAOkK,SACxC1b,EAAIwR,OAAO+J,MAAMuB,YAAY9c,EAAIwR,OAAOmK,SACxC3b,EAAIwR,OAAO4J,KAAK0B,YAAY9c,EAAIwR,OAAO+J,OACvCvb,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAO4J,MACtCpb,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAO6J,MAEtCrb,EAAIwR,OAAOoK,IAAIkB,YAAY9c,EAAIwR,OAAOuK,QAAQhc,KAC9CC,EAAIwR,OAAOqK,KAAKiB,YAAY9c,EAAIwR,OAAOoK,KACvC5b,EAAIwR,OAAOqK,KAAKiB,YAAY9c,EAAIwR,OAAO2K,UACvCnc,EAAIwR,OAAO2K,SAASW,YAAY9c,EAAIwR,OAAO0K,UAC3Clc,EAAIwR,OAAO0K,SAASY,YAAY9c,EAAIwR,OAAOyK,UAC3Cjc,EAAIwR,OAAOyK,SAASa,YAAY9c,EAAIwR,OAAOwK,SAC3Chc,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAOqK,MACtC7b,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAOsK,MAEtC9b,EAAIwR,OAAO4K,KAAKU,YAAY9c,EAAIwR,OAAO+K,SAASxc,KAChDC,EAAIwR,OAAO6K,MAAMS,YAAY9c,EAAIwR,OAAO4K,MACxCpc,EAAIwR,OAAO6K,MAAMS,YAAY9c,EAAIwR,OAAOmL,WACxC3c,EAAIwR,OAAOmL,UAAUG,YAAY9c,EAAIwR,OAAOkL,WAC5C1c,EAAIwR,OAAOkL,UAAUI,YAAY9c,EAAIwR,OAAOiL,WAC5Czc,EAAIwR,OAAOiL,UAAUK,YAAY9c,EAAIwR,OAAOgL,UAC5Cxc,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAO6K,OACtCrc,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAO8K,OAEtCtc,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAOiC,KAEtCzT,EAAIwR,OAAOoL,IAAIE,YAAY9c,EAAIwR,OAAOqL,MACtC7c,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAOoL,KAEtC5c,EAAIwR,OAAO0J,KAAK4B,YAAY9c,EAAIwR,OAAOyJ,KACvCjb,EAAIwR,OAAOsB,KAAKgK,YAAY9c,EAAIwR,OAAOuB,MACvC/S,EAAIwR,OAAOsB,KAAKgK,YAAY9c,EAAIwR,OAAO0J,MAEvClb,EAAIwR,OAAOsB,KAAKxS,iBAAiB,aAAcN,EAAIyW,qBAClDzW,EAAIwE,yBAA0B,CAACuY,SAAS,KAG1C,IAoSKC,EACAC,EArSDC,EAAIld,EAAIwR,OAER2L,IAAkBnd,EAAIuT,iBAAiBgH,GACvC6C,EAAqB7C,EAAK/G,kBAC1B6J,EAAard,EAAIkS,cAAcqI,GAC/B+C,EAAkB,EAAI/C,EAAKvF,mBAAqBuF,EAAKtF,iBAAmB,EAAIsF,EAAKgD,UACjFC,EAAiBxd,EAAIqT,kBAAkBkH,GACvCkD,EAAehU,KAAK2D,IACvBmN,EAAKkD,aACLhU,KAAKC,MAAM6Q,EAAK5G,QAAUlK,KAAKiU,KAIhCR,EAAEpK,KAAKnR,UAAY,sBACnBub,EAAEpK,KAAK3J,MAAMwU,MAAQ,OACrBT,EAAEpK,KAAK3J,MAAMkG,MAAQgO,EAAWjL,QAAU,KAC1C8K,EAAEpK,KAAK3J,MAAMmG,OAAS+N,EAAWhL,QAAU,KAC3C6K,EAAEpK,KAAK3J,MAAMyU,OAASrD,EAAKqD,OAG3BV,EAAEjC,IAAItZ,UAAY,iBAClBub,EAAEjC,IAAI9R,MAAMkG,MAAQgO,EAAWnJ,QAAU,KACzCgJ,EAAEjC,IAAI9R,MAAMmG,OAAS+N,EAAWlJ,QAAU,KAC1C+I,EAAEjC,IAAI9R,MAAMgI,SAAW,WAGvB+L,EAAEnK,KAAKpR,UAAY,wBACnBub,EAAEnK,KAAK5J,MAAMgI,SAAW,WACxB+L,EAAEnK,KAAK5J,MAAMqC,KAAO,IACpB0R,EAAEnK,KAAK5J,MAAMsC,IAAM,IACnByR,EAAEnK,KAAK5J,MAAMkG,MAAQ,OACrB6N,EAAEnK,KAAK5J,MAAMmG,OAAS,OACtBtP,EAAI8K,gBAAgBoS,EAAEnK,KAAM0K,EAAe,MAG3CP,EAAEhC,KAAKvZ,UAAY,wBACnBub,EAAEhC,KAAK/R,MAAMgI,SAAW,WACxB+L,EAAEhC,KAAK/R,MAAM0U,OAAStD,EAAKnG,YAAc,WACzC8I,EAAEhC,KAAK/R,MAAM2U,YAAcvD,EAAKuD,YAChCZ,EAAEhC,KAAK/R,MAAMqB,WAAa+P,EAAKwD,gBAC/B/d,EAAI8K,gBAAgBoS,EAAEhC,KAAMuC,EAAe,MAK3CP,EAAE7B,KAAKlS,MAAMqB,WAAa,mBAC1B0S,EAAEpB,KAAK3S,MAAMqB,WAAa,mBAC1B0S,EAAEZ,MAAMnT,MAAMqB,WAAa,mBAE3B0S,EAAE7B,KAAKlS,MAAM6U,QACbd,EAAEpB,KAAK3S,MAAM6U,QACbd,EAAEZ,MAAMnT,MAAM6U,QACb,IAGDd,EAAE/B,IAAIhS,MAAMgI,SAAW,WACvB+L,EAAE/B,IAAIhS,MAAMkG,MAAQkL,EAAKlL,MAAQ,KACjC6N,EAAE/B,IAAIhS,MAAMmG,OAASiL,EAAKjL,OAAS,KAGnC4N,EAAE5B,UAAU5C,KAAK6B,EAAKlL,MAAOkL,EAAKjL,OAAQtP,EAAIkV,eAAeqF,IAG7D2C,EAAE9B,KAAKjS,MAAMgI,SAAW,WACxB+L,EAAE9B,KAAKjS,MAAMqC,KAAO+O,EAAK5G,QAAU,KACnCuJ,EAAE9B,KAAKjS,MAAMsC,IAAM8O,EAAK5G,QAAU,KAClCuJ,EAAE9B,KAAKjS,MAAM0U,OAAStD,EAAKpH,mBAAqB,WAChD+J,EAAE9B,KAAKjS,MAAM2U,YAAcvD,EAAK0D,mBAGhCf,EAAE7B,KAAKlS,MAAMgI,SAAW,WACxB+L,EAAE7B,KAAKlS,MAAMqC,KAAO,MACpB0R,EAAE7B,KAAKlS,MAAMsC,IAAM,MACnByR,EAAE7B,KAAKlS,MAAMkG,MAASkL,EAAK5G,QAAU,EAAI4G,EAAKpH,mBAAqBoH,EAAKlL,MAAQmO,EAAkB,KAClGN,EAAE7B,KAAKlS,MAAMmG,OAAU,EAAIiL,EAAKpH,mBAAqB,EAAIoH,EAAK5G,QAAU4G,EAAKjL,OAAU,KACvF4N,EAAE7B,KAAKlS,MAAM+U,OAjEG,YAkEhBle,EAAIqD,QAAQ6Z,EAAE7B,KAAM,CACnB8C,SAAU5D,EACV6D,QAAS,QAIVlB,EAAE3B,MAAMpS,MAAMgI,SAAW,WACzB+L,EAAE3B,MAAMpS,MAAMqC,KACd0R,EAAE3B,MAAMpS,MAAMsC,IACb,IACDyR,EAAE3B,MAAMpS,MAAMkG,MACd6N,EAAE3B,MAAMpS,MAAMmG,OACbgO,EAAiB,KAGlBJ,EAAE1B,QAAQrS,MAAMgI,SAChB+L,EAAEzB,QAAQtS,MAAMgI,SACf,WACD+L,EAAE1B,QAAQrS,MAAMqB,WAChB0S,EAAEzB,QAAQtS,MAAMqB,WACf+P,EAAK8D,mBACNnB,EAAE1B,QAAQrS,MAAMkG,MAChB6N,EAAEzB,QAAQtS,MAAMmG,OACd,EAAIiL,EAAKvF,mBAAqBuF,EAAKtF,iBAAoB,KACzDiI,EAAE1B,QAAQrS,MAAMmG,OAChB4N,EAAEzB,QAAQtS,MAAMkG,MACfiO,EAAiB,KAClBJ,EAAE1B,QAAQrS,MAAMqC,KAChB0R,EAAEzB,QAAQtS,MAAMsC,IACdhC,KAAKkE,MAAM2P,EAAiB,GAAK7T,KAAKkE,MAAM4M,EAAKtF,iBAAmB,GAAKsF,EAAKvF,mBAAsB,KACtGkI,EAAE1B,QAAQrS,MAAMsC,IAChByR,EAAEzB,QAAQtS,MAAMqC,KACf,IAGD0R,EAAExB,QAAQvS,MAAMgI,SAChB+L,EAAEvB,QAAQxS,MAAMgI,SACf,WACD+L,EAAExB,QAAQvS,MAAMqB,WAChB0S,EAAEvB,QAAQxS,MAAMqB,WACf+P,EAAK+D,aACNpB,EAAExB,QAAQvS,MAAMmG,OAChB4N,EAAEvB,QAAQxS,MAAMkG,MACdiO,EAAiB,EAAI/C,EAAKvF,mBAAsB,KAClDkI,EAAExB,QAAQvS,MAAMkG,MAChB6N,EAAEvB,QAAQxS,MAAMmG,OACfiL,EAAKtF,iBAAmB,KACzBiI,EAAExB,QAAQvS,MAAMqC,KAChB0R,EAAEvB,QAAQxS,MAAMsC,IACdhC,KAAKkE,MAAM2P,EAAiB,GAAK7T,KAAKkE,MAAM4M,EAAKtF,iBAAmB,GAAM,KAC5EiI,EAAExB,QAAQvS,MAAMsC,IAChByR,EAAEvB,QAAQxS,MAAMqC,KACf+O,EAAKvF,mBAAqB,KAI3BkI,EAAEtB,IAAIzS,MAAMoV,SAAW,SACvBrB,EAAEtB,IAAIzS,MAAMkG,MAAQkL,EAAKjH,WAAa,KACtC4J,EAAEtB,IAAIzS,MAAMmG,OAASiL,EAAKjL,OAAS,KAGnC4N,EAAEnB,QAAQrD,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQ,OAAQ,QAGrD4N,EAAErB,KAAK1S,MAAMqV,QAAUrB,EAAgB,QAAU,OACjDD,EAAErB,KAAK1S,MAAMgI,SAAW,WACxB+L,EAAErB,KAAK1S,MAAMqC,KAAQ+O,EAAK5G,QAAU4G,EAAKlL,MAAQ,EAAIkL,EAAKpH,mBAAqB,EAAIqK,EAAkB,KACrGN,EAAErB,KAAK1S,MAAMsC,IAAM8O,EAAK5G,QAAU,KAClCuJ,EAAErB,KAAK1S,MAAM0U,OAAStD,EAAKpH,mBAAqB,WAChD+J,EAAErB,KAAK1S,MAAM2U,YAAcvD,EAAK0D,mBAGhCf,EAAEpB,KAAK3S,MAAMqV,QAAUrB,EAAgB,QAAU,OACjDD,EAAEpB,KAAK3S,MAAMgI,SAAW,WACxB+L,EAAEpB,KAAK3S,MAAMqC,KAAQ+O,EAAK5G,QAAU4G,EAAKlL,MAAQ,EAAIkL,EAAKpH,mBAAqBqK,EAAkB,KACjGN,EAAEpB,KAAK3S,MAAMsC,IAAM,MACnByR,EAAEpB,KAAK3S,MAAMkG,MACVkL,EAAKjH,WAAa,EAAIkK,EAAiB,EAAIjD,EAAKpH,oBAChDiK,EAAqB,EAAI3T,KAAK6D,IAAI,EAAGiN,EAAK5G,QAAU6J,IAClD,KACLN,EAAEpB,KAAK3S,MAAMmG,OAAU,EAAIiL,EAAKpH,mBAAqB,EAAIoH,EAAK5G,QAAU4G,EAAKjL,OAAU,KACvF4N,EAAEpB,KAAK3S,MAAM+U,OAAS,UACtBle,EAAIqD,QAAQ6Z,EAAEpB,KAAM,CACnBqC,SAAU5D,EACV6D,QAAS,QAIVlB,EAAEjB,SAAS9S,MAAM0U,OACjBX,EAAEf,SAAShT,MAAM0U,OAChBtD,EAAKvF,mBAAqB,YAAcuF,EAAK8D,mBAG9CnB,EAAEf,SAAShT,MAAMgI,SAAW,WAC5B+L,EAAEf,SAAShT,MAAMqC,OAAS,EAAI+O,EAAKvF,mBAAqBuF,EAAKtF,kBAAoB,KACjFiI,EAAEf,SAAShT,MAAMsC,IAAM,IAGvByR,EAAEhB,SAAS/S,MAAM0U,OAAStD,EAAKtF,iBAAmB,YAAcsF,EAAK+D,aAGrEpB,EAAElB,QAAQ7S,MAAMkG,MAAQkL,EAAKjH,WAAa,KAC1C4J,EAAElB,QAAQ7S,MAAMmG,OAAStP,EAAIO,IAAIke,iBAAmB,KAIpDvB,EAAEd,KAAKjT,MAAMoV,SAAW,SACxBrB,EAAEd,KAAKjT,MAAMkG,MAAQkL,EAAKjH,WAAa,KACvC4J,EAAEd,KAAKjT,MAAMmG,OAASiL,EAAKjL,OAAS,KAGpC4N,EAAEX,SAAS7D,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQ,QAG9C4N,EAAEb,MAAMlT,MAAMqV,QAAUpB,EAAqB,QAAU,OACvDF,EAAEb,MAAMlT,MAAMgI,SAAW,WACzB+L,EAAEb,MAAMlT,MAAMqC,KACX+O,EAAK5G,QAAU4G,EAAKlL,MAAQ,EAAIkL,EAAKpH,mBAAqBqK,GAC1DL,EAAiB5C,EAAKjH,WAAa,EAAIkK,EAAiB,EAAIjD,EAAKpH,mBAAsB,GACrF,KACL+J,EAAEb,MAAMlT,MAAMsC,IAAM8O,EAAK5G,QAAU,KACnCuJ,EAAEb,MAAMlT,MAAM0U,OAAStD,EAAKpH,mBAAqB,WACjD+J,EAAEb,MAAMlT,MAAM2U,YAAcvD,EAAK0D,mBAGjCf,EAAEZ,MAAMnT,MAAMqV,QAAUpB,EAAqB,QAAU,OACvDF,EAAEZ,MAAMnT,MAAMgI,SAAW,WACzB+L,EAAEZ,MAAMnT,MAAMqC,KACX+O,EAAK5G,QAAU4G,EAAKlL,MAAQ,EAAIkL,EAAKpH,mBAAqBqK,GAC1DL,EAAiB5C,EAAKjH,WAAa,EAAIkK,EAAiB,EAAIjD,EAAKpH,mBAAsB,GACrF,KACL+J,EAAEZ,MAAMnT,MAAMsC,IAAM,MACpByR,EAAEZ,MAAMnT,MAAMkG,MACXkL,EAAKjH,WAAa,EAAIkK,EAAiB,EAAIjD,EAAKpH,mBACjD1J,KAAK6D,IAAI,EAAGiN,EAAK5G,QAAU6J,GACxB,KACLN,EAAEZ,MAAMnT,MAAMmG,OAAU,EAAIiL,EAAKpH,mBAAqB,EAAIoH,EAAK5G,QAAU4G,EAAKjL,OAAU,KACxF4N,EAAEZ,MAAMnT,MAAM+U,OAAS,UACvBle,EAAIqD,QAAQ6Z,EAAEZ,MAAO,CACpB6B,SAAU5D,EACV6D,QAAS,SAIVlB,EAAET,UAAUtT,MAAM0U,OAClBX,EAAEP,UAAUxT,MAAM0U,OACjBtD,EAAKvF,mBAAqB,YAAcuF,EAAK8D,mBAG9CnB,EAAEP,UAAUxT,MAAMgI,SAAW,WAC7B+L,EAAEP,UAAUxT,MAAMqC,OAAS,EAAI+O,EAAKvF,mBAAqBuF,EAAKtF,kBAAoB,KAClFiI,EAAEP,UAAUxT,MAAMsC,IAAM,IAGxByR,EAAER,UAAUvT,MAAM0U,OAAStD,EAAKtF,iBAAmB,YAAcsF,EAAK+D,aAGtEpB,EAAEV,SAASrT,MAAMkG,MAAQkL,EAAKjH,WAAa,KAC3C4J,EAAEV,SAASrT,MAAMmG,OAAStP,EAAIO,IAAIke,iBAAmB,KAIrDvB,EAAEzJ,IAAI9R,UAAY,kBAClBub,EAAEzJ,IAAItK,MAAMqV,QAAUnB,EAAWhJ,QAAQE,KAAO,QAAU,OAC1D2I,EAAEzJ,IAAItK,MAAMgI,SAAW,WACvB+L,EAAEzJ,IAAItK,MAAMqC,KAAO+O,EAAK5G,QAAU,KAClCuJ,EAAEzJ,IAAItK,MAAMsC,IAAO,EAAI8O,EAAKpH,mBAAqB,EAAIoH,EAAK5G,QAAU4G,EAAKjL,OAAU,KAInF4N,EAAEzJ,IAAIiL,UAAY,GAKlB,IAHA,IAAIC,EAAa3e,EAAIyP,sBAAsB,iBAEvCmP,EAAK,EACAtV,EAAI,EAAGA,EAAI+T,EAAWhJ,QAAQE,KAAMjL,IAC5C,IAAK,IAAIwI,EAAI,EAAGA,EAAIuL,EAAWhJ,QAAQC,MAAQsK,EAAKrE,EAAK5F,SAASxT,OAAQ2Q,IAAK8M,IAAM,CACpF,IAAIC,EAActE,EAAK5F,SAASiK,GAC5BE,EAAiB9e,EAAIiK,UAAUqH,MAAM,KAAMuN,EAAY/Q,MAEvDiR,EAAK/e,EAAIiD,SAAS,OACtB8b,EAAG5V,MAAMkG,MAASgO,EAAWhJ,QAAQG,MAAQ,EAAI+F,EAAKpH,mBAAsB,KAC5E4L,EAAG5V,MAAMmG,OAAU+N,EAAWhJ,QAAQI,MAAQ,EAAI8F,EAAKpH,mBAAsB,KAC7E4L,EAAG5V,MAAM4U,gBAAkBe,EAE3B,IAAIE,EAAKhf,EAAIiD,SAAS,OACtB+b,EAAGrd,UAAY,yBACfqd,EAAG7V,MAAMqV,QAAU,QACnBQ,EAAG7V,MAAMgI,SAAW,WACpB6N,EAAG7V,MAAMqC,MACP6R,EAAWhJ,QAAQC,MAAQ,EAAI,EAC/B7K,KAAKC,MAAYoI,IAAMuL,EAAWrJ,SAAWqJ,EAAWhJ,QAAQG,QAAU6I,EAAWhJ,QAAQC,KAAO,IAAzF,IAAiG,IACzG,KACL0K,EAAG7V,MAAMsC,IAAOnC,GAAK+T,EAAWhJ,QAAQI,MAAQ8F,EAAKzF,gBAAmB,KACxEkK,EAAG7V,MAAM0U,OAAStD,EAAKpH,mBAAqB,WAC5C6L,EAAG7V,MAAM2U,YAAcvD,EAAK0D,mBAC5Be,EAAG7V,MAAM+U,OAAS,UACU,OAAxBW,EAAY/Q,KAAK,IAAe+Q,EAAY/Q,KAAK,GAAK,IACzDkR,EAAG7V,MAAM8V,gBAAkB,QAAWN,EAAWzP,OAAOgQ,YAAc,KACtEF,EAAG7V,MAAMgW,iBAAmB,SAC5BH,EAAG7V,MAAMiW,mBAAqB,iBAE/Bpf,EAAIqD,QAAQ2b,EAAI,CACfb,SAAU5D,EACV6D,QAAS,iBACTtP,MAAO+P,IAERG,EAAG1e,iBAAiB,QAASN,EAAI0X,sBAAsB,GACvDsH,EAAGlC,YAAYiC,GACf7B,EAAEzJ,IAAIqJ,YAAYkC,GAYpB9B,EAAEN,IAAIjb,UAAY,oBAClBub,EAAEN,IAAIzT,MAAMqV,QAAUjE,EAAK3G,YAAc,QAAU,OACnDsJ,EAAEN,IAAIzT,MAAMgI,SAAW,WACvB+L,EAAEN,IAAIzT,MAAMqC,KAAO+O,EAAK5G,QAAU,KAClCuJ,EAAEN,IAAIzT,MAAMkW,OAAS9E,EAAK5G,QAAU,KACpCuJ,EAAEN,IAAIzT,MAAMwK,QAAU,SACtBuJ,EAAEN,IAAIzT,MAAMmW,SAAYjC,EAAWrJ,SAAW,EAAIuG,EAAKpH,mBAAqB,GAAkB,KAC9F+J,EAAEN,IAAIzT,MAAMoV,SAAW,SACvBrB,EAAEN,IAAIzT,MAAMmG,OAASiL,EAAK1G,aAAe,KACzCqJ,EAAEN,IAAIzT,MAAMoW,WAAa,SACzBrC,EAAEN,IAAIzT,MAAM0U,OAAStD,EAAKpH,mBAAqB,WAd1C8J,GADAD,EAAczC,EAAK0D,mBAAmBlW,MAAM,QAClB5G,OAAS,EAAI6b,EAAY,GAAKA,EAAY,GAAK,IAAMA,EAAY,GAAK,IAAMA,EAAY,GAAK,IAAMA,EAAY,GAC7IE,EAAEN,IAAIzT,MAAM2U,YAAcb,EAe3BC,EAAEN,IAAIzT,MAAM2F,MAAQyL,EAAKiF,YACzBtC,EAAEN,IAAIzT,MAAMsW,KAAO,kBACnBvC,EAAEN,IAAIzT,MAAMuW,UAAY,SACxBxC,EAAEN,IAAIzT,MAAM+U,OAAS,UACrBhB,EAAEN,IAAI+C,YAAc,WACnBpF,EAAKrC,QAENgF,EAAEL,KAAK1T,MAAMyW,WAAarF,EAAK1G,aAAe,KAC9CqJ,EAAEL,KAAK6B,UAAY,GACnBxB,EAAEL,KAAKC,YAAYnd,EAAOH,SAASqgB,eAAetF,EAAKuF,YAGvDC,IACAC,IACAC,IAIIjgB,EAAIwR,OAAOC,OAASzR,EAAIwR,OAAOC,QAAU8I,GAC5Cva,EAAIsI,YAAYtI,EAAIwR,OAAOC,MAAM1O,cAAe/C,EAAIO,IAAI2f,iBAIzDlgB,EAAIwR,OAAOC,MAAQ8I,EAIfA,EAAK4F,YAAcxgB,EAAOH,SAAS4gB,KACtCpgB,EAAIuR,iBAEJvR,EAAI2S,cAAc4H,EAAM,EAAG,EAAG,YAAY,GAGvC2C,EAAEpK,KAAKuN,aAAe9F,EAAK4F,WAC9B5F,EAAK4F,UAAUrD,YAAYI,EAAEpK,MAG9B9S,EAAImI,SAASoS,EAAKxX,cAAe/C,EAAIO,IAAI2f,iBAI1C,SAASH,IAER,IAAIO,EAAWtgB,EAAIkV,eAAeqF,GAC9BnP,EAAI3B,KAAKC,MAAO6Q,EAAKlD,SAAS9J,EAAI,KAAQgN,EAAKlL,MAAQ,IACvDhE,EAAI5B,KAAKC,OAAO,EAAI6Q,EAAKlD,SAASiJ,GAAY,MAAQ/F,EAAKjL,OAAS,IACpEgO,EAAkB,EAAI/C,EAAKvF,mBAAqBuF,EAAKtF,iBAAmB,EAAIsF,EAAKgD,UACjFrG,GAAOzN,KAAKkE,MAAM2P,EAAiB,GAKvC,OAJAtd,EAAIwR,OAAO+J,MAAMpS,MAAMqC,KAAQJ,EAAI8L,EAAO,KAC1ClX,EAAIwR,OAAO+J,MAAMpS,MAAMsC,IAAOJ,EAAI6L,EAAO,KAGjClX,EAAIuT,iBAAiBgH,IAC7B,IAAK,IACJ,IAAIgG,EAAOvgB,EAAIwN,QAAQ+M,EAAKlD,SAAS9J,EAAG,IAAKgN,EAAKlD,SAAShK,GACvDmT,EAAOxgB,EAAIwN,QAAQ+M,EAAKlD,SAAS9J,EAAG,EAAGgN,EAAKlD,SAAShK,GACrD2L,EAAS,OACZvP,KAAKC,MAAM6W,EAAK,IAAM,IACtB9W,KAAKC,MAAM6W,EAAK,IAAM,IACtB9W,KAAKC,MAAM6W,EAAK,IAAM,IACnBtH,EAAS,OACZxP,KAAKC,MAAM8W,EAAK,IAAM,IACtB/W,KAAKC,MAAM8W,EAAK,IAAM,IACtB/W,KAAKC,MAAM8W,EAAK,IAAM,IACvBxgB,EAAIwR,OAAOuK,QAAQrD,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQ0J,EAAQC,GAC9D,MACD,IAAK,IACJ,IAAIwH,EAAMzgB,EAAIwN,QAAQ+M,EAAKlD,SAAS9J,EAAGgN,EAAKlD,SAAS5J,EAAG,KACpDuL,EAAS,OACZvP,KAAKC,MAAM+W,EAAI,IAAM,IACrBhX,KAAKC,MAAM+W,EAAI,IAAM,IACrBhX,KAAKC,MAAM+W,EAAI,IAAM,IAClBxH,EAAS,OACbjZ,EAAIwR,OAAOuK,QAAQrD,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQ0J,EAAQC,GAK/DjZ,EAAIwR,OAAO+K,SAAS7D,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQiL,EAAKmG,eAI7D,SAASV,IACR,IAAIW,EAAa3gB,EAAIuT,iBAAiBgH,GACtC,GAAIoG,EAAY,CAEf,IAAItV,EAAI5B,KAAKC,OAAO,EAAI6Q,EAAKlD,SAASsJ,GAAc,MAAQpG,EAAKjL,OAAS,IAC1EtP,EAAIwR,OAAO2K,SAAShT,MAAMsC,IAAOJ,GAAK,EAAIkP,EAAKvF,mBAAqBuF,EAAKtF,kBAAoBxL,KAAKkE,MAAM3N,EAAIO,IAAIke,iBAAmB,GAAM,KAI1Ize,EAAIwR,OAAO+K,SAAS7D,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQiL,EAAKmG,eAI7D,SAAST,IACR,IAAI5U,EAAI5B,KAAKC,OAAO,EAAI6Q,EAAKlD,SAAStN,IAAMwQ,EAAKjL,OAAS,IAC1DtP,EAAIwR,OAAOmL,UAAUxT,MAAMsC,IAAOJ,GAAK,EAAIkP,EAAKvF,mBAAqBuF,EAAKtF,kBAAoBxL,KAAKkE,MAAM3N,EAAIO,IAAIke,iBAAmB,GAAM,KAI3I,SAASmC,IACR,OAAO5gB,EAAIwR,QAAUxR,EAAIwR,OAAOC,QAAU8I,EAgG3C,GAx1CKrY,IACJA,EAAO,IAGRtC,KAAKyX,SAAW,CACf/N,EAAG,IACHC,EAAG,IACHC,EAAG,IACH+D,EAAG,EACHE,EAAG,EACHJ,EAAG,IACHtD,EAAG,GAKJnK,KAAKmO,OAAS,OACdnO,KAAK0E,WAAQhD,EACb1B,KAAKihB,WAAQvf,EACb1B,KAAKkhB,cAAWxf,EAChB1B,KAAKmhB,aAAUzf,EACf1B,KAAKohB,kBAAe1f,EACpB1B,KAAKqhB,kBAAe3f,EACpB1B,KAAKshB,oBAAiB5f,EACtB1B,KAAKia,gBAAkB,OACvBja,KAAKuhB,YAAc,GACnBvhB,KAAKwhB,eAAiB,EACtBxhB,KAAKyhB,UAAW,EAChBzhB,KAAK0hB,MAAO,EACZ1hB,KAAK2hB,WAAY,EACjB3hB,KAAK4hB,YAAa,EAIlB5hB,KAAKyP,MAAQ,IACbzP,KAAK0P,OAAS,IACd1P,KAAKuV,KAAO,MACZvV,KAAKka,aAAe,OACpBla,KAAKuR,SAAW,SAChBvR,KAAK2S,eAAgB,EACrB3S,KAAKyW,aAAc,EACnBzW,KAAK6hB,aAAc,EACnB7hB,KAAKyU,QAAU,GACfzU,KAAKgV,YAAc,GACnBhV,KAAKkY,iBAAmB,OACxBlY,KAAKmV,cAAgB,GACrBnV,KAAKkV,eAAiB,EACtBlV,KAAKqY,oBAAqB,EAC1BrY,KAAK0T,WAAa,GAClB1T,KAAK2d,UAAY,EACjB3d,KAAKgU,aAAc,EACnBhU,KAAKkgB,UAAY,QACjBlgB,KAAK4f,YAAc,gBACnB5f,KAAKiU,aAAe,GACpBjU,KAAK+T,QAAU,GACf/T,KAAKme,gBAAkB,sBACvBne,KAAKwU,YAAc,EACnBxU,KAAKke,YAAc,sBACnBle,KAAK6d,aAAe,EACpB7d,KAAKuT,mBAAqB,EAC1BvT,KAAKqe,mBAAqB,sBAC1Bre,KAAKoT,QAAS,EACdpT,KAAKiT,WAAa,GAClBjT,KAAKqT,YAAc,kBACnBrT,KAAK0e,aAAe,mBACpB1e,KAAKoV,mBAAqB,EAC1BpV,KAAKye,mBAAqB,sBAC1Bze,KAAKqV,iBAAmB,EACxBrV,KAAKge,OAAS,IACdhe,KAAKugB,eAAY7e,EAIjB1B,KAAK8hB,KAAO,EACZ9hB,KAAK+hB,KAAO,IACZ/hB,KAAKgiB,KAAO,EACZhiB,KAAKiiB,KAAO,IACZjiB,KAAKkiB,KAAO,EACZliB,KAAKmiB,KAAO,EAOZniB,KAAK6a,OAAS,WACb,IAAKxV,UAAU9D,OACd,MAAM,IAAIzB,MAAM,uBAGjB,GAAyB,IAArBuF,UAAU9D,QAAwC,iBAAjB8D,UAAU,GAAiB,CAE/D,IACC,OAAO4V,EAAU5V,UAAU,IAC1B,MAAO5C,GACRN,QAAQC,KAAKK,GAEd,OAAO,EAED,GAAI4C,UAAU9D,QAAU,GAA6B,iBAAjB8D,UAAU,GAAiB,CAErE,IACC,IAAKuV,EAAUvV,UAAU,GAAIA,UAAU,IACtC,OAAO,EAEP,MAAO5C,GAER,OADAN,QAAQC,KAAKK,IACN,EAIR,OAFAzC,KAAKoiB,SACLpiB,KAAKqiB,eACE,EAED,GAAyB,IAArBhd,UAAU9D,QAAwC,iBAAjB8D,UAAU,GAAiB,CAEtE,IAAI/C,EAAO+C,UAAU,GACjBid,GAAU,EACd,IAAK,IAAIC,KAAOjgB,EACf,GAAIA,EAAKiD,eAAegd,GACvB,IACM3H,EAAU2H,EAAKjgB,EAAKigB,MACxBD,GAAU,GAEV,MAAO7f,GACRN,QAAQC,KAAKK,GACb6f,GAAU,EAMb,OAFAtiB,KAAKoiB,SACLpiB,KAAKqiB,cACEC,EAGR,MAAM,IAAIxiB,MAAM,sBAOjBE,KAAKwiB,QAAU,SAAU3c,EAAMnB,GAC9B,GAAoB,iBAATmB,EACV,MAAM,IAAI/F,MAAM,mCAAqC+F,GAGtD,QAAcnE,IAAVgD,EAEH,OAAK1E,KAAKyX,SAASlS,eAAeM,EAAKjE,eAIhC5B,KAAKyX,SAAS5R,EAAKjE,gBAHzBO,QAAQC,KAAK,4BAA8ByD,IACpC,GAMR,IAAI4c,GAAM,EACV,OAAQ5c,EAAKjE,eACZ,IAAK,IAAK6gB,EAAMziB,KAAKoY,SAAS1T,EAAO,KAAM,KAAM,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAKoY,SAAS,KAAM1T,EAAO,KAAM,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAKoY,SAAS,KAAM,KAAM1T,EAAO,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAK0X,SAAShT,EAAO,KAAM,KAAM,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAK0X,SAAS,KAAMhT,EAAO,KAAM,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAK0X,SAAS,KAAM,KAAMhT,EAAO,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAK0X,SAAS,KAAM,KAAM,KAAMhT,GAAQ,MACxD,QAEC,OADAvC,QAAQC,KAAK,4BAA8ByD,IACpC,EAET,QAAI4c,IACHziB,KAAKoiB,UACE,IAcVpiB,KAAK6V,QAAU,SAAUD,GAExB,IADA,IAAI8M,EAAMtiB,EAAI6H,QAAQ2N,GACbtU,EAAI,EAAGA,EAAIohB,EAAInhB,OAAQD,GAAK,EAAG,CACvC,IAAI8F,EAAKsb,EAAIphB,GAAGM,cAGZ+gB,EAAe,KACnB,OAAQvb,GACP,IAAK,QAASub,EAAe,UAAW,MACxC,IAAK,SAAUA,EAAe,WAE3BA,GACHviB,EAAIoV,gBAAgBxV,KAAM2iB,GAI3BviB,EAAIqH,kBAAkBzH,KAAKohB,aAAcha,GAAI,GAAM,KAUrDpH,KAAK0X,SAAW,SAAU/J,EAAGE,EAAGJ,EAAGtD,EAAGyP,GAMrC,QALUlY,IAANiM,IAAmBA,EAAI,WACjBjM,IAANmM,IAAmBA,EAAI,WACjBnM,IAAN+L,IAAmBA,EAAI,WACjB/L,IAANyI,IAAmBA,EAAI,MAEjB,OAANwD,EAAY,CACf,GAAIiV,MAAMjV,GAAM,OAAO,EACvB3N,KAAKyX,SAAS9J,EAAI9D,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAKG,IAE7C,GAAU,OAANE,EAAY,CACf,GAAI+U,MAAM/U,GAAM,OAAO,EACvB7N,KAAKyX,SAAS5J,EAAIhE,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAKxN,KAAK+hB,KAAMlU,GAAI7N,KAAK8hB,MAEjE,GAAU,OAANrU,EAAY,CACf,GAAImV,MAAMnV,GAAM,OAAO,EACvBzN,KAAKyX,SAAShK,EAAI5D,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAKxN,KAAKiiB,KAAMxU,GAAIzN,KAAKgiB,MAEjE,GAAU,OAAN7X,EAAY,CACf,GAAIyY,MAAMzY,GAAM,OAAO,EACvBnK,KAAKyX,SAAStN,EAAInK,KAAK4T,kBACtB/J,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,EAAGxN,KAAKmiB,KAAMhY,GAAInK,KAAKkiB,MAC5C,EAGF,IAAIrB,EAAMzgB,EAAIwN,QACb5N,KAAKyX,SAAS9J,EACd3N,KAAKyX,SAAS5J,EACd7N,KAAKyX,SAAShK,GAOf,OALAzN,KAAKyX,SAAS/N,EAAImX,EAAI,GACtB7gB,KAAKyX,SAAS9N,EAAIkX,EAAI,GACtB7gB,KAAKyX,SAAS7N,EAAIiX,EAAI,GAEtB7gB,KAAKqiB,YAAYzI,IACV,GASR5Z,KAAKoY,SAAW,SAAU1O,EAAGC,EAAGC,EAAGO,EAAGyP,GAMrC,QALUlY,IAANgI,IAAmBA,EAAI,WACjBhI,IAANiI,IAAmBA,EAAI,WACjBjI,IAANkI,IAAmBA,EAAI,WACjBlI,IAANyI,IAAmBA,EAAI,MAEjB,OAANT,EAAY,CACf,GAAIkZ,MAAMlZ,GAAM,OAAO,EACvBA,EAAIG,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAK9D,IAE/B,GAAU,OAANC,EAAY,CACf,GAAIiZ,MAAMjZ,GAAM,OAAO,EACvBA,EAAIE,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAK7D,IAE/B,GAAU,OAANC,EAAY,CACf,GAAIgZ,MAAMhZ,GAAM,OAAO,EACvBA,EAAIC,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAK5D,IAE/B,GAAU,OAANO,EAAY,CACf,GAAIyY,MAAMzY,GAAM,OAAO,EACvBnK,KAAKyX,SAAStN,EAAInK,KAAK4T,kBACtB/J,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,EAAGxN,KAAKmiB,KAAMhY,GAAInK,KAAKkiB,MAC5C,EAGF,IAAIW,EAAMziB,EAAImN,QACT,OAAJ7D,EAAW1J,KAAKyX,SAAS/N,EAAIA,EACzB,OAAJC,EAAW3J,KAAKyX,SAAS9N,EAAIA,EACzB,OAAJC,EAAW5J,KAAKyX,SAAS7N,EAAIA,GAEf,OAAXiZ,EAAI,KACP7iB,KAAKyX,SAAS9J,EAAI9D,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAKqV,EAAI,MAElC,IAAXA,EAAI,KACP7iB,KAAKyX,SAAS5J,EAAIhE,KAAK6D,IAAI,EAAG1N,KAAK8hB,KAAMjY,KAAK2D,IAAI,IAAKxN,KAAK+hB,KAAMc,EAAI,MAEvE7iB,KAAKyX,SAAShK,EAAI5D,KAAK6D,IAAI,EAAG1N,KAAKgiB,KAAMnY,KAAK2D,IAAI,IAAKxN,KAAKiiB,KAAMY,EAAI,KAGtE,IAAIhC,EAAMzgB,EAAIwN,QAAQ5N,KAAKyX,SAAS9J,EAAG3N,KAAKyX,SAAS5J,EAAG7N,KAAKyX,SAAShK,GAMtE,OALAzN,KAAKyX,SAAS/N,EAAImX,EAAI,GACtB7gB,KAAKyX,SAAS9N,EAAIkX,EAAI,GACtB7gB,KAAKyX,SAAS7N,EAAIiX,EAAI,GAEtB7gB,KAAKqiB,YAAYzI,IACV,GAMR5Z,KAAK8iB,QAAU,SAAUnV,EAAGE,EAAGJ,EAAGmM,GAEjC,OADAzX,QAAQC,KAAK,4DAA8DhC,EAAIiC,SACxErC,KAAK0X,SAAS/J,EAAGE,EAAGJ,EAAG,KAAMmM,IAMrC5Z,KAAK+iB,QAAU,SAAUrZ,EAAGC,EAAGC,EAAGgQ,GAEjC,OADAzX,QAAQC,KAAK,4DAA8DhC,EAAIiC,SACxErC,KAAKoY,SAAS1O,EAAGC,EAAGC,EAAG,KAAMgQ,IAIrC5Z,KAAKgjB,WAAa,SAAUtgB,EAAKkX,GAChC,IAAK5Z,KAAKyhB,UAA2B,KAAf/e,EAAIH,OAIzB,OAFAvC,KAAKijB,oBAAoB,MACzBjjB,KAAKkjB,qBAAqB,KACnB,EAGR,IAAIhU,EAAQ9O,EAAI4N,iBAAiBtL,GACjC,QAAKwM,IAG6B,QAA9BlP,KAAKmO,OAAOvM,gBACf5B,KAAKgY,WAAW9I,EAAMf,QACjB/N,EAAIgP,cAAcpP,KAAKiY,eAC3B/I,EAAMhB,KAAK,GAAK,IAGlBlO,KAAKoY,SACJlJ,EAAMhB,KAAK,GACXgB,EAAMhB,KAAK,GACXgB,EAAMhB,KAAK,GACXgB,EAAMhB,KAAK,GACX0L,IAEM,IAIR5Z,KAAK+J,SAAW,SAAUoE,GAIzB,YAHezM,IAAXyM,IACHA,EAASnO,KAAKiY,aAEP9J,EAAOvM,eACd,IAAK,MAAO,OAAO5B,KAAK8gB,cACxB,IAAK,OAAQ,OAAO9gB,KAAKmjB,eACzB,IAAK,MAAO,OAAOnjB,KAAKojB,cACxB,IAAK,OAAQ,OAAOpjB,KAAKqjB,eAE1B,OAAO,GAIRrjB,KAAK8gB,YAAc,WAClB,OAAO1gB,EAAIqJ,SACVzJ,KAAKyX,SAAS/N,EACd1J,KAAKyX,SAAS9N,EACd3J,KAAKyX,SAAS7N,IAKhB5J,KAAKmjB,aAAe,WACnB,OAAO/iB,EAAI8J,UACVlK,KAAKyX,SAAS/N,EACd1J,KAAKyX,SAAS9N,EACd3J,KAAKyX,SAAS7N,EACd5J,KAAKyX,SAAStN,IAKhBnK,KAAKojB,YAAc,WAClB,OAAOhjB,EAAIgK,SACVpK,KAAKyX,SAAS/N,EACd1J,KAAKyX,SAAS9N,EACd3J,KAAKyX,SAAS7N,IAKhB5J,KAAKqjB,aAAe,WACnB,OAAOjjB,EAAIiK,UACVrK,KAAKyX,SAAS/N,EACd1J,KAAKyX,SAAS9N,EACd3J,KAAKyX,SAAS7N,EACd5J,KAAKyX,SAAStN,IAKhBnK,KAAKsjB,YAAc,WAClB,MACC,KAAQtjB,KAAKyX,SAAS/N,EACtB,KAAQ1J,KAAKyX,SAAS9N,EACtB,KAAQ3J,KAAKyX,SAAS7N,GAKxB5J,KAAKujB,SAAW,WACf,OAAOnjB,EAAIyP,sBAAsB7P,KAAKqjB,gBAAgB/T,QAIvDtP,KAAKsf,UAAY,WAChB,OAAOtf,KAAKujB,WAAWjE,aAIxBtf,KAAKwjB,aAAe,WACnB,OAAOpjB,EAAIO,IAAIiK,WAAW5K,KAAKqjB,iBAIhCrjB,KAAKyjB,QAAU,WACd,OAAOzjB,KAAKsjB,cAAgB,OAI7BtjB,KAAKsY,KAAO,WACP0I,MAmVJ5gB,EAAIsI,YAAYiS,EAAKxX,cAAe/C,EAAIO,IAAI2f,iBAC5ClgB,EAAIwR,OAAOsB,KAAKuN,WAAWrc,YAAYhE,EAAIwR,OAAOsB,aAC3C9S,EAAIwR,OAAOC,QA/UnB7R,KAAK2W,KAAO,WACXwE,KAIDnb,KAAKoiB,OAAS,WACTpB,KACH7F,KAKFnb,KAAKiY,UAAY,WAChB,OAAOjY,KAAK0jB,gBAIb1jB,KAAKgY,WAAa,SAAU7J,GAC3BnO,KAAK0jB,eAAiBvV,EAAOvM,eAI9B5B,KAAK4T,gBAAkB,WACtB,MAA0B,SAAtB5T,KAAKka,aAEuB,QAA9Bla,KAAKmO,OAAOvM,eACZxB,EAAIgP,cAAcpP,KAAKiY,mBACRvW,IAAf1B,KAAKihB,YACiBvf,IAAtB1B,KAAKqhB,aAIArhB,KAAKka,cAIbla,KAAK2jB,kBAAoB,SAAUjhB,GAC7B1C,KAAKgjB,WAAWtgB,IAEpB1C,KAAKqiB,eAKPriB,KAAK4jB,kBAAoB,SAAUlhB,GAC7B1C,KAAK0X,SAAS,KAAM,KAAM,KAAM9I,WAAWlM,KAE/C1C,KAAKqiB,eAKPriB,KAAKqiB,YAAc,SAAUzI,GAC5B,IAAIiK,EAAW7jB,KAAK+J,WAChB6O,EAAM5Y,KAAKiY,YAaf,GAVA7X,EAAI4F,YAAYhG,KAAKmD,cAAe,gBAAiB0gB,GAE/CjK,EAAQxZ,EAAIwZ,MAAMC,aAAe7Z,KAAKohB,eAC/B,QAARxI,GAAyB,SAARA,IACf5Y,KAAK2hB,YAAakC,EAAWA,EAASjiB,eACtC5B,KAAK0hB,OAAQmC,EAAWA,EAAS3b,QAAQ,KAAM,MAErDlI,KAAKkjB,qBAAqBW,MAGrBjK,EAAQxZ,EAAIwZ,MAAME,aAAe9Z,KAAKqhB,aAAc,CACzD,IAAIyC,EAAWja,KAAKC,MAAwB,IAAlB9J,KAAKyX,SAAStN,GAAW,IACnDnK,KAAK+jB,qBAAqBD,GAGrBlK,EAAQxZ,EAAIwZ,MAAMG,eAAiB/Z,KAAKshB,kBAI5ClhB,EAAIiE,YAAYrE,KAAKshB,iBACpBlhB,EAAIkE,SAAStE,KAAKshB,kBAAoBlhB,EAAIqE,cAAczE,KAAKshB,kBAEjDthB,KAAKia,gBAGnBja,KAAKijB,oBAAoBjjB,KAAKqjB,iBAG3BrC,MACHb,IACAC,IACAC,MAKFrgB,KAAKijB,oBAAsB,SAAU/T,GACpC,GAAKlP,KAAKshB,eAAV,CAIA,IAAI/P,EAAW,KACX9B,EAAQ,MAEXrP,EAAIiE,YAAYrE,KAAKshB,iBACpBlhB,EAAIkE,SAAStE,KAAKshB,kBAAoBlhB,EAAIqE,cAAczE,KAAKshB,mBAE9D/P,EAAWvR,KAAKia,gBAChBxK,EAAQzP,KAAKuhB,aAGd,IAAIyC,EAAc,GAElB,GAAK9U,EASE,CAEN8U,EAAY5gB,KAAK,CAChB6gB,MAAO7jB,EAAIkR,wBACVpC,EACAqC,EACA9B,EAAQA,EAAQrP,EAAIO,IAAIuP,iBAAiB3O,OAAS,MAEnDgQ,SAAU,WACV2S,KAAM,OACNC,OAAQ5S,EAAW,WAAa,SAChC6S,OAAQ,gBAIT,IAAIC,EAAUjkB,EAAIyP,sBACjB,gBACA0B,EAAW,CAAC3F,KAAO,QAAS6F,MAAQ,QAAQF,GAAY,KACxD9B,GACA,GAEDuU,EAAY5gB,KAAK,CAChB6gB,MAAO,QAAWI,EAAQ/U,OAAOgQ,YAAc,KAC/C/N,UAAWA,GAAY,QAAU,OACjC2S,KAAMG,EAAQ5U,MAAQ,MAAQ4U,EAAQ3U,OAAS,KAC/CyU,OAAQ5S,EAAW,WAAa,SAChC6S,OAAQ,qBAjCTJ,EAAY5gB,KAAK,CAChB6gB,MAAO,OACP1S,SAAU,WACV2S,KAAM,OACNC,OAAQ,YACRC,OAAQ,gBAuCV,IAPA,IAAIE,EAAK,CACRL,MAAO,GACP1S,SAAU,GACV2S,KAAM,GACNC,OAAQ,GACRC,OAAQ,IAEA9iB,EAAI,EAAGA,EAAI0iB,EAAYziB,OAAQD,GAAK,EAC5CgjB,EAAGL,MAAM7gB,KAAK4gB,EAAY1iB,GAAG2iB,OAC7BK,EAAG/S,SAASnO,KAAK4gB,EAAY1iB,GAAGiQ,UAChC+S,EAAGJ,KAAK9gB,KAAK4gB,EAAY1iB,GAAG4iB,MAC5BI,EAAGH,OAAO/gB,KAAK4gB,EAAY1iB,GAAG6iB,QAC9BG,EAAGF,OAAOhhB,KAAK4gB,EAAY1iB,GAAG8iB,QAI/B,IAAIG,EAAM,CACTC,mBAAoBF,EAAGL,MAAMjZ,KAAK,MAClCyZ,sBAAuBH,EAAG/S,SAASvG,KAAK,MACxC0Z,kBAAmBJ,EAAGJ,KAAKlZ,KAAK,MAChC2Z,oBAAqBL,EAAGH,OAAOnZ,KAAK,MACpC4Z,oBAAqBN,EAAGF,OAAOpZ,KAAK,OAErC5K,EAAI4I,SAAShJ,KAAKshB,eAAgBiD,EAAKvkB,KAAK4hB,YAI5C,IAAI7N,EAAU,CACbnI,KAAM,KACN6F,MAAO,MAEJF,IACHwC,EAAQxC,GAAavR,KAAKuhB,YAAcvhB,KAAKwhB,eAAkB,MAG5D+C,EAAM,CACTM,eAAgB9Q,EAAQnI,KACxBkZ,gBAAiB/Q,EAAQtC,OAE1BrR,EAAI4I,SAAShJ,KAAKshB,eAAgBiD,EAAKvkB,KAAK4hB,YAAY,KAIzD5hB,KAAKkjB,qBAAuB,SAAUxgB,GACjC1C,KAAKohB,eACgC,UAApChhB,EAAI6D,SAASjE,KAAKohB,cACrBphB,KAAKohB,aAAa1c,MAAQhC,EAE1B1C,KAAKohB,aAAatC,UAAYpc,IAMjC1C,KAAK+jB,qBAAuB,SAAUrhB,GACjC1C,KAAKqhB,eACgC,UAApCjhB,EAAI6D,SAASjE,KAAKqhB,cACrBrhB,KAAKqhB,aAAa3c,MAAQhC,EAE1B1C,KAAKqhB,aAAavC,UAAYpc,IAMjC1C,KAAKob,4BAA8B,WAClC,IAAIpb,KAAK+kB,yBAAT,CACA/kB,KAAK+kB,0BAA2B,EAEhC,IAAI5kB,EAAMH,KAAKmD,cACf,EAAG,CAGF,IAAI6hB,EAAY5kB,EAAIyI,aAAa1I,GAC7B6kB,EAAUzT,UAAiD,UAArCyT,EAAUzT,SAAS3P,gBAC5C5B,KAAKiS,OAAQ,GAGV9R,IAAQH,KAAKmD,gBAMX/C,EAAIuF,QAAQxF,EAAK,uBACrBA,EAAIO,iBAAiB,SAAUN,EAAImW,gBAAgB,GACnDnW,EAAIqD,QAAQtD,EAAK,qBAAqB,YAG/BA,EAAMA,EAAIsgB,aAAqC,SAAtBrgB,EAAI6D,SAAS9D,MAIjDH,KAAKoW,QAAU,WACVpW,KAAK6hB,aACR7hB,KAAKsY,QAKPtY,KAAKilB,aAAe,SAAUnhB,GAC7B9D,KAAKyU,QAAU3Q,EACf9D,KAAK+U,SAAW3U,EAAIyO,kBAAkB/K,GACtC9D,KAAKmY,wBAA0B/X,EAAI+O,wBAAwBnP,KAAK+U,WAuqB7D3U,EAAIO,IAAIukB,QAEX,IAAK,IAAI3C,KAAOniB,EAAIO,IAAIukB,QACvB,GAAI9kB,EAAIO,IAAIukB,QAAQ3f,eAAegd,GAClC,IACC3H,EAAU2H,EAAKniB,EAAIO,IAAIukB,QAAQ3C,IAC9B,MAAO9f,GACRN,QAAQC,KAAKK,GASjB,IAAI0iB,EAAa,GAEb7iB,EAAK8iB,SACmB,iBAAhB9iB,EAAK8iB,OACfD,EAAa7iB,EAAK8iB,OAAOjd,MAAM,OACrB2C,MAAMkE,QAAQ1M,EAAK8iB,QAC7BD,EAAa7iB,EAAK8iB,OAAOC,QAEzBljB,QAAQC,KAAK,+BAKwB,IAAnC+iB,EAAW3gB,QAAQ,YACtB2gB,EAAW/hB,KAAK,WAKjB,IAAK,IAAI9B,EAAI6jB,EAAW5jB,OAAS,EAAGD,GAAK,EAAGA,GAAK,EAAG,CACnD,IAAIgkB,EAAOH,EAAW7jB,GACtB,GAAKgkB,EAGL,GAAKllB,EAAIO,IAAI4kB,QAAQhgB,eAAe+f,IAIpC,IAAK,IAAI/C,KAAOniB,EAAIO,IAAI4kB,QAAQD,GAC/B,GAAIllB,EAAIO,IAAI4kB,QAAQD,GAAM/f,eAAegd,GACxC,IACC3H,EAAU2H,EAAKniB,EAAIO,IAAI4kB,QAAQD,GAAM/C,IACpC,MAAO9f,GACRN,QAAQC,KAAKK,SARfN,QAAQC,KAAK,qBAAsBkjB,GAgBrC,IAAIE,EAAgB,CAEnB,UAED,IAAK,IAAIjD,KAAOjgB,EACf,GAAIA,EAAKiD,eAAegd,KACa,IAAhCiD,EAAchhB,QAAQ+d,GACzB,IACC3H,EAAU2H,EAAKjgB,EAAKigB,IACnB,MAAO9f,GACRN,QAAQC,KAAKK,GAoBjB,QAPuBf,IAAnB1B,KAAKugB,UACRvgB,KAAKugB,UAAYxgB,EAAOH,SAAS4gB,KAGjCxgB,KAAKugB,UAAYngB,EAAIY,KAAKhB,KAAKugB,YAG3BvgB,KAAKugB,UACT,MAAM,IAAIzgB,MAAM,+DAOjB,GAFAE,KAAKmD,cAAgB/C,EAAIY,KAAKmC,IAEzBnD,KAAKmD,cAAe,CAExB,GAA6B,iBAAlBA,GAA8B,qBAAqBsiB,KAAKtiB,GAGlE,MAAM,IAAIrD,MAAM,OADCqD,EACsB,2CADtBA,EACkF,gCAGpG,MAAM,IAAIrD,MAAM,4DAGjB,GAAIE,KAAKmD,cAAc9C,SAAWL,KAAKmD,cAAc9C,mBAAmBD,EAAIO,IAC3E,MAAM,IAAIb,MAAM,kDAajB,GARAE,KAAKmD,cAAc9C,QAAUL,KAC7BI,EAAImI,SAASvI,KAAKmD,cAAe/C,EAAIO,IAAIoB,WAGzC3B,EAAIG,UAAU6C,KAAKpD,MAIfI,EAAIkE,SAAStE,KAAKmD,iBAEyB,WAA1CnD,KAAKmD,cAAcxB,KAAKC,gBAG3B5B,KAAKmD,cAAcxB,KAAO,UAGvBvB,EAAIqE,cAAczE,KAAKmD,gBAAgB,CAK1C/C,EAAI8D,eAAelE,KAAKmD,eAGxBnD,KAAKmD,cAAc+Z,YAAYnd,EAAOH,SAASqgB,eAAe,MAG9D,IAAI+E,EAAY5kB,EAAIyI,aAAa7I,KAAKmD,gBACnByL,WAAWoW,EAAU,eAAiB,GACtChlB,KAAKuhB,aACvBnhB,EAAI4I,SAAShJ,KAAKmD,cAAe,CAChCuiB,YAAa1lB,KAAKuhB,YAAc,MAC9BvhB,KAAK4hB,YAsCX,QAhC0BlgB,IAAtB1B,KAAKohB,aACJhhB,EAAIiE,YAAYrE,KAAKmD,iBAExBnD,KAAKohB,aAAephB,KAAKmD,eAKM,OAAtBnD,KAAKohB,eAIfphB,KAAKohB,aAAehhB,EAAIY,KAAKhB,KAAKohB,eAI/BphB,KAAKqhB,eACRrhB,KAAKqhB,aAAejhB,EAAIY,KAAKhB,KAAKqhB,oBAIP3f,IAAxB1B,KAAKshB,eACRthB,KAAKshB,eAAiBthB,KAAKmD,cAEO,OAAxBnD,KAAKshB,iBAIfthB,KAAKshB,eAAiBlhB,EAAIY,KAAKhB,KAAKshB,iBAIjCthB,KAAKohB,cAAgBhhB,EAAIiE,YAAYrE,KAAKohB,cAAe,CAI5D,IAAIuE,EAAyB,CAC5BxE,QAASnhB,KAAKohB,aAAawE,SAE5B5lB,KAAKohB,aAAawE,QAAU,KAE5B5lB,KAAKohB,aAAa1gB,iBAAiB,WA3RpC,SAAyB0G,GACC,UAArBhH,EAAIsH,SAASN,KACZuT,EAAKyG,cACRzG,EAAKgJ,kBAAkBhJ,EAAKyG,aAAa1c,OAE1CiW,EAAKvE,cAsRwD,GAC9DpW,KAAKohB,aAAa1gB,iBAAiB,UAxQpC,SAAwB0G,GACvB,IAAIhH,EAAIuF,QAAQyB,EAAI,YAApB,CAIA,IAAIye,EAASlL,EAAKyG,aAAa1c,MAE/BiW,EAAKgJ,kBAAkBhJ,EAAKyG,aAAa1c,OAEzCtE,EAAIoV,gBAAgBmF,EAAM,YAEtBA,EAAKyG,aAAa1c,QAAUmhB,GAE/BzlB,EAAIqH,kBAAkBkT,EAAKyG,aAAc,UAAU,GAAM,OA2PE,GAC5DphB,KAAKohB,aAAa1gB,iBAAiB,SAlOpC,SAAuB0G,GAClBhH,EAAIuF,QAAQyB,EAAI,cAIhBuT,EAAKyG,cACRzG,EAAKqI,WAAWrI,EAAKyG,aAAa1c,MAAOtE,EAAIwZ,MAAMC,YAGpDzZ,EAAIoV,gBAAgBmF,EAAM,eAyNgC,GAEtDgL,EAAuBxE,SAC1BnhB,KAAKohB,aAAa1gB,iBAAiB,QAASilB,EAAuBxE,SAAS,GAG7EnhB,KAAKohB,aAAalc,aAAa,eAAgB,OAC/ClF,KAAKohB,aAAalc,aAAa,cAAe,OAC9ClF,KAAKohB,aAAalc,aAAa,iBAAkB,OACjDlF,KAAKohB,aAAalc,aAAa,cAAc,GAI1ClF,KAAKqhB,cAAgBjhB,EAAIiE,YAAYrE,KAAKqhB,gBAC7CrhB,KAAKqhB,aAAa3gB,iBAAiB,WAjSpC,SAAyB0G,GACC,UAArBhH,EAAIsH,SAASN,KACZuT,EAAK0G,cACR1G,EAAKiJ,kBAAkBjJ,EAAK0G,aAAa3c,OAE1CiW,EAAKvE,cA4RwD,GAC9DpW,KAAKqhB,aAAa3gB,iBAAiB,UAtQpC,SAAwB0G,GACvB,IAAIhH,EAAIuF,QAAQyB,EAAI,YAApB,CAIA,IAAIye,EAASlL,EAAK0G,aAAa3c,MAE/BiW,EAAKiJ,kBAAkBjJ,EAAK0G,aAAa3c,OAEzCtE,EAAIoV,gBAAgBmF,EAAM,YAG1Bva,EAAIqH,kBAAkBkT,EAAKyG,aAAc,UAAU,GAAM,GAErDzG,EAAK0G,aAAa3c,QAAUmhB,GAE/BzlB,EAAIqH,kBAAkBkT,EAAK0G,aAAc,UAAU,GAAM,OAsPE,GAC5DrhB,KAAKqhB,aAAa3gB,iBAAiB,SAlOpC,SAAuB0G,GAClBhH,EAAIuF,QAAQyB,EAAI,cAIhBuT,EAAK0G,cACR1G,EAAKjD,SAAS,KAAM,KAAM,KAAM9I,WAAW+L,EAAK0G,aAAa3c,OAAQtE,EAAIwZ,MAAME,YAGhF1Z,EAAIoV,gBAAgBmF,EAAM,WAG1Bva,EAAIqH,kBAAkBkT,EAAKyG,aAAc,SAAS,GAAM,OAsNE,GAE1DphB,KAAKqhB,aAAanc,aAAa,eAAgB,OAC/ClF,KAAKqhB,aAAanc,aAAa,cAAe,OAC9ClF,KAAKqhB,aAAanc,aAAa,iBAAkB,OACjDlF,KAAKqhB,aAAanc,aAAa,cAAc,IAK9C,IAAI4gB,EAAY,cAEGpkB,IAAf1B,KAAK0E,MACRohB,EAAY9lB,KAAK0E,MACP1E,KAAKohB,mBAA4C1f,IAA5B1B,KAAKohB,aAAa1c,QACjDohB,EAAY9lB,KAAKohB,aAAa1c,OAK/B,IAAIqhB,OAAYrkB,EAYhB,QAVmBA,IAAf1B,KAAKihB,MACR8E,EAAa,GAAG/lB,KAAKihB,MACXjhB,KAAKqhB,mBAA4C3f,IAA5B1B,KAAKqhB,aAAa3c,QACjDqhB,EAAY/lB,KAAKqhB,aAAa3c,OAK/B1E,KAAK0jB,eAAiB,KAElB,CAAC,OAAQ,OAAOlf,QAAQxE,KAAKmO,OAAOvM,gBAAkB,EAAG,CAE5D,IAAIsN,EAAQ9O,EAAI4N,iBAAiB8X,GACjC9lB,KAAK0jB,eAAiBxU,EAAQA,EAAMf,OAAS,WAG7CnO,KAAK0jB,eAAiB1jB,KAAKmO,OAAOvM,cAKnC5B,KAAK2jB,kBAAkBmC,QAOLpkB,IAAdqkB,GACH/lB,KAAK4jB,kBAAkBmC,MAkBtBplB,IAAIoB,UAAY,UAIpB3B,EAAIO,IAAI2f,gBAAkB,iBAK1BlgB,EAAIO,IAAImC,WAAY,EAIpB1C,EAAIO,IAAI4kB,QAAU,GAGlBnlB,EAAIO,IAAI4kB,QAAiB,QAAI,GAE7BnlB,EAAIO,IAAI4kB,QAAe,MAAI,CAC1BpH,gBAAiB,sBACjBE,mBAAoB,sBACpBuB,YAAa,iBAEdxf,EAAIO,IAAI4kB,QAAc,KAAI,CACzBpH,gBAAiB,mBACjBE,mBAAoB,sBACpBuB,YAAa,uBAGdxf,EAAIO,IAAI4kB,QAAe,MAAI,CAAE9V,MAAM,IAAKC,OAAO,IAAKqE,QAAQ,GAAIL,WAAW,GAAIsB,YAAY,GAC3F5U,EAAIO,IAAI4kB,QAAgB,OAAI,CAAE9V,MAAM,IAAKC,OAAO,IAAKqE,QAAQ,GAAIL,WAAW,GAAIsB,YAAY,IAC5F5U,EAAIO,IAAI4kB,QAAe,MAAI,CAAE9V,MAAM,IAAKC,OAAO,IAAKqE,QAAQ,GAAIL,WAAW,GAAIsB,YAAY,IAE3F5U,EAAIO,IAAI4kB,QAAc,KAAI,CAAE/Q,YAAY,EAAGjB,mBAAmB,EAAG6B,mBAAmB,GACpFhV,EAAIO,IAAI4kB,QAAe,MAAI,CAAE/Q,YAAY,EAAGjB,mBAAmB,EAAG6B,mBAAmB,GAIrFhV,EAAIO,IAAIke,iBAAmB,EAG3Bze,EAAIO,IAAIyP,eAAiB,EACzBhQ,EAAIO,IAAI2P,iBAAmB,UAC3BlQ,EAAIO,IAAI6P,iBAAmB,UAG3BpQ,EAAIO,IAAIuP,iBAAmB,CAAC,wBAAyB,yBAIrD9P,EAAIO,IAAIC,KAAO,WACd,IAAIR,EAAIE,YAgBR,IAXAP,EAAOH,SAASc,iBAAiB,YAAaN,EAAIoW,qBAAqB,GACvEzW,EAAOH,SAASc,iBAAiB,QAASN,EAAI+V,iBAAiB,GAC/DpW,EAAOW,iBAAiB,SAAUN,EAAIiW,gBAAgB,GACtDtW,EAAOW,iBAAiB,SAAUN,EAAIkW,gBAAgB,GAGtDlW,EAAIO,IAAIqlB,UAER5lB,EAAIE,aAAc,EAGXF,EAAII,WAAWe,QACVnB,EAAII,WAAWylB,OAC1B5f,IAMFjG,EAAIO,IAAIqlB,QAAU,SAAUjlB,GAC3B,IAAIuhB,GAAU,EAEd,IACCliB,EAAIS,kBAAkB,iBAAkBE,GACvC,MAAO0B,GACR6f,GAAU,EACVngB,QAAQC,KAAKK,GAId,GAAIrC,EAAIO,IAAIU,YACX,IACCjB,EAAIS,kBAEF,SAAWT,EAAIO,IAAIU,YAAnB,YACYjB,EAAIO,IAAIU,YAErBN,GAEA,MAAO0B,IAGV,OAAO6f,GAMRliB,EAAIO,IAAIulB,MAAQ,SAAU7f,GACzB,MAAoB,mBAATA,GACVlE,QAAQC,KAAK,mCACN,IAGJhC,EAAIE,YACP+F,IAEAjG,EAAII,WAAW4C,KAAKiD,IAEd,IASRjG,EAAIO,IAAIkV,QAAU,SAAUD,GAC3B,IAAIuQ,EAAa,WAChB/lB,EAAIuV,cAAcC,IAGfxV,EAAIE,YACP6lB,IAEA/lB,EAAIO,IAAIulB,MAAMC,IAMhB/lB,EAAIO,IAAI2X,KAAO,WACVlY,EAAIwR,QAAUxR,EAAIwR,OAAOC,OAC5BzR,EAAIwR,OAAOC,MAAMyG,QAMnBlY,EAAIO,IAAIoe,WAAa,SAAU7P,GAK9B,OAJKA,IACJA,EAAQ,iBAEK9O,EAAIyP,sBAAsBX,GACzBI,OAAOgQ,aAKvBlf,EAAIO,IAAIiK,WAAa,SAAUsE,GAC9B,IAAI8U,EAAc,GAGlBA,EAAY5gB,KAAKhD,EAAIkR,wBAAwBpC,IAG7C,IAAImV,EAAUjkB,EAAIyP,wBAOlB,OANAmU,EAAY5gB,KAAK,CAChB,QAAWihB,EAAQ/U,OAAOgQ,YAAc,KACxC,WACA,UACCtU,KAAK,MAEAgZ,EAAYhZ,KAAK,OAYzB5K,EAAIO,IAAIukB,QAAU,GAUlB9kB,EAAIO,IAAIU,YAAc,UAMtBjB,EAAIO,IAAIylB,mBAAqB,WAE5B,OADAjkB,QAAQuT,MAAM,qGAAuGtV,EAAIiC,UAClH,GAIRjC,EAAIK,WAGGL,EAAIO,KAaX,YAP8B,IAAnBZ,EAAOM,UACjBN,EAAOM,QAAUN,EAAOsmB,QAAUhmB,GAM5BA,OAUOimB,EAA2B,GAG/B,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqB9kB,IAAjB+kB,EACH,OAAOA,EAAa9mB,QAGrB,IAAIH,EAAS8mB,EAAyBE,GAAY,CAGjD7mB,QAAS,IAOV,OAHAL,EAAoBknB,GAAUvb,KAAKzL,EAAOG,QAASH,EAAQA,EAAOG,QAAS4mB,GAGpE/mB,EAAOG,QAOd4mB,EAAoBhiB,EAAK/E,IACxB,IAAI0b,EAAS1b,GAAUA,EAAOknB,WAC7B,IAAOlnB,EAAiB,QACxB,IAAM,EAEP,OADA+mB,EAAoBI,EAAEzL,EAAQ,CAAE/Q,EAAG+Q,IAC5BA,GAORqL,EAAoBI,EAAI,CAAChnB,EAASinB,KACjC,IAAI,IAAIC,KAAOD,EACXL,EAAoBO,EAAEF,EAAYC,KAASN,EAAoBO,EAAEnnB,EAASknB,IAC5E/hB,OAAOC,eAAepF,EAASknB,EAAK,CAAEE,YAAY,EAAM/hB,IAAK4hB,EAAWC,MAQ3EN,EAAoBO,EAAI,CAAC1hB,EAAKI,IAAUV,OAAOiG,UAAUxF,eAAe0F,KAAK7F,EAAKI,GAM7F,MACA,aAiDA,IAAIwhB,EAAY,GAUhB,SAASC,IACHD,EAAUE,iBAAmBC,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC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,MAAO,IAAIipB,GACT,OACA,WACA,CACE,uBACA,SACA,cACA,4BACA,sBACA,wBAEF,yCACA,GACA,WACET,QAGJ1oB,cAAe,IAAImpB,GACjB,OACA,WACA,CAAC,aAAc,aAAc,cAC7B,oIACA,GACA,WACET,QAGJloB,eAAgB,IAAI2oB,GAClB,OACA,WACA,CAAC,4BAA6B,mBAC9B,qDACA,GACA,WACET,QAGJnoB,YAAa,IAAImpB,GACf,WACA,WACA,2BACA,8KACA,EACA,WAEFvoB,WAAY,IAAIgoB,GACd,OACA,WACA,CAAC,0BAA2B,uBAC5B,0BACA,GAEFhG,aAAc,IAAIgG,GAChB,OACA,WACA,CAAC,oBAAqB,oBACtB,mEACA,GACA,WAlU6B,IAA3B7tB,EAAU6nB,aAAoB1nB,KAAKkd,QAAUza,EAC5CzC,KAAKkd,QAAUzb,EAAgByb,WAqUpCpK,cAAe,IAAI4a,GACjB,OACA,WACA,CAAC,yBAA0B,mBAC3B,sKACA,GAIFve,YAAa,IAAIue,GACf,OACA,UACA,CAAC,uBAAwB,uBACzB,yBACA,GACA,WACEze,QAGJ6R,sBAAuB,IAAI4M,GACzB,OACA,UACA,CAAC,2BAA4B,sBAC7B,0KACA,GAEFxM,aAAc,IAAIwM,GAChB,OACA,UACA,CACE,mBACA,kBACA,0BACA,gCAEF,sGACA,GAEF1M,cAAe,IAAI0M,GACjB,OACA,UACA,CAAC,mBAAoB,mBACrB,sJACA,GAEF7M,oBAAqB,IAAIoN,GACvB,WACA,UACA,oCACA,wMACA,EACAzpB,KAEF5C,WAAY,IAAImsB,GACd,SACA,UACA,6HAEFlsB,YAAa,IAAIksB,GACf,SACA,UACA,yGAEFjsB,aAAc,IAAIisB,GAChB,SACA,UACA,qHAEFhsB,aAAc,IAAIgsB,GAChB,SACA,UACA,4HAEF/rB,UAAW,IAAI+rB,GACb,SACA,UACA,gHAEF9rB,aAAc,IAAI8rB,GAChB,SACA,UACA,8HAEF7rB,WAAY,IAAI6rB,GACd,SACA,UACA,wGAEF5rB,WAAY,IAAI4rB,GACd,SACA,UACA,sDAEF3rB,YAAa,IAAI2rB,GACf,SACA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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file diff --git a/src/Cache/Dragon/Dragon.js b/src/Cache/Dragon/Dragon.js index ccf4e775..c0f97a0b 100644 --- a/src/Cache/Dragon/Dragon.js +++ b/src/Cache/Dragon/Dragon.js @@ -46,7 +46,7 @@ export default function CacheDragonCost() { cost += price; SimObjects[target].amount -= 1; } - CacheCostDragonUpgrade = `Cost to rebuy: ${cost}`; + CacheCostDragonUpgrade = `Cost to rebuy: ${Beautify(cost)}`; } } else { let cost = 0; From 822e8a80661db85c0d1a0fe222f7551d98413b25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Fri, 2 Apr 2021 15:10:13 +0200 Subject: [PATCH 11/30] Fixed red and purple PP switched #735 --- CookieMonster.js | 2 +- dist/CookieMonster.js | 2 +- src/Cache/PP/ColourOfPP.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CookieMonster.js b/CookieMonster.js index 4514d653..fa5514b2 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${se(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,Rt={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Ue===t.id)return 2;if(Re===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Ue=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;eVt[30][0]?W:L,0!==Number(e.PPSecondsLowerLimit)&&o/lo()0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Uo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Uo).forEach((e=>{to(Uo[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Rt=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Un(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Ut,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(i.push(Uo[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Rn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Rn).forEach((t=>{const n=In(t,Rn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Un(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${se(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,Rt={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Ue===t.id)return 2;if(Re===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Ue=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;e0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Uo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Uo).forEach((e=>{to(Uo[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Rt=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Un(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Ut,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(i.push(Uo[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Rn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Rn).forEach((t=>{const n=In(t,Rn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Un(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index 4514d653..fa5514b2 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${se(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,Rt={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Ue===t.id)return 2;if(Re===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Ue=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;eVt[30][0]?W:L,0!==Number(e.PPSecondsLowerLimit)&&o/lo()0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Uo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Uo).forEach((e=>{to(Uo[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Rt=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Un(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Ut,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(i.push(Uo[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Rn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Rn).forEach((t=>{const n=In(t,Rn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Un(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${se(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,Rt={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Ue===t.id)return 2;if(Re===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Ue=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;e0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Uo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Uo).forEach((e=>{to(Uo[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Rt=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Un(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Ut,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(i.push(Uo[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Rn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Rn).forEach((t=>{const n=In(t,Rn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Un(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); diff --git a/src/Cache/PP/ColourOfPP.js b/src/Cache/PP/ColourOfPP.js index 7d810446..8a2e5ad8 100644 --- a/src/Cache/PP/ColourOfPP.js +++ b/src/Cache/PP/ColourOfPP.js @@ -26,7 +26,7 @@ export default function ColourOfPP(me, price) { else if (me.pp === CacheMinPP) color = ColourGreen; else if (me.pp < CachePPArray[10][0]) color = ColourYellow; else if (me.pp < CachePPArray[20][0]) color = ColourOrange; - else if (me.pp > CachePPArray[30][0]) color = ColourRed; + else if (me.pp < CachePPArray[30][0]) color = ColourRed; else color = ColourPurple; // Colour based on price in terms of CPS From 2cff52f5c78a7fdda440c5e1b970db83ec2e2531 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Fri, 2 Apr 2021 19:29:49 +0200 Subject: [PATCH 12/30] Fixed bug in Dragon Aura cps change display #734 --- CookieMonster.js | 2 +- dist/CookieMonster.js | 2 +- dist/CookieMonster.js.map | 2 +- src/Disp/Dragon/Dragon.js | 2 +- src/Sim/SimulationEvents/AuraChange.js | 2 +- webpack.config.js | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/CookieMonster.js b/CookieMonster.js index fa5514b2..72ad0ed8 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${se(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,Rt={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Ue===t.id)return 2;if(Re===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Ue=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;e0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Uo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Uo).forEach((e=>{to(Uo[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Rt=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Un(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Ut,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(i.push(Uo[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Rn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Rn).forEach((t=>{const n=In(t,Rn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Un(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${se(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,Rt={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Ue===t.id)return 2;if(Re===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Ue=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;e0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Uo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Uo).forEach((e=>{to(Uo[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Rt=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Un(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Ut,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(i.push(Uo[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Rn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Rn).forEach((t=>{const n=In(t,Rn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Un(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index fa5514b2..72ad0ed8 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${se(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,Rt={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Ue===t.id)return 2;if(Re===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Ue=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;e0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Uo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Uo).forEach((e=>{to(Uo[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Rt=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Un(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Ut,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(i.push(Uo[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Rn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Rn).forEach((t=>{const n=In(t,Rn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Un(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${se(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,Rt={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Ue===t.id)return 2;if(Re===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Ue=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;e0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Uo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Uo).forEach((e=>{to(Uo[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Rt=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Un(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Ut,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(i.push(Uo[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Rn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Rn).forEach((t=>{const n=In(t,Rn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Un(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index 1e9840c5..5ddef4dd 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerDiv","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","groupObject","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC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,MAAO,IAAIipB,GACT,OACA,WACA,CACE,uBACA,SACA,cACA,4BACA,sBACA,wBAEF,yCACA,GACA,WACET,QAGJ1oB,cAAe,IAAImpB,GACjB,OACA,WACA,CAAC,aAAc,aAAc,cAC7B,oIACA,GACA,WACET,QAGJloB,eAAgB,IAAI2oB,GAClB,OACA,WACA,CAAC,4BAA6B,mBAC9B,qDACA,GACA,WACET,QAGJnoB,YAAa,IAAImpB,GACf,WACA,WACA,2BACA,8KACA,EACA,WAEFvoB,WAAY,IAAIgoB,GACd,OACA,WACA,CAAC,0BAA2B,uBAC5B,0BACA,GAEFhG,aAAc,IAAIgG,GAChB,OACA,WACA,CAAC,oBAAqB,oBACtB,mEACA,GACA,WAlU6B,IAA3B7tB,EAAU6nB,aAAoB1nB,KAAKkd,QAAUza,EAC5CzC,KAAKkd,QAAUzb,EAAgByb,WAqUpCpK,cAAe,IAAI4a,GACjB,OACA,WACA,CAAC,yBAA0B,mBAC3B,sKACA,GAIFve,YAAa,IAAIue,GACf,OACA,UACA,CAAC,uBAAwB,uBACzB,yBACA,GACA,WACEze,QAGJ6R,sBAAuB,IAAI4M,GACzB,OACA,UACA,CAAC,2BAA4B,sBAC7B,0KACA,GAEFxM,aAAc,IAAIwM,GAChB,OACA,UACA,CACE,mBACA,kBACA,0BACA,gCAEF,sGACA,GAEF1M,cAAe,IAAI0M,GACjB,OACA,UACA,CAAC,mBAAoB,mBACrB,sJACA,GAEF7M,oBAAqB,IAAIoN,GACvB,WACA,UACA,oCACA,wMACA,EACAzpB,KAEF5C,WAAY,IAAImsB,GACd,SACA,UACA,6HAEFlsB,YAAa,IAAIksB,GACf,SACA,UACA,yGAEFjsB,aAAc,IAAIisB,GAChB,SACA,UACA,qHAEFhsB,aAAc,IAAIgsB,GAChB,SACA,UACA,4HAEF/rB,UAAW,IAAI+rB,GACb,SACA,UACA,gHAEF9rB,aAAc,IAAI8rB,GAChB,SACA,UACA,8HAEF7rB,WAAY,IAAI6rB,GACd,SACA,UACA,wGAEF5rB,WAAY,IAAI4rB,GACd,SACA,UACA,sDAEF3rB,YAAa,IAAI2rB,GACf,SACA,UACA,yDAIFpb,OAAQ,IAAI+a,GACV,OACA,cACA,CAAC,iBAAkB,iBACnB,wBACA,GACA,WACEV,QAGJ1Z,SAAU,IAAIoa,GACZ,OACA,cACA,CAAC,gBAAiB,gBAClB,+FACA,GACA,WACEla,QAGJD,YAAa,IAAIma,GACf,OACA,cACA,CAAC,gCAAiC,+BAClC,8BACA,GACA,WAl2H4B,IAA1B7tB,EAAU0T,aACZhoB,EAAE,cAAcnJ,MAAMkG,MAAQ,MAC9BiD,EAAE,cAAcnJ,MAAMkW,OAAS,GAC/B/M,EAAE,QAAQ4iC,aAAa5iC,EAAE,cAAeA,EAAE,kBAE1CA,EAAE,cAAcnJ,MAAMkG,MAAQ,OAC9BiD,EAAE,cAAcnJ,MAAMkW,OAAS,MAC/B/M,EAAE,WAAWwK,YAAYxK,EAAE,gBAE7B8nB,QA61HAwK,gBAAiB,IAAI6P,GACnB,OACA,cACA,CACE,wBACA,iCACA,0BAEF,+DACA,GAEF9d,YAAa,IAAI8d,GACf,OACA,cACA,CACE,0BACA,8BACA,kCAEF,yDACA,GACA,WA3a2B,IAAzB7tB,EAAUuuB,YAEZ7iC,EAAE,gBAAgBnJ,MAAMqV,QAAU,GAClCkY,MACkC,IAAzB9P,EAAUuuB,YAEnB7iC,EAAE,gBAAgBnJ,MAAMqV,QAAU,OAClCkY,OAGApkB,EAAE,gBAAgBnJ,MAAMqV,QAAU,OAClCuI,KAAKotB,sBAoaPzF,mBAAoB,IAAI+F,GACtB,OACA,cACA,CAAC,iCAAkC,iCACnC,+FACA,GACA,WA9ZmC,IAAjC7tB,EAAU8nB,oBAEZp8B,EAAE,gBAAgBnJ,MAAMgI,SAAW,SACnCmB,EAAE,gBAAgBnJ,MAAMsC,IAAM,OAE9B6G,EAAE,gBAAgBnJ,MAAMgI,SAAW,MA6ZrCklB,cAAe,IAAIoe,GACjB,OACA,cACA,CACE,0BACA,oCACA,4CAEF,kEACA,GACA,WACEze,QAGJyB,aAAc,IAAIgd,GAChB,OACA,cACA,CAAC,yBAA0B,qBAC3B,iEACA,GACA,WACE/d,QAGJiY,eAAgB,IAAI8F,GAClB,OACA,cACA,CAAC,6BAA8B,6BAC/B,kFACA,GAEF7F,YAAa,IAAI6F,GACf,OACA,cACA,CAAC,iCAAkC,iCACnC,+DACA,GAEF5F,QAAS,IAAI4F,GACX,OACA,cACA,CAAC,0BAA2B,0BAC5B,yDACA,GACA,WAxgBwB,IAAtB7tB,EAAUioB,QACZnqC,OAAO6C,KAAKwjB,IAAUoL,SAASj1B,IAC7B6pB,GAAS7pB,GAAGiI,MAAMqV,QAAU,QAC5BuM,GAAS7pB,GAAGiI,MAAMqC,KAAO6mB,GAAwBnxB,GAAGoR,EAAEnJ,MAAMqC,KAC5Duf,GAAS7pB,GAAGiI,MAAMsC,IAAM4mB,GAAwBnxB,GAAGoR,EAAEnJ,MAAMsC,OAG7D/G,OAAO6C,KAAKwjB,IAAUoL,SAASj1B,GAAO6pB,GAAS7pB,GAAGiI,MAAMqV,QAAU,YAqgBpEswB,QAAS,IAAI2F,GACX,OACA,cACA,CAAC,cAAe,cAChB,2CACA,GACA,WACEL,QAGJttB,gBAAiB,IAAI2tB,GACnB,OACA,cACA,CAAC,6BAA8B,6BAC/B,kEACA,GACA,WACE5tB,OAGJkoB,oBAAqB,IAAI0F,GACvB,OACA,cACA,CAAC,qCAAsC,qCACvC,+FACA,GACA,WAnhBE7tB,EAAUmoB,oBACZz8B,EAAE,uBAAuBnJ,MAAMqV,QAAU,GAEzClM,EAAE,uBAAuBnJ,MAAMqV,QAAU,UAshB3CogB,oBAAqB,IAAI6V,GACvB,OACA,UACA,CACE,2CACA,4CAEF,kDACA,GAEFzF,YAAa,IAAIyF,GACf,OACA,UACA,CACE,iDACA,iDAEF,qDACA,GAEFzR,cAAe,IAAIyR,GACjB,OACA,UACA,CAAC,4BAA6B,4BAC9B,kGACA,GAEFxR,oBAAqB,IAAIwR,GACvB,OACA,UACA,CAAC,mCAAoC,mCACrC,2GACA,GAEFtR,gBAAiB,IAAIsR,GACnB,OACA,UACA,CAAC,8BAA+B,8BAChC,+GACA,GAEFpR,sBAAuB,IAAIoR,GACzB,OACA,UACA,CAAC,qCAAsC,qCACvC,kIACA,GAEFlR,gBAAiB,IAAIkR,GACnB,OACA,UACA,CAAC,8BAA+B,8BAChC,qJACA,GAEF/R,aAAc,IAAIsS,GAChB,WACA,UACA,mCACA,gKACA,EACAzpB,KAEFsX,YAAa,IAAI4R,GACf,OACA,UACA,CACE,+CACA,+CAEF,2EACA,GAEFlW,YAAa,IAAIkW,GACf,OACA,UACA,CAAC,kCAAmC,qCACpC,kCACA,GACA,WACEnW,QAGJ0B,YAAa,IAAIyU,GACf,OACA,UACA,CAAC,mCAAoC,mCACrC,6CACA,GAEFvP,aAAc,IAAIuP,GAChB,OACA,UACA,CAAC,uBAAwB,uBACzB,oEACA,GAEFjV,YAAa,IAAIiV,GACf,OACA,UACA,CAAC,yBAA0B,yBAC3B,4DACA,GAEF/T,aAAc,IAAI+T,GAChB,OACA,UACA,CAAC,2BAA4B,2BAC7B,yDACA,GAEFjT,gBAAiB,IAAIiT,GACnB,OACA,UACA,CAAC,uBAAwB,uBACzB,iDACA,GAEFxF,oBAAqB,IAAIwF,GACvB,OACA,UACA,CAAC,qCAAsC,qCACvC,+CACA,GAIF1Q,MAAO,IAAI0Q,GACT,OACA,aACA,CAAC,iBAAkB,iBACnB,oCACA,GAEFvF,gBAAiB,IAAIuF,GACnB,OACA,aACA,CAAC,uBAAwB,uBACzB,wCACA,GAEF3O,QAAS,IAAI2O,GACX,OACA,aACA,CAAC,mCAAoC,+BACrC,wCACA,GAEFtF,oBAAqB,IAAI6F,GACvB,WACA,aACA,0BACA,8GACA,EACAzpB,KAEF6jB,aAAc,IAAIqF,GAChB,OACA,aACA,CAAC,gBAAiB,gBAClB,4FACA,GAIFzpB,MAAO,IAAIypB,GACT,OACA,sBACA,CAAC,YAAa,WAAY,8BAC1B,8LACA,GAEFpF,aAAc,IAAIoF,GAChB,OACA,sBACA,CAAC,mCAAoC,mCACrC,kLACA,GAEFnF,eAAgB,IAAImF,GAClB,OACA,iBACA,CAAC,mBAAoB,mBACrB,mDACA,GACA,WACEf,GAAoC9sB,EAAU0oB,mBAGlDC,QAAS,IAAIkF,GACX,OACA,iBACA,CAAC,YAAa,YACd,iCACA,GAEFjF,cAAe,IAAIsF,GACjB,SACA,iBACA,wDAEFrF,QAAS,IAAIgF,GACX,OACA,iBACA,CAAC,YAAa,YACd,iCACA,GAEF/E,SAAU,IAAIqF,GAAc,MAAO,iBAAkB,GAAI,UACzDpF,WAAY,IAAI8E,GACd,MACA,iBACA,aACA,6DAEF7E,oBAAqB,IAAI6E,GACvB,OACA,iBACA,CAAC,mBAAoB,mBACrB,8DACA,GACA,WACEf,GAAoC9sB,EAAUgpB,wBAGlDC,aAAc,IAAI4E,GAChB,OACA,iBACA,CAAC,YAAa,YACd,wCACA,GAEF3E,mBAAoB,IAAIgF,GACtB,SACA,iBACA,6DAEF/E,aAAc,IAAI0E,GAChB,OACA,iBACA,CAAC,YAAa,YACd,wCACA,GAEFzE,cAAe,IAAI+E,GAAc,MAAO,iBAAkB,GAAI,UAC9D9E,gBAAiB,IAAIwE,GACnB,MACA,iBACA,aACA,sEAEFvE,gBAAiB,IAAIuE,GACnB,OACA,kBACA,CAAC,mBAAoB,mBACrB,yCACA,GACA,WACEf,GAAoC9sB,EAAUspB,oBAGlDC,SAAU,IAAIsE,GACZ,OACA,kBACA,CAAC,YAAa,YACd,gCACA,GAEFrE,eAAgB,IAAI0E,GAClB,SACA,kBACA,kEAEFzE,SAAU,IAAIoE,GACZ,OACA,kBACA,CAAC,YAAa,YACd,gCACA,GAEFnE,UAAW,IAAIyE,GAAc,MAAO,kBAAmB,GAAI,UAC3DxE,YAAa,IAAIkE,GACf,MACA,kBACA,aACA,6DAEFjE,UAAW,IAAIiE,GACb,OACA,mBACA,CAAC,wBAAyB,YAC1B,+BACA,GAEFhE,gBAAiB,IAAIqE,GACnB,SACA,mBACA,4DAEFpE,UAAW,IAAI+D,GACb,OACA,mBACA,CAAC,YAAa,YACd,+BACA,GAEF9D,WAAY,IAAIoE,GAAc,MAAO,mBAAoB,GAAI,UAC7DnE,aAAc,IAAI6D,GAChB,MACA,mBACA,yBACA,uDAEF5D,kBAAmB,IAAI4D,GACrB,OACA,mBACA,CAAC,mBAAoB,mBACrB,oDACA,GACA,WACEf,GAAoC9sB,EAAUiqB,sBAGlDC,WAAY,IAAI2D,GACd,OACA,mBACA,CAAC,YAAa,YACd,2CACA,GAEF1D,iBAAkB,IAAI+D,GACpB,SACA,mBACA,2DAEF9D,WAAY,IAAIyD,GACd,OACA,mBACA,CAAC,YAAa,YACd,2CACA,GAEFxD,YAAa,IAAI8D,GAAc,MAAO,mBAAoB,GAAI,UAC9D7D,cAAe,IAAIuD,GACjB,MACA,mBACA,aACA,2DAEFtD,qBAAsB,IAAIsD,GACxB,OACA,oBACA,CAAC,mBAAoB,mBACrB,iDACA,GACA,WACEf,GAAoC9sB,EAAUuqB,yBAGlDC,cAAe,IAAIqD,GACjB,OACA,oBACA,CAAC,YAAa,YACd,wCACA,GAEFpD,oBAAqB,IAAIyD,GACvB,SACA,oBACA,8DAEFxD,cAAe,IAAImD,GACjB,OACA,oBACA,CAAC,YAAa,YACd,wCACA,GAEFlD,eAAgB,IAAIwD,GAAc,MAAO,oBAAqB,GAAI,UAClEvD,iBAAkB,IAAIiD,GACpB,MACA,oBACA,aACA,yDAEFhD,wBAAyB,IAAIgD,GAC3B,OACA,uBACA,CAAC,mBAAoB,mBACrB,2EACA,GACA,WACEf,GAAoC9sB,EAAU6qB,4BAGlDC,iBAAkB,IAAI+C,GACpB,OACA,uBACA,CAAC,YAAa,YACd,kEACA,GAEF9C,uBAAwB,IAAImD,GAC1B,SACA,uBACA,sEAEFlD,iBAAkB,IAAI6C,GACpB,OACA,uBACA,CAAC,YAAa,YACd,kEACA,GAEF5C,kBAAmB,IAAIkD,GACrB,MACA,uBACA,GACA,UAEFjD,oBAAqB,IAAI2C,GACvB,MACA,uBACA,aACA,mFAIF1C,aAAc,IAAI0C,GAChB,OACA,gBACA,CAAC,wBAAyB,wBAC1B,mIACA,IAeJ,SAASW,KACP,OAAO7yC,KAAK8yC,UAAU,CACpBC,SAAU1uB,EACV2uB,QAAS,YAkMb,SAASC,KACP,GAAIvmB,KAAyBlI,KAAK0uB,aAAe9mB,GAAW,CAC1D,GACE5H,KAAK0uB,YAAc,IACnB1uB,KAAK2uB,aAAa3uB,KAAK0uB,aAAaE,IAAIhsC,WAAWisC,SAAS,aAC5D,CACA,IAAIrvC,EAASwgB,KAAK2uB,aAAa3uB,KAAK0uB,aAAaE,IAC9ChsC,WACA/H,MAAM,mBAAmB,GAC5B,MAAM0zB,EAASvO,KAAK2uB,aAAa3uB,KAAK0uB,aAAaE,IAChDhsC,WACA/H,MAAM,sBAAsB,GAC/B,GAAe,MAAX2E,EAEF,GADAA,EAASA,EAAOsvC,WAAW,IAAK,IAC5B9uB,KAAKuN,QAAQ/tB,GAAQ+uB,OAASA,EAChCpG,GAAyB,mCACpB,CACL,IAAI4mB,EAAO,EACXlZ,KACA,IAAK,IAAI17B,EAAI,EAAGA,EAAIo0B,EAAQp0B,IAAK,CAC/B,IAAI0zB,EACF1B,GAAW3sB,GAAQ6uB,UACnBrO,KAAK8O,eACHpsB,KAAK6D,IACH,EACA4lB,GAAW3sB,GAAQ+uB,OAAS,EAAIpC,GAAW3sB,GAAQ8uB,MAEzDT,EAAQ7N,KAAK+O,oBAAoB5C,GAAW3sB,GAASquB,GACrDA,EAAQnrB,KAAKoL,KAAK+f,GAClBkhB,GAAQlhB,EACR1B,GAAW3sB,GAAQ+uB,QAAU,EAE/BpG,GAAyB,kBAAkBjE,GAA4B6qB,SAEpE,CACL,IAAIA,EAAO,EACXlZ,KACAl4B,OAAO6C,KAAKwf,KAAKuN,SAAS6B,SAASmB,IAEjC,GADA/wB,EAAS+wB,EACLvQ,KAAKuN,QAAQ/tB,GAAQ+uB,OAASA,EAChCpG,GAAyB,mCAD3B,CAIA,IAAK,IAAIhuB,EAAI,EAAGA,EAAIo0B,EAAQp0B,IAAK,CAC/B,IAAI0zB,EACF1B,GAAW3sB,GAAQ6uB,UACnBrO,KAAK8O,eACHpsB,KAAK6D,IACH,EACA4lB,GAAW3sB,GAAQ+uB,OAAS,EAAIpC,GAAW3sB,GAAQ8uB,MAEzDT,EAAQ7N,KAAK+O,oBAAoB5C,GAAW3sB,GAASquB,GACrDA,EAAQnrB,KAAKoL,KAAK+f,GAClBkhB,GAAQlhB,EACR1B,GAAW3sB,GAAQ+uB,QAAU,EAE/BpG,GAAyB,kBAAkBjE,GAA4B6qB,UAI7E7mB,GAAuBlI,KAAK0uB,aAkBhC,SAASM,GAAmBxhB,EAAK4I,GAC/BP,KACa,IAATO,EAAY3O,GAAU+F,EACR,IAAT4I,EAAY1O,GAAU8F,EACb,IAAT4I,IAAYzO,GAAU6F,GAE/B,MAAMoX,EAAwBxd,GAO9B,OANAqa,KAEAmC,KACIgB,IAA0Bxd,IAC5Bqa,KAEK3Z,GAAe9H,KAAKmR,UAoD7B,SAAS8d,KAEP9iB,GAAa,GACbxuB,OAAO6C,KAAKwf,KAAKuN,SAAS6B,SAASj1B,IACjCgyB,GAAWhyB,GAAK06B,GAAoB16B,MAItCiyB,GAAc,GACdzuB,OAAO6C,KAAKwf,KAAKyV,UAAUrG,SAASj1B,IAClCiyB,GAAYjyB,GAAKo7B,GAAYp7B,MAI/BkyB,GAAkB,GAClB1uB,OAAO6C,KAAKwf,KAAK8T,cAAc1E,SAASj1B,IACtCkyB,GAAgBlyB,GAAKy5B,GAAgBz5B,MAEvC07B,KAMF,IAAIqZ,IAAiB,EAerB,SAASC,GAAM/gC,EAAMghC,EAAQ/qB,IAGD,IAAtBxE,EAAUuvB,IAAiB/qB,IAClB,IAATjW,IACmB,IAAnB8gC,IACO,IAAT9gC,GAEA7C,EAAE,iBAAiBnJ,MAAM4U,gBAAkB6I,EAAU,SAASuvB,KAC9D7jC,EAAE,iBAAiBnJ,MAAM6U,QAAU,MACtB,IAAT7I,GACF7C,EAAE,iBAAiBnJ,MAAMqV,QAAU,SACnC43B,YAAW,WACTF,GAAM,EAAGC,GAAQ,KAChB,IAAOpvB,KAAKmX,MAEfkY,YAAW,WACTF,GAAM,EAAGC,GAAQ,KAChB,IAAOpvB,KAAKmX,MAEC,IAAT/oB,GACT7C,EAAE,iBAAiBnJ,MAAM6U,QAAU,IACnCo4B,YAAW,WACTF,GAAM,EAAGC,GAAQ,KAChB,IAAOpvB,KAAKmX,MACG,IAAT/oB,IAAY7C,EAAE,iBAAiBnJ,MAAMqV,QAAU,QAe5D,SAAS63B,GAAgBC,EAAKC,EAAWC,EAAWprB,GAElD,IAA8B,IAAzBxE,EAAU2vB,IAAoBnrB,KAA8B,IAAnB6qB,GAA0B,CAEtE,MAAMQ,EAAQ,IAAIC,MAAMJ,GACpB1vB,EAAUyoB,aACZoH,EAAME,OAAU/vB,EAAU4vB,GAAa,KAAQzvB,KAAK4vB,OAAS,KAC1DF,EAAME,OAAS/vB,EAAU4vB,GAAa,IAC3CC,EAAMG,QAoFV,SAASC,GAAmBC,EAAcC,EAAOC,GAGjB,IAA5BpwB,EAAUkwB,IACmB,WAA7Bt3C,SAASy3C,kBACU,IAAnBhB,IAIA,IAAI1D,aAAawE,EAAO,CAAE32B,KAAM42B,EAASE,MAFtB,yDAkRvB,SAASC,KAKP,GAJItsB,KAAoB9D,KAAKqwB,WAC3BvsB,GAAkB9D,KAAKqwB,SA7drBrwB,KAAKqwB,UACP9kC,EAAE,QAAQnJ,MAAMkW,OAAS,MACA,IAArBuH,EAAU8S,SAAcpnB,EAAE,YAAYnJ,MAAMqV,QAAU,QAC/B,IAAvBoI,EAAUyT,WAAgB/nB,EAAE,cAAcnJ,MAAMqV,QAAU,UAE9Du1B,KACAxZ,MAEFN,OAwdKlT,KAAKqwB,UAAiC,IAArBrwB,KAAKswB,YAAmB,CAExCjwB,IAAiB1iB,OAAO6C,KAAKwf,KAAKuwB,MAAMn2C,SAC1C60C,KACAzH,KACAnnB,EAAe1iB,OAAO6C,KAAKwf,KAAKuwB,MAAMn2C,QAIpCwtB,KACFmd,KApsBA/kB,KAAK0d,IAAI,wBAjBb7H,KACAzJ,GAAY,uBAAuBc,OAAS,EAC5CuU,KAgBE3Y,GAfKhB,IAgBAgB,GAA6B9I,KAAKmR,UAqsBrCgW,KACAD,KACAT,KACAR,KACAwI,KApgBN,WACE,IAAK,IAAIjhB,EAAM,EAAGA,EAAM,GAAIA,GAAO,EACjC,IAAK,IAAI4I,EAAO,EAAGA,EAAO,EAAGA,GAAQ,EACnC5K,GAAUgC,GAAK4I,GAAQ4Y,GAAmBxhB,EAAK4I,GAkgB/Coa,GAEAvJ,KAzoBN,WACE,IAAIwJ,EAAY,EAEhB,GAAIzwB,KAAKuN,QAAQmjB,KAAKziB,eAAgB,CACpC,MAAM0iB,EAAc3wB,KAAKuN,QAAQmjB,KAAKpjB,SAASsjB,MAC/C,IAAIC,EAAW,EACflzC,OAAO6C,KAAKmwC,GAAavhB,SAASj1B,IAChC,MAAM22C,EAAaH,EAAYx2C,GAC/B02C,GAAYC,EAAWC,MAAQD,EAAWn0C,OAE5C8zC,GAAaI,EAAW7wB,KAAKgxB,oBAG/BP,GAlEF,WACE,IAAIA,EAAY,EAEhB5a,KAGA,IAAIob,EAAuB,EACL,IAAlB1pB,IAAyC,KAAlBA,KACzB0pB,GAAwB,GAEH,IAAnBzpB,IAA2C,KAAnBA,KAC1BypB,GAAwB,GAE1B1pB,GAAgB,EAChBC,GAAiB,GAGjB,IAAK,IAAIrtB,EAAI,EAAGA,EAAI82C,IAAwB92C,EAAG,CAC7C,IAAI+2C,EAAkB,SACtBvzC,OAAO6C,KAAK2rB,IAAYiD,SAASmB,IAC3BpE,GAAWoE,GAAGhC,OAAS,IACzB2iB,EAAkB3gB,MAGtBpE,GAAW+kB,GAAiB3iB,QAAU,EACtCtH,IAAqB,EAevB,OAXAtpB,OAAO6C,KAAK2rB,IAAYiD,SAASj1B,IAC/B,MAAMk2B,EAAKlE,GAAWhyB,GACtBs2C,GAAatiB,GACXnO,KAAKuN,QAAQ8C,EAAG3xB,MAChBshB,KAAKuN,QAAQpzB,GAAGk0B,UAChBgC,EAAG9B,OACHvO,KAAKuN,QAAQpzB,GAAGm0B,KAChB+B,EAAG9B,WAIAkiB,EA0BMU,GACb5lB,GAAqBklB,EA4nBjBW,GAEAxpB,GAAY,GAId,MAAMypB,EAAerxB,KAAK+iB,SAAS,kBAAoB,GAClD/b,IAAqBqqB,GACxBrqB,IAAoB,EACpBD,GAA2B,GAClBC,KAAsBqqB,IAC/BrqB,IAAoB,EACpBD,GAA2B,GAGzBA,KACF+d,KACA/d,GAA2B,GA7wBjC,WAEEwgB,KAEAnG,KAzCF,WACExX,GAA2B,EAC3B,IAAIgJ,EAAQ,EACZj1B,OAAO6C,KAAKwf,KAAKqR,WAAWjC,SAASj1B,IACH,IAA5B6lB,KAAKqR,UAAUl3B,GAAGkkC,QAAazL,GAAS,MAE9C,IAAI0e,EAAU,EACd,GAAInlB,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASlO,KAAKoN,OAAO,SACZ,IAAXc,EAAcojB,GAAW,KACT,IAAXpjB,EAAcojB,GAAW,IACd,IAAXpjB,IAAcojB,GAAW,MAEpCznB,GAAyB+I,EACzBhJ,GACEgJ,GACS,IAARA,EAAe,MACuB,IAAtC5S,KAAK0d,IAAI,2BAAoC,IACjB,IAA5B1d,KAAK0d,IAAI,iBAA0B,GACpC4T,EAuBFC,GACA/R,KACA2G,KAEA,MAAMqL,EACJxxB,KAAKyxB,oBACH/uC,KAAKkE,MAAMoZ,KAAKqmB,gBAAgBrmB,KAAKsmB,aAAetmB,KAAK6f,gBACvD,IAEH7f,KAAK6f,cAAgB7f,KAAKsmB,cAC7Bnb,GAA4B7F,GAAWksB,EAAgBxgB,MAiwBrD0gB,GAxSFvwB,EAA+B,EAC/BmK,GAA0B,GAC1B3tB,OAAO6C,KAAKwf,KAAK2xB,UAAUviB,SAASj1B,IAClCmxB,GAAwBtL,KAAK2xB,SAASx3C,GAAGuzB,IAAM1N,KAAK2xB,SAASx3C,GACzD6lB,KAAK2xB,SAASx3C,GAAGy3C,WAAuC,WAA1B5xB,KAAK2xB,SAASx3C,GAAGK,OACjDywB,GAA4BjL,KAAK2xB,SAASx3C,GAC1CgnB,GAAgC,MAWpCxjB,OAAO6C,KAAKwjB,IAAUoL,SAASj1B,SACa,IAA/BmxB,GAAwBnxB,KACjC6pB,GAAS7pB,GAAGmf,WAAWrc,YAAY+mB,GAAS7pB,WACrC6pB,GAAS7pB,OAGhB6mB,IAA0BhB,KAAKud,aAAaC,OAAOpgC,GACrD4jB,EAAwBhB,KAAKud,aAAaC,OAAOpgC,EAC7C4jB,IACEC,EAA+BE,IACjCguB,GAAM,EAAG,WAAW,GACpBG,GAAgBzvB,EAAU+oB,WAAY,UAAW,YAAY,GAC7DkH,GACE,iBACA,wBACA,+CAIJnyC,OAAO6C,KAAKwf,KAAK2xB,UAAUviB,SAASj1B,SACW,IAAlC6pB,GAAShE,KAAK2xB,SAASx3C,GAAGuzB,KAnH7C,SAAuBmkB,GACrB,MAAM/J,EAAUrvC,SAAS4D,cAAc,OACvCyrC,EAAQpa,GAAK,UAAUmkB,EAAOnkB,KAC9Boa,EAAQ1lC,MAAMkG,MAAQ,OACtBw/B,EAAQ1lC,MAAMmG,OAAS,OACvBu/B,EAAQ1lC,MAAMgI,SAAW,WACzB09B,EAAQ1lC,MAAMyU,OAAS,cACvBixB,EAAQ1lC,MAAMuW,UAAY,SAC1BmvB,EAAQ1lC,MAAMyW,WAAa,OAC3BivB,EAAQ1lC,MAAM0vC,WAAa,2BAC3BhK,EAAQ1lC,MAAMuvB,SAAW,OACzBmW,EAAQ1lC,MAAM+U,OAAS,UACvB2wB,EAAQ1lC,MAAMqV,QAAU,QACE,IAAtBoI,EAAUioB,UAAeA,EAAQ1lC,MAAMqV,QAAU,QACrDqwB,EAAQ1lC,MAAMqC,KAAOotC,EAAOtmC,EAAEnJ,MAAMqC,KACpCqjC,EAAQ1lC,MAAMsC,IAAMmtC,EAAOtmC,EAAEnJ,MAAMsC,IACnCojC,EAAQiK,QAAU,WAChBF,EAAOG,OAETlK,EAAQmK,YAAc,WACpBJ,EAAOtmC,EAAEnJ,MAAM8vC,OACb,gEACFL,EAAOtmC,EAAEnJ,MAAM+vC,aACb,iEAEJrK,EAAQsK,WAAa,WACnBP,EAAOtmC,EAAEnJ,MAAM8vC,OAAS,GACxBL,EAAOtmC,EAAEnJ,MAAM+vC,aAAe,IAGhCnuB,GAAS6tB,EAAOnkB,IAAMoa,EACtBv8B,EAAE,YAAYwK,YAAY+xB,GAqFlBuK,CAAcryB,KAAK2xB,SAASx3C,QAIlCkzC,KACApsB,EAA+BE,EACM,IAAjCA,IAAoC8J,GAA4B,IACrC,IAAtBpL,EAAUioB,SAAiB9mB,GACpCrjB,OAAO6C,KAAKwjB,IAAUoL,SAASj1B,IAC7B6pB,GAAS7pB,GAAGiI,MAAM6U,QAAUqU,GAAwBnxB,GAAGoR,EAAEnJ,MAAM6U,QAC/D+M,GAAS7pB,GAAGiI,MAAMkwC,UAChBhnB,GAAwBnxB,GAAGoR,EAAEnJ,MAAMkwC,UACrCtuB,GAAS7pB,GAAGqD,YAAckF,KAAKoL,KAC7Bwd,GAAwBnxB,GAAGo4C,KAAOvyB,KAAKmX,QAiF3CrW,KACCd,KAAKwyB,cAA2C,YAA3BxyB,KAAKwyB,aAAah4C,QAExCsmB,EACEd,KAAKwyB,cAA2C,YAA3BxyB,KAAKwyB,aAAah4C,KACrCsmB,IACFquB,GAAM,EAAG,gBAAgB,GACzBG,GACEzvB,EAAUqpB,gBACV,eACA,iBACA,GAEF4G,GACE,sBACA,uBACA,kDA9CFjvB,IAAyBb,KAAKud,aAAaQ,SAASN,UACtD5c,EAAuBb,KAAKud,aAAaQ,SAASN,QAClD9/B,OAAO6C,KAAKwf,KAAK2xB,UAAUviB,SAASj1B,IAC9B6lB,KAAK2xB,SAASx3C,GAAGy3C,WAAuC,aAA1B5xB,KAAK2xB,SAASx3C,GAAGK,OACjD0wB,GAAwBlL,KAAK2xB,SAASx3C,OAG1Cg1C,GAAM,EAAG,YAAY,GACrBG,GAAgBzvB,EAAU2pB,YAAa,WAAY,aAAa,GAChEsG,GACE,kBACA,oBACA,0CAtNF9vB,KAAKuN,QAAQmM,KAAKzL,gBAClBlN,IAAuBf,KAAKuN,QAAQmM,KAAKpM,SAASmlB,WAEvB,IAAvB1xB,GAA4BA,EAAqB2e,KAAKC,QACxDwP,GAAM,EAAG,aAAa,GACtBG,GAAgBzvB,EAAUgqB,aAAc,YAAa,cAAc,IAErE9oB,EAAqBf,KAAKuN,QAAQmM,KAAKpM,SAASmlB,UAiKpD,WACE,GACEzyB,KAAKuN,QAAQ,gBAAgBU,gBACH,IAA1BpO,EAAUgoB,YACV,CACA,MAAMva,SAAEA,GAAatN,KAAKuN,QAAQ,gBAC9BD,EAAS4J,MAAQ5J,EAAS4L,OAAQhY,GAAmB,EAC/CA,IACRA,GAAmB,EACnBiuB,GAAM,EAAG,cAAc,GACvBG,GAAgBzvB,EAAUsqB,cAAe,aAAc,eAAe,GACtE2F,GACE,oBACA,mBACA,6CA6NJ4C,GA1IJ,WACE,GAAI1yB,KAAKC,WAAa,EAAG,CACvB,IAAI0yB,EAAmB,EACvBh1C,OAAO6C,KAAKwf,KAAKqR,WAAWjC,SAASj1B,IACH,IAA5B6lB,KAAKqR,UAAUl3B,GAAGkkC,QAAasU,GAAoB,MAErDA,EAAmBvxB,GACrBA,EAAoBuxB,EAElBA,IAAqB3yB,KAAK4yB,mBAC1B/yB,EAAU8qB,iBAEVwE,GAAM,EAAG,oBAAoB,GAE7BA,GAAM,EAAG,iBAAiB,GAG1BwD,IAAqB3yB,KAAK4yB,mBAC1B/yB,EAAUgrB,iBAEVyE,GACEzvB,EAAUkrB,oBACV,mBACA,qBACA,GAGFuE,GACEzvB,EAAU4qB,iBACV,gBACA,kBACA,GAIFkI,IAAqB3yB,KAAK4yB,mBAC1B/yB,EAAU6qB,wBAEVoF,GACE,0BACA,4BACA,sDAGFA,GACE,uBACA,sBACA,gCAIJ1uB,EAAoBuxB,GAwFtBE,IAaJ,SAASC,KACP,IAAIv3C,EAAM,GACV,IAAK,IAAIpB,EAAI,EAAGA,EAAIkoB,EAAgBjoB,OAAQD,IAC1CoB,GAAO,UAAoB8mB,EAAgBloB,eACzC0lB,EAAU,SAASwC,EAAgBloB,aAGvC,IAAK,IAAIA,EAAI,EAAGA,EAAIkoB,EAAgBjoB,OAAQD,IAC1CoB,GAAO,UAAoB8mB,EAAgBloB,0BACzC0lB,EAAU,SAASwC,EAAgBloB,aAGvC,IAAK,IAAIA,EAAI,EAAGA,EAAIkoB,EAAgBjoB,OAAQD,IAC1CoB,GAAO,YAAsB8mB,EAAgBloB,0BAC3C0lB,EAAU,SAASwC,EAAgBloB,aAGvCoR,EAAE,SAAS/N,YAAcjC,EACzB0zB,KAmBF,SAAS8jB,KACP,MAAMC,EAAaC,YACjBC,SAASC,aAAaC,QAAQ,sBAAsBpyC,MAAM,SAAS,IAE/DqyC,EAAoBL,EAAWn4C,MAAM,wBAC3C,GAA0B,OAAtBw4C,EAA4B,CAC9B,MAAMC,EAAgBN,EAAWjyC,QAC/BsyC,EAAkB,GAClB,iBAAiBhF,QAEnB8E,aAAaI,QACX,oBACA7U,OAAO,GAAG8U,YAAYF,aAS5B,SAASG,GAAWlF,GAKlB,QAHqC,IAA1B4E,aAAaO,iBACfP,aAAaO,cAELn5C,IAAbg0C,EAAwB,CAC1B1uB,EAAY0uB,OAEoB,IAArB1uB,EAAU8zB,eACZ9zB,EAAU8zB,YAEc,IAAtB9zB,EAAUurB,gBACZvrB,EAAUurB,QAInB,IAAIwI,GAAM,EACVj2C,OAAO6C,KAAKinC,IAAiBrY,SAASj1B,SACR,IAAjB0lB,EAAU1lB,IACnBy5C,GAAM,EACN/zB,EAAU1lB,GAAKstC,GAAgBttC,IAChB,WAANA,GACTwD,OAAO6C,KAAKinC,GAAgBwD,QAAQ7b,SAASmB,SAEd,IAApB1Q,EAAU1lB,GAAGo2B,IAClB1Q,EAAU1lB,GAAGo2B,IAAM,GAAK1Q,EAAU1lB,GAAGo2B,GAAK,IAE5CqjB,GAAM,EACN/zB,EAAU1lB,GAAGo2B,GAAKkX,GAAgBttC,GAAGo2B,UAKzCqjB,GAAKb,KACT3C,KACAzyC,OAAO6C,KAAKinC,IAAiBrY,SAASj1B,IAC1B,WAANA,QAAkD,IAAzB+zC,GAAa/zC,GAAG+E,MAC3CgvC,GAAa/zC,GAAG+E,eAKpBu0C,GAAWhM,IAEbznB,KAAKgf,aACL8T,KAkJF,SAASe,KACPl2C,OAAO6C,KAAKwf,KAAKqR,WAAWjC,SAASj1B,IAC/B6lB,KAAKqR,UAAUl3B,GAAGykC,OAAS,GAAgC,IAA3B5e,KAAKqR,UAAUl3B,GAAGK,OACpDwlB,KAAKqR,UAAUl3B,GAAG25C,GAAK,MA6C7B,SAASC,GAAcv5C,EAAMkE,GAC3B,GAAa,MAATlE,EAAc,CAIhB,GAFA+Q,EAAE,WAAWoM,UAAYqI,KAAKuN,QAAQ7uB,GAAM+3B,UAEd,IAA1B5W,EAAUooB,YAAmB,CAC/B,MAAM+L,EAAazS,GACjBvhB,KAAKuN,QAAQ7uB,GACbshB,KAAKuN,QAAQ7uB,GAAM2vB,UACnB,EACArO,KAAKuN,QAAQ7uB,GAAM4vB,KACnBtO,KAAKuN,QAAQ7uB,GAAM6vB,QAEf0lB,EAAiBD,EAAah0B,KAAKuN,QAAQ7uB,GAAMy3B,aACnD8d,EAAiB,IACnB1oC,EAAE,WAAWoM,UAAYpM,EAAE,WACxBoM,UAAU3W,MAAM,gBAChB6C,KACC,wBAAwBqgB,GAA4B+vB,UACnB,IAA/BvxC,KAAKkE,MAAMqtC,GAAwB,SAAW,+BAE9CtuB,IACGquB,EAAah0B,KAAKuN,QAAQ7uB,GAAMy3B,eAC9BnW,KAAKuN,QAAQ7uB,GAAMw1C,eAAiBl0B,KAAKm0B,gBAC5CvuB,iBAKU,IAAlB5F,KAAKkP,UASP3jB,EAAE,WAAWoM,UAAYpM,EAAE,WACxBoM,UAAU3W,MAAMkjB,GAA4BlE,KAAKuN,QAAQ7uB,GAAMs0B,YAC/DnvB,KACCqgB,IACGlE,KAAKuN,QAAQ7uB,GACdshB,KAAKuN,QAAQ7uB,GAAM2vB,UACnBrO,KAAKuN,QAAQ7uB,GAAM6vB,OACnBvO,KAAKuN,QAAQ7uB,GAAM4vB,KACnBtO,KAAK6O,QACL,WAIH,GAAa,MAATr0B,EAAc,CAEvB,IAAKwlB,KAAKoQ,gBAAgB1xB,GAAO,MAAO,GACxC6M,EAAE,WAAWoM,UAAYqI,KAAKo0B,aAC5Bp0B,KAAKoQ,gBAAgB1xB,GACrB,aAEgB,MAATlE,EAAc+Q,EAAE,WAAWoM,UAAYqI,KAAKq0B,cAErC,MAAT75C,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAKuN,QAAQ,gBAAgBD,SAASgnB,aAC7D51C,EADuBshB,GAIT,MAATxlB,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAKkkB,YAAY,GAAG5W,SAASinB,YACpD71C,EAAK,GACLA,EAAK,GAFkBshB,GAKT,OAATxlB,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAKkkB,YAAY,GAAG5W,SAASknB,YAAY,EAAzCx0B,GACT,OAATxlB,EAAe+Q,EAAE,WAAWoM,UAAY,GAC/B,QAATnd,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAKuN,QAAQF,OAAOC,SAASmnB,WAAW/1C,EAAxCshB,GACT,QAATxlB,IACP+Q,EAAE,WAAWoM,UAAYqI,KAAKuN,QAAQF,OAAOC,SAASonB,YACpDh2C,EAAK,GADkBshB,IAK3B,GACY,MAATxlB,GAAiC,IAAjBwlB,KAAKkP,SACb,MAAT10B,GACS,MAATA,GACS,MAATA,GACU,MAATA,IAAiBwlB,KAAKxf,KAAK,KACnB,OAAThG,GACS,OAATA,GACS,QAATA,GACU,QAATA,IAA+B,IAAbkE,EAAK,GACxB,CACA,MAAMi2C,EAAOl8C,SAAS4D,cAAc,OACpCs4C,EAAKjnB,GAAK,gBACVniB,EAAE,WAAWwK,YAAY4+B,GAS3B,OALAhxB,GAAcnpB,EACdopB,GAAcllB,EAEd+4B,KAEOlsB,EAAE,WAAWoM,UA6GtB,SAASi9B,KACH50B,KAAKuN,QAAQ,gBAAgBU,gBAC/BtwB,OAAO6C,KAAKwf,KAAKuN,QAAQ,gBAAgBD,SAAS0L,YAAY5J,SAC3Dj1B,IAC4C,OAAvCoR,EAAE,gBAAgBpR,KAAK83C,cACzB1wB,EAAsBpnB,GAAKoR,EAAE,gBAAgBpR,KAAK83C,YAClD1mC,EAAE,gBAAgBpR,KAAK83C,YAAc,WACnCjyB,KAAKyW,QAAQoe,QAAU,EACvB70B,KAAKyW,QAAQ9kB,KACX9Y,MACA,WACE,OAAOk7C,GAAc,IAAK,GAAG55C,OAE/B,QAEF6lB,KAAKyW,QAAQqe,cAoBzB,SAASC,KACP,IACGp0B,GACDX,KAAKuN,QAAQ,gBAAgBU,eAC7B,CACA,MAAMX,SAAEA,GAAatN,KAAKuN,QAAQ,gBAClC9M,EAAqB6M,EAAS3b,KAC9BqO,KAAKuN,QAAQ,gBAAgBD,SAAS3b,KAAO,WAC3C8O,IAC8B,IAA1BZ,EAAUgoB,aAAqBva,EAAS4J,MAAQ5J,EAAS4L,SAC3D5L,EAAS0nB,cAAcr9B,WAAa,KAAK2N,GACvCwR,GACExJ,EAAS4J,MACT5J,EAAS4L,OACT5L,EAAS4L,cAKjBvY,GAA+B,GAkCnC,SAASs0B,MA3BT,WACE,IACGv0B,GACDV,KAAKuN,QAAQ,gBAAgBU,eAC7B,CACA,MAAMX,SAAEA,GAAatN,KAAKuN,QAAQ,gBAClChN,EAAuB+M,EAAS4nB,OAChC10B,EAA0B,IAAI5kB,SAC5B,UAAU0xB,EAAS4nB,OAChBtyC,WACA5B,MAAM,SACN6C,KAAK,8CAEVmc,KAAKuN,QAAQ,gBAAgBD,SAAS4nB,OAAS,WAC7C10B,IACAo0B,KACAj0B,GAA+B,EAC/Bo0B,KAEAr0B,GAAiC,IASrCy0B,GACAJ,KAiJF,IAAI77C,GAAUkmB,EAAoB,KAC9Bg2B,GAA+Bh2B,EAAoBhiB,EAAElE,IA+OzD,MAAMm8C,GAA6B,WA8BnC,SAASC,GAAmBlG,GACG,OAAzB7jC,EAAE,SAAS6jC,OACb7jC,EAAE,SAAS6jC,UAAez3B,UAAY,GAAGpM,EAAE,SAAS6jC,KAAU7xC,SAC9DsiB,EAAUuvB,GAAU1sC,KAAKC,MAAM4I,EAAE,SAAS6jC,KAAU7xC,QAEtDw1C,KAQF,SAASwC,GAAanG,GACpBvvB,EAAUorB,OAAOmE,IAAW,EACxBvvB,EAAUorB,OAAOmE,GAAU,IAAGvvB,EAAUorB,OAAOmE,GAAU,GAC7D2D,KAiBF,SAASyC,GAAY5vB,EAAMwpB,GACzB,MAAM3e,EAAMh4B,SAAS4D,cAAc,OACnCo0B,EAAI71B,UAAY,QAChB61B,EAAIruB,MAAMwK,QAAU,WACpB6jB,EAAIruB,MAAM6U,QAAU,MACpBwZ,EAAIruB,MAAMuvB,SAAW,OACrBlB,EAAIruB,MAAM0vC,WAAa,2BACvBrhB,EAAI1a,YAAYtd,SAASqgB,eAAe,GAAG8M,OAC3C,MAAM6vB,EAAOh9C,SAAS4D,cAAc,QAiBpC,OAhBAo5C,EAAKrzC,MAAM+U,OAAS,UACpBs+B,EAAKrzC,MAAMqV,QAAU,eACrBg+B,EAAKrzC,MAAMmG,OAAS,OACpBktC,EAAKrzC,MAAMkG,MAAQ,OACnBmtC,EAAKrzC,MAAMsU,aAAe,MAC1B++B,EAAKrzC,MAAMuW,UAAY,SACvB88B,EAAKrzC,MAAM4U,gBAAkB,UAC7By+B,EAAKrzC,MAAM2F,MAAQ,QACnB0tC,EAAKrzC,MAAMuvB,SAAW,OACtB8jB,EAAKrzC,MAAMyvB,cAAgB,SAC3B4jB,EAAKj4C,YAAcqiB,EAAUorB,OAAOmE,GAAU,IAAM,IACpDqG,EAAK1D,QAAU,WACbwD,GAAanG,GACbpvB,KAAKgf,cAEPvO,EAAI1a,YAAY0/B,GACThlB,EAYT,SAASilB,GAAal7C,EAAMkE,EAAMknB,EAAM2Y,GACtC,MAAM9N,EAAMh4B,SAAS4D,cAAc,OACnCo0B,EAAI71B,UAAY,UAEhB,MAAM+6C,EAAcl9C,SAAS4D,cAAc,KAG3C,GAFAs5C,EAAYn4C,YAAckB,EAC1B+xB,EAAI1a,YAAY4/B,GACH,gBAATn7C,EAAwB,CAC1Bi2B,EAAI71B,UAAY,UAChB61B,EAAI1a,YAAYtd,SAASqgB,eAAe,MAExC,MAAM2d,EAAUh+B,SAAS4D,cAAc,QACvCo6B,EAAQ2b,WAAa,WACnBpyB,KAAKyW,QAAQtlB,QAEfslB,EAAQwb,YAAc,WACpBjyB,KAAKyW,QAAQ9kB,KACX9Y,KACA6lC,OAAOnc,EAAsBgc,GAAa5mB,aAG9C8e,EAAQr0B,MAAM+U,OAAS,UACvBsf,EAAQr0B,MAAMqV,QAAU,eACxBgf,EAAQr0B,MAAMmG,OAAS,OACvBkuB,EAAQr0B,MAAMkG,MAAQ,OACtBmuB,EAAQr0B,MAAMsU,aAAe,MAC7B+f,EAAQr0B,MAAMuW,UAAY,SAC1B8d,EAAQr0B,MAAM4U,gBAAkB,UAChCyf,EAAQr0B,MAAM2F,MAAQ,QACtB0uB,EAAQr0B,MAAMuvB,SAAW,MACzB8E,EAAQr0B,MAAMyvB,cAAgB,SAC9B4E,EAAQj5B,YAAc,IACtBizB,EAAI1a,YAAY0gB,GAIlB,OAFAhG,EAAI1a,YAAYtd,SAASqgB,eAAe,OACxC2X,EAAI1a,YAAY6P,GACT6K,EAQT,SAASmlB,GAAcC,GACrB,MAAMC,EAAOr9C,SAASs9C,yBACtBD,EAAK//B,YAAYtd,SAASqgB,eAAe,GAAG+8B,EAAYz7C,YACxD,MAAMq7C,EAAOh9C,SAAS4D,cAAc,QACpCo5C,EAAKrD,WAAa,WAChBpyB,KAAKyW,QAAQtlB,QAEf,MAAMotB,EAAc9lC,SAAS4D,cAAc,OACrC25C,EAAUv9C,SAAS4D,cAAc,OACvC25C,EAAQ5zC,MAAMq8B,SAAW,QACzBuX,EAAQ5zC,MAAMu0B,aAAe,MAC7B,MAAMqZ,EAAQv3C,SAAS4D,cAAc,OA4BrC,OA3BA2zC,EAAMp1C,UAAY,OAClBo1C,EAAM5tC,MAAMu0B,aAAe,MAC3BqZ,EAAM5tC,MAAMuW,UAAY,SACxBq3B,EAAMxyC,YAAc,UACpBw4C,EAAQjgC,YAAYi6B,GACpBryC,OAAO6C,KAAKq1C,GAAazmB,SAASj1B,IAChC,MAAMs2B,EAAMh4B,SAAS4D,cAAc,OACnCo0B,EAAIruB,MAAMuW,UAAY,SACtB8X,EAAI1a,YAAYtd,SAASqgB,eAAe+8B,EAAY17C,KACpD67C,EAAQjgC,YAAY0a,MAEtB8N,EAAYxoB,YAAYigC,GACxBP,EAAKxD,YAAc,WACjBjyB,KAAKyW,QAAQ9kB,KAAK9Y,KAAM6lC,OAAOH,EAAY5mB,aAE7C89B,EAAKrzC,MAAM+U,OAAS,UACpBs+B,EAAKrzC,MAAMqV,QAAU,eACrBg+B,EAAKrzC,MAAMmG,OAAS,OACpBktC,EAAKrzC,MAAMkG,MAAQ,OACnBmtC,EAAKrzC,MAAMsU,aAAe,MAC1B++B,EAAKrzC,MAAMuW,UAAY,SACvB88B,EAAKrzC,MAAM4U,gBAAkB,UAC7By+B,EAAKrzC,MAAM2F,MAAQ,QACnB0tC,EAAKrzC,MAAMuvB,SAAW,MACtB8jB,EAAKrzC,MAAMyvB,cAAgB,SAC3B4jB,EAAKj4C,YAAc,IACnBs4C,EAAK//B,YAAY0/B,GACVK,EAw9BT,SAASG,GAAajG,GACpB,MAAMkG,EAAQz9C,SAAS4D,cAAc,OAiCrC,GAhCA65C,EAAMt7C,UAAY,aAClBs7C,EAAMngC,YAAYi6B,GAElBkG,EAAMngC,YAAYy/B,GAAY,gBAAiB,UAC3C31B,EAAUorB,OAAOiB,OACnBgK,EAAMngC,YAz8BV,WAEE,MAAMogC,EAAkBn2B,KAAK+iB,SAAS,oBAClC,2CACA,6BAEEqT,EAAU39C,SAAS4D,cAAc,OACvC+5C,EAAQx7C,UAAY,sBAEpB,MAAMy7C,EACJr2B,KAAKiT,QAAU3B,KAAuBlJ,GAAapG,EAAYH,EAC3Dy0B,EACJt2B,KAAKiT,QAAU3B,KAAuBlJ,GAClC9C,IACG8C,IAAcpI,KAAKiT,QAAU3B,OAAyBN,MAEzD,GACAulB,EAAe99C,SAASs9C,yBACxBS,EAAe/9C,SAAS4D,cAAc,QAK5C,GAJAm6C,EAAap0C,MAAMm0B,WAAa,OAChCigB,EAAa57C,UAAY8mB,EAAgB20B,EACzCG,EAAah5C,YAAc0mB,GAA4BkE,IACvDmuB,EAAaxgC,YAAYygC,GACP,KAAdF,EAAkB,CACpB,MAAMG,EAAgBh+C,SAAS4D,cAAc,SAC7Co6C,EAAcj5C,YAAc,KAAK84C,KACjCC,EAAaxgC,YAAY0gC,GAE3BL,EAAQrgC,YACN2/B,GACE,cACA,4BACAa,EACAJ,IAIJ,MAAMO,EACJ12B,KAAKiT,QAAU3B,KAAuB/I,GAClCvG,EACAH,EACA80B,EACJ32B,KAAKiT,QAAU3B,KAAuB/I,GAClCjD,IACGiD,IAAoBvI,KAAKiT,QAAU3B,OAAyBN,MAE/D,GACA4lB,EAAmBn+C,SAASs9C,yBAC5Bc,EAAmBp+C,SAAS4D,cAAc,QAKhD,GAJAw6C,EAAiBz0C,MAAMm0B,WAAa,OACpCsgB,EAAiBj8C,UAAY8mB,EAAgBg1B,EAC7CG,EAAiBr5C,YAAc0mB,GAA4BqE,IAC3DquB,EAAiB7gC,YAAY8gC,GACL,KAApBF,EAAwB,CAC1B,MAAMG,EAAoBr+C,SAAS4D,cAAc,SACjDy6C,EAAkBt5C,YAAc,KAAKm5C,KACrCC,EAAiB7gC,YAAY+gC,GAE/BV,EAAQrgC,YACN2/B,GACE,cACA,qCACAkB,EACAT,IAIJ,MAAMY,EAAa1uB,KAAqBC,GAElC0uB,EAAqBv+C,SAAS4D,cAAc,QAClD26C,EAAmB50C,MAAMm0B,WAAa,OACtCygB,EAAmBp8C,UAAY8mB,EAAgB2G,GAC/C2uB,EAAmBx5C,YACjB0mB,GAA4BmE,KAC3B0uB,EAAa,MAAM7yB,GAA4BoE,MAA2B,IAC7E8tB,EAAQrgC,YACN2/B,GACE,cACA,yBAAwBqB,EAAa,oBAAsB,IAC3DC,EACAb,IAIJ,MAAMc,EAA2Bx+C,SAAS4D,cAAc,QACxD46C,EAAyB70C,MAAMm0B,WAAa,OAC5C0gB,EAAyBr8C,UAAY8mB,EAAgBu1B,EACrDA,EAAyBz5C,YACvB0mB,GAA4BsE,KAC3BuuB,EAAa,MAAM7yB,GAA4BuE,MAAiC,IACnF2tB,EAAQrgC,YACN2/B,GACE,cACA,kCAAiCqB,EAAa,oBAAsB,IACpEE,EACAd,IAIJ,MAAMe,EACJx0C,KAAK2D,IACqC,KAAvC2Z,KAAKiT,QAAU3B,MAChBxI,GAA6BC,GAAoC,GAAK,IACpE,GACAouB,EAAe1+C,SAAS4D,cAAc,QAc5C,OAbA86C,EAAa/0C,MAAMm0B,WAAa,OAChC4gB,EAAav8C,UAAY8mB,EAAgBy1B,EACzCA,EAAa35C,YACX0mB,GAA4B8E,GAAyBkuB,IACpDH,EAAa,MAAM7yB,GAA4B+E,GAAwBiuB,KAAkB,IAC5Fd,EAAQrgC,YACN2/B,GACE,cACA,yBAAwBqB,EAAa,oBAAsB,IAC3DI,EACAhB,IAGGC,EAm1BagB,IAGpBlB,EAAMngC,YAAYy/B,GAAY,gBAAiB,UAC3C31B,EAAUorB,OAAOkB,OACnB+J,EAAMngC,YAj1BV,WAEE,MAAMogC,EAAkBn2B,KAAK+iB,SAAS,oBAClC,2CACA,6BAEEqT,EAAU39C,SAAS4D,cAAc,OACvC+5C,EAAQx7C,UAAY,sBAEpB,MAAMy8C,EACJr3B,KAAKiT,QAAU3B,KAAuBnH,GAClCnI,EACAH,EACAy1B,EACJt3B,KAAKiT,QAAU3B,KAAuBnH,GAClC7E,IACG6E,IAAsBnK,KAAKiT,QAAU3B,OACpCN,MAEJ,GACAumB,EAAe9+C,SAASs9C,yBACxByB,EAAe/+C,SAAS4D,cAAc,QAK5C,GAJAm7C,EAAap1C,MAAMm0B,WAAa,OAChCihB,EAAa58C,UAAY8mB,EAAgB21B,EACzCG,EAAah6C,YAAc0mB,GAA4BiG,IACvDotB,EAAaxhC,YAAYyhC,GACP,KAAdF,EAAkB,CACpB,MAAMG,EAAgBh/C,SAAS4D,cAAc,SAC7Co7C,EAAcj6C,YAAc,KAAK85C,KACjCC,EAAaxhC,YAAY0hC,GAE3BrB,EAAQrgC,YACN2/B,GACE,cACA,2BACA6B,EACApB,IAIJ,MAAMuB,EACJ13B,KAAKiT,QAAU3B,KAAuBhH,GAClCtI,EACAH,EACA81B,EACJ33B,KAAKiT,QAAU3B,KAAuBhH,GAClChF,IACGgF,IAA2BtK,KAAKiT,QAAU3B,OACzCN,MAEJ,GACA4mB,EAAoBn/C,SAASs9C,yBAC7B8B,EAAoBp/C,SAAS4D,cAAc,QAKjD,GAJAw7C,EAAkBz1C,MAAMm0B,WAAa,OACrCshB,EAAkBj9C,UAAY8mB,EAAgBg2B,EAC9CG,EAAkBr6C,YAAc0mB,GAA4BoG,IAC5DstB,EAAkB7hC,YAAY8hC,GACP,KAAnBF,EAAuB,CACzB,MAAMG,EAAqBr/C,SAAS4D,cAAc,SAClDy7C,EAAmBt6C,YAAc,KAAKm6C,KACtCC,EAAkB7hC,YAAY+hC,GAEhC1B,EAAQrgC,YACN2/B,GACE,cACA,mCACAkC,EACAzB,IAIJ,MAAM4B,EACJ/3B,KAAKiT,QAAU3B,KAAuB7G,GAClCzI,EACAH,EACAm2B,EACJh4B,KAAKiT,QAAU3B,KAAuB7G,GAClCnF,IACGmF,IAA4BzK,KAAKiT,QAAU3B,OAC1CN,MAEJ,GACAinB,EAAmBx/C,SAASs9C,yBAC5BmC,EAAmBz/C,SAAS4D,cAAc,QAKhD,GAJA67C,EAAiB91C,MAAMm0B,WAAa,OACpC2hB,EAAiBt9C,UAAY8mB,EAAgBq2B,EAC7CG,EAAiB16C,YAAc0mB,GAA4BuG,IAC3DwtB,EAAiBliC,YAAYmiC,GACL,KAApBF,EAAwB,CAC1B,MAAMG,EAAoB1/C,SAAS4D,cAAc,SACjD87C,EAAkB36C,YAAc,KAAKw6C,KACrCC,EAAiBliC,YAAYoiC,GAE/B/B,EAAQrgC,YACN2/B,GACE,cACA,oCACAuC,EACA9B,IAIJ,MAAMiC,EACJp4B,KAAKiT,QAAU3B,KAAuB1G,GAClC5I,EACAH,EACAw2B,EACJr4B,KAAKiT,QAAU3B,KAAuB1G,GAClCtF,IACGsF,IACE5K,KAAKiT,QAAU3B,OAChBN,MAEJ,GACAsnB,EAAwB7/C,SAASs9C,yBACjCwC,EAAwB9/C,SAAS4D,cAAc,QAKrD,GAJAk8C,EAAsBn2C,MAAMm0B,WAAa,OACzCgiB,EAAsB39C,UAAY8mB,EAAgB02B,EAClDG,EAAsB/6C,YAAc0mB,GAA4B0G,IAChE0tB,EAAsBviC,YAAYwiC,GACL,KAAzBF,EAA6B,CAC/B,MAAMG,EAAyB//C,SAAS4D,cAAc,SACtDm8C,EAAuBh7C,YAAc,KAAK66C,KAC1CC,EAAsBviC,YAAYyiC,GAEpCpC,EAAQrgC,YACN2/B,GACE,cACA,4CACA4C,EACAnC,IAIJC,EAAQrgC,YACN2/B,GACE,cACA,wCACAj9C,SAASqgB,eACP,GAAGoL,GAA4BmG,GAAoB,SAASnG,GAC1DsG,GAAyB,OAG7B2rB,IAIJC,EAAQrgC,YACN2/B,GACE,cACA,iDACAj9C,SAASqgB,eACP,GAAGoL,GAA4ByG,GAA0B,SAASzG,GAChEyG,GAA0B,OAG9BwrB,IAIJ,MAAMsC,EAAc/1C,KAAK2D,IACN,GAAjB2Z,KAAKmR,UAAiB,GAAK,EAAIpI,GAChB,GAAf/I,KAAKiT,SAEDylB,EAAWjT,GACf,EACAgT,EACAzvB,IACA,GACI2vB,EAAgBlT,GACpB,EACAgT,EACAxvB,IACA,GAoCF,OAnCAmtB,EAAQrgC,YACN2/B,GACE,cACA,wCACAj9C,SAASqgB,eACP,GAAGoL,GAA4Bw0B,QAAex0B,GAA4By0B,MAE5ExC,IAIJC,EAAQrgC,YACN2/B,GACE,cACA,oCACAj9C,SAASqgB,eACP,GAAGoL,GAA4BkG,SAA6BlG,GAC1DqG,OAGJ,8BAGJ6rB,EAAQrgC,YACN2/B,GACE,cACA,6CACAj9C,SAASqgB,eACP,GAAGoL,GAA4BwG,SAAmCxG,GAChE2G,OAGJ,8BAGGurB,EAgoBawC,IAGhB54B,KAAKuN,QAAQ,gBAAgBU,iBAC/BioB,EAAMngC,YAAYy/B,GAAY,SAAU,WACpC31B,EAAUorB,OAAOmB,QACnB8J,EAAMngC,YA/nBZ,WACE,MAAMqgC,EAAU39C,SAAS4D,cAAc,OACvC+5C,EAAQx7C,UAAY,uBAEpB,MAAMi+C,EACJ74B,KAAKiT,QAAU3B,KAAuB5I,GAClC1G,EACAH,EACAi3B,EACJ94B,KAAKiT,QAAU3B,KAAuB5I,GAClCpD,IACGoD,IAAgB1I,KAAKiT,QAAU3B,OAAyBN,MAE3D,GAEA+nB,EAAiBtgD,SAASs9C,yBAC1BiD,EAAiBvgD,SAAS4D,cAAc,QAK9C,GAJA28C,EAAe52C,MAAMm0B,WAAa,OAClCyiB,EAAep+C,UAAY8mB,EAAgBm3B,EAC3CG,EAAex7C,YAAc0mB,GAA4BwE,IACzDqwB,EAAehjC,YAAYijC,GACP,KAAhBF,EAAoB,CACtB,MAAMG,EAAkBxgD,SAAS4D,cAAc,SAC/C48C,EAAgBz7C,YAAc,KAAKs7C,KACnCC,EAAehjC,YAAYkjC,GAE7B7C,EAAQrgC,YACN2/B,GACE,cACA,yCACAqD,EACA,+BAGJ3C,EAAQrgC,YACN2/B,GACE,cACA,qCACAj9C,SAASqgB,eAAeoL,GAA4ByE,KACpD,+BAIJ,MAAMuwB,EACJl5B,KAAKiT,QAAU3B,KAAsC,EAAf5I,GAClC1G,EACAH,EACAs3B,EAAmBz2C,KAAK2D,IACY,KAAvC2Z,KAAKiT,QAAU3B,MACa,GAA7BxI,GAAkC,IAE9BswB,EACJp5B,KAAKiT,QAAU3B,KAAsC,EAAf5I,GAClCpD,IACkB,EAAfoD,IAAoB1I,KAAKiT,QAAU3B,OAAyBN,MAE/D,GAEAqoB,EAAuB5gD,SAASs9C,yBAChCuD,EAAuB7gD,SAAS4D,cAAc,QAKpD,GAJAi9C,EAAqBl3C,MAAMm0B,WAAa,OACxC+iB,EAAqB1+C,UAAY8mB,EAAgBw3B,EACjDI,EAAqB97C,YAAc0mB,GAA2C,EAAfwE,IAC/D2wB,EAAqBtjC,YAAYujC,GACP,KAAtBF,EAA0B,CAC5B,MAAMG,EAAwB9gD,SAAS4D,cAAc,SACrDk9C,EAAsB/7C,YAAc,KAAK47C,KACzCC,EAAqBtjC,YAAYwjC,GAsCnC,OApCAnD,EAAQrgC,YACN2/B,GACE,cACA,kDACA2D,EACA,+BAGJjD,EAAQrgC,YACN2/B,GACE,cACA,8CACAj9C,SAASqgB,eAAeoL,GAAiD,EAArByE,KACpD,+BAGJytB,EAAQrgC,YACN2/B,GACE,cACA,qCACAj9C,SAASqgB,eAAeoL,GAA4Bi1B,IACpD,+BAGAvwB,IACFwtB,EAAQrgC,YACN2/B,GACE,cACA,mEACAj9C,SAASqgB,eACP,GAAGoL,GAA4B0E,QAAkBC,OAEnD,+BAICutB,EAshBeoD,KAIlBx5B,KAAKuN,QAAQmM,KAAKzL,iBACpBioB,EAAMngC,YAAYy/B,GAAY,SAAU,WACpC31B,EAAUorB,OAAOoB,QACnB6J,EAAMngC,YAthBZ,WACE,MAAMqgC,EAAU39C,SAAS4D,cAAc,OACvC+5C,EAAQx7C,UAAY,uBAEpB,MAAM6+C,EACJz5B,KAAKiT,QAA2B,GAAjBjT,KAAKmR,UAAiB,GAAK,IAAMnP,EAAYH,EACxD63B,EAAgBjhD,SAAS4D,cAAc,QAC7Cq9C,EAAct3C,MAAMm0B,WAAa,OACjCmjB,EAAc9+C,UAAY8mB,EAAgB+3B,EAC1CC,EAAcl8C,YAAc0mB,GAA6C,GAAjBlE,KAAKmR,UAAiB,GAAK,KACnFilB,EAAQrgC,YACN2/B,GACE,QACA,iDACAgE,IAIJ,MAAMC,EACJ35B,KAAKiT,QAA2B,GAAjBjT,KAAKmR,UAAiB,IAAMnP,EAAYH,EACnD+3B,EAAgBnhD,SAAS4D,cAAc,QAC7Cu9C,EAAcx3C,MAAMm0B,WAAa,OACjCqjB,EAAch/C,UAAY8mB,EAAgBi4B,EAC1CC,EAAcp8C,YAAc0mB,GAA6C,GAAjBlE,KAAKmR,UAAiB,KAC9EilB,EAAQrgC,YACN2/B,GACE,QACA,iDACAkE,IAIJ,MAAMC,EACJ75B,KAAKiT,QAA2B,GAAjBjT,KAAKmR,UAAiB,GAAK,GAAKnP,EAAYH,EACvDi4B,EAAgBrhD,SAAS4D,cAAc,QAC7Cy9C,EAAc13C,MAAMm0B,WAAa,OACjCujB,EAAcl/C,UAAY8mB,EAAgBm4B,EAC1CC,EAAct8C,YAAc0mB,GAA6C,GAAjBlE,KAAKmR,UAAiB,GAAK,IACnFilB,EAAQrgC,YACN2/B,GACE,QACA,iDACAoE,IAIJ,MAAMC,EACJ/5B,KAAKiT,QAA2B,GAAjBjT,KAAKmR,UAAiB,GAAK,IAAMnP,EAAYH,EACxDm4B,EAAgBvhD,SAAS4D,cAAc,QAC7C29C,EAAc53C,MAAMm0B,WAAa,OACjCyjB,EAAcp/C,UAAY8mB,EAAgBq4B,EAC1CC,EAAcx8C,YAAc0mB,GAA6C,GAAjBlE,KAAKmR,UAAiB,GAAK,KACnFilB,EAAQrgC,YACN2/B,GACE,QACA,iDACAsE,IAGJ,MAAMC,EAAoB,GAe1B,OAdAt8C,OAAO6C,KAAKkjC,IAAYtU,SAASj1B,IAC1B6lB,KAAK0gB,YAAYgD,GAAWvpC,KAC/B8/C,EAAkBh+C,KAAKynC,GAAWvpC,OAGL,IAA7B8/C,EAAkB7/C,QACpBg8C,EAAQrgC,YACN2/B,GACE,QACA,kCACAE,GAAcqE,KAIb7D,EA4ce8D,KAItBhE,EAAMngC,YAAYy/B,GAAY,WAAY,aACtC31B,EAAUorB,OAAOqB,UACnB4J,EAAMngC,YA3cV,WACE,MAAMqgC,EAAU39C,SAAS4D,cAAc,OACvC+5C,EAAQx7C,UAAY,yBAEpB,MAAMu/C,EAAkBz3C,KAAKkE,MAC3BoZ,KAAKqmB,gBACHtb,GACE/K,KAAKsmB,aACL7c,IACCzJ,KAAK0gB,YAAY,mBAAqB1gB,KAAK0d,IAAI,iBAC5CrU,GACA,KAGV+sB,EAAQrgC,YACN2/B,GACE,cACA,6BACAj9C,SAASqgB,eACP,GAAGoL,GAA4BlE,KAAKkW,eAAehS,GAA4Bi2B,MAEjF,+BAIJ,MAAMC,EAAa13C,KAAK6D,IACtB,EACAyZ,KAAKyxB,oBAAoB0I,EAAkB,IACxCpvB,GACC/K,KAAKsmB,aACL7c,IAEEzJ,KAAK0gB,YAAY,mBAAqB1gB,KAAK0d,IAAI,kBAC3CrU,GAGFA,GACA,KAEJgxB,EAAkB5hD,SAASs9C,yBACjCsE,EAAgBtkC,YAAYtd,SAASqgB,eAAeoL,GAA4Bk2B,KAChF,MAAME,EAAmB7hD,SAAS4D,cAAc,SAChDi+C,EAAiB98C,YAAc,KAAK8nB,GAClC80B,EAAapvB,GACb,MAEFqvB,EAAgBtkC,YAAYukC,GAC5BlE,EAAQrgC,YACN2/B,GACE,cACA,wBACA2E,EACA,gCAIJjE,EAAQrgC,YACN2/B,GACE,cACA,6BACAj9C,SAASqgB,eACP,GAAGoL,GAA4BlE,KAAKu6B,oBAAoBr2B,GACtDi2B,EAAkBn6B,KAAKkW,SAAWlW,KAAKu6B,kBAG3C,oCAIJnE,EAAQrgC,YACN2/B,GACE,QACA,6CACAj9C,SAASqgB,eAAeoL,GAA4BgF,GAAkB,MAI1E,MAAMsxB,EAAW71B,OAAO9E,EAAUuoB,qBAClC,IAAKzjB,OAAOlJ,MAAM++B,GAAW,CAC3B,MAAMC,EACJD,EACA93C,KAAKkE,MAAMoZ,KAAKqmB,gBAAgBrmB,KAAKsmB,aAAetmB,KAAK6f,gBACvD4a,EAAoB,IACtBrE,EAAQrgC,YACN2/B,GACE,QACA,iDACAj9C,SAASqgB,eAAeoL,GAA4Bu2B,MAGxDrE,EAAQrgC,YACN2/B,GACE,QACA,iDACAj9C,SAASqgB,eACPwM,GAAWm1B,EAAoBvxB,QAOzC,MAAMwxB,EAr6BR,SAAoBC,GAElB,IAAIC,EAAS56B,KAAKmR,UAElB0E,KAE2C,IAAvCzJ,GAAY,gBAAgBc,SAC9Bd,GAAY,wBAAwBc,OAAS,EAC7Cd,GAAY,yBAAyBc,OAAS,EAC9Cd,GAAY,mBAAmBc,OAAS,EACxCd,GAAY,0BAA0Bc,OAAS,EAC/Cd,GAAY,gBAAgBc,OAAS,EAErCuU,KAEAmZ,EAAS9yB,GAET+N,MAGE9K,IAA0B,KAASyW,GAAO,aAC1CzW,IAA0B,KAAYyW,GAAO,YAC7CzW,IAA0B,MAAeyW,GAAO,gBAChDzW,IAA0B,MAAkByW,GAAO,YACnDzW,IAA0B,MAAqByW,GAAO,iBACtDzW,IAA0B,MAC5ByW,GAAO,kBACLzW,IAA0B,MAC5ByW,GAAO,iBACLzW,IAA0B,MAC5ByW,GAAO,cACLzW,IAA0B,MAC5ByW,GAAO,iBACLzW,IAA0B,MAC5ByW,GAAO,uBACLzW,IAA0B,MAC5ByW,GAAO,mBACLzW,IAA0B,MAC5ByW,GAAO,uBACLzW,IAA0B,MAC5ByW,GAAO,wBACLzW,IAA0B,MAC5ByW,GAAO,mBAEPzW,IAA0B,MAE1ByW,GAAO,WAEPzW,IACA,MAEAyW,GAAO,iBAEPzW,IACA,MAEAyW,GAAO,iCAETpV,GAAY,wBAAwBc,OAAS,EAC7Cd,GAAY,yBAAyBc,OAAS,EAC9Cd,GAAY,mBAAmBc,OAAS,EACxCd,GAAY,0BAA0Bc,OAAS,EAC/Cd,GAAY,gBAAgBc,OAAS,EAErC5F,GAAcqzB,EAEd,MAAM/V,EAAwBxd,GAE9Bqa,KAEAmC,KAEIgB,IAA0Bxd,IAC5Bqa,KAGF,MAAMoZ,EAAW/yB,GAAe8yB,EAKhC,OAFAtzB,GAActH,KAAKkW,SAEZ2kB,EAo1BYC,CAAWX,GACxBY,EAAYtiD,SAASs9C,yBAC3BgF,EAAUhlC,YAAYtd,SAASqgB,eAAeoL,GAA4Bw2B,KAC1E,MAAM5iB,EAAWp1B,KAAKC,MAAO+3C,EAAa16B,KAAKmR,UAAa,KAC5D,GAAIxM,OAAOC,SAASkT,IAA0B,IAAbA,EAAgB,CAC/C,MAAMkjB,EAAaviD,SAAS4D,cAAc,SAC1C2+C,EAAWx9C,YAAc,KAAKs6B,EAAW,kBACzCijB,EAAUhlC,YAAYilC,GAExB5E,EAAQrgC,YACN2/B,GACE,cACA,qBACAqF,EACA,4BAIJ,MAAME,EAAkBv4C,KAAKkE,MAAMoZ,KAAKqmB,gBAAgBrmB,KAAKsmB,eACvD4U,EAAWx4C,KAAKkE,MACpBoZ,KAAKqmB,gBAAgBrmB,KAAKsmB,aAAetmB,KAAK6f,gBAE1Csb,EAAUD,EAAWD,EAC3B,IAAKj7B,KAAK0d,IAAI,eAAgB,CAC5B,IAAI0d,EAAS,EAAKF,EAAW,GACzBE,EAAS,IAAGA,GAAU,IAC1B,MAAMC,EAAaF,EAAUC,EACvBE,EAAaJ,EAAWE,EACxBG,EAAQ9iD,SAASs9C,yBACvBwF,EAAMxlC,YACJtd,SAASqgB,eACP,GAAGwiC,EAAWt2B,sBAAsBq2B,EAAWr2B,sBAAsBo2B,OAGzEhF,EAAQrgC,YACN2/B,GAAa,QAAS,qCAAsC6F,IAIhE,IAAKv7B,KAAK0d,IAAI,gBAAiB,CAC7B,IAAI8d,EAAW,IAAON,EAAW,IAC7BM,EAAW,IAAGA,GAAY,KAC9B,MAAMC,EAAeN,EAAUK,EACzBE,EAAeR,EAAWM,EAC1BG,EAAUljD,SAASs9C,yBACzB4F,EAAQ5lC,YACNtd,SAASqgB,eACP,GAAG4iC,EAAa12B,sBAAsBy2B,EAAaz2B,sBAAsBw2B,OAG7EpF,EAAQrgC,YACN2/B,GAAa,QAAS,sCAAuCiG,IAIjE,IAAK37B,KAAK0d,IAAI,gBAAiB,CAC7B,IAAIke,EAAc,OAAUV,EAAW,IACnCU,EAAc,IAAGA,GAAe,KACpC,MAAMC,EAAkBV,EAAUS,EAC5BE,EAAkBZ,EAAWU,EAC7BG,EAAatjD,SAASs9C,yBAC5BgG,EAAWhmC,YACTtd,SAASqgB,eACP,GAAGgjC,EAAgB92B,sBAAsB62B,EAAgB72B,sBAAsB42B,OAGnFxF,EAAQrgC,YACN2/B,GAAa,QAAS,sCAAuCqG,IAIjE,OAAO3F,EA8Ra4F,IAGhBh8B,KAAKoR,UAAY,IACnB8kB,EAAMngC,YAAYy/B,GAAY,YAAa,UACvC31B,EAAUorB,OAAOsB,OAAO,CAC1B,MAAM0P,EAAaxjD,SAASs9C,yBAC5BkG,EAAWlmC,YACTtd,SAASqgB,eACP,GAAGoL,GAA4BuF,SAA0BvF,GACvDwF,SAIN,MAAMwyB,EAAUzjD,SAAS4D,cAAc,KACvC6/C,EAAQ1+C,YAAc,iBACtB0+C,EAAQthD,UAAY,SACpBshD,EAAQnK,QAAU,WAChB8B,MAEFoI,EAAWlmC,YAAYmmC,GACvBhG,EAAMngC,YACJ2/B,GACE,QACA,kCACAuG,IAGJ,MAAME,EAAiB1jD,SAASs9C,yBAChCoG,EAAepmC,YACbtd,SAASqgB,eAAe,GAAGoL,GAA4ByF,GAAsB,SAE/E,MAAMyyB,EAAc3jD,SAAS4D,cAAc,KAC3C+/C,EAAY5+C,YAAc,qBAC1B4+C,EAAYxhD,UAAY,SACxBwhD,EAAYrK,QAAU,WACa,OAA7BpoB,GAAsB,KACxB3J,KAAKqR,UAAU1H,GAAsB,IAAImqB,GAAK,IAElDqI,EAAepmC,YAAYqmC,GAC3BlG,EAAMngC,YACJ2/B,GACE,QACA,6DAC+B,OAA7B/rB,GAAsB,GAClBA,GAAsB,GACtB,UAENwyB,IASR,GAHAjG,EAAMngC,YA7UR,WACE,MAAMqgC,EAAU39C,SAAS4D,cAAc,OACvC+5C,EAAQx7C,UAAY,uBAEpB,IAAIyhD,GAAW,EACf,MAAMC,EAA0B,GAChC3+C,OAAO6C,KAAK+iC,IAAcnU,SAASj1B,IAC5B6lB,KAAK0d,IAAI6F,GAAappC,MACzBmiD,EAAwBrgD,KAAKsnC,GAAappC,IAC1CkiD,GAAW,MAGf,MAAME,EAA0B,GAChC5+C,OAAO6C,KAAKgjC,IAAepU,SAASj1B,IAC7B6lB,KAAK0d,IAAI8F,GAAcrpC,MAC1BoiD,EAAwBtgD,KAAKunC,GAAcrpC,IAC3CkiD,GAAW,MAGf,MAAMG,EAA0B,GAChC7+C,OAAO6C,KAAKijC,IAAYrU,SAASj1B,IAC1B6lB,KAAK0d,IAAI+F,GAAWtpC,MACvBqiD,EAAwBvgD,KAAKwnC,GAAWtpC,IACxCkiD,GAAW,MAGf,MAAMI,EAAoB,GAC1B9+C,OAAO6C,KAAKwf,KAAK08B,UAAUttB,SAASj1B,IAC7B6lB,KAAK0gB,YAAY1gB,KAAK08B,SAASviD,MAClCsiD,EAAkBxgD,KAAK+jB,KAAK08B,SAASviD,IACrCkiD,GAAW,MAGf,MAAMM,EAAkB,GACxBh/C,OAAO6C,KAAKwf,KAAK48B,cAAcxtB,SAASj1B,IACjC6lB,KAAK0gB,YAAY1gB,KAAK48B,aAAaziD,MACtCwiD,EAAgB1gD,KAAK+jB,KAAK48B,aAAaziD,IACvCkiD,GAAW,MAGf,MAAM5b,EACJzgB,KAAK0gB,YAAY,mBAAqB1gB,KAAK0d,IAAI,iBAC3Cmf,EAAU78B,KAAK0d,IAAI,eAEzB,IAAoB,cAAhB1d,KAAK8d,QAA0Bue,GAAY5b,GAAUoc,KACvDzG,EAAQrgC,YAAYy/B,GAAY,kBAAmB,QAC/C31B,EAAUorB,OAAOuB,KAAK,CACxB,GAAuC,IAAnC8P,EAAwBliD,OAAc,CACxCg8C,EAAQrgC,YACN2/B,GACE,QACA,gCACAE,GAAc0G,KAGlB,IAAIQ,EAAoB,IAIxB,GAHI98B,KAAKgY,UAAU,oBAAmB8kB,EAAoB,IACtD98B,KAAK0d,IAAI,gBAAeof,GAAqB,IACjDA,GAAqB,EAAI98B,KAAK+8B,eAC1B/8B,KAAKoN,OAAQ,CACf,MAAMc,EAASlO,KAAKoN,OAAO,WACZ,IAAXc,EAAc4uB,GAAqB,GACnB,IAAX5uB,EAAc4uB,GAAqB,IACxB,IAAX5uB,IAAc4uB,GAAqB,KAE9C,MAAME,EAAwBV,EAAwBliD,OAAS,EAC/Dg8C,EAAQrgC,YACN2/B,GACE,QACA,4DACAj9C,SAASqgB,eACP,GAAGoL,IACA,EAAI44B,GAAqBE,EAAwB,WAC5C94B,IACL,EAAwB,GAApB44B,GAA2BE,EAAwB,WAMlE,GAAuC,IAAnCT,EAAwBniD,OAAc,CACxCg8C,EAAQrgC,YACN2/B,GACE,QACA,gCACAE,GAAc2G,KAGlB,IAAIU,EAAoB,GAIxB,GAHIj9B,KAAKgY,UAAU,iBAAgBilB,EAAoB,IACvDA,GAAqB,EAAIj9B,KAAK+8B,eAC1B/8B,KAAK0d,IAAI,cAAauf,GAAqB,KAC3Cj9B,KAAKoN,OAAQ,CACf,MAAMc,EAASlO,KAAKoN,OAAO,WACZ,IAAXc,EAAc+uB,GAAqB,GACnB,IAAX/uB,EAAc+uB,GAAqB,IACxB,IAAX/uB,IAAc+uB,GAAqB,KAE9C,MAAMD,EAAwBT,EAAwBniD,OAAS,EAC/Dg8C,EAAQrgC,YACN2/B,GACE,QACA,6CACAj9C,SAASqgB,eACP,GAAGoL,IACA,EAAI+4B,GAAqBD,EAAwB,WAMrB,IAAnCR,EAAwBpiD,QAC1Bg8C,EAAQrgC,YACN2/B,GACE,QACA,gCACAE,GAAc4G,KAIpB,MAAMU,EAAc,SAAUC,GAC5B,IAAIC,EAAcD,GAAoB,EAAIn9B,KAAK+8B,gBAI/C,GAHI/8B,KAAKgY,UAAU,0BAAyBolB,GAAe,IACvDp9B,KAAK0d,IAAI,cAAa0f,GAAe,IACrCp9B,KAAK0d,IAAI,eAAc0f,GAAe,IACtCp9B,KAAKoN,OAAQ,CACf,MAAMc,EAASlO,KAAKoN,OAAO,WACZ,IAAXc,EAAckvB,GAAe,GACb,IAAXlvB,EAAckvB,GAAe,IAClB,IAAXlvB,IAAckvB,GAAe,KAGxC,MAAMC,EAAgB,EAAID,EACpBE,EAAet9B,KAAK08B,SAAStiD,OAASqiD,EAAkBriD,OACxDmjD,EACJv9B,KAAK48B,aAAaxiD,OAASuiD,EAAgBviD,OACvCojD,EACY,GAAhBH,GAAuB,EAAIC,EAAet9B,KAAK08B,SAAStiD,QACpDqjD,EAEJ,GADAJ,GAEC,EAAIE,EAAmBv9B,KAAK48B,aAAaxiD,QAKtCsjD,EAHY,GAAhBL,GAAuBC,EAAet9B,KAAK08B,SAAStiD,QAEpC,GAAhBijD,GAAuBE,EAAmBv9B,KAAK48B,aAAaxiD,QAM9D,MAAO,CAACojD,EAHI,GAAVE,GAAiB,EAAIJ,EAAet9B,KAAK08B,SAAStiD,QAGvBqjD,EADjB,GAAVC,GAAiB,EAAIH,EAAmBv9B,KAAK48B,aAAaxiD,UAG7B,IAA7BqiD,EAAkBriD,SACpBg8C,EAAQrgC,YACN2/B,GACE,QACA,oCACAE,GAAc6G,KAGlBrG,EAAQrgC,YACN2/B,GACE,QACA,yDACAj9C,SAASqgB,eACP,GAAGoL,GAAmD,IAAvBg5B,EAAY,KAAM,UAAgBh5B,GACzC,IAAtBg5B,EAAY,IAAK,WAMI,IAA3BP,EAAgBviD,SAClBg8C,EAAQrgC,YACN2/B,GACE,QACA,kCACAE,GAAc+G,KAGlBvG,EAAQrgC,YACN2/B,GACE,QACA,6DACAj9C,SAASqgB,eACP,GAAGoL,GAAmD,IAAvBg5B,EAAY,KAAM,UAAgBh5B,GACzC,IAAtBg5B,EAAY,IAAK,WAOP,cAAhBl9B,KAAK8d,QACPsY,EAAQrgC,YACN2/B,GACE,QACA,kBACAj9C,SAASqgB,eAAeoL,GAA4BkF,OAGtDqX,GACF2V,EAAQrgC,YACN2/B,GACE,cACA,wBACAj9C,SAASqgB,eAAeoL,GAA4BmF,KACpD,6BAIFwzB,GACFzG,EAAQrgC,YACN2/B,GACE,QACA,yBACAj9C,SAASqgB,eACJpW,KAAKC,MAA2B,KAApBwmB,GAAe,IAAc,IAA5C,OAOZ,OAAOitB,EA4GWuH,IAElBzH,EAAMngC,YAAYy/B,GAAY,gBAAiB,SAC3C31B,EAAUorB,OAAOwB,KAAM,CAsBzB,GArBAyJ,EAAMngC,YACJ2/B,GACE,QACA,oCACE1yB,EAAYnD,EAAU0gB,YAAc,GAChC,GAAGvd,EAAYnD,EAAU0gB,sBACzBvd,EAAYnD,EAAU0gB,YAAc,IACV,IAAzB1gB,EAAU0gB,WAAmB,UAAY,eAEhD9nC,SAASqgB,eAAeoL,GAA4B8M,KAAU,MAGlEklB,EAAMngC,YACJ2/B,GACE,QACA,0CACEzyB,EAAWpD,EAAU8gB,iBACQ,IAA5B9gB,EAAU8gB,cAAsB,UAAY,cAC/CloC,SAASqgB,eAAeoL,GAA4B6F,GAAoB,MAGxE/J,KAAK0d,IAAI,mBAAoB,CAC/B,MAAM6G,EAAW,GACjB5mC,OAAO6C,KAAK8iC,IAAUlU,SAASj1B,IACxB6lB,KAAK0d,IAAI4F,GAASnpC,KACrBoqC,EAAStoC,KAAKqnC,GAASnpC,OAGH,IAApBoqC,EAASnqC,QACX87C,EAAMngC,YACJ2/B,GACE,QACA,+BACAE,GAAcrR,KAatB,GATI1kB,EAAUwoB,cACZ6N,EAAMngC,YACJ2/B,GACE,QACA,wBACAj9C,SAASqgB,eAAeoL,GAA4BlE,KAAK49B,uBAI3D59B,KAAK4c,MAAMC,SAAU,CACvB,MAAM5K,EAAQx5B,SAAS4D,cAAc,QACrC41B,EAAMvE,GAAK,uBACXuE,EAAMgL,UAAYjd,KAAKkd,QACV,GAAXld,KAAKmX,KAAYnX,KAAKqwB,SAAW,EAAIrwB,KAAKmd,GAAgB,GAAXnd,KAAKmX,MACpD,GAEF+e,EAAMngC,YACJ2/B,GAAa,QAAS,qBAAsBzjB,KAKlD1mB,EAAE,QAAQ4iC,aAAa+H,EAAO3qC,EAAE,QAAQilB,WAAW,IAE/C3Q,EAAUsoB,iBA/lJd58B,EAAE,QAAQilB,WAAWpB,SAASyuB,IAC5B,GAAIA,EAAYphB,SAAS,GACvB,GACwC,aAAtCohB,EAAYphB,SAAS,GAAG9kB,WACxBsS,GACA,CACA,MAAM6zB,EACJ7zB,GAA6BpvB,MAAM,IAAIZ,OAAO,MAAO,MAAQ,GAC1DG,OAAS,EACR41C,EAAQv3C,SAAS4D,cAAc,OACrC2zC,EAAMtiB,GAAK,iCACXsiB,EAAMp1C,UAAY,UAClB,MAAMmjD,EAAYtlD,SAAS4D,cAAc,OACzC0hD,EAAUpmC,UAAY,qCAAqCmmC,KACzD99B,KAAKg+B,iBAAiB5jD,WACnBsI,KAAKkE,MACPk3C,EAA0B99B,KAAKg+B,iBAAiB5jD,OAAU,SAE7D41C,EAAMj6B,YAAYgoC,GAClBF,EAAY9nC,YAAYi6B,GACxB,MAAM9M,EAAWzqC,SAAS4D,cAAc,OACxC6mC,EAAStoC,UAAY,mBACrBsoC,EAASvrB,UAAYsS,GACrB4zB,EAAY9nC,YAAYmtB,QACnB,GAA0C,aAAtC2a,EAAYphB,SAAS,GAAG9kB,UAA0B,CAC3D,GAAIqS,GAAsB,CACxB,MAAMi0B,EACJj0B,GAAqBnvB,MAAM,IAAIZ,OAAO,MAAO,MAAQ,GAAGG,OAAS,EAC7D41C,EAAQv3C,SAAS4D,cAAc,OACrC2zC,EAAMtiB,GAAK,yBACXsiB,EAAMp1C,UAAY,UAClB,MAAMmjD,EAAYtlD,SAAS4D,cAAc,OACzC0hD,EAAUpmC,UAAY,mCAAmCsmC,KACvDj+B,KAAKkV,eAAe,IAAI96B,OAAS4lB,KAAKkV,eAAegpB,KAAK9jD,WACvDsI,KAAKkE,MACPq3C,GACEj+B,KAAKkV,eAAe,IAAI96B,OACvB4lB,KAAKkV,eAAegpB,KAAK9jD,QAC3B,SAEJ41C,EAAMj6B,YAAYgoC,GAClBF,EAAY1P,aAAa6B,EAAO6N,EAAYrtB,WAAW,IACvD,MAAM0S,EAAWzqC,SAAS4D,cAAc,OACxC6mC,EAAStoC,UAAY,mBACrBsoC,EAASvrB,UAAYqS,GACrB6zB,EAAY1P,aACVjL,EACAzqC,SAASsiC,eAAe,0BAA0BojB,aAGtD,GAAIj0B,GAA6B,CAC/B,MAAMk0B,EACJl0B,GAA4BrvB,MAAM,IAAIZ,OAAO,MAAO,MAAQ,GACzDG,OAAS,EACR41C,EAAQv3C,SAAS4D,cAAc,OACrC2zC,EAAMtiB,GAAK,gCACXsiB,EAAMp1C,UAAY,UAClB,MAAMmjD,EAAYtlD,SAAS4D,cAAc,OACzC0hD,EAAUpmC,UAAY,mCAAmCymC,KACvDp+B,KAAKkV,eAAe2c,OAAOz3C,WACxBsI,KAAKkE,MACPw3C,EAAwBp+B,KAAKkV,eAAe2c,OAAOz3C,OAAU,SAEhE41C,EAAMj6B,YAAYgoC,GAClBF,EAAY9nC,YAAYi6B,GACxB,MAAM9M,EAAWzqC,SAAS4D,cAAc,OACxC6mC,EAAStoC,UAAY,mBACrBsoC,EAASvrB,UAAYuS,GACrB2zB,EAAY9nC,YAAYmtB,QAmlJlC,MAAMmb,GAAe,CACnBnT,YAAa,cACbC,SAAU,WACVC,QAAS,4BACTC,YAAa,+BACbC,QAAS,WACTC,WAAY,aACZC,aAAc,gBACdS,cAAe,iBAIXqS,GAA2B,CAC/B7S,oBAAqB,wBACrBC,eAAgB,gBAChBC,eAAgB,iBAChBC,gBAAiB,iBACjBC,iBAAkB,cAClBC,iBAAkB,iBAClBC,kBAAmB,WACnBC,qBAAsB,qBAkDxB,SAASuS,GAAiBnP,EAAQxpB,GAChC,MAAM6K,EAAMh4B,SAAS4D,cAAc,OACnCo0B,EAAI71B,UAAY,QAEhB61B,EAAIruB,MAAM6U,QAAU,MACpBwZ,EAAIruB,MAAMuvB,SAAW,OACrBlB,EAAI1a,YAAYtd,SAASqgB,eAAe,GAAG8M,OAC3C,MAAM6vB,EAAOh9C,SAAS4D,cAAc,QAiBpC,OAhBAo5C,EAAKrzC,MAAM+U,OAAS,UACpBs+B,EAAKrzC,MAAMqV,QAAU,eACrBg+B,EAAKrzC,MAAMmG,OAAS,OACpBktC,EAAKrzC,MAAMkG,MAAQ,OACnBmtC,EAAKrzC,MAAMsU,aAAe,MAC1B++B,EAAKrzC,MAAMuW,UAAY,SACvB88B,EAAKrzC,MAAM4U,gBAAkB,UAC7By+B,EAAKrzC,MAAM2F,MAAQ,QACnB0tC,EAAKrzC,MAAMuvB,SAAW,OACtB8jB,EAAKrzC,MAAMyvB,cAAgB,SAC3B4jB,EAAKj4C,YAAcqiB,EAAUorB,OAAOmE,GAAU,IAAM,IACpDqG,EAAK1D,QAAU,WACbwD,GAAanG,GACbpvB,KAAKgf,cAEPvO,EAAI1a,YAAY0/B,GACThlB,EAQT,SAAS+tB,GAAiBpP,GACxB,MAAM3e,EAAMh4B,SAAS4D,cAAc,OAEnC,GADAo0B,EAAI71B,UAAY,UACkB,SAA9BszC,GAAakB,GAAQ50C,KAAiB,CACxC,MAAMwI,EAAIvK,SAAS4D,cAAc,KAC7B6xC,GAAakB,GAAQvB,QAAgC,IAAtBhuB,EAAUuvB,GAC3CpsC,EAAEpI,UAAY,aAEdoI,EAAEpI,UAAY,SAEhBoI,EAAE0qB,GAAK2nB,GAA6BjG,EACpCpsC,EAAE+uC,QAAU,YAv8ChB,SAAsB3C,GACpBvvB,EAAUuvB,IAAW,EAEjBvvB,EAAUuvB,KAAYlB,GAAakB,GAAQzB,MAAMvzC,QACnDylB,EAAUuvB,GAAU,EAChBlB,GAAakB,GAAQvB,SACvBtiC,EAAE8pC,GAA6BjG,GAAQx0C,UAAY,eAChD2Q,EAAE8pC,GAA6BjG,GAAQx0C,UAAY,cAEjB,IAA9BszC,GAAakB,GAAQlwC,MAC9BgvC,GAAakB,GAAQlwC,OAGvBqM,EAAE8pC,GAA6BjG,GAAQz3B,UACrCu2B,GAAakB,GAAQzB,MAAM9tB,EAAUuvB,IACvC2D,KAy7CI0L,CAAarP,IAEfpsC,EAAExF,YAAc0wC,GAAakB,GAAQzB,MAAM9tB,EAAUuvB,IACrD3e,EAAI1a,YAAY/S,GAChB,MAAM2qC,EAAQl1C,SAAS4D,cAAc,SAGrC,OAFAsxC,EAAMnwC,YAAc0wC,GAAakB,GAAQxB,KACzCnd,EAAI1a,YAAY43B,GACTld,EAET,GAAkC,QAA9Byd,GAAakB,GAAQ50C,KAAgB,CACvC,MAAMo1C,EAASn3C,SAAS4D,cAAc,OACtCuzC,EAAOh1C,UAAY,YACnB,MAAMo1C,EAAQv3C,SAAS4D,cAAc,OACrC2zC,EAAM5tC,MAAMs8C,MAAQ,OACpB1O,EAAMr4B,UAAYu2B,GAAakB,GAAQxB,KACvCgC,EAAO75B,YAAYi6B,GACnB,MAAM2O,EAAUlmD,SAAS4D,cAAc,OACvCsiD,EAAQjxB,GAAK,SAAS0hB,SACtBuP,EAAQv8C,MAAMs8C,MAAQ,QACtBC,EAAQhnC,UAAY,GAAGkI,EAAUuvB,MACjCQ,EAAO75B,YAAY4oC,GACnB,MAAMC,EAASnmD,SAAS4D,cAAc,SACtCuiD,EAAOhkD,UAAY,SACnBgkD,EAAOlxB,GAAK,SAAS0hB,IACrBwP,EAAOx8C,MAAMwU,MAAQ,OACrBgoC,EAAOpkD,KAAO,QACdokD,EAAOv4C,IAAM,IACbu4C,EAAOr4C,IAAM,MACbq4C,EAAOC,KAAO,IACdD,EAAOrhD,MAAQsiB,EAAUuvB,GACzBwP,EAAOngC,QAAU,WACf62B,GAAmBlG,IAErBwP,EAAOE,SAAW,WAChBxJ,GAAmBlG,IAErBQ,EAAO75B,YAAY6oC,GACnBnuB,EAAI1a,YAAY65B,GAChB,MAAM5sC,EAAIvK,SAAS4D,cAAc,KAYjC,OAXA2G,EAAEpI,UAAY,SACdoI,EAAE+uC,QAAU,WACVzC,GACEzvB,EAAUuvB,EAAOruC,QAAQ,SAAU,aACnCquC,EAAOruC,QAAQ,SAAU,SACzBquC,GACA,IAGJpsC,EAAExF,YAAc,aAChBizB,EAAI1a,YAAY/S,GACTytB,EAET,GAAkC,QAA9Byd,GAAakB,GAAQ50C,KAAgB,CACvC,MAAMi7C,EAAOh9C,SAAS4D,cAAc,QACpCo5C,EAAK76C,UAAY,SACjB66C,EAAKj4C,YAAc,GAAG0wC,GAAakB,GAAQzB,SAC3Cld,EAAI1a,YAAY0/B,GAChB,MAAMsJ,EAAQtmD,SAAS4D,cAAc,SACrC0iD,EAAMrxB,GAAK2nB,GAA6BjG,EACxC2P,EAAMnkD,UAAY,SAClBmkD,EAAMvkD,KAAO,OACbukD,EAAMC,UAAW,EACjBD,EAAMhhD,aAAa,QAAS8hB,EAAUuvB,IACtC2P,EAAM38C,MAAMkG,MAAQ,QACpBmoB,EAAI1a,YAAYgpC,GAChBtuB,EAAI1a,YAAYtd,SAASqgB,eAAe,MACxC,MAAMmmC,EAAcxmD,SAAS4D,cAAc,SAC3C4iD,EAAYvxB,GAAK,GAAG2nB,GAA6BjG,UACjD6P,EAAYrkD,UAAY,SACxBqkD,EAAYzkD,KAAO,OACnBykD,EAAYlhD,aAAa,QAAS8hB,EAAUuvB,IAC5C,MAAMpsC,EAAIvK,SAAS4D,cAAc,KACjC2G,EAAEpI,UAAY,SACdoI,EAAE+uC,QAAU,YAjKhB,SAA6BmN,EAASnhC,GACpCiC,KAAKm/B,YAAYvkD,UAAY,SAC7B,MAAMW,EAAM2jD,EACZl/B,KAAKo/B,QAAQznC,UAAY,GAAGpc,iCAC5BoC,OAAO6C,KAAKud,GAASqR,SAASj1B,IAC5B,MAAMuZ,EAASjb,SAAS4D,cAAc,KACtCqX,EAAOga,GAAK,eAAevzB,IAC3BuZ,EAAO9Y,UAAY,SACnB8Y,EAAOq+B,QAAU,WACfsN,UAAU,gBACVthC,EAAQ5jB,GAAG,MAEbuZ,EAAOlW,YAAcugB,EAAQ5jB,GAAG,GAChC6lB,KAAKo/B,QAAQ3iB,SAAS,GAAG1mB,YAAYrC,MAEvCsM,KAAKs/B,cAAcl9C,MAAMqV,QAAU,QACnCuI,KAAKu/B,QAAQn9C,MAAMqV,QAAU,QAC7BuI,KAAKo/B,QAAQI,QACbx/B,KAAKy/B,SAAW,EAChBz/B,KAAK0/B,eA+IDC,CAAoBV,EAAYW,UAAW,CACzC,CACE,OACA,WACE//B,EAAUuvB,GAAU7jC,EAAE,WAAgC6jC,WAAgB7xC,MACtEw1C,KACA/yB,KAAK6/B,cACL7/B,KAAKgf,eAGT,CACE,SACA,WACEhf,KAAK6/B,mBAKb78C,EAAExF,YAAc,OAChBizB,EAAI1a,YAAY/S,GAChB,MAAM2qC,EAAQl1C,SAAS4D,cAAc,SAGrC,OAFAsxC,EAAMnwC,YAAc0wC,GAAakB,GAAQxB,KACzCnd,EAAI1a,YAAY43B,GACTld,EAET,GAAkC,WAA9Byd,GAAakB,GAAQ50C,KAAmB,CAC1Ci2B,EAAI71B,UAAY,GAChB,MAAMklD,EAAWrnD,SAAS4D,cAAc,OACxCyjD,EAASllD,UAAY,UACrB,MAAMmkD,EAAQtmD,SAAS4D,cAAc,SACrC0iD,EAAMrxB,GAAK0hB,EACX2P,EAAM38C,MAAMkG,MAAQ,OACpBy2C,EAAMhhD,aAAa,QAAS8hB,EAAUuvB,IACtC0Q,EAAS/pC,YAAYgpC,GAQrB,IAAI7lD,GAAQ6lD,EAAO,CAAExkC,MAAM,EAAMnQ,SAAU,QAAS4P,QAPrC,WACb6F,EAAUhnB,KAAKmD,cAAc0xB,IAAM70B,KAAK8gB,cACxCm5B,KACAC,KACA/yB,KAAKgf,gBAIP,MAAM2O,EAAQl1C,SAAS4D,cAAc,SAGrC,GAFAsxC,EAAMnwC,YAAc0wC,GAAakB,GAAQxB,KACzCkS,EAAS/pC,YAAY43B,GACjByB,EAAOP,SAAS,SAAU,CAC5B,MAAM7rC,EAAIvK,SAAS4D,cAAc,KACjC2G,EAAEpI,UAAY,SACdoI,EAAE+uC,QAAU,WACV5C,GAAM,EAAGC,EAAOruC,QAAQ,SAAU,KAAK,IAEzCiC,EAAExF,YAAc,aAChBsiD,EAAS/pC,YAAY/S,GAIvB,OAFAytB,EAAI1a,YAAY+pC,GAChB1K,KAAkB37C,OACXg3B,EAET,GAAkC,aAA9Byd,GAAakB,GAAQ50C,KAAqB,CAC5C,MAAMi7C,EAAOh9C,SAAS4D,cAAc,QACpCo5C,EAAK76C,UAAY,SACjB66C,EAAKj4C,YAAc,GAAG0wC,GAAakB,GAAQzB,SAC3Cld,EAAI1a,YAAY0/B,GAChB,MAAMsJ,EAAQtmD,SAAS4D,cAAc,SACrC0iD,EAAMrxB,GAAK2nB,GAA6BjG,EACxC2P,EAAMnkD,UAAY,SAClBmkD,EAAMvkD,KAAO,SACbukD,EAAMxhD,MAAQsiB,EAAUuvB,GACxB2P,EAAM14C,IAAM6nC,GAAakB,GAAQ/oC,IACjC04C,EAAMx4C,IAAM2nC,GAAakB,GAAQ7oC,IACjCw4C,EAAMtgC,QAAU,WACV5lB,KAAK0E,MAAQ1E,KAAK0N,KAAKvL,QAAQqqB,IAAI,QACvCxF,EAAUuvB,GAAUv2C,KAAK0E,MACzBw1C,KACA9F,MAEFxc,EAAI1a,YAAYgpC,GAChBtuB,EAAI1a,YAAYtd,SAASqgB,eAAe,MACxC,MAAM60B,EAAQl1C,SAAS4D,cAAc,SAGrC,OAFAsxC,EAAMnwC,YAAc0wC,GAAakB,GAAQxB,KACzCnd,EAAI1a,YAAY43B,GACTld,EAET,OAAOA,EAyTT,SAASsvB,GAAUvgD,GACjB,GAA2B,IAAvBqgB,EAAUyT,UAA4C,IAA1BzT,EAAU0T,YAAmB,CAC3D,MAAMysB,EAAiB/4C,SAASsE,EAAE,cAAcnJ,MAAMmG,OAAQ,IAC9DyX,KAAKigC,QAAUD,EACfxgD,IACAwgB,KAAKigC,QAAUD,OAEfxgD,IAuBJ,SAAS0gD,KAEPz+B,EAAgBiD,SAAWA,SAE3BA,SAAWR,GAEXzC,EAAgBggB,eAAiBzhB,KAAKyhB,eACtCzhB,KAAKyhB,eAAiB,WACpBhgB,EAAgBggB,iBAChB7Z,GAAY,GAGdnG,EAAgBgV,QAAU,GAC1BhV,EAAgBgV,QAAQ9kB,KAAOqO,KAAKyW,QAAQ9kB,KAC5C8P,EAAgBgV,QAAQ0pB,QAAU,IAAIvkD,SACpC,UAAUokB,KAAKyW,QAAQ9kB,KAAK/O,WAAW5B,MAAM,QAAQ6C,KAAK,kBAD1B,GAGlCmc,KAAKyW,QAAQ9kB,KAAO,SAAUyuC,EAAMx6B,EAAM3I,GACxCwE,EAAgBgV,QAAQ0pB,QAAQC,EAAMx6B,EAAM3I,IAG9CwE,EAAgBgV,QAAQ4pB,OAASrgC,KAAKyW,QAAQ4pB,OAC9C5+B,EAAgBgV,QAAQ6pB,UAAY,IAAI1kD,SACtC,UAAUokB,KAAKyW,QAAQ4pB,OACpBz9C,WACA5B,MAAM,SACN6C,KAAK,mBAJ0B,GAMpCmc,KAAKyW,QAAQ4pB,OAAS,WACpB5+B,EAAgBgV,QAAQ6pB,YA5H5B,WACE,GAA4B,UAAxBtgC,KAAKyW,QAAQxZ,OAAoB,CACnC,IAAIsjC,EAAa,EAEa,IAA5B1gC,EAAUoc,eACgB,IAA1Bpc,EAAU2X,aAC0B,OAApCjsB,EAAE,gCAEFg1C,EAAah1C,EAAE,8BAA8BpF,aAAe,GAE9D6Z,KAAKyW,QAAQ+pB,IAAIp+C,MAAMsC,IAAM,GAAGhC,KAAK2D,IACnCY,SAAS+Y,KAAKyW,QAAQ+pB,IAAIp+C,MAAMsC,IAAK,IACrC6G,EAAE,QAAQpF,aACRoF,EAAE,UAAUpF,aACZ6Z,KAAKyW,QAAQgqB,GAAGt6C,aAChBo6C,EACA,SA6GJG,IAGFj/B,EAAgBk/B,gBAAkB3gC,KAAK2gC,gBACvC3gC,KAAK2gC,gBAAkB,WACrBZ,GAAUt+B,EAAgBk/B,kBAG5Bl/B,EAAgBm/B,cAAgB5gC,KAAK4gC,cACrC5gC,KAAK4gC,cAAgB,WACnBb,GAAUt+B,EAAgBm/B,gBAI5Br1C,EAAE,aAAazN,oBAAoB,QAASkiB,KAAK6gC,aAAa,GAC9Dt1C,EAAE,aAAahS,iBACb,SACA,WACEwmD,GAAU//B,KAAK6gC,gBAEjB,GAGFp/B,EAAgB2rB,gBAAkBptB,KAAKotB,gBACvCptB,KAAKotB,gBAAkB,WACrB3rB,EAAgB2rB,kBAnHlB5rB,EAAuB,GACvB7jB,OAAO6C,KAAKwf,KAAKoQ,iBAAiBhB,SAASj1B,IACJ,OAAjCoR,EAAE,UAAUpR,KAAK83C,cACnBzwB,EAAqBrnB,GAAKoR,EAAE,UAAUpR,KAAK83C,YAC3C1mC,EAAE,UAAUpR,KAAK83C,YAAc,WACxBjyB,KAAK8gC,YACR9gC,KAAK+gC,WAAWloD,MAChBmnB,KAAKyW,QAAQoe,QAAU,EACvB70B,KAAKyW,QAAQ9kB,KACX9Y,MACA,WACE,OAAOk7C,GAAc,IAAK,GAAG55C,OAE/B,SAEF6lB,KAAKyW,QAAQqe,eAsGnB90B,KAAKyhB,kBAGPhgB,EAAgBu/B,aAAehhC,KAAKghC,aAKpChhC,KAAKghC,aAAe,SAAUz0B,KAEzB1M,EAAUmrB,cACXhrB,KAAKkkB,YAAY3X,GAAMyG,UAAYhT,KAAKiT,UACtB,IAAlBjT,KAAKkP,UAELzN,EAAgBu/B,aAAaz0B,IAIjC9K,EAAgBw/B,mBAAqBjhC,KAAKihC,mBAM1CjhC,KAAKihC,mBAAqB,SAAUC,GAClCz/B,EAAgBw/B,mBAAmBC,GAzrEvC,SAAqBA,GACnB,GAAiC,IAA7BrhC,EAAU+nB,eAAsB,CAClC,MAAOuZ,EAAUC,GA9DrB,SAA6BF,GAC3BrrB,KAGwBtqB,EAAE,iBAAiBkxB,SAAS,GAAG9kB,UAAUk3B,SAC/D,aAEmBrnB,GAAiB05B,EACjC35B,GAAgB25B,EAGrB,IAAIrzB,EAAQ,EACZ,GACEtG,KAAkBS,IAClBR,KAAmBS,GAEnB,IAAK,IAAI9tB,EAAI6lB,KAAKkkB,YAAY9pC,OAAS,EAAGD,GAAK,IAAKA,EAClD,GAAI6lB,KAAKkkB,YAAY/pC,EAAI,GAAGo0B,OAAS,EAAG,CACtC,MAAM2iB,EAAkB/kB,GAAWnM,KAAKkkB,YAAY/pC,GAAGuE,MAAMA,KAC7DytB,GAAW+kB,GAAiB3iB,QAAU,EACtCtH,IAAqB,EACrB4G,EACE1B,GAAW+kB,GAAiB7iB,UAC5BrO,KAAK8O,eACHpsB,KAAK6D,IACH,EACA4lB,GAAW+kB,GAAiB3iB,OAC1B,EACApC,GAAW+kB,GAAiB5iB,MAEpCT,EAAQ7N,KAAK+O,oBAAoB5C,GAAW+kB,GAAkBrjB,GAC9DA,EAAQnrB,KAAKoL,KAAK+f,GAClB,MAKN,MAAM+W,EAAwBxd,GAO9B,OANAqa,KAEAmC,KACIgB,IAA0Bxd,IAC5Bqa,KAEK,CAAC3Z,GAAe9H,KAAKmR,UAAWtD,GAkBHwzB,CAAoBH,GAChDI,EAAgBh8B,GACpB87B,GAAiBD,EAAWnhC,KAAKmR,YAE7BowB,EAAqBr9B,GAA4Bi9B,EAAWnhC,KAAKmR,WAEvE5lB,EAAE,kBAAkBnJ,MAAMo/C,UAAY,OACtCj2C,EAAE,kBAAkBnJ,MAAMsvB,OAAS,MACnCnmB,EAAE,kBAAkBwK,YAAYtd,SAAS4D,cAAc,QAAQzB,UAC7D,OACF,MAAM61B,EAAMh4B,SAAS4D,cAAc,OACnCo0B,EAAIruB,MAAMq8B,SAAW,QACrBhO,EAAIruB,MAAMuW,UAAY,SACtB8X,EAAIjzB,YAAc,wCAAwC0mB,GACxDi9B,OACII,sBACNh2C,EAAE,kBAAkBwK,YAAY0a,GAChC,MAAMgxB,EAAOhpD,SAAS4D,cAAc,OACpColD,EAAKr/C,MAAMq8B,SAAW,QACtBgjB,EAAKr/C,MAAMuW,UAAY,SACvB8oC,EAAKjkD,YAAc,gBAAgB8jD,yBACnC/1C,EAAE,kBAAkBwK,YAAY0rC,IAmqEhCC,CAAYR,IAGdz/B,EAAgBkgC,kBAAoB3hC,KAAK2hC,kBAIzC3hC,KAAK2hC,kBAAoB,SAAUC,GACjCngC,EAAgBkgC,kBAAkBC,GAnqEtC,WAEE,GAEwE,QADrEr2C,EAAE,gBAAgB3Q,UAAUC,MAAM,aACjC0Q,EAAE,gBAAgBkxB,SAAS,GAAGr6B,MAAMqB,WAAW5I,MAAM,WAEvD,IAAK,IAAIV,EAAI,EAAGA,EAAIoR,EAAE,gBAAgBilB,WAAWp2B,OAAQD,IACL,cAA9CoR,EAAE,gBAAgBilB,WAAWr2B,GAAGS,YAClC2Q,EAAE,gBAAgBkxB,SAAStiC,GAAG83C,YAAc,WAC1CxD,KACAzuB,KAAKyW,QAAQoe,QAAU,EACvB70B,KAAKyW,QAAQ9kB,KACXpG,EAAE,gBACF,mDAAmD4c,WACnD,QAEFnI,KAAKyW,QAAQqe,UAEfvpC,EAAE,gBAAgBkxB,SAAStiC,GAAGi4C,WAAa,WACzCpyB,KAAKyW,QAAQorB,WAAa,IAipEhCC,IAGFrgC,EAAgBud,WAAahf,KAAKgf,WAClChf,KAAKgf,WAAa,gBAEwB,IAA9BoW,KAAmB3qC,aACiB,IAApC2qC,KAAmB3qC,OAAOC,QAElC+W,EAAgBud,aArXtB,WACE,MAAMgR,EAAQv3C,SAAS4D,cAAc,OACrC2zC,EAAMp1C,UAAY,QAEE,UAAhBolB,KAAK+c,QACPiT,EAAMxyC,YAAc,0BApExB,SAAqBwyC,GACnB,MAAM8F,EAAOr9C,SAASs9C,yBACtBD,EAAK//B,YAAYi6B,GAEjBryC,OAAO6C,KAAK69C,IAAcjvB,SAASqe,IACjC,MAAMsU,EAAcxD,GAAiB9Q,EAAO4Q,GAAa5Q,IACzDqI,EAAK//B,YAAYgsC,GACbliC,EAAUorB,OAAOwC,KAGL,iBAAVA,EACF9vC,OAAO6C,KAAK89C,IAA0BlvB,SAAS4yB,IAC7C,MAAMC,EAAiB1D,GACrByD,EACA1D,GAAyB0D,IAE3BC,EAAe7/C,MAAMuvB,SAAW,OAChCswB,EAAe7/C,MAAM6U,QAAU,MAC/B6+B,EAAK//B,YAAYksC,GACbpiC,EAAUorB,OAAO+W,IACnBrkD,OAAO6C,KAAK0tC,IAAc9e,SAAS1b,IAC7Bw6B,GAAax6B,GAAQ+5B,QAAUuU,GACjClM,EAAK//B,YAAYyoC,GAAiB9qC,UAK1C/V,OAAO6C,KAAK0tC,IAAc9e,SAAS1b,IAC7Bw6B,GAAax6B,GAAQ+5B,QAAUA,GACjCqI,EAAK//B,YAAYyoC,GAAiB9qC,WAM5C,MAAMwuC,EAASzpD,SAAS4D,cAAc,OACtC6lD,EAAOtnD,UAAY,UACnB,MAAMunD,EAAY1pD,SAAS4D,cAAc,KACzC8lD,EAAUvnD,UAAY,SACtBunD,EAAUpQ,QAAU,WAClB0B,GAAWhM,KAEb0a,EAAU3kD,YAAc,kBACxB0kD,EAAOnsC,YAAYosC,GACnBrM,EAAK//B,YAAYmsC,GAEjB32C,EAAE,QAAQilB,WAAW,GAAG2d,aACtB2H,EACAvqC,EAAE,QAAQilB,WAAW,GAAGA,WACtBjlB,EAAE,QAAQilB,WAAW,GAAGA,WAAWp2B,OAAS,IAoB9CgoD,CAAYpS,IACa,UAAhBhwB,KAAK+c,OACVld,EAAUmd,QACZgT,EAAMxyC,YAAc,4BACpBy4C,GAAajG,IAEU,QAAhBhwB,KAAK+c,SACdiT,EAAMxyC,YAAc,kBA3YxB,SAAqBwyC,GACnB,MAAMqS,EAAO5pD,SAAS4D,cAAc,OACpCgmD,EAAKznD,UAAY,aAEjB,MAAM66C,EAAOh9C,SAAS4D,cAAc,QAmBpC,GAlBAo5C,EAAKrzC,MAAM+U,OAAS,UACpBs+B,EAAKrzC,MAAMqV,QAAU,eACrBg+B,EAAKrzC,MAAMmG,OAAS,OACpBktC,EAAKrzC,MAAMkG,MAAQ,OACnBmtC,EAAKrzC,MAAMsU,aAAe,MAC1B++B,EAAKrzC,MAAMuW,UAAY,SACvB88B,EAAKrzC,MAAM4U,gBAAkB,UAC7By+B,EAAKrzC,MAAM2F,MAAQ,QACnB0tC,EAAKrzC,MAAMuvB,SAAW,OACtB8jB,EAAKrzC,MAAMyvB,cAAgB,SAC3B4jB,EAAKj4C,YAAcqiB,EAAUorB,OAAOyB,QAAU,IAAM,IACpD+I,EAAK1D,QAAU,WACbwD,GAAa,WACbv1B,KAAKgf,cAEPgR,EAAMj6B,YAAY0/B,GAClB4M,EAAKtsC,YAAYi6B,GAEbnwB,EAAUorB,OAAOyB,QAAS,CAC5B,MAAM4V,EAAc7pD,SAAS4D,cAAc,OAC3CimD,EAAY3qC,UA/4RO,siBAg5RnB0qC,EAAKtsC,YAAYusC,GACjB,MAAMC,EAAQ9pD,SAAS4D,cAAc,OACrCkmD,EAAM5qC,UAx4RiB,+1EAy4RvB0qC,EAAKtsC,YAAYwsC,GAGnB,MAAMC,EAAOj3C,EAAE,QAAQkxB,SAAS,GAChC+lB,EAAKrU,aAAakU,EAAMG,EAAK/lB,SAAS,IA2WpCgmB,CAAYzS,IAwWV0S,KAIJjhC,EAAgByb,QAAUld,KAAKkd,QAC/Bza,EAAY,SAAU8C,EAAMo9B,GAC1B,OAAIh+B,OAAOlJ,MAAM8J,IAASA,GAAQ,EACzB9D,EAAgByb,QAAQ3X,EAAMo9B,GAChCr9B,GAAWC,EAAOvF,KAAKmX,IAAK,IAGrC1V,EAAgBmhC,MAAQ5iC,KAAK4iC,MAC7B5iC,KAAK4iC,MAAQ,WACXnhC,EAAgBmhC,QAGhB,IAAI5S,EAAQ,iBACQ,UAAhBhwB,KAAK8d,SAAoBkS,EAAQ,gBACrC/rB,GAAQ,GAAGjE,KAAKqwB,SAAW,cAAgB,KAAKnsB,GAA4BlE,KAAKiT,YAC9D,IAAjBjT,KAAKiT,QAAgB,SAAW,eAC5B+c,IA5WV,WACE,GAAIhwB,KAAKqwB,UAAgC,IAApBxwB,EAAUoE,MAC7BxrB,SAASu3C,MAAQ/rB,QACZ,GAAwB,IAApBpE,EAAUoE,MAAa,CAChC,IAEI4+B,EACAC,EACAC,EAJAC,GAAQ,EACRC,GAAQ,EAORJ,EAFA53B,GACEA,GAA0BqiB,MAClB,KAAK5qC,KAAKoL,KAAKmd,GAA0BsnB,KAAOvyB,KAAKmX,QAErD,KAAKz0B,KAAKoL,KAAKmd,GAA0BsnB,KAAOvyB,KAAKmX,QACvDnX,KAAK0d,IAAI,uBAOJ,OANL,IACR/Y,OAAOpZ,EAAE,sBAAsB/N,aAAe,EAAI,IAAM,KACvDkF,KAAKoL,MACLkS,KAAKud,aAAaC,OAAOI,QAAU5d,KAAKud,aAAaC,OAAOjY,MAC3DvF,KAAKmX,QAIPrW,IACFkiC,GAAQ,EACRF,EAAU,OAGQ,cAAhB9iC,KAAK8d,SACPmlB,GAAQ,EAENF,EADEliC,EACQ,KAAKne,KAAKoL,KAAKod,GAAsBqnB,KAAOvyB,KAAKmX,QAEjD,IACRxS,OAAOpZ,EAAE,uBAAuB/N,aAAe,EAAI,IAAM,KACxDkF,KAAKoL,MACLkS,KAAKud,aAAaQ,SAASH,QAC1B5d,KAAKud,aAAaQ,SAASxY,MAC3BvF,KAAKmX,SAMb,IAAI57B,EAAM0oB,GACY,MAAlB1oB,EAAI2L,OAAO,KACb3L,EAAMA,EAAIg3B,UAAUh3B,EAAI2nD,YAAY,KAAO,IAE7CzqD,SAASu3C,MAAQ,GACf6S,GAAWG,EAAQF,EAAU,KAAOG,EAAQF,EAAU,OACpDxnD,SACC,GAAwB,IAApBskB,EAAUoE,MAAa,CAChC,IAAI1oB,EAAM,GACN4nD,GAAQ,EACRl4B,KACFk4B,GAAQ,EACJl4B,GAA0BqiB,MAC5B/xC,GAAO,KAAKmH,KAAKoL,KAAKmd,GAA0BsnB,KAAOvyB,KAAKmX,QACzD57B,GAAO,KAAKmH,KAAKoL,KAAKmd,GAA0BsnB,KAAOvyB,KAAKmX,SAE/DrW,IACFqiC,GAAQ,EACR5nD,GAAO,OAEW,cAAhBykB,KAAK8d,QAA0Bjd,IACjCtlB,GAAO,KAAKmH,KAAKoL,KAAKod,GAAsBqnB,KAAOvyB,KAAKmX,QACxDgsB,GAAQ,GAENA,IAAO5nD,GAAO,OAClB,IAAIy0C,EAAQ,iBACQ,UAAhBhwB,KAAK8d,SAAoBkS,EAAQ,gBACrCz0C,GAAOy0C,EACPv3C,SAASu3C,MAAQz0C,GAoSjB6nD,GAtRJ,WACE,MAAM5R,EAAgB9uC,KAAK6D,IACzB,EACAyZ,KAAKyxB,oBACH/uC,KAAKkE,MAAMoZ,KAAKqmB,gBAAgBrmB,KAAKsmB,aAAetmB,KAAK6f,gBACvD,IAED7f,KAAK6f,cAAgB7f,KAAKsmB,eAGzB5D,EAAY1iB,KAAKkd,SACnBwC,KAAKC,MAAQ3f,KAAK0iB,WAAa,IAAQ1iB,KAAKmX,KAC7C,GAEH,IAAI57B,EAAM,GACVA,GAAO,kCACS,KAAdmnC,EAAmB,gBAAkBA,aAEvCnnC,GAAO,2BACHykB,KAAKkW,SAAW,IAClB36B,GAAO,uCAAuC2oB,GAC5ClE,KAAKkW,2BACYhS,GAA4BlE,KAAKkW,cACpD36B,GAAO,4BAGPA,GADEurB,GAAyB,EACpB,6CACAA,GAAyB,EAE9B,6GAEK,uCAAuC5C,GAC5C4C,6BACyB5C,GACzB4C,uBACmB5C,GACnB4C,mCAEJvrB,GAAO,2BACPA,GAAO,eAAe2oB,GACpBstB,8CAEFj2C,GACEskB,EAAUqoB,oBACN,oCAAoC/c,iDAAwEjH,GAC1GgF,GACA,iDAEF,GAEN3d,EAAE,iBAAiBoM,UAAYpc,EAuO7B8nD,IAqDJ,SAASC,KACPrU,KACA/H,KACAM,KAGAnnB,EAAe1iB,OAAO6C,KAAKwf,KAAKuwB,MAAMn2C,OAjoFtCinB,EAAU5oB,SAAS4D,cAAc,SACjCglB,EAAQ7mB,KAAO,WACf6mB,EAAQqM,GAAK,QAEbj1B,SAAS8qD,KAAKxtC,YAAYsL,GAp3L5B,WACE,MAAMsR,EAASl6B,SAAS4D,cAAc,OACtCs2B,EAAOjF,GAAK,WACZiF,EAAOvwB,MAAMmG,OAAS,OACtBoqB,EAAOvwB,MAAMkG,MAAQ,OACrBqqB,EAAOvwB,MAAMgI,SAAW,WACxBuoB,EAAOvwB,MAAMqV,QAAU,OACvBkb,EAAOvwB,MAAMohD,iBAAmB,UAChC7wB,EAAOvwB,MAAM8V,gBAAkB,+CAC/Bya,EAAOvwB,MAAMqhD,UAAY,kBACzB9wB,EAAOvwB,MAAMoV,SAAW,OACxBmb,EAAOvwB,MAAMshD,WACX,uDAEF,MAAMC,EAAQhxB,EAAO5c,YAAYtd,SAAS4D,cAAc,UACxDsnD,EAAMvhD,MAAMkG,MAAQ,OACpBq7C,EAAMvhD,MAAMuW,UAAY,SACxBgrC,EAAMvhD,MAAMoW,WAAa,SACzB,MAAMorC,EAAQD,EAAM5tC,YAAYtd,SAAS4D,cAAc,UAEjDwnD,EAAW,SAAUj+B,EAAM7d,GAC/B,MAAM+7C,EAAKrrD,SAAS4D,cAAc,MAIlC,OAHAynD,EAAG1hD,MAAMuW,UAAY,QACrBmrC,EAAGlpD,UAAY8mB,EAAgB3Z,EAC/B+7C,EAAGtmD,YAAcooB,EACVk+B,GAEHtpD,EAAOopD,EAAM7tC,YAAYtd,SAAS4D,cAAc,OACtD7B,EAAK4H,MAAMm0B,WAAa,OACxB/7B,EAAKub,YACH8tC,EAAS,aAAsC/hC,IAEnC8hC,EAAM7tC,YAAYtd,SAAS4D,cAAc,OACjD0Z,YAAY8tC,EAAS,eAAgBjiC,IAChCgiC,EAAM7tC,YAAYtd,SAAS4D,cAAc,OACjD0Z,YAAY8tC,EAAS,iBAAkBjiC,IAC7BgiC,EAAM7tC,YAAYtd,SAAS4D,cAAc,OACjD0Z,YAAY8tC,EAAS,YAAajiC,IAEvCrW,EAAE,WAAWwK,YAAY4c,GAEzBh1B,OAAO6C,KAAKwf,KAAKuN,SAAS6B,SAASj1B,IACjCg4B,GAA2Bh4B,MA28Q7B4pD,GAtzQF,WACE,MAAMzwB,EAAW76B,SAAS4D,cAAc,OACxCi3B,EAAS5F,GAAK,aACd4F,EAASlxB,MAAMgI,SAAW,WAC1BkpB,EAASlxB,MAAMqV,QAAU,OACzB6b,EAASlxB,MAAMmG,OAAS,MACxB+qB,EAASlxB,MAAMuvB,SAAW,OAC1B2B,EAASlxB,MAAMm0B,WAAa,OAC5BjD,EAASlxB,MAAMohD,iBAAmB,QAGlC,MAAMQ,EAAezyB,GAAY,eAAgB,cAAe,CAC9D,CAAE7D,GAAI,qBAAsB3lB,MAAOma,GACnC,CAAEwL,GAAI,kBAAmB3lB,MAAOka,KAElCqR,EAASvd,YAAYiuC,GAGrB,MAAMC,EAAgB1yB,GAAY,gBAAiB,gBAAiB,CAClE,CAAE7D,GAAI,sBAAuB3lB,MAAOma,GACpC,CAAEwL,GAAI,mBAAoB3lB,MAAOga,KAEnCuR,EAASvd,YAAYkuC,GACrB,MAAMC,EAAqBzrD,SAAS4D,cAAc,OAClD6nD,EAAmBx2B,GAAK,uBACxB4F,EAASvd,YAAYmuC,GAErB34C,EAAE,WAAWwK,YAAYud,GA4xQzB6wB,GAx7FF,WACE,MAAMC,EAAa3rD,SAAS4D,cAAc,OAC1C+nD,EAAW12B,GAAK,eAChB02B,EAAWhiD,MAAMkG,MAAQ,OACzB87C,EAAWhiD,MAAMohD,iBAAmB,QACpCY,EAAWhiD,MAAMuW,UAAY,SAC7ByrC,EAAWhiD,MAAMm0B,WAAa,OAC9B6tB,EAAWhiD,MAAMqV,QAAU,OAC3B2sC,EAAWhiD,MAAMyU,OAAS,KAC1ButC,EAAWhS,WAAa,WACtBpyB,KAAKyW,QAAQtlB,QAGf,MAAMotB,EAAc9lC,SAAS4D,cAAc,OAC3CkiC,EAAYxoB,YA/Dd,WACE,MAAMsuC,EAAS5rD,SAAS4D,cAAc,OACtCgoD,EAAOjiD,MAAMq8B,SAAW,QACxB4lB,EAAOjiD,MAAMu0B,aAAe,MAC5B,MAAMqZ,EAAQv3C,SAAS4D,cAAc,OACrC2zC,EAAMp1C,UAAY,OAClBo1C,EAAM5tC,MAAMu0B,aAAe,MAC3BqZ,EAAMxyC,YAAc,SACpB6mD,EAAOtuC,YAAYi6B,GAEnB,MAAMsU,EAAa,SAAUv8C,EAAO6d,GAClC,MAAM6K,EAAMh4B,SAAS4D,cAAc,OACnCo0B,EAAIruB,MAAMyvB,cAAgB,SAC1B,MAAM4jB,EAAOh9C,SAAS4D,cAAc,QAQpC,OAPAo5C,EAAK76C,UAAY+mB,EAAgB5Z,EACjC0tC,EAAKrzC,MAAMqV,QAAU,eACrBg+B,EAAKrzC,MAAMmG,OAAS,OACpBktC,EAAKrzC,MAAMkG,MAAQ,OACnBmtC,EAAKrzC,MAAMwvB,YAAc,MACzBnB,EAAI1a,YAAY0/B,GAChBhlB,EAAI1a,YAAYtd,SAASqgB,eAAe8M,IACjC6K,GAsBT,OAnBA4zB,EAAOtuC,YACLuuC,EAAW1iC,EAAY,iDAEzByiC,EAAOtuC,YACLuuC,EAAWziC,EAAa,wCAE1BwiC,EAAOtuC,YACLuuC,EAAWxiC,EAAc,0CAE3BuiC,EAAOtuC,YACLuuC,EAAWviC,EAAc,0CAE3BsiC,EAAOtuC,YACLuuC,EAAWtiC,EAAW,0CAExBqiC,EAAOtuC,YACLuuC,EAAWriC,EAAc,8CAE3BoiC,EAAOtuC,YAAYuuC,EAAWpiC,EAAY,4BACnCmiC,EAoBiBE,IACxBH,EAAWnS,YAAc,WACvBjyB,KAAKyW,QAAQ9kB,KAAK9Y,KAAM6lC,OAAOH,EAAY5mB,WAAY,UAGzD,MAAM6sC,EAAgB,SAAU92B,EAAI3lB,GAClC,MAAM0tC,EAAOh9C,SAAS4D,cAAc,QAMpC,OALAo5C,EAAK/nB,GAAKA,EACV+nB,EAAK76C,UAAY8mB,EAAgB3Z,EACjC0tC,EAAKrzC,MAAMkG,MAAQ,qBACnBmtC,EAAKrzC,MAAMqV,QAAU,eACrBg+B,EAAKj4C,YAAc,IACZi4C,GAET2O,EAAWruC,YAAYyuC,EAAc,mBAAoB5iC,IACzDwiC,EAAWruC,YAAYyuC,EAAc,oBAAqB3iC,IAC1DuiC,EAAWruC,YAAYyuC,EAAc,qBAAsB1iC,IAC3DsiC,EAAWruC,YAAYyuC,EAAc,qBAAsBziC,IAC3DqiC,EAAWruC,YAAYyuC,EAAc,kBAAmBxiC,IACxDoiC,EAAWruC,YAAYyuC,EAAc,qBAAsBviC,IAC3DmiC,EAAWruC,YAAYyuC,EAAc,mBAAoBtiC,IAEzD3W,EAAE,YAAY+N,WAAW60B,aACvBiW,EACA74C,EAAE,YAAY+N,WAAWkX,WAAW,IAm5FtCi0B,GAhnFF,WACE,MAAMC,EAAcjsD,SAAS4D,cAAc,OAC3CqoD,EAAYh3B,GAAK,gBACjBg3B,EAAYtiD,MAAMkG,MAAQ,OAC1Bo8C,EAAYtiD,MAAMmG,OAAS,OAC3Bm8C,EAAYtiD,MAAM4U,gBAAkB,QACpC0tC,EAAYtiD,MAAMqV,QAAU,OAC5BitC,EAAYtiD,MAAMyU,OAAS,aAC3B6tC,EAAYtiD,MAAMgI,SAAW,WAC7BmB,EAAE,WAAWwK,YAAY2uC,GAwmFzBC,GA54FF,WACE,MAAMl0B,EAAMh4B,SAAS4D,cAAc,OACnCo0B,EAAI/C,GAAK,sBACT+C,EAAIruB,MAAMuW,UAAY,SACtB,MAAM3V,EAAIvK,SAAS4D,cAAc,KACjC2G,EAAEpI,UAAY,SACdoI,EAAE+uC,QAAU,WAC0B,SAAhCxmC,EAAE,YAAYnJ,MAAMqV,SACtBlM,EAAE,YAAYnJ,MAAMqV,QAAU,OAC9BlM,EAAE,kBAAkBnJ,MAAMqV,QAAU,OACpClM,EAAE,gBAAgBnJ,MAAMqV,QAAU,OAClClM,EAAE,iBAAiBnJ,MAAMqV,QAAU,SAEnClM,EAAE,YAAYnJ,MAAMqV,QAAU,OACc,IAAxClM,EAAE,kBAAkBkxB,SAASriC,SAC/BmR,EAAE,kBAAkBnJ,MAAMqV,QAAU,SACI,IAAtClM,EAAE,gBAAgBkxB,SAASriC,SAC7BmR,EAAE,gBAAgBnJ,MAAMqV,QAAU,SACO,IAAvClM,EAAE,iBAAiBkxB,SAASriC,SAC9BmR,EAAE,iBAAiBnJ,MAAMqV,QAAU,WAGzCzU,EAAExF,YAAc,qBAChBizB,EAAI1a,YAAY/S,GAChB,MAAMP,EAAIhK,SAAS4D,cAAc,KACjCoG,EAAE7H,UAAY,SACd6H,EAAEsvC,QAAU,WAC0B,SAAhCxmC,EAAE,YAAYnJ,MAAMqV,QACtBlM,EAAE,YAAYnJ,MAAMqV,QAAU,OAC3BlM,EAAE,YAAYnJ,MAAMqV,QAAU,QAErChV,EAAEjF,YAAc,sBAChBizB,EAAI1a,YAAYtT,GAChB8I,EAAE,SAAS4iC,aAAa1d,EAAKllB,EAAE,SAASilB,WAAW,IA42FnDo0B,GAt0JF,WACE,MAAM7c,EAAUtvC,SAAS4D,cAAc,QACvC0rC,EAAQra,GAAK,YACbqa,EAAQ13B,IAAM,gBACd03B,EAAQwF,KAAO,uDACf90C,SAASosD,qBAAqB,QAAQ,GAAG9uC,YAAYgyB,GAk0JrD+c,GACAnnD,OAAO6C,KAAK8hB,GAAa8M,SAASj1B,KA30FpC,SAA6BokC,EAAa3Y,EAAM6Y,GAC9C,MAAM6M,EAAU7yC,SAAS4D,cAAc,OACvCivC,EAAQ5d,GAAK6Q,EACb,MAAMqP,EAAOn1C,SAAS4D,cAAc,OACpCuxC,EAAKxrC,MAAMq8B,SAAWA,EACtBmP,EAAKxrC,MAAMu0B,aAAe,MAC1B,MAAMlG,EAAMh4B,SAAS4D,cAAc,OACnCo0B,EAAIruB,MAAMuW,UAAY,OACtB8X,EAAIjzB,YAAcooB,EAClBgoB,EAAK73B,YAAY0a,GACjB6a,EAAQv1B,YAAY63B,GACpBrrB,EAAsBgc,GAAe+M,EAi0FnCyZ,CACEziC,EAAYnoB,GAAG,GACfmoB,EAAYnoB,GAAG,GACfmoB,EAAYnoB,GAAG,OAvsFrB,WACE,MAAM+hD,EAAUzjD,SAAS4D,cAAc,KACvC6/C,EAAQxuB,GAAK,6BACbwuB,EAAQ1+C,YAAc,iBACtB0+C,EAAQthD,UAAY,SACpBshD,EAAQnK,QAAU,WAChB8B,MAEFqI,EAAQ9J,WAAa,WACnBpyB,KAAKyW,QAAQorB,WAAa,GAE5B3F,EAAQjK,YAAc,WACpBjyB,KAAKyW,QAAQoe,QAAU,EACvB70B,KAAKyW,QAAQ9kB,KACX9Y,MACA,WACE,OAAOk7C,GAAc,KAAM,YAE7B,QAEF/zB,KAAKyW,QAAQqe,UAEfvpC,EAAE,oBAAoBkxB,SAAS,GAAGuoB,OAAO9I,GACzC,MAAME,EAAc3jD,SAAS4D,cAAc,KAC3C+/C,EAAY1uB,GAAK,2BACjB0uB,EAAY5+C,YAAc,qBAC1B4+C,EAAYxhD,UAAY,SACxBwhD,EAAYrK,QAAU,WACa,OAA7BpoB,GAAsB,KACxB3J,KAAKqR,UAAU1H,GAAsB,IAAImqB,GAAK,IAElDsI,EAAYhK,WAAa,WACvBpyB,KAAKyW,QAAQorB,WAAa,GAE5BzF,EAAYnK,YAAc,WACxBjyB,KAAKyW,QAAQoe,QAAU,EACvB70B,KAAKyW,QAAQ9kB,KACX9Y,MACA,WACE,OAAOk7C,GAAc,KAAM,gBAE7B,QAEF/zB,KAAKyW,QAAQqe,UAEfvpC,EAAE,oBAAoBkxB,SAAS,GAAGuoB,OAAO5I,GA6pFzC6I,GAtoFA15C,EAAE,YAAYnJ,MAAMqV,QAAU,OAC9BlM,EAAE,aAAanJ,MAAMstB,QAAU,MAE/BnkB,EAAE,YAAYnJ,MAAMqV,QAAU,OAC9BlM,EAAE,YAAYnJ,MAAM,aAAe,OAqInCzE,OAAO6C,KAAKwf,KAAKuN,SAAS6B,SAASj1B,IACjC,MAAMk2B,EAAKrQ,KAAKuN,QAAQpzB,GACiB,OAArCoR,EAAE,UAAU8kB,EAAG3C,MAAMukB,cACvB3wB,EAAmBnnB,GAAKoR,EAAE,UAAU8kB,EAAG3C,MAAMukB,YAC7C1mC,EAAE,UAAU8kB,EAAG3C,MAAMukB,YAAc,WACjCjyB,KAAKyW,QAAQoe,QAAU,EACvB70B,KAAKyW,QAAQ9kB,KACX9Y,MACA,WACE,OAAOk7C,GAAc,IAAK,GAAG55C,OAE/B,SAEF6lB,KAAKyW,QAAQqe,cAUf90B,KAAKklC,aACP5kC,EAAoB/U,EAAE,SAAS0mC,YAC/B1mC,EAAE,SAAS0mC,YAAc,WACvBjyB,KAAKyW,QAAQoe,QAAU,EACvB70B,KAAKyW,QAAQ9kB,KACX9Y,MACA,WACE,OAAOk7C,GAAc,IAAK,UAE5B,QAEF/zB,KAAKyW,QAAQqe,WAkFjBl0B,EAAgBZ,KAAKY,cACrBZ,KAAKY,cAAgB,WACnBA,IA3EEZ,KAAKuN,QAAQmM,KAAKzL,iBACpB1iB,EAAE,gBAAgB0mC,YAAc,WAC9BjyB,KAAKyW,QAAQoe,QAAU,EACvB70B,KAAKyW,QAAQ9kB,KACX9Y,MACA,WACE,OAAOk7C,GAAc,KAAM,sBAE7B,QAEF/zB,KAAKyW,QAAQqe,UAEfnxC,MAAMy8C,KAAK70C,EAAE,cAAckxB,UAAUrN,SAAS+1B,IAC5C,MAAMC,EAASD,EAAMz3B,GAAGxP,OAAO,GAC/BinC,EAAMlT,YAAc,WAClBjyB,KAAKyW,QAAQoe,QAAU,EACvB70B,KAAKyW,QAAQ9kB,KACX9Y,MACA,WACE,OAAOk7C,GAAc,IAAK,CAAC,GAAGqR,EAAO,KAAM,GAAGA,EAAO,SAEvD,QAEFplC,KAAKyW,QAAQqe,cAsDjBF,KAhDJ,WACE,GAAI50B,KAAKuN,QAAQF,OAAOY,eAAgB,CACtC,IAAK,IAAI9zB,EAAI,EAAGA,EAAI,GAAIA,GAAK,EAC3BoR,EAAE,YAAYpR,KAAK83C,YAAc,WAC/BjyB,KAAKyW,QAAQoe,QAAU,EACvB70B,KAAKyW,QAAQ9kB,KACX9Y,MACA,WACE,OAAOk7C,GAAc,MAAO55C,KAE9B,QAEF6lB,KAAKyW,QAAQqe,UAGjB,IAAK,IAAI36C,EAAI,EAAGA,EAAI,EAAGA,GAAK,EAC1BoR,EAAE,aAAapR,KAAK83C,YAAc,WAChCjyB,KAAKyW,QAAQoe,QAAU,EACvB70B,KAAKyW,QAAQ9kB,KACX9Y,MACA,WACE,OAAOk7C,GAAc,MAAO,CAC1B55C,EACA6lB,KAAKuN,QAAQF,OAAOC,SAAS8I,KAAKj8B,OAGtC,QAEF6lB,KAAKyW,QAAQqe,WAqBjBuQ,GACApQ,MAEFj1B,KAAKY,gBAk0ELrV,EAAE,wBAAwB0mC,YAAc,WACtCvvB,EAAsB,GAExBnX,EAAE,wBAAwB6mC,WAAa,WACrC1vB,EAAsB,EACtB1C,KAAKyW,QAAQtlB,OACbxT,OAAO6C,KAAKwf,KAAKqR,WAAWjC,SAASj1B,IACnCyoB,EAA0BzoB,GAAK,MA+DnC+lD,KACAjL,KACAj1B,KAAKyhB,iBAELgS,KACAjxB,EAAoBxC,KAAKqwB,SAErBrwB,KAAK4c,MAAM0oB,OACbtlC,KAAKulC,MACH,0CAGFvlC,KAAKwlC,OACH,yCACA,GACA,GACA,EACA,GAGJxlC,KAAKylC,IAAI,eAoEX,MAAMC,GAAK,CACTjsD,KApDF,WACEy1C,IAAiB,EACjB,IAAIyW,GAAU,EACV3lC,KAAKwuB,UAAY7pB,OAjwTF,WAkwTjBghC,EAAUC,QACR,8JAGAD,IACFrC,KACAtjC,KAAK6lC,aAAa,OAAQlpB,IAC1B3c,KAAK6lC,aAAa,QAASzV,IAC3BlB,IAAiB,IAyCnB4W,KA5BF,SAAcvqD,GACZ,MAAM8yC,EAAO7yC,KAAKC,MAAMF,GACxB0zC,KACAwE,GAAWpF,EAAKE,UACK,YAAjBF,EAAKG,UACHxuB,KAAK4c,MAAM0oB,OACbtlC,KAAKulC,MACH,iGAGFvlC,KAAKwlC,OACH,gGACA,GACA,GACA,EACA,KAcNnX,KAAMA,IAGRruB,KAAK+lC,YAAY,gBAAiBL,KA7zTlC,IAxgHS","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerDiv","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","groupObject","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC,EACAC,EACAC,EACAC,EACAC,EACAE,EACAC,GAUIE,EAAc,CAClB,CAAC,6BAA8B,oCAAqC,SACpE,CACE,2CACA,6EACA,SAEF,CACE,6BACA,qPACA,SAEF,CACE,8BACA,kEACA,SAEF,CACE,kCACA,2PACA,SAEF,CACE,0BACA,gLACA,SAEF,CACE,2BACA,uOACA,SAEF,CACE,4BACA,2CACA,UAGEC,EAAwB,GAM9B,IAUIC,EACAC,EAXAC,EAAsB,EACtBC,GAAmB,EAOnBC,EAA4B,GAQ5BC,EAAmB,EACnBC,EAAsB,EACtBC,EAA4B,EAMhC,MAAMC,EAAc,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,MAC9CC,EAAa,CAAC,EAAG,EAAG,GAAI,GAAI,IAK5BC,EAAc,CAClBC,OAAQrB,EACRsB,iBAAkBhB,EAClBiB,eAAgBxB,EAChByB,KAAMtB,EACNuB,eAAgB3B,EAChB4B,aAAcrB,GAMhB,IAOIsB,EACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GAdAC,GAAW,GAKXC,GAAQ,GA2BZ,SAASC,GAA4BC,EAAKC,EAAQC,GAChD,MAAMC,EAAWzE,EAAU0E,cAAgB,EAC3C,GAAIJ,IAAQK,IACV,MAAO,WAET,QAAmB,IAARL,EACT,MAAO,IAET,GAAwB,IAApBtE,EAAU4E,MACZ,OAAOhD,EAAgBiD,SAASP,EAAKC,GAEvC,GAAIO,OAAOC,SAAST,GAAM,CACxB,GAAIA,EAAM,EACR,MAAO,IAAID,GAA4BxhB,KAAK0N,IAAI+T,MAElD,IAAIU,EAAS,GACb,GAAY,IAARV,EACF,OAAOA,EAAIvhB,WAEb,GAAIuhB,EAAM,MAASA,EAAMtE,EAAUiF,YAGjC,OAF8BD,EAA1BhF,EAAUkF,eAAyBZ,EAAIa,eAAe,MAC5Cb,EAAIa,eAAe,MAC1BH,EAET,GAAyB,IAApBhF,EAAU4E,QAAgBJ,GAAsB,IAAXA,EAExCQ,EAASV,EAAIc,cAAcX,GAAU1hB,WAAW7B,QAAQ,IAAK,SACxD,CACL,MAAMmkB,EAAcf,EAAIc,gBAAgBriB,WAClCuiB,EAAwBziB,KAAKkE,MACjCse,EAAYhH,MAAMgH,EAAY7nB,QAAQ,KAAO,GAAK,GAEpDwnB,GAAUV,EAAMQ,OAAO,KAA6B,EAAxBQ,IAA8BC,QACxDd,GAGuB,IAApBzE,EAAU4E,QAAgBJ,GAAsB,IAAXA,EAEpCF,GAAO,KAAQA,EAAMQ,OAAO,KAAqB,EAAhBzE,EAAO9lB,QAC1CyqB,GAAU,IAAI3E,EAAOiF,KAChBN,EAASX,GAA4BC,EAAK,EAAG,GACtB,IAApBtE,EAAU4E,QAAgBJ,GAAsB,IAAXA,EAE3CF,GAAO,KAAQA,EAAMQ,OAAO,KAAyB,EAApBxE,EAAW/lB,QAC9CyqB,GAAU,IAAI1E,EAAWgF,KACpBN,EAASX,GAA4BC,EAAK,EAAG,GACtB,IAApBtE,EAAU4E,QAAgBJ,GAAsB,IAAXA,EAG7CF,GAAO,KACPA,EAAMQ,OAAO,KAAoC,EAA/BvE,EAAsBhmB,QAExCyqB,GAAU,IAAIzE,EAAsB+E,KAC/BN,EAASX,GAA4BC,EAAK,EAAG,IACtB,IAApBtE,EAAU4E,QAAgBJ,GAAsB,IAAXA,KAE/CQ,GAAU,IAA4B,EAAxBM,GAUlB,MAPe,KAAXN,IACF7pB,QAAQqqB,IACN,2DAA2DlB,KAE7DU,EAASpD,EAAgBiD,SAASP,EAAKC,IAErCvE,EAAUkF,iBAAgBF,EAASA,EAAO9jB,QAAQ,IAAK,MACpD8jB,EAGT,OADA7pB,QAAQqqB,IAAI,2DAA2DlB,KAChE1C,EAAgBiD,SAASP,EAAKC,GASvC,SAASkB,GAAWC,EAAMC,GACxB,IAAIC,EAAgBF,EACpB,GAAIA,IAASf,IAAU,OAAOe,EAC9B,GAAIA,EAAO,EAAG,MAAO,uBACrBE,EAAgB/iB,KAAKoL,KAAKyX,GAC1B,MAAMjhB,EAAI5B,KAAKkE,MAAM6e,EAAgB,UAC/BjG,EAAI9c,KAAKkE,MAAO6e,EAAgB,SAAY,OAC5Cjf,EAAI9D,KAAKkE,MAAO6e,EAAgB,MAAS,MACzCnrB,EAAIoI,KAAKkE,MAAO6e,EAAgB,KAAQ,IACxC/e,EAAIhE,KAAKkE,MAAM6e,EAAgB,IACrC,IAAIlqB,EAAM,GACV,GAAIskB,EAAU6F,WAAY,CACxB,GAAID,EAAgB,SAAY,MAAO,iBACvClqB,IAAW+I,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACP/I,IAAWikB,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPjkB,IAAWiL,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPjL,IAAWjB,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPiB,IAAQmL,EAAI,GAAK,IAAM,IAAMA,MACxB,CACL,GAAI+e,EAAgB,OAClB,OAAOD,EAAa,kBAAoB,SAC1CjqB,GACE+I,EAAI,EACGA,GAAKkhB,EAAoB,IAANlhB,EAAU,QAAU,SAAY,KAAtD,KACA,GACN/I,GACEikB,EAAI,EAAOA,GAAKgG,EAAoB,IAANhG,EAAU,OAAS,QAAW,KAApD,KAA+D,IACrEjkB,EAAInB,OAAS,GAAKoM,EAAI,KACxBjL,GAAUiL,GAAKgf,EAAoB,IAANhf,EAAU,QAAU,SAAY,KAAtD,OACLjL,EAAInB,OAAS,GAAKE,EAAI,KACxBiB,GAAUjB,GAAKkrB,EAAoB,IAANlrB,EAAU,UAAY,WAAc,KAA1D,MACTiB,GAAOmL,GAAK8e,EAAoB,IAAN9e,EAAU,UAAY,WAAc,KAEhE,OAAOnL,EAQT,SAASoqB,GAAcJ,GACrB,IAAIxd,EACA6d,EAWJ,OAVIL,GAAQ,GACgBK,EAAtB/F,EAAU6F,WAAmB,iBACrB,QACZ3d,EAAQ8Z,IAER+D,EAAON,GAAWC,GACFxd,EAAZwd,EAAO,IAAavD,EACfuD,EAAO,GAAYxD,EACfD,GAER,CAAE8D,OAAM7d,SAMjB,IA0EI8d,GACAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GAEAC,GAEAC,GAwBAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAxIAC,GAAkB,EAClBC,GAAmB,EACnBC,GAAuB,EACvBC,GAAyB,EACzBC,GAAa,EACbC,GAAmB,EACnBC,GAAwB,EACxBC,GAAmB,EACnBC,GAAyB,EACzBC,GAA8B,EAC9BC,GAAe,EACfC,GAAqB,EACrBC,GAAe,EACfC,GAAuB,EACvBC,GAA6B,EAC7BC,GAAoC,EACpCC,GAAyB,EACzBC,GAAwB,EAExBC,GAAmB,EAEnBC,GAAe,EACfC,GAAe,EACfC,GAAkB,EAElBC,GAAgB,GAChBC,GAAiB,GACjBC,GAAkB,GAElBC,GAAsB,EACtBC,GAAuB,EACvBC,GAAwB,CAAC,EAAG,MAE5BC,GAA2B,EAC3BC,GAAyB,EAEzBC,GAAgB,GAEhBC,GAAqB,GAErBC,GAAuB,GACvBC,GAA+B,GAC/BC,GAA8B,GAE9BC,GAAqB,EACrBC,GAAyB,EACzBC,GAAsB,GACtBC,GAA0B,EAC1BC,GAA8B,EAC9BC,GAA2B,GAC3BC,GAA2B,EAC3BC,GAA+B,EAC/BC,GAA4B,GAC5BC,GAAgC,EAChCC,GAAoC,EACpCC,GAAiC,GAEjCC,GAAyB,EACzBC,GAAwB,EAExBC,GAA4B,GAC5BC,GAAwB,GAExBC,GAA4B,EAG5BC,GAAa,EAEbC,GAAe,GAEfC,GAA0B,GAE1BC,GAAqB,EA6BrBC,GAAY,CACdC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVxrB,EAAG,CAAC,EAAG,EAAG,GACVyrB,GAAI,CAAC,EAAG,EAAG,IAOTC,GAAa,GACbC,GAAc,GACdC,GAAkB,GAuBtB,SAASC,GAAYC,GACnB,IAAInvB,EAAI,EAWR,OATE4iB,KAAKwM,YAAYjF,IAAe7oB,OAAS6tB,GACzCvM,KAAKwM,YAAYhF,IAAgB9oB,OAAS6tB,IAE1CnvB,EAAI,GAEqC,oBAAzC4iB,KAAKwM,YAAYjF,IAAe7oB,MACU,oBAA1CshB,KAAKwM,YAAYhF,IAAgB9oB,OAEjCtB,GAAK,IACAA,EAWT,SAASqvB,KACP,IAAIC,EAAW,IAEf,OADAA,GAAY,EAAIJ,GAAY,mBACrBI,EAST,SAASC,GAAOjuB,EAAMkuB,GACpB,YAA6B,IAAlB/E,GAAQnpB,QACK,IAARkuB,EAAsB,EAAIA,EAEnC/E,GAAQnpB,GASjB,SAASmuB,GAAON,GACd,MAAMO,EAAKV,GAAYG,GACvB,OACyB,IAAvBvM,KAAK+M,eACQ,aAAZD,EAAGE,MAAmC,YAAZF,EAAGG,OAGzBH,EAAKA,EAAGI,OADN,EAYX,SAASC,GAAUZ,GACjB,GAAIvM,KAAKoN,OAAQ,MACoB7yB,IAA/B4xB,GAAWkB,OAAOC,WACpBnB,GAAWkB,OAAOC,SAAWtN,KAAKuN,QAAQF,OAAOC,UAEnD,MAAME,EAAMrB,GAAWkB,OAAOC,SAASG,KAAKlB,GAC5C,GAAI9E,KAAY+F,EAAIE,GAClB,OAAO,EAET,GAAIhG,KAAY8F,EAAIE,GAClB,OAAO,EAET,GAAI/F,KAAY6F,EAAIE,GAClB,OAAO,EAGX,OAAO,EAgBT,SAASC,GAAuBC,EAAUC,GACxC,IAAIC,EAAgBD,EAapB,GAZIhB,GAAO,oBAAmBiB,GAAiB,KAC3CjB,GAAO,sBAAqBiB,GAAiB,KAC7CjB,GAAO,iBAAgBiB,GAAiB,KACxCjB,GAAO,qBAAoBiB,GAAiB,KAC5CjB,GAAO,kBAAiBiB,GAAiB,KAE7CA,GAAiB,EAAoC,IAAhCxB,GAAY,kBAC7BtM,KAAK+N,QAAQ,wBAAuBD,GAAiB,KACrD9N,KAAK+N,QAAQ,mBAAkBD,GAAiB,KAChD9N,KAAK+N,QAAQ,mBAAkBD,GAAiB,MAChDF,EAASI,SAAWnB,GAAOe,EAASI,QAAQtvB,QAAOovB,GAAiB,KACxEA,GAAiBnB,GAAO,gBACpBR,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASf,GAAU,YACV,IAAXe,EAAcJ,GAAiB,IACf,IAAXI,EAAcJ,GAAiB,IACpB,IAAXI,IAAcJ,GAAiB,KAE1C,OAAOA,EAkBT,SAASK,GACPC,EACAC,EACA1kB,EACA2kB,EACAC,EACAC,GAIA,MAAMC,OAA4B,IAAVD,EAAwB,EAAIA,EACpD,IAAIE,EAAWH,EACXI,EAAiBhlB,EACjBilB,EAAO,GACK,IAAZL,IAAeG,EAAWC,GACzBJ,IAAQG,EAAW1O,KAAK6O,SAC7B,IAAK,IAAI10B,EAAI,EAAGA,EAAIu0B,EAAUv0B,IAAK,CACjC,IAAI0zB,EACFQ,EAAYrO,KAAK8O,eAAiBpsB,KAAK6D,IAAI,EAAGooB,EAAiBL,GACjET,EAAQY,EACJzO,KAAK+O,oBAAoBX,EAAOP,GAChCF,GAAuBS,EAAOP,GAClCA,EAAQnrB,KAAKoL,KAAK+f,GAClB,MAAMnB,EAAW+B,EACbL,EAAMY,oBACNvC,KACJoB,EAAQnrB,KAAKkE,MAAMinB,EAAQnB,GACvBiC,EAAiB,IACnBC,GAAQf,EACRc,GAAkB,GAGtB,OAAOC,EAoBT,SAASK,KACP,IAAIzvB,EAASwgB,KAAK6O,QA0ClB,GAzCqB,IAAjB7O,KAAKkP,QACPpM,EAAsBtjB,EAEtBA,EAASsjB,EAEI,IAAXtjB,EAAcA,EAAS8pB,GACP,KAAX9pB,EAAeA,EAAS+pB,GACb,MAAX/pB,IAAgBA,EAASgqB,IAEb,IAAjBxJ,KAAKkP,QACuB,IAA1BrP,EAAUsP,YACZxxB,OAAO6C,KAAKhB,GAAQ4vB,SAASj1B,IAC3BoR,EAAE,eAAeyU,KAAKuN,QAAQpzB,GAAGuzB,MAAMtrB,MAAM2F,MAC3C8X,EAAU,SAASrgB,EAAOrF,GAAG4N,YAGjCpK,OAAO6C,KAAKwf,KAAKuN,SAAS6B,SAASj1B,IACjCoR,EAAE,eAAeyU,KAAKuN,QAAQpzB,GAAGuzB,MAAMtrB,MAAMitB,eAAe,aAGrC,IAAlBrP,KAAKkP,SACdvxB,OAAO6C,KAAK8oB,IAAe8F,SAASj1B,IAClC,MAAMwlB,EAAIK,KAAKuN,QAAQpzB,GACvBoR,EAAE,eAAeoU,EAAE+N,MAAMtrB,MAAM2F,MAAQ,GASvCwD,EAAE,eAAeoU,EAAE+N,MAAM/V,UAAYuM,GACnCiK,GAAaxO,EAAGA,EAAE0O,UAAW1O,EAAE4O,OAAQ5O,EAAE2O,KAAMtO,KAAK6O,QAAS,OAQ9C,IAAjB7O,KAAKkP,SAAiBrP,EAAUyP,cAAe,CACjD,IAAIC,EAC4B,IAA5B1P,EAAUyP,eACZC,EAAM5xB,OAAO6C,KAAK8oB,IAAehrB,KAAKkxB,IACpC,MAAM7P,EAAI2J,GAAckG,GAGxB,OAFA7P,EAAEjhB,KAAO8wB,EACT7P,EAAE+N,GAAK1N,KAAKuN,QAAQiC,GAAG9B,GAChB/N,KAGT4P,EAAIE,MAAK,SAAUzsB,EAAGP,GACpB,OAAO4f,EAAgBhlB,QAAQ2F,EAAE+E,OAC/Bsa,EAAgBhlB,QAAQoF,EAAEsF,OACxB,EACAsa,EAAgBhlB,QAAQ2F,EAAE+E,OAASsa,EAAgBhlB,QAAQoF,EAAEsF,QAE7D/E,EAAEyI,GAAKhJ,EAAEgJ,IADR,EAGD,MAE+B,IAA5BoU,EAAUyP,gBACnBC,EAAM5xB,OAAO6C,KAAKhB,GAAQlB,KAAKkxB,IAC7B,MAAM7P,EAAIngB,EAAOgwB,GAGjB,OAFA7P,EAAEjhB,KAAO8wB,EACT7P,EAAE+N,GAAK1N,KAAKuN,QAAQiC,GAAG9B,GAChB/N,KAGT4P,EAAIE,MAAK,SAAUzsB,EAAGP,GACpB,OAAO4f,EAAgBhlB,QAAQ2F,EAAE+E,OAC/Bsa,EAAgBhlB,QAAQoF,EAAEsF,OACxB,EACAsa,EAAgBhlB,QAAQ2F,EAAE+E,OAASsa,EAAgBhlB,QAAQoF,EAAEsF,QAE7D/E,EAAEyI,GAAKhJ,EAAEgJ,IADR,EAGD,MAIR,IAAK,IAAIpH,EAAI,EAAGA,EAAIkrB,EAAIn1B,OAAQiK,IAC9B2b,KAAKuN,QAAQgC,EAAIlrB,GAAG3F,MAAM6M,EAAEnJ,MAAMstB,QAAU,GAAGrrB,EAAI,KAAKA,EAAI,QAEzD,CACL,MAAMkrB,EAAM5xB,OAAO6C,KAAK8oB,IAAehrB,KAAKkxB,IAC1C,MAAM7P,EAAI2J,GAAckG,GAGxB,OAFA7P,EAAEjhB,KAAO8wB,EACT7P,EAAE+N,GAAK1N,KAAKuN,QAAQiC,GAAG9B,GAChB/N,KAET4P,EAAIE,MAAK,CAACzsB,EAAGP,IAAMO,EAAE0qB,GAAKjrB,EAAEirB,KAC5B,IAAK,IAAIrpB,EAAI,EAAGA,EAAIkrB,EAAIn1B,OAAQiK,IAC9B2b,KAAKuN,QAAQgC,EAAIlrB,GAAG3F,MAAM6M,EAAEnJ,MAAMstB,QAAU,GAAGrrB,EAAI,KAAKA,EAAI,KAiBlE,SAASsrB,KAEP,GAAI9P,EAAU+P,YAAc,EAAG,CAC7B,IAAIC,EAAO,EACPC,EAAQ,EACRC,EAAS,EACTC,EAAS,EACTC,EAAM,EACNC,EAAS,EACTC,EAAO,EAEXxyB,OAAO6C,KAAKwf,KAAKoQ,iBAAiBhB,SAASj1B,IACzC,MAAMk2B,EAAKrQ,KAAKoQ,gBAAgBj2B,GAChC,IAAIm2B,GAAc,EAClB,IAAK,IAAIC,EAAI,EAAGA,EAAIhlB,EAAE,UAAUpR,KAAKq2B,WAAWp2B,OAAQm2B,GAAK,EAC3D,IACuE,IAArEhlB,EAAE,UAAUpR,KAAKq2B,WAAWD,GAAG31B,UAAUyC,QAAQskB,GACjD,CACApW,EAAE,UAAUpR,KAAKq2B,WAAWD,GAAG31B,UAC7B+mB,EAAgBmI,GAAcuG,EAAG3xB,MAAMqJ,MACzCuoB,GAAc,EACd,MAGJ,IAAKA,EAAa,CAChB,MAAMG,EAAMh4B,SAAS4D,cAAc,OACnCo0B,EAAIruB,MAAMkG,MAAQ,OAClBmoB,EAAIruB,MAAMmG,OAAS,OACnBkoB,EAAI71B,UAAY+mB,EAAgBmI,GAAcuG,EAAG3xB,MAAMqJ,MACvDwD,EAAE,UAAUpR,KAAK4b,YAAY0a,GAE3B3G,GAAcuG,EAAG3xB,MAAMqJ,QAAU6Z,EAAYiO,GAAQ,EAChD/F,GAAcuG,EAAG3xB,MAAMqJ,QAAU8Z,EAAaiO,GAAS,EACvDhG,GAAcuG,EAAG3xB,MAAMqJ,QAAU+Z,EAAciO,GAAU,EACzDjG,GAAcuG,EAAG3xB,MAAMqJ,QAAUga,EAAciO,GAAU,EACzDlG,GAAcuG,EAAG3xB,MAAMqJ,QAAUia,EAAWiO,GAAO,EACnDnG,GAAcuG,EAAG3xB,MAAMqJ,QAAUka,EAAciO,GAAU,EACzDpG,GAAcuG,EAAG3xB,MAAMqJ,QAAUma,IAAYiO,GAAQ,MAGhE5kB,EAAE,oBAAoB/N,YAAcqyB,EACpCtkB,EAAE,qBAAqB/N,YAAcsyB,EACrCvkB,EAAE,sBAAsB/N,YAAcuyB,EACtCxkB,EAAE,sBAAsB/N,YAAcwyB,EACtCzkB,EAAE,mBAAmB/N,YAAcyyB,EACnC1kB,EAAE,sBAAsB/N,YAAc0yB,EACtC3kB,EAAE,oBAAoB/N,YAAc2yB,EAGtC,MAAMZ,EAAM,GAGZ,IAAK,IAAIlrB,EAAI,EAAGA,EAAI2b,KAAKoQ,gBAAgBh2B,OAAQiK,GAAK,EAAG,CACvD,MAAMsb,EAAI,GACVA,EAAEjhB,KAAOshB,KAAKoQ,gBAAgB/rB,GAAG3F,KACjCihB,EAAEkO,MAAQ7N,KAAKoQ,gBAAgB/rB,GAAGgqB,UAClC1O,EAAElU,GAAKqe,GAAcnK,EAAEjhB,MAAM+M,GAC7B8jB,EAAItzB,KAAK0jB,GAGPE,EAAU6Q,aACZnB,EAAIE,MAAK,SAAUzsB,EAAGP,GACpB,OAAO4f,EAAgBhlB,QAAQ2F,EAAE+E,OAASsa,EAAgBhlB,QAAQoF,EAAEsF,OAChE,EACAsa,EAAgBhlB,QAAQ2F,EAAE+E,OAASsa,EAAgBhlB,QAAQoF,EAAEsF,QAE7D/E,EAAEyI,GAAKhJ,EAAEgJ,IADR,EAGD,KAGN8jB,EAAIE,MAAK,CAACzsB,EAAGP,IAAMO,EAAE6qB,MAAQprB,EAAEorB,QAGjC,MAAM8C,EAAc,SAAUC,EAAMC,GAClC,OAAOD,EAAKE,WAAWx1B,GAAMA,EAAEoD,OAASmyB,EAAQnyB,QAElD,IAAK,IAAI2F,EAAI,EAAGA,EAAI2b,KAAKoQ,gBAAgBh2B,OAAQiK,GAAK,EACpDkH,EAAE,UAAUlH,KAAKjC,MAAM2uB,MACrBJ,EAAYpB,EAAKvP,KAAKoQ,gBAAgB/rB,IAAM,EAYlD,SAAS2sB,KACP,OAAInR,EAAUoR,QACLrK,GAEmB,IAAxB/G,EAAUqR,UACLlR,KAAKmR,WAAa,EAAInR,KAAKoR,WAER,IAAxBvR,EAAUqR,UAEVlR,KAAKmR,WACJvH,IAA4B,EAA6B,IAAzBC,KAGJ,OAA7BF,GAAsB,IAEE,IAAxB9J,EAAUqR,WACwC,IAAlDlR,KAAKqR,UAAU1H,GAAsB,IAAInvB,KAGvCwlB,KAAKmR,WACwB,EAA3BvH,GAAgCC,IAC/B,EAA6B,IAAzBA,KAIX7J,KAAKmR,WACJvH,GAA2BC,IACzB,EAA6B,IAAzBA,KAaX,SAASyH,KACP,OAA4B,IAAxBzR,EAAUqR,UACLzH,GAEmB,IAAxB5J,EAAUqR,UACLvH,GAAsB,GAExB,EAcT,SAAS4H,GAAY7D,EAAIhvB,EAAM8yB,GAC7B,MAAMC,EAAWh5B,SAAS4D,cAAc,OACxCo1B,EAAS/D,GAAKA,EACd+D,EAASrvB,MAAMmG,OAAS,OACxBkpB,EAASrvB,MAAMsvB,OAAS,WACxBD,EAASrvB,MAAMgI,SAAW,WAE1B,MAAMqmB,EAAMh4B,SAAS4D,cAAc,OACnCo0B,EAAIruB,MAAMkG,MAAQ,OAClBmoB,EAAIruB,MAAMmG,OAAS,OACnBkoB,EAAIruB,MAAMsvB,OAAS,OACnBjB,EAAIruB,MAAMgI,SAAW,WACrBqmB,EAAIruB,MAAMqC,KAAO,MACjBgsB,EAAIruB,MAAMsC,IAAM,MAChB+rB,EAAIruB,MAAMkI,MAAQ,MAClBmmB,EAAIruB,MAAMkW,OAAS,MAEnB,MAAM9d,EAAO/B,SAAS4D,cAAc,QACpC7B,EAAK4H,MAAMqV,QAAU,eACrBjd,EAAK4H,MAAMuW,UAAY,QACvBne,EAAK4H,MAAMuvB,SAAW,OACtBn3B,EAAK4H,MAAMkG,MAAQ,QACnB9N,EAAK4H,MAAMwvB,YAAc,MACzBp3B,EAAK4H,MAAMyvB,cAAgB,WAC3Br3B,EAAKgD,YAAckB,EACnB+xB,EAAI1a,YAAYvb,GAEhB,IAAK,IAAIL,EAAI,EAAGA,EAAIq3B,EAAKp3B,OAAQD,IAAK,CACpC,MAAM23B,EAAWr5B,SAAS4D,cAAc,QACxCy1B,EAASpE,GAAK8D,EAAKr3B,GAAGuzB,GACtBoE,EAAS1vB,MAAMqV,QAAU,eACzBqa,EAAS1vB,MAAMmG,OAAS,OACxBupB,EAAS1vB,MAAMyvB,cAAgB,WAC/BC,EAAS1vB,MAAMuW,UAAY,SACvB6Y,EAAKp3B,OAAS,IAAMD,IACtB23B,EAAS1vB,MAAM2vB,qBAAuB,OACtCD,EAAS1vB,MAAM4vB,wBAA0B,aAEd,IAAlBR,EAAKr3B,GAAG4N,QACjB+pB,EAASl3B,UAAY+mB,EAAgB6P,EAAKr3B,GAAG4N,OAE/C0oB,EAAI1a,YAAY+b,GAGlB,MAAMG,EAAQx5B,SAAS4D,cAAc,QAQrC,OAPA41B,EAAMvE,GAAK,GAAGA,QACduE,EAAM7vB,MAAM8vB,WAAa,MACzBD,EAAM7vB,MAAMyvB,cAAgB,WAC5BpB,EAAI1a,YAAYkc,GAEhBR,EAAS1b,YAAY0a,GAEdgB,EAOT,SAASU,GAA2BC,GAClC,GAAsB,OAAlB7mB,EAAE,YAAsB,CAC1B,MAAM/Q,EAAO+Q,EAAE,YAAYvO,WAAWA,WAAWwzB,WAAW,GACtD6B,EAAQ9mB,EAAE,YAAYvO,WAAWA,WAAWwzB,WAAW,GACvD/kB,EAAKF,EAAE,YAAYvO,WAAWA,WAAWwzB,WAAW,GACpDjL,EAAOha,EAAE,YAAYvO,WAAWA,WAAWwzB,WAAW,GAEtDr2B,EAAIi4B,EACJE,EAAS93B,EAAKub,YAAYtd,SAAS4D,cAAc,OACvDi2B,EAAOvc,YACLtd,SAASqgB,eACP,IAAuB,IAApB3e,EAAEkD,QAAQ,KAAclD,EAAEo4B,UAAU,EAAGp4B,EAAEkD,QAAQ,MAAQlD,QAInDm4B,EAAOvc,YAAYtd,SAAS4D,cAAc,SAClDzB,UAAY8mB,aAEjB4Q,EAAOvc,YAAYtd,SAASqgB,eAAe,MAC3Cte,EAAKg4B,UAAUpwB,MAAMqwB,YAAc,MACnCJ,EAAMtc,YAAYtd,SAAS4D,cAAc,OACzCg2B,EAAMG,UAAUpwB,MAAMqwB,YAAc,MACpChnB,EAAGsK,YAAYtd,SAAS4D,cAAc,OACtCoP,EAAG+mB,UAAUpwB,MAAMqwB,YAAc,MACjClN,EAAKxP,YAAYtd,SAAS4D,cAAc,OACxCkpB,EAAKiN,UAAUpwB,MAAMqwB,YAAc,OAoEvC,SAASC,KACP,GAAyB,IAArB7S,EAAU8S,QAAgBrJ,IAAkC,IAAjBtJ,KAAKkP,QAAe,CACjE,IAAI0D,EAAQ,EACZj1B,OAAO6C,KAAK8oB,IAAe8F,SAASj1B,IAClC,IAmBI04B,EAnBArzB,EAASwgB,KAAK6O,QACG,IAAjB7O,KAAKkP,QACPrM,EAAmBrjB,EAEnBA,EAASqjB,EAEI,IAAXrjB,IAAcA,EAAS8pB,IACZ,KAAX9pB,IAAeA,EAAS+pB,IACb,MAAX/pB,IAAgBA,EAASgqB,IAC7BoJ,GAAS,EACTrnB,EAAE,YAAYvO,WAAWA,WAAWwzB,WAAW,GAAGA,WAChDoC,GACApC,WAAW,GAAGhzB,YAAcwiB,KAAKuN,QAAQpzB,GAAGo0B,OAC9ChjB,EAAE,YAAYvO,WAAWA,WAAWwzB,WAAW,GAAGA,WAChDoC,GACAp1B,YAAc0mB,GAA4B1kB,EAAOrF,GAAGk4B,MAAO,GAC7D9mB,EAAE,YAAYvO,WAAWA,WAAWwzB,WAAW,GAAGA,WAChDoC,GACAh4B,UAAY8mB,EAAgBliB,EAAOrF,GAAG4N,MAGtC8qB,EADEhT,EAAUiT,cACDxN,GAAW5iB,KAAKC,MAAMnD,EAAOrF,GAAGsR,KAC7ByY,GAA4BxhB,KAAKC,MAAMnD,EAAOrF,GAAGsR,IAAK,GACtEF,EAAE,YAAYvO,WAAWA,WAAWwzB,WAAW,GAAGA,WAChDoC,GACAp1B,YAAcq1B,EAChB,MAAME,EAAapN,IAChB3F,KAAKuN,QAAQpzB,GAAG64B,WAAahT,KAAKiT,QAAU3B,OAC3CN,MAEJzlB,EAAE,YAAYvO,WAAWA,WAAWwzB,WAAW,GAAGA,WAChDoC,GACAh4B,UAAY8mB,EAAgBqR,EAAWhrB,MAEnB,UAApBgrB,EAAWnN,MACX5F,KAAKiT,QAAUjT,KAAKuN,QAAQpzB,GAAG64B,UAE/BznB,EAAE,YAAYvO,WAAWA,WAAWwzB,WAAW,GAAGA,WAChDoC,GACAp1B,YAAc,GAAGu1B,EAAWnN,oBAE9Bra,EAAE,YAAYvO,WAAWA,WAAWwzB,WAAW,GAAGA,WAChDoC,GACAp1B,YAAcu1B,EAAWnN,SAWnC,SAASsN,KACPlT,KAAKmT,WAAWhrB,OAAOG,MAAQ0X,KAAKmT,WAAWhrB,OAAOmR,WAAWxU,YACjEkb,KAAKmT,WAAWhrB,OAAOI,OACrByX,KAAKmT,WAAWhrB,OAAOmR,WAAWvU,aACpCib,KAAKoT,eAAejrB,OAAOG,MACzB0X,KAAKoT,eAAejrB,OAAOmR,WAAWxU,YACxCkb,KAAKoT,eAAejrB,OAAOI,OACzByX,KAAKoT,eAAejrB,OAAOmR,WAAWvU,aAY1C,SAASsuB,KAEgB,IAArBxT,EAAU8S,QACa,IAAvB9S,EAAUyT,UACgB,IAA1BzT,EAAU0T,aAEVhoB,EAAE,YAAYnJ,MAAMkW,OAAS/M,EAAE,cAAcnJ,MAAMmG,OACnDgD,EAAE,QAAQnJ,MAAMkW,OAAS,GACvBqM,OAAOpZ,EAAE,cAAcnJ,MAAMmG,OAAOxH,QAAQ,KAAM,KAAO,QAE7B,IAArB8e,EAAU8S,QACnBpnB,EAAE,YAAYnJ,MAAMkW,OAAS,MAC7B/M,EAAE,QAAQnJ,MAAMkW,OAAS,QACO,IAAvBuH,EAAUyT,UAA4C,IAA1BzT,EAAU0T,YAC/ChoB,EAAE,QAAQnJ,MAAMkW,OAAS/M,EAAE,cAAcnJ,MAAMmG,OAG/CgD,EAAE,QAAQnJ,MAAMkW,OAAS,MAGA,IAAvBuH,EAAUyT,UAA4C,IAA1BzT,EAAU0T,YACxChoB,EAAE,eAAenJ,MAAMsC,IAAM6G,EAAE,cAAcnJ,MAAMmG,OAEnDgD,EAAE,eAAenJ,MAAMsC,IAAM,GAG/BwuB,KAMF,SAASM,KACoB,IAAvB3T,EAAUyT,SAAgB/nB,EAAE,cAAcnJ,MAAMqV,QAAU,GACzDlM,EAAE,cAAcnJ,MAAMqV,QAAU,OACrC4b,KAoPF,SAASI,KACPzL,GAAkBhI,KAAK0T,WACvBzL,GAAmBjI,KAAK2T,YAS1B,SAASC,GAAgBC,GACvB,MAAMxD,EAAKrQ,KAAK8T,aAAaD,GACvBE,EAAM,GAEZ,OADAA,EAAIr1B,KAAO2xB,EAAG3xB,KACPq1B,EAUT,SAASC,GAAoB3D,GAC3B,IAAI4D,EAAO,EAoBX,GAnBAt2B,OAAO6C,KAAK6vB,EAAG6D,gBAAgB9E,SAASj1B,KAEnC6lB,KAAKmU,MAAM9D,EAAG6D,eAAe/5B,GAAG8yB,MAAMmH,SACvCvH,GAAOwD,EAAG6D,eAAe/5B,GAAGuE,QAE5Bu1B,GAAQ,MAEZt2B,OAAO6C,KAAK6vB,EAAGgE,WAAWjF,SAASj1B,IACjC,GAAI0yB,GAAOwD,EAAGgE,UAAUl6B,GAAGuE,MAAO,CAChC,MAAM41B,EAAMjE,EAAGgE,UAAUl6B,GACrBm6B,EAAIC,aAAa71B,OAAS2xB,EAAG3xB,KAC/Bu1B,GAAQ,EAAI,IAAOK,EAAIE,aAAajG,OAC7B+F,EAAIE,aAAa91B,OAAS2xB,EAAG3xB,OACpCu1B,GAAQ,EAAI,KAAQK,EAAIC,aAAahG,YAGvC8B,EAAGrC,SAAWnB,GAAOwD,EAAGrC,QAAQtvB,QAAOu1B,GAAQ,MAC/C5D,EAAGoE,SAAW5H,GAAOwD,EAAGoE,QAAQ/1B,QAClCu1B,GAAQ,EAAgC,IAA5B9H,GAAWuI,QAAQnG,QAAiB,GAAK8B,EAAG3C,GAAK,KACnB,iBAAjC2C,EAAG6D,eAAeS,YACR,IAAftE,EAAGuE,SAAiB/H,GAAOwD,EAAG6D,eAAeS,WAAWj2B,MAC1D,OAAQshB,KAAKC,YACX,QACEgU,GAAQ,EACR,MACF,KAAK,EACHA,GAAQ,KACR,MACF,KAAK,EACHA,GAAQ,KACR,MACF,KAAK,EACHA,GAAQ,KAKhB,OAAOA,EAiBT,SAASY,GAAoBzC,GAC3B,MAAM/B,EAAKrQ,KAAKuN,QAAQ6E,GAClB2B,EAAM,GA2FZ,MA1FgB,WAAZ1D,EAAG3xB,KACLq1B,EAAIe,IAAM,SAAUhI,GAClB,IAAIxrB,EAAM,EACNurB,GAAO,sBAAqBvrB,GAAO,IACnCurB,GAAO,qBAAoBvrB,GAAO,GAClCurB,GAAO,qBAAoBvrB,GAAO,IAClCurB,GAAO,sBAAqBvrB,GAAO,IACnCurB,GAAO,yBAAwBvrB,GAAO,IACtCurB,GAAO,yBAAwBvrB,GAAO,IACtCurB,GAAO,wBAAuBvrB,GAAO,IACrCurB,GAAO,wBAAuBvrB,GAAO,IACrCurB,GAAO,uBAAsBvrB,GAAO,IACpCurB,GAAO,uBAAsBvrB,GAAO,IACxC,IAAI2yB,EAAO,EACP9P,EAAM,EAQV,OAPAxmB,OAAO6C,KAAK2rB,IAAYiD,SAASj1B,IACJ,WAAvBgyB,GAAWhyB,GAAGuE,OAAmBylB,GAAOgI,GAAWhyB,GAAGo0B,WAE5DjtB,GAAO6iB,EACP8P,GAAQD,GAAoBlH,GAC5BmH,GAAQjU,KAAK+U,SAAS,UACtBd,GAAQtH,GAAO,aAEb3M,KAAKgV,WACH,GACAnI,GAAO,2BACLA,GAAO,kCACPA,GAAO,gBACTvrB,GACE2yB,GAGa,YAAZ5D,EAAG3xB,KACZq1B,EAAIe,IAAM,SAAUhI,GAClB,IAAImH,EAAO,EAYX,GAXAt2B,OAAO6C,KAAKwf,KAAKiV,kBAAkB7F,SAASj1B,IACtC0yB,GAAO7M,KAAKiV,iBAAiB96B,MAAK85B,GAAQ,MAE5CpH,GAAO,oCAAmCoH,GAAQ,GAClDpH,GAAO,yBAAwBoH,GAAQ,GACvCpH,GAAO,kBAAiBoH,GAAQ,GAEhCpH,GAAO,wBAAuBoH,GAAQ,MAE1CA,GAAQtH,GAAO,cAEXE,GAAO,cACT,IAAK,IAAI1yB,EAAI,EAAGA,EAAI6lB,KAAKkV,eAAeC,OAAO/6B,OAAQD,IACjD0yB,GAAO7M,KAAKkV,eAAeC,OAAOh7B,GAAGuE,QAAOu1B,GAAQ,MAI5DA,GAAQD,GAAoBlH,GAE5B,IAAIxrB,EAAM,EACNurB,GAAO,cAAavrB,GAAmC,IAA5B6qB,GAAWuI,QAAQnG,QAC9C1B,GAAO,yBACTvrB,GAAmC,IAA5B6qB,GAAWuI,QAAQnG,QACxB1B,GAAO,gBAAevrB,GAAkC,IAA3B6qB,GAAWiJ,OAAO7G,QAEnD,IAAIpK,EAAM,EASV,OARAxmB,OAAO6C,KAAK2rB,IAAYiD,SAASj1B,IACJ,YAAvBgyB,GAAWhyB,GAAGuE,OAAoBylB,GAAOgI,GAAWhyB,GAAGo0B,WAG7D0F,GAAQ,EAAqC,IAAjC3H,GAAY,mBAA4BnI,EAEpD8P,GAAQjU,KAAK+U,SAAS1E,EAAG3xB,OAEjB2xB,EAAGgF,QAAU/zB,GAAO2yB,GAG9BF,EAAIe,IAAM,SAAUhI,GAClB,IAAImH,EAAO,EAGX,OAFAA,GAAQD,GAAoBlH,GAC5BmH,GAAQjU,KAAK+U,SAASjI,EAAGpuB,MAClBouB,EAAGwI,QAAUrB,GAKxBF,EAAIsB,QAAUhF,EAAGgF,QACjBtB,EAAIr1B,KAAO2xB,EAAG3xB,KACdq1B,EAAIG,eAAiB7D,EAAG6D,eACxBH,EAAIM,UAAYhE,EAAGgE,UACnBN,EAAI/F,QAAUqC,EAAGrC,QACjB+F,EAAIU,QAAUpE,EAAGoE,QACjBV,EAAIuB,QAAUjF,EAAGgF,QACjBtB,EAAIrG,GAAK2C,EAAG3C,GACZqG,EAAIa,QAAUvE,EAAGuE,QACVb,EAaT,SAASwB,GAAYC,GACnB,MAAMnF,EAAKrQ,KAAKyV,SAASD,GACnBzB,EAAM,GA4BZ,OA1BAA,EAAI2B,MAAQrF,EAAGqF,MACU,mBAAd3B,EAAI2B,QACG,0BAAZrF,EAAG3xB,KACLq1B,EAAI2B,MAAQ,WACV,IAAIt4B,EAAI,EAIR,OAHAO,OAAO6C,KAAK2rB,IAAYiD,SAASj1B,IAC3BgyB,GAAWhyB,GAAGw7B,OAAS,KAAIv4B,GAAK,MAE/BA,GAGT22B,EAAI2B,MAAQ,WACV,IAAIE,EAAM,EAEV,GADI/I,GAAO,cAAa+I,EAAM,GAC1B5V,KAAKoN,OAAQ,CACf,MAAMc,EAASf,GAAU,WACV,IAAXe,EAAc0H,GAAO,IACL,IAAX1H,EAAc0H,GAAO,IACV,IAAX1H,IAAc0H,GAAO,KAEhC,OAAOA,IAIb7B,EAAI/G,KAAOqD,EAAGrD,KACd+G,EAAIr1B,KAAO2xB,EAAG3xB,KACPq1B,EAiBT,SAAS8B,KAEP3O,GAAmBlH,KAAK8V,cACxB3O,GAAanH,KAAK+V,QAClB3O,GAAuBpH,KAAKgW,kBAC5B3O,GAAmBrH,KAAKiW,cACxB3O,GAActH,KAAKkW,SAGnBv4B,OAAO6C,KAAKwf,KAAKuN,SAAS6B,SAASj1B,IACjC,MAAMk2B,EAAKrQ,KAAKuN,QAAQpzB,GACxB,IAAI45B,EAAM5H,GAAWhyB,QACTI,IAARw5B,IAEF5H,GAAWhyB,GAAK06B,GAAoB16B,GACpC45B,EAAM5H,GAAWhyB,GACjBg4B,GAA2Bh4B,IAE7B45B,EAAIxF,OAAS8B,EAAG9B,OAChBwF,EAAI4B,MAAQtF,EAAGsF,MACf5B,EAAIoC,aAAe9F,EAAG8F,aACtBpC,EAAI1F,UAAYgC,EAAGhC,UACnB0F,EAAIzF,KAAO+B,EAAG/B,KACV+B,EAAGpC,iBACW,WAAZoC,EAAG3xB,OACL+oB,GAAU4I,EAAG/C,SAAS8I,KAAK,GAC3B1O,GAAU2I,EAAG/C,SAAS8I,KAAK,GAC3BzO,GAAU0I,EAAG/C,SAAS8I,KAAK,IAE7BrC,EAAI9F,eAAiBoC,EAAGpC,eACxB8F,EAAIzG,SAAW+C,EAAG/C,UAEpBnB,GAAWhyB,GAAK45B,KAIlBp2B,OAAO6C,KAAKwf,KAAKyV,UAAUrG,SAASj1B,IAClC,MAAMk2B,EAAKrQ,KAAKyV,SAASt7B,GACzB,IAAI45B,EAAM3H,GAAYjyB,QACVI,IAARw5B,IACF3H,GAAYjyB,GAAKo7B,GAAYp7B,GAC7B45B,EAAM3H,GAAYjyB,IAEpB45B,EAAI7G,OAASmD,EAAGnD,OAChBd,GAAYjyB,GAAK45B,KAInBp2B,OAAO6C,KAAKwf,KAAK8T,cAAc1E,SAASj1B,IACtC,MAAMk2B,EAAKrQ,KAAK8T,aAAa35B,GAC7B,IAAI45B,EAAM1H,GAAgBlyB,QACdI,IAARw5B,IACF1H,GAAgBlyB,GAAKy5B,GAAgBz5B,GACrC45B,EAAM1H,GAAgBlyB,IAExB45B,EAAIsC,IAAMhG,EAAGgG,IACbhK,GAAgBlyB,GAAK45B,KAIvBN,KACAlM,GAAgBS,GAChBR,GAAiBS,GA8BnB,SAASqO,GAAoB1Q,GAC3B,MAAM6K,EAAMh4B,SAAS4D,cAAc,OAKnC,OAJAo0B,EAAIruB,MAAMm0B,WAAa,OACvB9F,EAAI/C,GAAK,GAAG9H,SACZ6K,EAAI71B,UAAY8mB,aAChB+O,EAAIjzB,YAAcooB,EACX6K,EAmHT,SAAS+F,GAAgCC,GACvCA,EAAQ1gB,YAAYugB,GAAoB,iBACxC,MAAMI,EAASj+B,SAAS4D,cAAc,OACtCq6B,EAAOt0B,MAAMu0B,aAAe,MAC5BD,EAAOt0B,MAAM2F,MAAQ,QACrB2uB,EAAOhJ,GAAK,kBACZ+I,EAAQ1gB,YAAY2gB,GAEpBD,EAAQ1gB,YAAYugB,GAAoB,4BACxCG,EAAQjE,UAAUpwB,MAAMqV,QAAU,OAClC,MAAMmf,EAAQn+B,SAAS4D,cAAc,OACrCu6B,EAAMx0B,MAAMu0B,aAAe,MAC3BC,EAAMx0B,MAAM2F,MAAQ,QACpB6uB,EAAMx0B,MAAMqV,QAAU,OACtBmf,EAAMlJ,GAAK,0BACX+I,EAAQ1gB,YAAY6gB,GAEpBH,EAAQ1gB,YAAYugB,GAAoB,mBACxC,MAAM7qB,EAAKhT,SAAS4D,cAAc,OAClCoP,EAAGrJ,MAAMu0B,aAAe,MACxBlrB,EAAGiiB,GAAK,cACR+I,EAAQ1gB,YAAYtK,GAEpBgrB,EAAQ1gB,YAAYugB,GAAoB,cACxC,MAAM/Q,EAAO9sB,SAAS4D,cAAc,OAIpC,GAHAkpB,EAAKmI,GAAK,gBACV+I,EAAQ1gB,YAAYwP,GAEA,MAAhB5B,GAAqB,CACvB8S,EAAQ1gB,YACNugB,GAAoB,0CAEtBG,EAAQjE,UAAU9E,GAAK,4BACvB,MAAMmJ,EAAap+B,SAAS4D,cAAc,OAC1Cw6B,EAAWnJ,GAAK,sBAChB+I,EAAQ1gB,YAAY8gB,IA+JxB,SAASC,GACPC,EACAC,EACAC,GAEA,IAAIC,EAAQH,EACRnE,EAAQ,EACZ,KAAOsE,EAAQD,GACbC,GAAqE,KAA5Dx0B,KAAK6D,IAAI,MAAQ2wB,EAAQx0B,KAAK6D,IAAIywB,EAAU,OAAS,IAC9DpE,GAAS,EAEX,OAAOA,EAAQ5S,KAAKmX,IA0XtB,SAASC,KACP,IAAInD,EAAO,EAKX,OAJAt2B,OAAO6C,KAAKwf,KAAKqX,OAAOjI,SAASj1B,SACM,IAA1B6lB,KAAKqX,MAAMl9B,GAAGm9B,UACvBrD,GAAQjU,KAAKqX,MAAMl9B,GAAGm9B,YAEnBrD,EAWT,SAASsD,KACiC,OAApChsB,EAAE,gCAC0B,IAA1BsU,EAAU2X,aACZjsB,EAAE,8BAA8BnJ,MAAMsC,IAAM,OAC5C6G,EAAE,8BAA8BnJ,MAAMsvB,OAAS,WAC/CnmB,EAAE,8BAA8BnJ,MAAMwK,QAAU,YAEhDrB,EAAE,8BAA8BnJ,MAAMkI,MAAQ,OAC9CiB,EAAE,8BAA8BnJ,MAAMsvB,OAAS,MAC/CnmB,EAAE,8BAA8BnJ,MAAMwK,QAAU,YA0LtD,SAAS6qB,KAEP,GADA5B,KACyC,SAArCtqB,EAAE,iBAAiBnJ,MAAMqV,SAAsBlM,EAAE,iBAAkB,CACrEA,EAAE,iBAAiBoM,UAAY,GAC/B,MAAM+f,EAx6BV,WACEnsB,EAAE,WAAWvO,WAAWoF,MAAMu1B,cAAgB,MAC9C,MAAMD,EAAaj/B,SAAS4D,cAAc,OAM1C,OALAq7B,EAAWt1B,MAAM0U,OAAS,YAC1B4gB,EAAWt1B,MAAMwK,QAAU,MAC3B8qB,EAAWt1B,MAAMsvB,OAAS,WAC1BgG,EAAWhK,GAAK,kBAChBgK,EAAW98B,UAAY8mB,aAChBgW,EAg6BcE,GACnBrsB,EAAE,iBAAiBwK,YAAY2hB,GAEX,MAAhB/T,GA9uBR,WACE,GAAsC,IAAlC9D,EAAUgY,qBAA8C,IAAjB7X,KAAKkP,QAAe,CAI7D,IAAI1vB,EAaJ,GAfAg3B,GADmBjrB,EAAE,oBAIA,IAAjByU,KAAKkP,QACPnM,EAA4BvjB,EAE5BA,EAASujB,EAEU,IAAjB/C,KAAK6O,QAAervB,EAAS8pB,GACP,KAAjBtJ,KAAK6O,QAAgBrvB,EAAS+pB,GACb,MAAjBvJ,KAAK6O,UAAiBrvB,EAASgqB,IAExC/F,EAAezD,KAAKuN,QAAQ3J,IAAaoP,UACzCtP,GAAqBlkB,EAAOokB,IAAayO,MAEH,IAAlCxS,EAAUgY,qBAA8C,IAAjB7X,KAAKkP,QAAe,CAC7D3jB,EAAE,mBAAmB/N,YAAc0mB,GAA4BR,GAAoB,GACnF,MAAMoU,EAAWp1B,KAAKC,MACnB+gB,GAAqB1D,KAAKmR,UAAa,KAEtCxM,OAAOC,SAASkT,IAA0B,IAAbA,EAC/BvsB,EAAE,mBAAmB/N,aAAe,KAAKs6B,EAAW,kBAEpDvsB,EAAE,mBAAmB/N,aAAe,OAClCqiB,EAAUkF,eAAiB,IAAM,oBAGrCxZ,EAAE,mBAAmB3Q,UACnB8mB,EAAgBliB,EAAOokB,IAAa7b,MAClC8X,EAAUiT,cACZvnB,EAAE,eAAe/N,YAAc8nB,GAAW9lB,EAAOokB,IAAanY,IAC3DF,EAAE,eAAe/N,YAAc0mB,GAA4B1kB,EAAOokB,IAAanY,GAAI,GACxFF,EAAE,eAAe3Q,UAAY8mB,EAAgBliB,EAAOokB,IAAa7b,MACjE,MAAMgrB,EAAapN,IAChBlC,GAAgBzD,KAAKiT,QAAU3B,OAAyBN,MAE3DzlB,EAAE,iBAAiB/N,YAAcu1B,EAAWnN,KAEtB,UAApBmN,EAAWnN,MACX5F,KAAKiT,QAAUzzB,EAAOokB,IAAaiK,MAEnCtiB,EAAE,iBAAiB/N,YAAc,GAAGu1B,EAAWnN,oBAC1Cra,EAAE,iBAAiB/N,YAAcu1B,EAAWnN,KACnDra,EAAE,iBAAiB3Q,UAAY8mB,EAAgBqR,EAAWhrB,MAI5DwD,EAAE,6BAA6BnJ,MAAMqV,QAAU,OAC/ClM,EAAE,iBAAiBnJ,MAAMu0B,aAAe,MAIxC,IAAK,MAAMx8B,KAAKwD,OAAO6C,KAAKwf,KAAKuN,QAAQ3J,IAAamU,mBACpD,IACG/X,KAAKgY,UACJhY,KAAKuN,QAAQ3J,IAAamU,kBAAkB59B,GAAG89B,OAAOv5B,MAExD,CACA,MAAMw5B,EACJlY,KAAKuN,QAAQ3J,IAAamU,kBAAkB59B,GAC9CoR,EAAE,iBAAiBnJ,MAAMu0B,aAAe,MACxCprB,EAAE,6BAA6BnJ,MAAMqV,QAAU,GAC/ClM,EAAE,uBAAuB3Q,UAAY,kBAAkBgpB,KACvDrY,EAAE,uBAAuB/N,YAAc0mB,GACrCgU,EAAqBtC,IAAMzJ,GAAWvI,IAAauS,aACnD,IAEF5qB,EAAE,uBAAuBnJ,MAAM2F,MAAQ,QACvC,YAGCwD,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAqqBtC0gB,GACyB,MAAhBxU,GA5Tf,WAYE,GAVA6S,GADmBjrB,EAAE,oBAGrBmY,GACEoG,GAAc9J,KAAKoQ,gBAAgBxM,IAAallB,MAAM2zB,MACxD5O,EAAezD,KAAKyV,SAClBzV,KAAKoQ,gBAAgBxM,IAAallB,MAClC05B,WACFvU,GACEiG,GAAc9J,KAAKoQ,gBAAgBxM,IAAallB,MAAM25B,WAElB,IAAlCxY,EAAUgY,oBAA2B,CACvCtsB,EAAE,mBAAmB/N,YAAc0mB,GAA4BR,GAAoB,GACnF,MAAMoU,EAAWp1B,KAAKC,MAAO+gB,GAAqB1D,KAAKmR,UAAa,KAG7B,MAArC5lB,EAAE,mBAAmB/N,aACJ,MAAhBmmB,IAAuC,MAAhBA,IAOpBgB,OAAOC,SAASkT,IAA0B,IAAbA,EAC/BvsB,EAAE,mBAAmB/N,aAAe,KAAKs6B,EAAW,kBAEpDvsB,EAAE,mBAAmB/N,aAAe,OAClCqiB,EAAUkF,eAAiB,IAAM,oBAGrCxZ,EAAE,mBAAmB3Q,UACnB8mB,EACAoI,GAAc9J,KAAKoQ,gBAAgBxM,IAAallB,MAAMqJ,MAEpD8b,KACFtY,EAAE,2BAA2B/N,YAAc0mB,GAA4BL,IACvEtY,EAAE,2BAA2BnJ,MAAMqV,QAAU,QAC7ClM,EAAE,2BAA2B+sB,gBAAgBl2B,MAAMqV,QAAU,SAGpC,IAAvBiM,IAA4BG,IAC9BtY,EAAE,eAAe/N,YAAc,GAAG0mB,GAChCT,EAAeI,aAEjBtY,EAAE,eAAenJ,MAAM2F,MAAQ,UAE3B8X,EAAUiT,cACZvnB,EAAE,eAAe/N,YAAc8nB,GAC7BwE,GAAc9J,KAAKoQ,gBAAgBxM,IAAallB,MAAM+M,IAGxDF,EAAE,eAAe/N,YAAc0mB,GAC7B4F,GAAc9J,KAAKoQ,gBAAgBxM,IAAallB,MAAM+M,GACtD,GAEJF,EAAE,eAAe3Q,UACf8mB,EACAoI,GAAc9J,KAAKoQ,gBAAgBxM,IAAallB,MAAMqJ,SAvC1DwD,EAAE,qBAAqBnJ,MAAMqV,QAAU,OACvClM,EAAE,mBAAmBnJ,MAAMqV,QAAU,OACrClM,EAAE,uBAAuBnJ,MAAMqV,QAAU,OACzClM,EAAE,eAAenJ,MAAMqV,QAAU,QAuCnC,MAAMsb,EAAapN,IAChBlC,GAAgBzD,KAAKiT,QAAU3B,OAAyBN,MAY3D,GAVAzlB,EAAE,iBAAiB/N,YAAcu1B,EAAWnN,KAEtB,UAApBmN,EAAWnN,MACX5F,KAAKiT,QAAUjT,KAAKoQ,gBAAgBxM,IAAawU,WAEjD7sB,EAAE,iBAAiB/N,YAAc,GAAGu1B,EAAWnN,oBAC1Cra,EAAE,iBAAiB/N,YAAcu1B,EAAWnN,KACnDra,EAAE,iBAAiB3Q,UAAY8mB,EAAgBqR,EAAWhrB,MAGX,kBAA3CiY,KAAKoQ,gBAAgBxM,IAAallB,KAA0B,CAC9D6M,EAAE,mBAAmBinB,UAAUpwB,MAAMu0B,aAAe,MACpDprB,EAAE,mBAAmBwK,YACnBugB,GAAoB,yCAEtB,MAAMiC,EAAY9/B,SAAS4D,cAAc,OACzCk8B,EAAUn2B,MAAM2F,MAAQ,QACxBwwB,EAAU/6B,YAAc,GAAG0mB,GAA2C,IAAflE,KAAKiT,cAAqB/O,GAC/EmF,MAEF9d,EAAE,mBAAmBwK,YAAYwiB,SAE9BhtB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAsOtC+gB,GACyB,MAAhB7U,GAzVf,WACE,GAA8B,IAA1B9D,EAAU4Y,YAAmB,CAC/B,MAAMf,EAAansB,EAAE,mBAErBmsB,EAAW3hB,YAAYugB,GAAoB,uBAE3C,MAAMoC,EAAWjgC,SAAS4D,cAAc,OACxCq8B,EAAShL,GAAK,gBACdgK,EAAW3hB,YAAY2iB,GACvB,MAAMC,EApCK,KADQn+B,EAqCcwlB,KAAK4Y,iBAnC/B,CAAEhT,KAAM,SAAU7d,MAAOma,GAErB,IAAT1nB,EACK,CAAEorB,KAAM,aAAc7d,MAAO8Z,GAEzB,IAATrnB,EACK,CAAEorB,KAAM,SAAU7d,MAAO+Z,GAErB,IAATtnB,EACK,CAAEorB,KAAM,QAAS7d,MAAOga,GAEpB,IAATvnB,EACK,CAAEorB,KAAM,cAAe7d,MAAOka,GAEhC,CAAE2D,KAAM,qBAAsB7d,MAAOia,GAsB1C0W,EAASl7B,YAAcm7B,EAAW/S,KAClC8S,EAAS99B,UAAY8mB,EAAgBiX,EAAW5wB,WAC3CwD,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAxC5C,IAAuBjd,EAsXjBq+B,GACyB,MAAhBlV,GA3kBf,WACE,MAAM2J,SAAEA,GAAatN,KAAKuN,QAAQ,gBAC5BuL,EAAYxL,EAASyL,aAAazL,EAAS0L,WAAWpV,KAE5D,GAA8B,IAA1B/D,EAAUoZ,aAAqBH,GAAaxL,EAAS4L,OAAQ,CAC/D,MAAMxB,EAAansB,EAAE,mBAGrBmsB,EAAW3hB,YAAYugB,GAAoB,cAC3C,MAAM/Q,EAAO9sB,SAAS4D,cAAc,OACpCkpB,EAAKmI,GAAK,gBACVgK,EAAW3hB,YAAYwP,GACvB,MAAMwN,EAAapN,GACjBmR,GAA4BxJ,EAAS4J,MAAO5J,EAAS4L,OAAQJ,IAM/D,GAJAvT,EAAK/nB,YAAcu1B,EAAWnN,KAC9BL,EAAK3qB,UAAY8mB,EAAgBqR,EAAWhrB,MAGxC+wB,GAAaxL,EAAS4J,MAAO,CAC/BQ,EAAW3hB,YAAYugB,GAAoB,iBAC3C,MAAM6C,EAAU1gC,SAAS4D,cAAc,OACvC88B,EAAQzL,GAAK,mBACbgK,EAAW3hB,YAAYojB,GACvB,MAAMC,EAAgBzT,GACpBmR,GACEp0B,KAAK6D,IAAI,EAAG+mB,EAAS4J,MAAQ4B,GAC7BxL,EAAS4L,OACT5L,EAAS4J,QAGbiC,EAAQ37B,YAAc47B,EAAcxT,KACpCuT,EAAQv+B,UAAY8mB,EAAgB0X,EAAcrxB,MAIpD,GAAoB,MAAhB6b,GAAqB,CACvB8T,EAAW3hB,YACTugB,GAAoB,8BAEtB,MAAM+C,EAAU5gC,SAAS4D,cAAc,OACvCg9B,EAAQ3L,GAAK,IACbgK,EAAW3hB,YAAYsjB,GACvB,MAAMC,EAAS7gC,SAAS4D,cAAc,QACtCi9B,EAAOl3B,MAAM2F,MAAQ,UACrBuxB,EAAO97B,YAAc0mB,GACnBxhB,KAAK2D,IACqC,KAAvC2Z,KAAKiT,QAAU3B,MACa,GAA7BxI,GAAkC,IAEpC,GAEFuQ,EAAQtjB,YAAYujB,GACpB,MAAMC,EAAY9gC,SAAS4D,cAAc,QACzCk9B,EAAU/7B,YAAc,MACxB67B,EAAQtjB,YAAYwjB,GACpB,MAAMC,EAAO/gC,SAAS4D,cAAc,QACpCm9B,EAAKp3B,MAAM2F,MAAQ,MACnByxB,EAAKh8B,YAAc0mB,GAAyD,GAA7B4E,GAAkC,GAAI,GACrFuQ,EAAQtjB,YAAYyjB,GAGtBjuB,EAAE,iBAAiBwK,YAAY2hB,QAC1BnsB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OA6gBtCgiB,GACyB,MAAhB9V,GA/pBf,WACE,MAAM2J,SAAEA,GAAatN,KAAKuN,QAAQmM,KAClC,GACE7Z,EAAU8Z,cAC2C,IAArDrM,EAASsM,KAAKhW,GAAY,IAAIA,GAAY,IAAI,GAC9C,CACA,MAAMiW,EACJvM,EAASsM,KAAKhW,GAAY,IAAIA,GAAY,IAAI,GAC9C0J,EAASwM,WAAWxM,EAASsM,KAAKhW,GAAY,IAAIA,GAAY,IAAI,GAAK,GACpEiW,OACCE,EACJzM,EAASwM,WAAWxM,EAASsM,KAAKhW,GAAY,IAAIA,GAAY,IAAI,GAAK,GACpEllB,KACL6M,EAAE,mBAAmBwK,YACnBugB,GAAoB,+BAEtB,MAAMgD,EAAS7gC,SAAS4D,cAAc,OACtCi9B,EAAO5L,GAAK,uBACZniB,EAAE,mBAAmBwK,YAAYujB,GACf,cAAdS,EACFxuB,EAAE,wBAAwB/N,YAAc,GACtCq8B,EACI3V,GAA4BxhB,KAAK2D,IAAmB,IAAf2Z,KAAKiT,QAAiC,GAAjBjT,KAAKmR,UAAiB,KAChF,SACAjN,GAA6C,GAAjBlE,KAAKmR,UAAiB,MACjC,cAAd4I,GAA2C,oBAAdA,EACtCxuB,EAAE,wBAAwB/N,YAAc,GACtCq8B,EACI3V,GAA4BxhB,KAAK2D,IAAmB,IAAf2Z,KAAKiT,QAAiC,GAAjBjT,KAAKmR,UAAiB,IAChF,SACAjN,GAA6C,GAAjBlE,KAAKmR,UAAiB,KACjC,cAAd4I,EACTxuB,EAAE,wBAAwB/N,YAAc,GACtCq8B,EACI3V,GAA4BxhB,KAAK2D,IAAmB,IAAf2Z,KAAKiT,QAAiC,GAAjBjT,KAAKmR,UAAiB,KAChF,SACAjN,GAA6C,GAAjBlE,KAAKmR,UAAiB,MACjC,cAAd4I,EACTxuB,EAAE,wBAAwB/N,YAAc,GACtCq8B,EACI3V,GAA4BxhB,KAAK2D,IAAmB,IAAf2Z,KAAKiT,QAAiC,GAAjBjT,KAAKmR,UAAiB,MAChF,SACAjN,GAA6C,GAAjBlE,KAAKmR,UAAiB,OACnD5lB,EAAE,iBAAiBnJ,MAAMqV,QAAU,YACrClM,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAonBtCuiB,GACyB,OAAhBrW,GAngBf,WACE,MAAM2J,SAAEA,GAAatN,KAAKuN,QAAQmM,KAClC,GAAI7Z,EAAU4Y,YAAa,CACzBltB,EAAE,mBAAmBwK,YACnBugB,GAAoB,oCAEtB,IAAI2D,EAAY,EACZC,EAAS,EACTla,KAAKxf,KAAK,KAAOwf,KAAKxf,KAAK,MAAK05B,EAAS,GAC7C,IAAK,IAAI51B,EAAI,EAAGA,EAAI,EAAGA,IACrB,IAAK,IAAID,EAAI,EAAGA,EAAI,EAAGA,IACrB,GAAIipB,EAASsM,KAAKt1B,GAAGD,GAAG,IAAM,EAAG,CAC/B,MAAM81B,EAAO7M,EAASsM,KAAKt1B,GAAGD,GACxBgsB,EAAK/C,EAASwM,WAAWK,EAAK,GAAK,GACnCJ,EAAY1J,EAAG3xB,KAErB,IAAIk0B,GAAQ,EACRsH,GAAU7J,EAAG+J,WAAUxH,GAAQ,GAC/BuH,EAAK,GAAK9J,EAAGgK,aAAYzH,GAAQ,GACjCA,GAAuB,cAAdmH,EACXE,GAAav3B,KAAK2D,IACD,IAAf2Z,KAAKiT,QACY,GAAjBjT,KAAKmR,UAAiB,IAGvByB,GAAuB,cAAdmH,GACI,oBAAdA,EAEAE,GAAav3B,KAAK2D,IAAmB,IAAf2Z,KAAKiT,QAAiC,GAAjBjT,KAAKmR,UAAiB,GACxDyB,GAAuB,cAAdmH,EAClBE,GAAav3B,KAAK2D,IACD,IAAf2Z,KAAKiT,QACY,GAAjBjT,KAAKmR,UAAiB,IAEfyB,GAAuB,cAAdmH,IAClBE,GAAav3B,KAAK2D,IACD,IAAf2Z,KAAKiT,QACY,GAAjBjT,KAAKmR,UAAiB,MAMhC5lB,EAAE,mBAAmBwK,YACnBtd,SAASqgB,eAAeoL,GAA4B+V,UAEjD1uB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAsdtC6iB,GACyB,OAAhB3W,GAnDf,WACEpY,EAAE,WAAWoM,UAAY,GACzBpM,EAAE,WAAWwK,YAAYugB,GAAoB,YAE7C,MAAMiE,EAAiB9hC,SAAS4D,cAAc,OAC9Ck+B,EAAe7M,GAAK,mBACA,WAAhB9J,GACF2W,EAAe/8B,YAAc0mB,GAA4BuF,IAChC,eAAhB7F,KACT2W,EAAe/8B,YAAc0mB,GAA4ByF,GAAsB,KAGjFpe,EAAE,WAAWwK,YAAYwkB,GAwCrBC,IAEgB,QAAhB7W,IACiB,QAAhBA,KAA6C,IAApBC,GAAY,KA5c5C,WACE,GAAkC,IAA9B/D,EAAU4a,gBAAuB,CACnC,MAAM/C,EAAansB,EAAE,mBACrB,IAAImvB,EACuBA,EAAP,QAAhB/W,GAA+BC,GAAY,GAClCA,GAGb8T,EAAW3hB,YAAYugB,GAAoB,0BAC3C,MAAMqE,EAAOliC,SAAS4D,cAAc,OAEpC,GADAs+B,EAAKjN,GAAK,6BACkB,IAAxBlC,GAAUkP,GAAO,GAAU,CAC7BC,EAAKn9B,YAAc0mB,GAA4BsH,GAAUkP,GAAO,IAChE,MAAM5C,EAAWp1B,KAAKC,MACnB6oB,GAAUkP,GAAO,GAAK1a,KAAKmR,UAAa,KAEvCxM,OAAOC,SAASkT,IAA0B,IAAbA,EAC/B6C,EAAKn9B,aAAe,KAAKs6B,EAAW,kBAEpC6C,EAAKn9B,aAAe,OAClBqiB,EAAUkF,eAAiB,IAAM,yBAGhC4V,EAAKn9B,YAAc,mBAC1Bk6B,EAAW3hB,YAAY4kB,GAEvBjD,EAAW3hB,YAAYugB,GAAoB,0BAC3C,MAAMsE,EAAOniC,SAAS4D,cAAc,OAEpC,GADAu+B,EAAKlN,GAAK,6BACkB,IAAxBlC,GAAUkP,GAAO,GAAU,CAC7BE,EAAKp9B,YAAc0mB,GAA4BsH,GAAUkP,GAAO,IAChE,MAAM5C,EAAWp1B,KAAKC,MACnB6oB,GAAUkP,GAAO,GAAK1a,KAAKmR,UAAa,KAEvCxM,OAAOC,SAASkT,IAA0B,IAAbA,EAC/B8C,EAAKp9B,aAAe,KAAKs6B,EAAW,kBAEpC8C,EAAKp9B,aAAe,OAClBqiB,EAAUkF,eAAiB,IAAM,yBAGhC6V,EAAKp9B,YAAc,mBAC1Bk6B,EAAW3hB,YAAY6kB,GAEvBlD,EAAW3hB,YAAYugB,GAAoB,0BAC3C,MAAMuE,EAAOpiC,SAAS4D,cAAc,OAEpC,GADAw+B,EAAKnN,GAAK,6BACkB,IAAxBlC,GAAUkP,GAAO,GAAU,CAC7BG,EAAKr9B,YAAc0mB,GAA4BsH,GAAUkP,GAAO,IAChE,MAAM5C,EAAWp1B,KAAKC,MACnB6oB,GAAUkP,GAAO,GAAK1a,KAAKmR,UAAa,KAEvCxM,OAAOC,SAASkT,IAA0B,IAAbA,EAC/B+C,EAAKr9B,aAAe,KAAKs6B,EAAW,kBAEpC+C,EAAKr9B,aAAe,OAClBqiB,EAAUkF,eAAiB,IAAM,yBAGhC8V,EAAKr9B,YAAc,mBAC1Bk6B,EAAW3hB,YAAY8kB,GAEvBtvB,EAAE,iBAAiBwK,YAAY2hB,QAC1BnsB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OA+YtCqjB,GA/LN,WACE,GAAoB,MAAhBnX,IAAuC,MAAhBA,GAAqB,CACgB,OAA1DlrB,SAASsiC,eAAe,gCAC1BxvB,EAAE,iBAAiBwK,YAnuBzB,WACE,MAAMilB,EAAcviC,SAAS4D,cAAc,OAC3C2+B,EAAY54B,MAAMgI,SAAW,WAC7B4wB,EAAY54B,MAAMqV,QAAU,QAC5BujB,EAAY54B,MAAMqC,KAAO,OACzBu2B,EAAY54B,MAAMkW,OAAS,OAC3B0iB,EAAYtN,GAAK,6BAEjB,MAAMuN,EAAS,SACbC,EACAnzB,EACAozB,EACAC,EACAC,GAEA,MAAMnnB,EAAMzb,SAAS4D,cAAc,OACnC6X,EAAIwZ,GAAKwN,EACThnB,EAAI9R,MAAMqV,QAAU,OACpBvD,EAAI9R,MAAMk5B,WAAa,wBACvBpnB,EAAItZ,UAxtDgB,WAwtDcmN,EAClCmM,EAAI9R,MAAMwK,QAAU,MACpBsH,EAAI9R,MAAMqB,WAAa,8BACvB,MAAM83B,EAAW9iC,SAAS4D,cAAc,OACxC6X,EAAI6B,YAAYwlB,GAChB,MAAMC,EAAY/iC,SAAS4D,cAAc,QACzCm/B,EAAU5gC,UAAY8mB,EAAgB3Z,EACtCyzB,EAAUp5B,MAAMm0B,WAAa,OAC7BiF,EAAUh+B,YAAc29B,EACxBI,EAASxlB,YAAYylB,GACrBD,EAASxlB,YAAYtd,SAASqgB,eAAesiB,IAC7C,MAAMK,EAAahjC,SAAS4D,cAAc,OAC1C6X,EAAI6B,YAAY0lB,GAChB,MAAMC,EAAcjjC,SAAS4D,cAAc,QAI3C,OAHAq/B,EAAYhO,GAAK2N,EACjBI,EAAW1lB,YAAYtd,SAASqgB,eAAe,cAC/C2iB,EAAW1lB,YAAY2lB,GAChBxnB,GA+DT,OA5DA8mB,EAAYjlB,YACVklB,EACE,yBACAjZ,EACA,YACA,uFACA,+BAGJgZ,EAAYh+B,WAAWoF,MAAMu0B,aAAe,MAC5CqE,EAAYjlB,YACVklB,EACE,+BACAnZ,EACA,YACA,gGACA,qCAGJkZ,EAAYxI,UAAUpwB,MAAMu0B,aAAe,MAC3CqE,EAAYjlB,YACVklB,EACE,2BACAhZ,EACA,YACA,oGACA,iCAGJ+Y,EAAYxI,UAAUpwB,MAAMu0B,aAAe,MAC3CqE,EAAYjlB,YACVklB,EACE,iCACAhZ,EACA,YACA,6GACA,uCAGJ+Y,EAAYxI,UAAUpwB,MAAMu0B,aAAe,MAC3CqE,EAAYjlB,YACVklB,EACE,2BACAhZ,EACA,YACA,qJACA,iCAGJ+Y,EAAYxI,UAAUpwB,MAAMu0B,aAAe,MAC3CqE,EAAYjlB,YACVklB,EACE,wBACAjZ,EACA,YACA,2EAA2EnC,EAAU8b,8BACrF,8BAIGX,EAgoB4BY,IAC/BrE,MAG4B,IAA1B1X,EAAU2X,YACZjsB,EAAE,8BAA8BnJ,MAAMkI,MAAQ,MAE9CiB,EAAE,8BAA8BnJ,MAAMsC,IAAM,GAC1C6G,EAAE,WAAWxG,iBAGjBwG,EAAE,8BAA8BnJ,MAAMkG,MACpCiD,EAAE,WAAWzG,YAAc,EADiB,KAI9C,MAAMypB,EAASvO,KAAKiT,QAAU3B,KAAuB7N,EAC/CoY,EAAkBhc,EAAUic,YAAcpY,GAAqB,EACrE,IAAIqY,EAAa3T,GACjB,GAA8B,IAA1BvI,EAAUic,YAAmB,CAC/B,IAAIE,EAActY,GAClBsY,GAAe5E,KACf2E,GAA6B,GAAdC,EAAmB,GAAM,IAc1C,GAXgC,IAA5Bnc,EAAUoc,eACR1N,EAASwN,IAA+B,MAAhBpY,IAAwC,IAAjB3D,KAAKkP,UACtD3jB,EAAE,0BAA0BnJ,MAAMqV,QAAU,GAC5ClM,EAAE,8BAA8B/N,YAAc,GAAG0mB,GAC/C6X,EAAaxN,OACTjJ,IACHyW,EAAaxN,IAAWyC,KAAW6K,QAGnCtwB,EAAE,0BAA0BnJ,MAAMqV,QAAU,OAEb,IAAlCoI,EAAUqc,oBAA2B,CACvC,MAAMC,EAAgC,EAAbJ,EAEvBxN,EAAS4N,IACQ,MAAhBxY,IAAwC,IAAjB3D,KAAKkP,UAE7B3jB,EAAE,gCAAgCnJ,MAAMqV,QAAU,GAClDlM,EAAE,oCAAoC/N,YAAc,GAAG0mB,GACrDiY,EAAmB5N,OACfjJ,IACH6W,EAAmB5N,IAAWyC,KAAW6K,QAEvCtwB,EAAE,gCAAgCnJ,MAAMqV,QAAU,YACpDlM,EAAE,gCAAgCnJ,MAAMqV,QAAU,OAEzD,GAAkC,IAA9BoI,EAAUuc,gBAAuB,CACnC,MAAMC,EAA4B,EAAbN,EAEnBxN,EAAS8N,IACQ,MAAhB1Y,IAAwC,IAAjB3D,KAAKkP,UAE7B3jB,EAAE,4BAA4BnJ,MAAMqV,QAAU,GAC9ClM,EAAE,gCAAgC/N,YAAc,GAAG0mB,GACjDmY,EAAe9N,OACXjJ,IACH+W,EAAe9N,IAAWyC,KAAW6K,QAEnCtwB,EAAE,4BAA4BnJ,MAAMqV,QAAU,YAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,OAErD,GAAwC,IAApCoI,EAAUyc,sBAA6B,CACzC,MAAMC,EAAkC,EAAbR,EAAiB,EAE1CxN,EAASgO,IACQ,MAAhB5Y,IAAwC,IAAjB3D,KAAKkP,UAE7B3jB,EAAE,kCAAkCnJ,MAAMqV,QAAU,GACpDlM,EAAE,sCAAsC/N,YAAc,GAAG0mB,GACvDqY,EAAqBhO,OACjBjJ,IACHiX,EAAqBhO,IAAWyC,KAAW6K,QAEzCtwB,EAAE,kCAAkCnJ,MAAMqV,QAAU,YACtDlM,EAAE,kCAAkCnJ,MAAMqV,QAAU,OAG3B,IAA9BoI,EAAU2c,iBACVxc,KAAKuN,QAAQ,gBAAgBU,gBAG3BrF,IACA2F,EAAS3F,KACQ,MAAhBjF,IAAwC,IAAjB3D,KAAKkP,UAE7B3jB,EAAE,4BAA4BnJ,MAAMqV,QAAU,GAC9ClM,EAAE,gCAAgC/N,YAAc,GAAG0mB,GACjD0E,GAAe2F,OACXjJ,IACHsD,GAAe2F,IAAWyC,KAAW6K,QAGrCtwB,EAAE,4BAA4BnJ,MAAMqV,QAAU,OAEjDoI,EAAU8b,aAAe,GAEzBpN,EAAS1O,EAAU8b,aAAe3K,OACjB,MAAhBrN,IAAwC,IAAjB3D,KAAKkP,UAE7B3jB,EAAE,yBAAyBnJ,MAAMqV,QAAU,GAE3ClM,EACE,yBACAkxB,SAAS,GAAGj/B,YAAc,2EAA2EqiB,EAAU8b,8BACjHpwB,EAAE,6BAA6B/N,YAAc,GAAG0mB,GAC9CrE,EAAU8b,aAAe3K,KAAWzC,OAChCjJ,IACHzF,EAAU8b,aAAe3K,KAAWzC,IAClCyC,KAAW6K,QAGbtwB,EAAE,yBAAyBnJ,MAAMqV,QAAU,YACL,OAApClM,EAAE,+BACXA,EAAE,8BAA8B9J,SAyEhCi7B,QACgC,OAAvBnxB,EAAE,kBAE6B,OAApCA,EAAE,+BACJA,EAAE,8BAA8B9J,SA0FtC,SAASk7B,KAEP,GACE3c,KAAK4c,MAAMC,UACX7c,KAAK8c,MAAQ,IAAO,GACJ,UAAhB9c,KAAK+c,QACLld,EAAUmd,MACV,CACA,MAAM/K,EAAQx5B,SAASsiC,eAAe,wBAClC9I,IACFA,EAAMgL,UAAYjd,KAAKkd,QACV,GAAXld,KAAKmX,IAAYnX,KAAKmd,GAAgB,GAAXnd,KAAKmX,KAChC,IA6BN,GAvBAlI,KACAU,KA3hDF,WACE,GAA2B,IAAvB9P,EAAUyT,SAAgB,CAE5B,MAAM8J,EAAiB7xB,EAAE,cAAczG,YAAc,IAE/Cu4B,EAAiB9xB,EAAE,cAAczG,YAAc,IACrD,IAAIw4B,EAAiB,EAIkB,IAArCtd,KAAKud,aAAaC,OAAOC,SACxBzd,KAAK0d,IAAI,uBA+CLnyB,EAAE,gBAAgBnJ,MAAMqV,QAAU,QA7CvClM,EAAE,gBAAgBnJ,MAAMqV,QAAU,GAClClM,EAAE,sBAAsBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MAC3CD,KAAK6D,IACJ,EACAyZ,KAAKud,aAAaC,OAAOG,QAAU3d,KAAKud,aAAaC,OAAOjY,MAE5D6X,EACApd,KAAKud,aAAaC,OAAOI,aAEzB/d,EAAUge,iBAAmB,EAC/BtyB,EAAE,sBAAsB/N,YAAckF,KAAKoL,MACxCkS,KAAKud,aAAaC,OAAOG,QAAU3d,KAAKud,aAAaC,OAAOjY,MAC3DvF,KAAKmX,KAEN5rB,EAAE,sBAAsB/N,YAAc,GAEzCwiB,KAAKud,aAAaC,OAAOG,UAAY3d,KAAKud,aAAaC,OAAOI,SAE9DryB,EAAE,sBAAsBnJ,MAAM2vB,qBAAuB,OACrDxmB,EAAE,sBAAsBnJ,MAAM4vB,wBAA0B,SAExDzmB,EAAE,sBAAsBnJ,MAAM2vB,qBAAuB,GACrDxmB,EAAE,sBAAsBnJ,MAAM4vB,wBAA0B,IAE1DzmB,EAAE,mBAAmBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MACxCD,KAAK2D,IACJ2Z,KAAKud,aAAaC,OAAOI,QAAU5d,KAAKud,aAAaC,OAAOG,QAC5D3d,KAAKud,aAAaC,OAAOI,QAAU5d,KAAKud,aAAaC,OAAOjY,MAE5D6X,EACApd,KAAKud,aAAaC,OAAOI,aAEzB/d,EAAUge,iBAAmB,EAC/BtyB,EAAE,mBAAmB/N,YAAckF,KAAKoL,KACtCpL,KAAK2D,IACH2Z,KAAKud,aAAaC,OAAOI,QAAU5d,KAAKud,aAAaC,OAAOG,QAC5D3d,KAAKud,aAAaC,OAAOI,QAAU5d,KAAKud,aAAaC,OAAOjY,MAC1DvF,KAAKmX,KAER5rB,EAAE,mBAAmB/N,YAAc,GACxC+N,EAAE,oBAAoB/N,YAAckF,KAAKoL,MACtCkS,KAAKud,aAAaC,OAAOI,QAAU5d,KAAKud,aAAaC,OAAOjY,MAC3DvF,KAAKmX,KAETmG,GAAkB,GAKF,cAAhBtd,KAAK8d,QACkC,IAAvC9d,KAAKud,aAAaQ,SAASN,SAE3BlyB,EAAE,iBAAiBnJ,MAAMqV,QAAU,GACnClM,EAAE,uBAAuBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MAC5CD,KAAK6D,IACJ,EACAyZ,KAAKud,aAAaQ,SAASJ,QAAU3d,KAAKud,aAAaQ,SAASxY,MAEhE6X,EACApd,KAAKud,aAAaQ,SAASH,aAE3B/d,EAAUge,iBAAmB,EAC/BtyB,EAAE,uBAAuB/N,YAAckF,KAAKoL,MACzCkS,KAAKud,aAAaQ,SAASJ,QAC1B3d,KAAKud,aAAaQ,SAASxY,MAC3BvF,KAAKmX,KAEN5rB,EAAE,uBAAuB/N,YAAc,GAC5C+N,EAAE,oBAAoBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MACzCD,KAAK2D,IACJ2Z,KAAKud,aAAaQ,SAASH,QACzB5d,KAAKud,aAAaQ,SAASJ,QAC7B3d,KAAKud,aAAaQ,SAASH,QAAU5d,KAAKud,aAAaQ,SAASxY,MAEhE6X,EACApd,KAAKud,aAAaQ,SAASH,aAE3B/d,EAAUge,iBAAmB,EAC/BtyB,EAAE,oBAAoB/N,YAAckF,KAAKoL,KACvCpL,KAAK2D,IACH2Z,KAAKud,aAAaQ,SAASH,QACzB5d,KAAKud,aAAaQ,SAASJ,QAC7B3d,KAAKud,aAAaQ,SAASH,QACzB5d,KAAKud,aAAaQ,SAASxY,MAC3BvF,KAAKmX,KAER5rB,EAAE,oBAAoB/N,YAAc,GACzC+N,EAAE,qBAAqB/N,YAAckF,KAAKoL,MACvCkS,KAAKud,aAAaQ,SAASH,QAAU5d,KAAKud,aAAaQ,SAASxY,MAC/DvF,KAAKmX,KAETmG,GAAkB,GAElB/xB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAIrC,MAAMumB,EAAgB,GACtBzyB,EAAE,wBAAwBoM,UAAY,GACtCha,OAAO6C,KAAKwf,KAAKqX,OAAOjI,SAASj1B,IAC/B,GAAI6lB,KAAKqX,MAAMl9B,GAAI,CACjB,MAAM83B,EAAQV,GAAYvR,KAAKqX,MAAMl9B,GAAGuE,KAAMshB,KAAKqX,MAAMl9B,GAAGuE,KAAM,CAChE,CAAEgvB,GAAI,GAAG1N,KAAKqX,MAAMl9B,GAAGuE,aAEzBuzB,EAAM7vB,MAAMqV,QAAU,GACtB,IAAIwmB,EAAc,GAGhBA,OAD6C,IAApC/a,EAAYlD,KAAKqX,MAAMl9B,GAAGuE,MACrBwkB,EAAYlD,KAAKqX,MAAMl9B,GAAGuE,MACrBujB,EACrBgQ,EAAMO,UAAUiK,SAAS,GAAG7hC,UAAY+mB,EAAgBsc,EACxDhM,EAAMO,UAAUiK,SAAS,GAAGr6B,MAAM2F,MAAQ,QACR,IAA9B8X,EAAUge,gBACZ5L,EAAMO,UAAUiK,SAAS,GAAGj/B,YAAc,GAAGkF,KAAKC,MACzCqd,KAAKqX,MAAMl9B,GAAGorB,KAAOvF,KAAKqX,MAAMl9B,GAAGyjC,QAA1C,QAEC3L,EAAMO,UAAUiK,SAAS,GAAGj/B,YAAc,GAC/Cy0B,EAAMO,UAAUiK,SAAS,GAAGr6B,MAAMkG,MAAQ,GAAG5F,KAAKC,MAC/Cqd,KAAKqX,MAAMl9B,GAAGorB,MACZ8X,EAC8D,EAA7D36B,KAAKoL,KAAKkS,KAAKqX,MAAMl9B,GAAGorB,KAAOvF,KAAKmX,KAAKv0B,WAAWxI,QACtD4lB,KAAKqX,MAAMl9B,GAAGyjC,aAElB3L,EAAMO,UAAUiK,SAAS,GAAGj/B,YAAckF,KAAKoL,KAC7CkS,KAAKqX,MAAMl9B,GAAGorB,KAAOvF,KAAKmX,KAE5BmG,GAAkB,EAClBU,EAAche,KAAKqX,MAAMl9B,GAAGuE,MAAQuzB,MAGxCt0B,OAAO6C,KAAKw9B,GAAe5O,SAASj1B,IAClCoR,EAAE,wBAAwBwK,YAAYioB,EAAc7jC,OAG/B,IAAnBmjC,IACF/xB,EAAE,cAAcnJ,MAAMmG,OAA6B,GAAjB+0B,EAAsB,EAAzB,MAE7BvZ,KAAuBuZ,IACzBvZ,GAAqBuZ,EACrBjK,OAs4CJ6K,GAGAxL,KAGA+E,KAtGF,WACE,GAA+B,IAA3B5X,EAAUse,cAA8C,IAAxBzb,EAA2B,CAE7D,IAAI0b,GAAiB,EACrBzgC,OAAO6C,KAAKwf,KAAKqR,WAAWjC,SAASj1B,IACnC,MAAMk2B,EAAKrQ,KAAKqR,UAAUl3B,GAC1B,GAAIk2B,EAAGgO,MAAQ,GAAKhO,EAAGiO,UAErB,GADAF,GAAiB,EAEkB,IAAjCxb,EAA0BzoB,SACOI,IAAjCqoB,EAA0BzoB,GAC1B,CACA,MAAMokC,EAAc9lC,SAAS4D,cAAc,OACrCmiC,EAAW/lC,SAAS4D,cAAc,OACxCmiC,EAASp8B,MAAMq8B,SAAW,QAC1BD,EAASp8B,MAAMu0B,aAAe,MAC9B,MAAMlG,EAAMh4B,SAAS4D,cAAc,OACnCo0B,EAAIruB,MAAMuW,UAAY,SACtB8X,EAAI/C,GAAK,oBACT8Q,EAASzoB,YAAY0a,GACrB8N,EAAYxoB,YAAYyoB,GACxBxe,KAAKyW,QAAQ9kB,KAAK9Y,KAAM6lC,OAAOH,EAAY5mB,YAC3CgL,EAAkBxoB,EAClByoB,EAA0BzoB,GAAK,QAGjCyoB,EAA0BzoB,GAAK,KAG9BikC,GACHpe,KAAKyW,QAAQtlB,QA2EjBwtB,GAjEF,WACE,GAA+B,IAA3B9e,EAAUse,cAAiD,OAA3B5yB,EAAE,qBAA+B,CACnE,IAAIqzB,OAAEA,GAAW5e,KAAKqR,UAAU1O,GAC5Bkc,EAAS,IAKb,GAJI7e,KAAK0d,IAAI,6BAA4BmB,GAAU,MACN,IAAzC7e,KAAKqR,UAAU1O,GAAiBnoB,OAAYqkC,GAAU,GAC1DD,GAAUC,EACN7e,KAAK0d,IAAI,mBAAkBkB,GAAU,MACrCzS,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASlO,KAAKoN,OAAO,SACZ,IAAXc,EAAc0Q,GAAU,KACR,IAAX1Q,EAAc0Q,GAAU,IACb,IAAX1Q,IAAc0Q,GAAU,MAEnCrzB,EAAE,qBAAqB/N,YAAc0mB,GAA4B0a,IAoDnEE,GAl4CEjf,EAAUkf,SACM,UAAhB/e,KAAK+c,SACJ/c,KAAK8c,MAAQ,IAAiB,EAAX9c,KAAKmX,MAAa,IACrCnX,KAAK8c,MAAQ,GAAK9c,KAAKmX,KAAQ,GAEhCnX,KAAKgf,aAm4CPlf,IAGID,EAAU4E,MAAO,CACnB,IAAIlpB,EAAMgQ,EAAE,WAAWoM,UAAU5W,QAC/B,cACAmjB,GAA4BlE,KAAKiT,UAE/BjT,KAAK4c,MAAMqC,YAAW1jC,EAAM,2BAA2BA,YAC3DgQ,EAAE,WAAWoM,UAAYpc,GAiB7B,MAAM2jC,GACJC,YAAYC,GACVvmC,KAAKumC,UAAYA,EACjBvmC,KAAKwmC,MAAQ,GAGfF,UAAUG,GACJzmC,KAAKwmC,MAAMpjC,KAAKqjC,GAAYzmC,KAAKumC,WACnCvmC,KAAKwmC,MAAMvgB,QASfqgB,YAAYI,GACV,IAAIha,EAAOga,EACPha,EAAO1sB,KAAKumC,YAAW7Z,EAAO1sB,KAAKumC,WACnC7Z,EAAO1sB,KAAKwmC,MAAMjlC,SAAQmrB,EAAO1sB,KAAKwmC,MAAMjlC,QAChD,IAAI0M,EAAM,EACV,IACE,IAAI3M,EAAItB,KAAKwmC,MAAMjlC,OAAS,EAC5BD,GAAK,GAAKA,EAAItB,KAAKwmC,MAAMjlC,OAAS,EAAImrB,EACtCprB,IAEA2M,GAAOjO,KAAKwmC,MAAMllC,GAEpB,OAAY,IAAR2M,EACK,EAEFA,EAAMye,GA+BjB,SAASia,KACP,MAAMC,EAAW/8B,KAAKkE,MAAM84B,KAAKC,MAAQ,KAEzC,GAAK3f,KAAKmd,EAAInd,KAAKmX,IAAO,GAAM,EAAG,CACjC,IAAIyI,EAAc5f,KAAKiT,QAAU1H,GAC7BvL,KAAKoR,UAAY,IAAGwO,GAAenW,IACvCsB,GAAyBroB,KAAK6D,IAAIyZ,KAAK6f,cAAeD,GACtDA,GAAe,IAGf,MAAME,EAAWL,EAAWtZ,GACtB4Z,EAAcr9B,KAAK6D,IAAI,EAAGyZ,KAAKiT,QAAU7M,IAAoB0Z,EAC7DE,EACJt9B,KAAK6D,IAAI,EAAGkjB,GAAsBpD,IAAyByZ,EACvDG,EACJv9B,KAAK6D,IAAI,EAAGojB,GAAsB,GAAKrD,IACvCwZ,EACII,EAAgBx9B,KAAK6D,IAAI,EAAGq5B,EAAcvW,IAAmByW,EAC7DK,GAAiBngB,KAAKogB,aAAe7Z,IAAmBuZ,EAC9D,IAAK,IAAI3lC,EAAI,EAAGA,EAAI2lC,EAAU3lC,IAC5B0rB,GAAYwa,UAAUN,GACtBja,GAAUua,UAAUL,GACpBja,GAAiBsa,UAAUJ,GAC3Bja,GAAWqa,UAAUH,GACrBja,GAAWoa,UAAUF,GAIvBha,GAAoBsZ,EACpBrZ,GAAmBpG,KAAKiT,QACxB5M,GAAwBoD,GACxBnD,GAA+BqD,GAAsB,GACrDN,GAAkBuW,EAClBrZ,GAAkBvG,KAAKogB,aAGvB,MAAME,EAAYtd,EAAYnD,EAAU0gB,YACxC/Z,GAAuBX,GAAY2a,YAAYF,GAC/C7Z,GAAwBX,GAAU0a,YAAYF,GAC9C5Z,GAA+BX,GAAiBya,YAAYF,GAC5D3Z,GAAyBX,GAAWwa,YAAYF,GAChD1Z,GAAkBJ,GACU,IAAxB3G,EAAUqR,YAAiBtK,IAAmBH,IACtB,IAAxB5G,EAAUqR,YACZtK,IAAmBF,IAErB,MAAM+Z,EACJzgB,KAAK0gB,YAAY,mBAAqB1gB,KAAK0d,IAAI,iBAG/C1S,GADEyV,GAAkC,IAAxB5gB,EAAUqR,UAEpB1K,GACAC,IACCga,EAAS9Z,GAAyB,GACRC,GAE/BmD,GAAqB9D,GAAWua,YAC9Bvd,EAAWpD,EAAU8gB,iBAkB3B,SAASC,GAAWvQ,EAAIxC,GACtB,IAAI9lB,EAAQ,GAmBZ,OAjBsCA,EAAlCsoB,EAAG5kB,IAAM,GAAK4kB,EAAG5kB,KAAO+Y,IAAkBtC,EACrCmO,EAAG5kB,GAAK2f,GAAoBxJ,EAC5ByO,EAAG5kB,KAAO2f,GAAoBvJ,EAC9BwO,EAAG5kB,GAAK4f,GAAa,IAAI,GAAYvJ,EACrCuO,EAAG5kB,GAAK4f,GAAa,IAAI,GAAYtJ,EACrCsO,EAAG5kB,GAAK4f,GAAa,IAAI,GAAYrJ,EACjCC,EAGiC,IAA1C0C,OAAO9E,EAAUghB,sBACfhT,EAAQmD,KAAWrM,OAAO9E,EAAUghB,uBACtC94B,EAAQ6Z,GAGR/B,EAAUihB,uBACRjT,EAAQ7N,KAAKiT,QAAU,IAAGlrB,EAAQia,GAEjCja,EAiBT,SAASg5B,GAAYvhC,EAAQ+uB,GAC3B5wB,OAAO6C,KAAKhB,GAAQ4vB,SAASj1B,IAC3B,GAAI0lB,EAAUmhB,eAA4B,IAAXzS,EAC7B/uB,EAAOrF,GAAG4N,MAAQma,MADpB,CAIA1iB,EAAOrF,GAAG4N,MAAQ64B,GAChBphC,EAAOrF,GACP6lB,KAAKuN,QAAQpzB,GAAG8mC,YAAY1S,IAG9B,IAAK,IAAIgC,EAAI,EAAGA,EAAI1Q,EAAUqhB,aAAc3Q,IACtC/wB,EAAOrF,GAAGsR,KAAO4f,GAAakF,GAAG,KAAI/wB,EAAOrF,GAAG4N,MAAQma,OAKjE,SAASif,GAAQ3hC,EAAQ+uB,GACvB5wB,OAAO6C,KAAKhB,GAAQ4vB,SAASj1B,IAC3B,MAAM0zB,EAAQ7N,KAAKuN,QAAQpzB,GAAG8mC,YAAY1S,GACtCvO,KAAKmR,UACP3xB,EAAOrF,GAAGsR,GACR/I,KAAK6D,IAAIsnB,GAAS7N,KAAKiT,QAAU3B,MAAuB,GACtDtR,KAAKmR,UACPtD,EAAQruB,EAAOrF,GAAGk4B,MACf7yB,EAAOrF,GAAGsR,GAAKoiB,EAAQruB,EAAOrF,GAAGk4B,MAClCxS,EAAUmhB,eAA4B,IAAXzS,GAC/BlD,GAAapvB,KAAK,CAACuD,EAAOrF,GAAGsR,GAAI8iB,OA8EvC,SAAS6S,MAtET,WACEhW,GAAa5G,IACb6G,GAAe,QACuB,IAA3BxL,EAAUqhB,eAA8BrhB,EAAUqhB,aAAe,GAG5EC,GAAQ7X,GAAe,GACvB6X,GAAQ5X,GAAgB,IACxB4X,GAAQ3X,GAAiB,KAGzB6B,GAAaoE,MAAK,CAACzsB,EAAGP,IAAMO,EAAE,GAAKP,EAAE,KACrC,IAAI4+B,EAAa,EACjB,GAAIxhB,EAAUihB,sBACZ,KAAOzV,GAAagW,GAAY,GAAKrhB,KAAKiT,UACxCoO,GAAc,EACVhW,GAAajxB,SAAWinC,EAAa,KAK7CjW,GAAaC,GAAaxL,EAAUqhB,cAAcG,GAElDN,GAAYzX,GAAe,GAC3ByX,GAAYxX,GAAgB,IAC5BwX,GAAYvX,GAAiB,KA8C7B8X,GAjCA3jC,OAAO6C,KAAKspB,IAAesF,SAASj1B,IAC9B6lB,KAAKmR,UACPrH,GAAc3vB,GAAGsR,GACf/I,KAAK6D,IACHyZ,KAAKyV,SAASt7B,GAAGi+B,YAAcpY,KAAKiT,QAAU3B,MAC9C,GAEAtR,KAAKmR,UACPnR,KAAKyV,SAASt7B,GAAGi+B,WAAatO,GAAc3vB,GAAGk4B,MAEjDvI,GAAc3vB,GAAGsR,GACfuU,KAAKyV,SAASt7B,GAAGi+B,WAAatO,GAAc3vB,GAAGk4B,MAC/C1N,OAAOlJ,MAAMqO,GAAc3vB,GAAGsR,MAAKqe,GAAc3vB,GAAGsR,GAAK+Y,KAE7DsF,GAAc3vB,GAAG4N,MAAQ64B,GACvB9W,GAAc3vB,GACd6lB,KAAKyV,SAASt7B,GAAGi+B,eAiCvB,SAASmJ,GACPnT,EACAC,EACA1kB,EACA2kB,EACAwJ,GAEA,IAAInJ,EAAiBhlB,EACjBilB,EAAO,EACX,IAAK,IAAIz0B,EAAI,EAAGA,EAAI29B,EAAU39B,GAAK,EAAG,CACpC,IAAI0zB,EACFQ,EAAYrO,KAAK8O,eAAiBpsB,KAAK6D,IAAI,EAAGooB,EAAiBL,GACjET,EAAQ7N,KAAK+O,oBAAoBX,EAAOP,GACxCA,EAAQnrB,KAAKoL,KAAK+f,GAClBe,GAAQf,EACRc,GAAkB,EAEpB,OAAOC,EA0CT,SAAS4S,GAAOjV,GACVF,GAAgBE,IACgB,IAA9BF,GAAgBE,GAAM8J,MACxBhK,GAAgBE,GAAM8J,IAAM,EACS,WAAjCrW,KAAK8T,aAAavH,GAAMS,OAAmB5F,IAAwB,IAuB7E,SAASqa,KACP3Z,GAAe,EACf,IAAImM,EAAO,EAEX,MAAMyN,EAAO,GACb/jC,OAAO6C,KAAKwf,KAAKuN,SAAS6B,SAASj1B,IACjC,GAAI6lB,KAAKuN,QAAQpzB,GAAG8zB,gBAAkBjO,KAAKuN,QAAQpzB,GAAGmzB,SAASoU,KAAM,CACnE,MAAMC,EAAS3hB,KAAKuN,QAAQpzB,GAAGmzB,SAASoU,KACxC/jC,OAAO6C,KAAKmhC,GAAQvS,SAASwS,IACvBF,EAAKE,GAAKF,EAAKE,IAAOD,EAAOC,GAC5BF,EAAKE,GAAMD,EAAOC,UAI7B/Z,GAAU6Z,EAEiB,IAAvB1hB,KAAK+M,gBACPkH,GAEE,IADAxsB,WAAW6f,IAEXD,GA9EN,WACE,IAAIwa,EAAe,EAWnB,GAVIhV,GAAO,0BAAyBgV,GAAgB,KAChDhV,GAAO,2BAA0BgV,GAAgB,IACjDhV,GAAO,qBAAoBgV,GAAgB,KAC3ChV,GAAO,4BAA2BgV,GAAgB,KAClDhV,GAAO,kBAAiBgV,GAAgB,KAE5CA,GAAgB,EAAgC,IAA5BvV,GAAY,cAC5BO,GAAO,iBAAgBgV,GAAgB,MACvChV,GAAO,kBAAiBgV,GAAgB,MACxChV,GAAO,kBAAiBgV,GAAgB,MACxC7hB,KAAKoN,OAAQ,CACf,MAAMc,EAASf,GAAU,YACV,IAAXe,EAAc2T,GAAgB,GACd,IAAX3T,EAAc2T,GAAgB,GACnB,IAAX3T,IAAc2T,GAAgB,IAEzC,OAAOA,EA6DHC,IAEJ7N,GAAQtH,GAAO,OAEXE,GAAO,YAAqC,IAAvB7M,KAAK+M,gBAC5BkH,GAAQ,EAAI,IAAOjU,KAAK+hB,SAE1BpkC,OAAO6C,KAAKwf,KAAKgiB,gBAAgB5S,SAASj1B,IACxC,MAAMk2B,EAAKrQ,KAAKgiB,eAAe7nC,GAC3B0yB,GAAOwD,EAAG3xB,QAIY,mBAAb2xB,EAAGqF,MACZzB,GAAQ,EAAuD,IAAnD7H,GAAYiE,EAAG3xB,MAAMg3B,MAAMtJ,GAAYiE,EAAG3xB,OACjDu1B,GAAQ,EAAe,IAAX5D,EAAGqF,UAItB7I,GAAO,iCAAgCoH,GAAQ,MAC/CpH,GAAO,0BAAyBoH,GAAQ,MACxCpH,GAAO,sBAAqBoH,GAAQ,MACpCpH,GAAO,iBAAgBoH,GAAQ,MAC/BpH,GAAO,kBAAiBoH,GAAQ,MAEhCpH,GAAO,yBAAwBoH,GAAQ,MACvCpH,GAAO,wBAAuBoH,GAAQ,MACtCpH,GAAO,oBAAmBoH,GAAQ,MAClCpH,GAAO,sBAAqBoH,GAAQ,MACpCpH,GAAO,sBAAqBoH,GAAQ,KAEpCpH,GAAO,kBAAiBoH,GAAQ,MAChCpH,GAAO,kBAAiBoH,GAAQ,MAEhCpH,GAAO,kBAAiBoH,GAAQ,MAGpC,IAAIgO,EAAY,EAChB,GAAI9U,GAAW,CACb,IAAIe,EAASf,GAAU,cACR,IAAXe,EAAc+F,GAAQ,KACN,IAAX/F,EAAc+F,GAAQ,IACX,IAAX/F,IAAc+F,GAAQ,MAE/B/F,EAASf,GAAU,QACJ,IAAXe,EACF+F,GACE,EAAI,IAAOvxB,KAAKw/B,IAAKxC,KAAKC,MAAQ,IAAO,MAAiBj9B,KAAKiU,GAAK,GACpD,IAAXuX,EACP+F,GACE,EAAI,IAAOvxB,KAAKw/B,IAAKxC,KAAKC,MAAQ,IAAO,MAAkBj9B,KAAKiU,GAAK,GACrD,IAAXuX,IACP+F,GACE,EAAI,IAAOvxB,KAAKw/B,IAAKxC,KAAKC,MAAQ,IAAO,MAAkBj9B,KAAKiU,GAAK,IAEzEuX,EAASf,GAAU,aACJ,IAAXe,EAAc+T,GAAa,IACX,IAAX/T,EAAc+T,GAAa,IAChB,IAAX/T,IAAc+T,GAAa,KAEpC/T,EAASf,GAAU,YACJ,IAAXe,EAAc+T,GAAa,IACX,IAAX/T,EAAc+T,GAAa,KAChB,IAAX/T,IAAc+T,GAAa,MAEpC/T,EAASf,GAAU,SACJ,IAAXe,EAAc+T,GAAa,IACX,IAAX/T,EAAc+T,GAAa,IAChB,IAAX/T,IAAc+T,GAAa,KAGlCpV,GAAO,oBAAmBoH,GAAQ,EAA4B,KAAvBjU,KAAKmiB,WAAa,IAE7D,MAAMC,EAAehb,GAAuB,GAC5C,IAAIib,EAAW,EAIf,GAHIxV,GAAO,8BAA6BwV,GAAY,MAEpDA,GAAY,EAAoC,IAAhC/V,GAAY,kBACxBa,GAAW,CACb,MAAMe,EAASf,GAAU,UACV,IAAXe,EAAcmU,GAAY,IACV,IAAXnU,EAAcmU,GAAY,KACf,IAAXnU,IAAcmU,GAAY,MAErCA,GAAY1V,GAAO,QAEnB,IAAI2V,EAAU,EAEVzV,GAAO,oBAAmByV,GAAW,EAAmB,GAAfF,EAAqBC,GAC9DxV,GAAO,oBAAmByV,GAAW,EAAmB,KAAfF,EAAuBC,GAChExV,GAAO,sBAAqByV,GAAW,EAAmB,IAAfF,EAAsBC,GACjExV,GAAO,sBACTyV,GAAW,EAAmB,KAAfF,EAAuBC,GACpCxV,GAAO,qBAAoByV,GAAW,EAAmB,GAAfF,EAAqBC,GAC/DxV,GAAO,wBACTyV,GAAW,EAAmB,GAAfF,EAAqBC,GAClCxV,GAAO,wBACTyV,GAAW,EAAmB,GAAfF,EAAqBC,GAClCxV,GAAO,oBAAmByV,GAAW,EAAmB,GAAfF,EAAqBC,GAC9DxV,GAAO,wBACTyV,GAAW,EAAmB,GAAfF,EAAqBC,GAClCxV,GAAO,+CACTyV,GAAW,EAAmB,KAAfF,EAAuBC,GACpCxV,GAAO,uBACTyV,GAAW,EAAmB,IAAfF,EAAsBC,GACnCxV,GAAO,qBAAoByV,GAAW,EAAmB,KAAfF,EAAuBC,GACjExV,GAAO,uBACTyV,GAAW,EAAmB,KAAfF,EAAuBC,GACpCxV,GAAO,mBAAkByV,GAAW,EAAmB,GAAfF,EAAqBC,GAC7DxV,GAAO,kBAAiByV,GAAW,EAAmB,IAAfF,EAAsBC,GAEjE1kC,OAAO6C,KAAK2rB,IAAYiD,SAASj1B,IAC/B,MAAMk2B,EAAKlE,GAAWhyB,GACtB,IAAIooC,EAAYlS,EAAGyE,IAAIzE,GACI,IAAvBrQ,KAAK+M,gBACPwV,IAAc,EAAe,IAAXlS,EAAGsF,OAAgBsM,GAEzB,YAAZ5R,EAAG3xB,MACHmuB,GAAO,sDAEP0V,GAAa,EAAI,IAAOH,EAAeC,GACzCva,IAAgBuI,EAAG9B,OAASgU,KAG1B1V,GAAO,WAAU/E,IAAgB,GAErCmM,GAAQqO,EAER,IAAIE,EAAU,EAad,GAZI3V,GAAO,iBAAgB2V,GAAW,MAClC3V,GAAO,cAAa2V,GAAW,MAC/B3V,GAAO,gBAAe2V,GAAW,MACjC3V,GAAO,eAAc2V,GAAW,MAChC3V,GAAO,eAAc2V,GAAW,MAChC3V,GAAO,iBAAgB2V,GAAW,MAClC3V,GAAO,mBAAkB2V,GAAW,MACpC3V,GAAO,gBAAe2V,GAAW,MACjC3V,GAAO,eAAc2V,GAAW,MAChC3V,GAAO,eAAc2V,GAAW,MAChC3V,GAAO,gBAAe2V,GAAW,MACjC3V,GAAO,eAAc2V,GAAW,MAChC3V,GAAO,eAAgB,CAEzB,IAAI4V,EACuD,GAAxD//B,KAAKkE,OAAO84B,KAAKC,MAAQ3f,KAAK0iB,WAAa,IAAO,IACnD,GACA,GACA,GACFD,EAAM//B,KAAK2D,IAAIo8B,EAAK,KAEpBtZ,GAAe,EAAiC,IAA5B,GAAK,EAAIsZ,EAAM,MAAQ,GAC3CD,GAAWrZ,GAEb8K,GAAQuO,EAEJ3V,GAAO,kBAAiBoH,GAAQ,EAAgC,IAA5BvxB,KAAK2D,IAAI,IAAK2Z,KAAK2iB,QAG3D1O,GAAQ,EAAI3H,GAAY,oBAExB,MAAMsW,EAAe9a,GAAemM,EACpCt2B,OAAO6C,KAAKwf,KAAK6iB,iBAAiBzT,SAASj1B,IACrCyoC,GAAgB5iB,KAAK6iB,gBAAgB1oC,GAAG2oC,WAC1CtB,GAAOxhB,KAAK6iB,gBAAgB1oC,GAAGuE,SAGnCqpB,GAAkB6a,EAElB,MAAMxlC,EAAEA,GAAM4iB,KAAKud,aAAaC,OAC1BuF,EAAWzW,GAAY,oBAC7B,IAAK,IAAInyB,EAAI,EAAGA,EAAIiD,EAAGjD,IACrB85B,GAAQ,EAAe,KAAX8O,EAGd,MAAMrkC,EAAOshB,KAAKgjB,WAAWvoC,cAM7B,GALa,WAATiE,EAAmBu1B,GAAQ,IACb,WAATv1B,IAAmBu1B,GAAQ,KAEhCpH,GAAO,oBAAmBoH,GAAQ,KAElCpH,GAAO,uBAAwB,CACjC,IAAIoW,EAAmB,IACvB,GAAIpW,GAAO,iBAAkB,CAC3B,MAAMqW,EAAWljB,KAAKmjB,qBACtBxlC,OAAO6C,KAAK0iC,GAAU9T,SAASj1B,IACzB0yB,GAAOqW,EAAS/oC,MAAK8oC,GAAoB,OAGjDhP,GAAQgP,EAEV,GAAIpW,GAAO,yBAA0B,CACnC,IAAIuW,EAAW,GACXvW,GAAO,yBAAwBuW,GAAY,IAC/CnP,GAAQ,EAAImP,EAGVvW,GAAO,uBAAsBoH,GAAQ,KACrCpH,GAAO,wBAAuBoH,GAAQ,GAE1CnM,GAAe9H,KAAKqjB,kBAAkB,MAAOvb,IAE7CmM,GAAQmD,KAERtP,IAAgBmM,EASlB,MAAMqP,GAAW,CACf,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAIIC,GAAe,CACnB,gBACA,gBACA,cACA,gBACA,kBACA,kBACA,kBAIIC,GAAgB,CACpB,0BACA,qBACA,mBACA,iBACA,sBACA,gBACA,oBAIIC,GAAa,CACjB,sBACA,wBACA,sBACA,yBACA,wBACA,yBACA,wBAIIC,GAAa,CACjB,qBACA,oBACA,oBACA,yBACA,cACA,WACA,eAkCF,SAASC,GAAapX,GACpB,OAAOF,GAAgBE,GAAQF,GAAgBE,GAAM8J,IAAM,EAe7D,SAASuN,KACP,IAAIC,EAAW,EACflmC,OAAO6C,KAAKwf,KAAKiV,kBAAkB7F,SAASj1B,IACtC0yB,GAAO7M,KAAKiV,iBAAiB96B,MAAK0pC,GAAY,OAE/CF,GAAa,UAAYE,GAAY,GAAGrC,GAAO,UAC/CmC,GAAa,YAAcE,GAAY,IAAIrC,GAAO,WAEvD,IAAIsC,EAAiB,EACjBC,EAAgB,EAChBC,EAAS,EACTC,EAAY,IAChBtmC,OAAO6C,KAAK2rB,IAAYiD,SAASj1B,IAC/B2pC,GAAkB3X,GAAWhyB,GAAGo0B,OAChC0V,EAAYvhC,KAAK2D,IAAI8lB,GAAWhyB,GAAGo0B,OAAQ0V,GACtCN,GAAa,kBAEdxX,GAAWhyB,GAAGo0B,OACd7rB,KAAK2D,IAAI,IAAK,IAAM2Z,KAAKkkB,YAAY9pC,OAAS4lB,KAAKuN,QAAQpzB,GAAGuzB,GAAK,MAEnEqW,EAAgB,GAEfJ,GAAa,YAEdxX,GAAWhyB,GAAGo0B,OACmC,IAAhDvO,KAAKkkB,YAAY9pC,OAAS4lB,KAAKuN,QAAQpzB,GAAGuzB,MAE3CsW,EAAS,MAGXC,GAAa,GAAGzC,GAAO,uBACL,IAAlBuC,GAAqBvC,GAAO,iBACjB,IAAXwC,GAAcxC,GAAO,WACrByC,GAAa,KAAKzC,GAAO,cACzByC,GAAa,KAAKzC,GAAO,yBACzByC,GAAa,KAAKzC,GAAO,gBACzByC,GAAa,KAAKzC,GAAO,2BACzByC,GAAa,KAAKzC,GAAO,iBACzByC,GAAa,KAAKzC,GAAO,4BACzByC,GAAa,KAAKzC,GAAO,oBACzByC,GAAa,KAAKzC,GAAO,+BACzByC,GAAa,KAAKzC,GAAO,kBACzByC,GAAa,KAAKzC,GAAO,6BACzByC,GAAa,KAAKzC,GAAO,iBAEzBsC,GAAkB,KAAKtC,GAAO,WAC9BsC,GAAkB,KAAKtC,GAAO,aAC9BsC,GAAkB,KAAMtC,GAAO,YAC/BsC,GAAkB,KAAMtC,GAAO,sBAC/BsC,GAAkB,KAAMtC,GAAO,gBAC/BsC,GAAkB,KAAMtC,GAAO,gBAE/Bta,IAAoB,IAAIsa,GAAO,YAC/Bta,IAAoB,IAAIsa,GAAO,aAC/Bta,IAAoB,KAAKsa,GAAO,YAChCta,IAAoB,KAAKsa,GAAO,oBAChCta,IAAoB,KAAKsa,GAAO,oBAChCta,IAAoB,KAAKsa,GAAO,oCAEhCsC,GAAkB,KAAQ5c,IAAoB,KAAKsa,GAAO,YAC1DsC,GAAkB,KAAQ5c,IAAoB,KAChDsa,GAAO,qBAELrV,GAAWgY,OAAO5V,OAASpC,GAAWuI,QAAQnG,QAAU,KAC1DiT,GAAO,qBAET,IAAI4C,GAAkB,EACtBzmC,OAAO6C,KAAK+iC,IAAcnU,SAASj1B,IAC5B0yB,GAAO0W,GAAappC,MAAKiqC,GAAkB,MAE9CA,GAAiB5C,GAAO,kBAE5B,IAAI6C,GAAmB,EAMvB,GALA1mC,OAAO6C,KAAKgjC,IAAepU,SAASj1B,IAC7B0yB,GAAO2W,GAAcrpC,MAAKkqC,GAAmB,MAEhDA,GAAkB7C,GAAO,eAEzB3U,GAAO,mBAAoB,CAC7B,MAAMyX,EAAOtkB,KAAKmU,MAAMnG,QAAQkV,SAChC,IAAIqB,EAAW,EACf5mC,OAAO6C,KAAK8jC,GAAMlV,SAASj1B,IACrB0yB,GAAOyX,EAAKnqC,GAAGuE,QAAO6lC,GAAY,MAEpCA,GAAYD,EAAKlqC,QAAQonC,GAAO,cA6OxC,SAASgD,GAAoBjW,GAC3B,MAAMkW,EAAS,GAQf,OAPA9mC,OAAO6C,KAAKwf,KAAKuN,SAAS6B,SAASj1B,IACjCsqC,EAAOtqC,GAAK,GACZsqC,EAAOtqC,GAAGk4B,MA/Nd,SAAiCzE,EAAUW,GACzCsH,KACA1J,GAAWyB,GAAUW,QAAUA,EAC/B,MAAM8B,EAAKlE,GAAWyB,GAEL,WAAbA,GACEyC,EAAG9B,QAAU,GAAGiT,GAAO,SACvBnR,EAAG9B,QAAU,GAAGiT,GAAO,gBACvBnR,EAAG9B,QAAU,IAAIiT,GAAO,eACxBnR,EAAG9B,QAAU,KAAKiT,GAAO,mBACzBnR,EAAG9B,QAAU,KAAKiT,GAAO,eACzBnR,EAAG9B,QAAU,KAAKiT,GAAO,uBACzBnR,EAAG9B,QAAU,KAAKiT,GAAO,SACzBnR,EAAG9B,QAAU,KAAKiT,GAAO,kCACzBnR,EAAG9B,QAAU,KAAKiT,GAAO,iCACzBnR,EAAG9B,QAAU,KAAKiT,GAAO,wBACzBnR,EAAG9B,QAAU,KAAKiT,GAAO,yBAE7B7jC,OAAO6C,KAAKwf,KAAKuN,QAAQ8C,EAAG3xB,MAAMgmC,eAAetV,SAASmB,IAEtDF,EAAG9B,QACHvO,KAAKmU,MAAMnU,KAAKuN,QAAQ8C,EAAG3xB,MAAMgmC,cAAcnU,GAAGtD,MAAM0X,cAExDnD,GAAOxhB,KAAKuN,QAAQ8C,EAAG3xB,MAAMgmC,cAAcnU,GAAG7xB,SAKpD,MAAMkmC,EAAwBxd,GAU9B,OARAqa,KAEAmC,KAEIgB,IAA0Bxd,IAC5Bqa,KAGK3Z,GAAe9H,KAAKmR,UAyLP0T,CAAwB1qC,EAAGo0B,GAC9B,IAAXA,IACFxH,GAA2B,MAGxB0d,EA6BT,SAASK,KACPnnC,OAAO6C,KAAKwf,KAAKuN,SAAS6B,SAASj1B,IACjCmvB,GAAcnvB,GAAG0zB,MAAQ0T,GACvBvhB,KAAKuN,QAAQpzB,GACb6lB,KAAKuN,QAAQpzB,GAAGk0B,UAChBrO,KAAKuN,QAAQpzB,GAAGo0B,OAChBvO,KAAKuN,QAAQpzB,GAAGm0B,KAChB,GAEF/E,GAAepvB,GAAG0zB,MAAQ0T,GACxBvhB,KAAKuN,QAAQpzB,GACb6lB,KAAKuN,QAAQpzB,GAAGk0B,UAChBrO,KAAKuN,QAAQpzB,GAAGo0B,OAChBvO,KAAKuN,QAAQpzB,GAAGm0B,KAChB,IAEF9E,GAAgBrvB,GAAG0zB,MAAQ0T,GACzBvhB,KAAKuN,QAAQpzB,GACb6lB,KAAKuN,QAAQpzB,GAAGk0B,UAChBrO,KAAKuN,QAAQpzB,GAAGo0B,OAChBvO,KAAKuN,QAAQpzB,GAAGm0B,KAChB,QASN,SAASyW,KAEPzb,GAAgBkb,GAAoB,GACpCjb,GAAiBib,GAAoB,IACrChb,GAAkBgb,GAAoB,KAvDtC1a,GAAgB,GAChBnsB,OAAO6C,KAAKwf,KAAKyV,UAAUrG,SAASj1B,IAClC,MAAM6qC,EAtFV,SAAgCnU,GAC9B,GACkC,WAAhC7Q,KAAKyV,SAAS5E,GAAS7D,MACY,IAAlChN,KAAKyV,SAAS5E,GAAS3D,QACtBlN,KAAKyV,SAAS5E,GAASoU,UACS,aAAhCjlB,KAAKyV,SAAS5E,GAAS7D,KACzB,CACA6I,KACkC,yBAA9BzJ,GAAYyE,GAASnyB,KACvB0tB,GAAY,yBAAyBc,OAAS,EACP,uBAA9Bd,GAAYyE,GAASnyB,KAC9B0tB,GAAY,uBAAuBc,OAAS,EAE5Cd,GAAYyE,GAAS3D,QAAUd,GAAYyE,GAAS3D,OAAS,GAAK,EAEzDd,GAAYyE,GACnB7Q,KAAKklB,qBAAqBllB,KAAKyV,SAAS5E,GAAS7D,QACnD9F,IAAoB,GAEN,iBAAZ2J,GACF1J,IAAc,EACVA,GAAa,GAAGqa,GAAO,aACvBra,IAAc,GAAGqa,GAAO,kBACP,mBAAZ3Q,EACT2Q,GAAO,cACc,yBAAZ3Q,EACT2Q,GAAO,kBACc,iBAAZ3Q,GACT2Q,GAAO,aAGT,MAAMoD,EAAwBxd,GAE9Bqa,KAEAmC,KAEIgB,IAA0Bxd,IAC5Bqa,KAGF,MAAM0D,EAvIV,WACE,IAAI7jC,EAAM,EACNurB,GAAO,sBAAqBvrB,GAAO,IACnCurB,GAAO,qBAAoBvrB,GAAO,GAClCurB,GAAO,qBAAoBvrB,GAAO,IAClCurB,GAAO,sBAAqBvrB,GAAO,IACnCurB,GAAO,yBAAwBvrB,GAAO,IACtCurB,GAAO,yBAAwBvrB,GAAO,IACtCurB,GAAO,wBAAuBvrB,GAAO,IACrCurB,GAAO,wBAAuBvrB,GAAO,IACrCurB,GAAO,uBAAsBvrB,GAAO,IACpCurB,GAAO,uBAAsBvrB,GAAO,IACxC,IAAI6iB,EAAM,EACVxmB,OAAO6C,KAAK2rB,IAAYiD,SAASj1B,IAC/BgqB,GAAOgI,GAAWhyB,GAAGo0B,UAEvBpK,GAAOgI,GAAWgY,OAAO5V,OACzBjtB,GAAO6iB,EAGH0I,GAAO,mBAAkBvrB,GAAsB,IAAfwmB,IAChC+E,GAAO,gBAAevrB,GAAsB,IAAfwmB,IAC7B+E,GAAO,oBAAmBvrB,GAAsB,IAAfwmB,IACjC+E,GAAO,sBAAqBvrB,GAAsB,IAAfwmB,IACnC+E,GAAO,uBAAsBvrB,GAAsB,IAAfwmB,IACpC+E,GAAO,mBAAkBvrB,GAAsB,IAAfwmB,IAChC+E,GAAO,qBAAoBvrB,GAAsB,IAAfwmB,IAClC+E,GAAO,sBAAqBvrB,GAAsB,IAAfwmB,IACnC+E,GAAO,sBAAqBvrB,GAAsB,IAAfwmB,IACnC+E,GAAO,qBAAoBvrB,GAAsB,IAAfwmB,IAClC+E,GAAO,yBAAwBvrB,GAAsB,IAAfwmB,IACtC+E,GAAO,sBAAqBvrB,GAAsB,IAAfwmB,IACnC+E,GAAO,sBAAqBvrB,GAAsB,IAAfwmB,IAEnC+E,GAAO,kBAAiBvrB,GAAsB,IAAfwmB,IAEnC,IAAImM,EAAO,EAiBX,GAhBIpH,GAAO,qBAAoBoH,GAAQ,KACnCpH,GAAO,gBAAeoH,GAAQ,KAC9BpH,GAAO,iBAAgBoH,GAAQ,KAC/BpH,GAAO,iBAAgBoH,GAAQ,MAE/BpH,GAAO,iBACToH,GACE,EACA,IACEvxB,KAAK2D,IACH2Z,KAAKuN,QAAQ4W,OAAOxO,MACpB9I,GAAO,mBAAqB,GAAK,KAIzCoH,GAAQtH,GAAO,SACXR,GAAWkB,OAAOY,gBAChBd,GAAW,CACb,MAAMe,EAASf,GAAU,SACV,IAAXe,EAAc+F,GAAQ,KACN,IAAX/F,EAAc+F,GAAQ,IACX,IAAX/F,IAAc+F,GAAQ,MAInCt2B,OAAO6C,KAAKwf,KAAKqX,OAAOjI,SAASj1B,SACQ,IAA5B6lB,KAAKqX,MAAMl9B,GAAGirC,YACvBnR,GAAQjU,KAAKqX,MAAMl9B,GAAGirC,cAI1BnR,GAAQ,EAAmC,IAA/B3H,GAAY,iBAGxB,IAAI+Y,EACFpR,EACAjU,KAAKgV,WACH,EACAnI,GAAO,2BACLA,GAAO,kCACPA,GAAO,gBACTvrB,GAOJ,OAJA+jC,EAAMrlB,KAAKqjB,kBAAkB,kBAAmBgC,GAE5CrlB,KAAK+N,QAAQ,mBAAkBsX,EAAMrlB,KAAKqX,MAAM,iBAAiB3B,OAE9D2P,EAkDgBC,GAAatlB,KAAKulB,iBACvC,OAAIJ,EACK,CAACrd,GAAe9H,KAAKmR,UAAWgU,GAElC,CAACrd,GAAe9H,KAAKmR,WAE9B,MAAO,GAuCeqU,CAAuBrrC,GACjC,iBAANA,GACF2vB,GAAc3vB,GAAK,CAAEk4B,MAAOrS,KAAKmR,UAAY3K,IACjB,IAAxB3G,EAAUqR,UACZpH,GAAc3vB,GAAGk4B,OAAS5L,GACK,IAAxB5G,EAAUqR,YACjBpH,GAAc3vB,GAAGk4B,OAAS3L,IACvB/B,OAAOC,SAASkF,GAAc3vB,GAAGk4B,SAAQvI,GAAc3vB,GAAGk4B,MAAQ,KAEvEvI,GAAc3vB,GAAK,GACf6qC,EAAY,KAAIlb,GAAc3vB,GAAGk4B,MAAQ2S,EAAY,IACrDA,EAAY,KAAIlb,GAAc3vB,GAAGk+B,WAAa2M,EAAY,QA6DpE,SAASS,GAAqBC,EAAOC,EAAW1R,GAC9C,IAAI2R,EAAiB,EACjBhX,EAAO,EACPiX,EAAW,EACXC,EAAe,EACfC,EACF,EAAIrjC,KAAK6D,IAAI,EAAG7D,KAAKoL,KAAKpL,KAAK2iB,IAAIrF,KAAKiT,SAAWvwB,KAAKsjC,MAAQ,IAClE,KAAOH,EAAWF,EAAY1R,GAC5BrF,EAAOlsB,KAAK6D,IACVm/B,EACAhjC,KAAK2D,IACH3D,KAAKkE,MAAO,EAAI,EAAK,IAAMm/B,EAAQL,EAAQzR,GAC3C0R,EAAY1R,IAGhB4R,EAAWnjC,KAAK6D,IACdm/B,EACAhjC,KAAK2D,IACH3D,KAAKkE,MAAO,EAAI,EAAK,KAAOm/B,EAAQ,GAAKL,EAAQzR,GACjD0R,EAAY1R,IAGhB6R,EAAepjC,KAAKkE,MAAO,EAAI,EAAK,KAAOm/B,EAAQ,GAAKL,EAAQzR,GAChE2R,GAAkBhX,EAClBmX,GAAS,EAEX,MAAO,CAACH,EAAgBhX,EAAMkX,GAmBhC,SAASG,KACP,IAAIN,EAEF,GADA7c,GAEA,GACA,EACAC,GAEF,MAAMmd,EAAc9O,KAChB8O,EAAc,EAAGP,GAAaO,EAC7BP,EAAY,EAEjBtb,GAAsBob,GACpB,EACAE,EACA3c,IAEFmB,GAA+C,EAAzBE,GAAoB,GAAUrB,GACpDoB,GACEC,GAAoB,GAAK,GAAK,GAAK,EAAItB,GAEzCyB,GAA2Bib,GACzB,EACAE,EACA1c,IAEFqB,GACiC,EAA9BE,GAAyB,GAAUvB,GACtCsB,GACEC,GAAyB,GACzB,GACA,GACA,EACAzB,GAEF4B,GAA4B8a,GAC1B,EACY,EAAZE,EACA3c,IAEFyB,GACkC,EAA/BE,GAA0B,GAAU3B,GACvC0B,GACEC,GAA0B,GAC1B,GACA,GACA,EACA5B,GAEF+B,GAAiC2a,GAC/B,EACY,EAAZE,EACA1c,IAEF2B,GACuC,EAApCE,GAA+B,GAAU7B,GAC5C4B,GACEC,GAA+B,GAC/B,GACA,GACA,EACA/B,GAYJ,SAASod,KACP,MAAM1G,EAAW/8B,KAAKkE,MAAM84B,KAAKC,MAAQ,KAEzC,GAAK3f,KAAKmd,EAAInd,KAAKmX,IAAO,GAAM,EAAG,CACjC,MAAMiP,EAAapmB,KAAKqmB,gBAAgBrmB,KAAKsmB,cAIvCC,EAHiB7jC,KAAKkE,MAC1BoZ,KAAKqmB,gBAAgBrmB,KAAKsmB,aAAetmB,KAAK6f,gBAERn9B,KAAKkE,MAAMw/B,GAG7CtG,EAAWL,EAAW5Y,GACtB2f,EACJ9jC,KAAK6D,IAAI,EAAGggC,EAAiBzf,IAA0BgZ,EACzD,IAAK,IAAI3lC,EAAI,EAAGA,EAAI2lC,EAAU3lC,IAC5B+rB,GAAkBma,UAAUmG,GAI9B3f,GAAyB4Y,EACzB3Y,GAAyByf,EAGzBrd,GAAmBhD,GAAkBsa,YAAY,IA6HrD,SAASiG,KACPzc,GAAuB,GACvBE,GAA8B,GAC9BD,GAA+B,GAC/B,MAAMqa,EAAO,GAEb3mC,OAAO6C,KAAKwf,KAAKyV,UAAUrG,SAASj1B,IAClCmqC,EAAKroC,KAAK+jB,KAAKyV,SAASt7B,OAO1BmqC,EAAK7U,MALW,SAAUzsB,EAAGP,GAC3B,OAAIO,EAAE+tB,MAAQtuB,EAAEsuB,MAAc,EAC1B/tB,EAAE+tB,MAAQtuB,EAAEsuB,OAAe,EACxB,KAITpzB,OAAO6C,KAAK8jC,GAAMlV,SAASj1B,IACzB,MAAMk2B,EAAKiU,EAAKnqC,GAEhB,GAAkB,IAAdk2B,EAAGnD,OAAc,CACnB,IAAI3xB,EAAM,GAEVA,GArDN,SAAsB80B,GACpB,IAAIqW,EAAU,wBACE,aAAZrW,EAAGrD,OAAqB0Z,GAAW,aAEvC,IAAIC,EAAU,EACT3mB,KAAK4c,MAAMgK,SAAQD,EAAU,GAC9BA,IAASD,GAAW,YAExB,IAAIG,KAAEA,GAASxW,EACXA,EAAGyW,eAAcD,EAAOxW,EAAGyW,gBAC/B,MAAMrQ,EAAU,0DAA0DpG,EAAG3C,kBAC7E,MAAO,eAAegZ,SACrB1mB,KAAK+mB,kBAAkBtQ,EAAS,OAAO,kBAEtCoQ,EAAK,GAAK,yBAAyBA,EAAK,OAAS,yBACjB,IAAVA,EAAK,QAAwB,IAAVA,EAAK,oBAsCrCG,CAAa3W,GACJ,aAAZA,EAAGrD,KAAqB/C,IAAgC1uB,EACvC,WAAZ80B,EAAGrD,KAAmB9C,IAA+B3uB,EAEhD,WAAZ80B,EAAGrD,MACS,WAAZqD,EAAGrD,MACS,UAAZqD,EAAGrD,OAEHhD,IAAwBzuB,OAchC,SAAS0rC,KACP,GAAoB,cAAhBjnB,KAAK8d,OAAwB,CAC/B,IAAInhC,EAAuB,GAAjBqjB,KAAKmR,UACXnR,KAAK+N,QAAQ,kBAAiBpxB,GAAO,IACrCqjB,KAAK+N,QAAQ,YAAWpxB,GAAO,KACnCysB,GAAe1mB,KAAK6D,IAAI,GAAI5J,GACxBqjB,KAAK0d,IAAI,gCAA+BtU,IAAgB,IAehE,SAAS8d,KACP9e,GAA2C,IAA7BU,GAAoC,IAClDV,IAAcW,GACd,MAAMmd,EAAc9O,KAChB8O,EAAc,EAAG9d,IAAc8d,EAC9B9d,GAAa,EAClBC,GAAmBW,IAAuC,IAAbZ,IAAqB,GAClEE,GAAwBW,IAAsC,IAAbb,IAAqB,GACtEG,GAAgC,EAAbH,GACnBI,GACEQ,IAA6C,IAAnBT,IAA2B,GACvDE,GACEQ,IAA4C,IAAnBV,IAA2B,GACtDG,GAA4B,EAAbN,GACfO,GAAoC,IAAfD,GAErBE,GAAe,EACf,IAAIriB,EAAM,EACNnJ,EAAI,EACRO,OAAO6C,KAAKwf,KAAKuN,SAAS6B,SAASj1B,IAC7B6lB,KAAKuN,QAAQpzB,GAAGo0B,OAAShoB,IAAKA,EAAMyZ,KAAKuN,QAAQpzB,GAAGo0B,QACpDvO,KAAKuN,QAAQpzB,GAAGo0B,OAAS,IAAGnxB,GAAK,MAEvCO,OAAO6C,KAAKwf,KAAKuN,SAAS6B,SAASj1B,KAE9B6lB,KAAKuN,QAAQpzB,GAAGo0B,OAAShoB,GAAa,IAANnJ,IACjC4iB,KAAKuN,QAAQpzB,GAAGo0B,OAAS,KACD,EAAxBvO,KAAKuN,QAAQpzB,GAAG0zB,MAAYjF,KAE5BA,GAAuC,EAAxB5I,KAAKuN,QAAQpzB,GAAG0zB,MAC/BhF,GAAuB1uB,MAQ7B,SAASgtC,KACP,IAAIC,EAAa,EACbC,EAAY,EACZpT,EAAO,EAGPpH,GAAO,4BAA2BoH,GAAQ,MAC1CpH,GAAO,iBAAgBoH,GAAQ,MAEnCmT,GAAc,EAA+C,GAA3CpnB,KAAK+iB,SAAS,2BAChCqE,GAAcpnB,KAAKsnB,IAAI,oBACvBD,GAAa,EAAuC,GAAnCrnB,KAAK+iB,SAAS,mBAC/BsE,GAAarnB,KAAKsnB,IAAI,mBAGtBte,GAAyBiL,EAAOmT,EAChCne,GAAwBgL,EAAOoT,EAM/Bte,GAAoC,EACD,IAA/B/I,KAAKud,aAAaC,OAAOpgC,IAC3B2rB,IACE,EAAwC,KAApC/I,KAAK+iB,SAAS,qBAkBxB,SAASwE,KACP9d,GAAsB,EACtBC,GAAuB,EACvBC,GAAwB,CAAC,EAAG,MAC5B,IAAK,IAAIxvB,EAAI,EAAGA,EAAI6lB,KAAKqR,UAAUj3B,OAAQD,IAAK,CAC9C,IAAIykC,OAAEA,GAAW5e,KAAKqR,UAAUl3B,GAC5B0kC,EAAS,IAKb,GAJI7e,KAAK0d,IAAI,6BAA4BmB,GAAU,MACpB,IAA3B7e,KAAKqR,UAAUl3B,GAAGK,OAAYqkC,GAAU,GAC5CD,GAAUC,EACN7e,KAAK0d,IAAI,mBAAkBkB,GAAU,MACrCzS,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASlO,KAAKoN,OAAO,SACZ,IAAXc,EAAc0Q,GAAU,KACR,IAAX1Q,EAAc0Q,GAAU,IACb,IAAX1Q,IAAc0Q,GAAU,MAEnCnV,IAAuBmV,EACQ,IAA3B5e,KAAKqR,UAAUl3B,GAAGK,OACpBkvB,IAAwBkV,EACpBA,EAASjV,GAAsB,KACjCA,GAAwB,CAACiV,EAAQzkC,MAuBzC,SAASqtC,KACP/T,KACA8T,KACAL,KACAC,KACAlB,KACAQ,KACAQ,KA/hDAphB,GAAc,IAAIqZ,GAAWlc,EAAYA,EAAY5oB,OAAS,IAC9D0rB,GAAY,IAAIoZ,GAAWlc,EAAYA,EAAY5oB,OAAS,IAC5D2rB,GAAmB,IAAImZ,GAAWlc,EAAYA,EAAY5oB,OAAS,IACnE4rB,GAAa,IAAIkZ,GAAWlc,EAAYA,EAAY5oB,OAAS,IAC7D6rB,GAAa,IAAIiZ,GAAWjc,EAAWA,EAAW7oB,OAAS,IA6hD3D8rB,GAAoB,IAAIgZ,GAAW,GACnCiH,KACA3G,KACAuF,KACAD,KACA1D,KAKF,MA2ImCqG,GA3Ib,CACpBxW,QAAS,EACTsP,WAAY,EACZI,cAAe,EACfzP,UAAW,EACXzM,MAAO,EACPF,cAAe,EACfQ,eAAgB,EAChBD,YAAa,OACbY,WAAY,EACZgiB,aAAc,EACd5U,cAAe,EACf3D,YAAa,EACb2R,sBAAuB,EACvBI,aAAc,EACdF,cAAe,EACfH,oBAAqB,EACrBjf,WAAY,UACZC,YAAa,UACbC,aAAc,UACdC,aAAc,UACdC,UAAW,UACXC,aAAc,UACdC,WAAY,UACZC,WAAY,UACZC,YAAa,UACbuQ,OAAQ,EACRW,SAAU,EACVC,YAAa,EACbsK,gBAAiB,EACjBjO,YAAa,EACb+X,mBAAoB,EACpBrY,cAAe,EACfoB,aAAc,EACdkX,eAAgB,EAChBC,YAAa,EACbC,QAAS,EACTC,QAAS,EACThoB,gBAAiB,EACjBioB,oBAAqB,EACrBnQ,oBAAqB,EACrBoQ,YAAa,EACbhM,cAAe,EACfC,oBAAqB,EACrBE,gBAAiB,EACjBE,sBAAuB,EACvBE,gBAAiB,EACjBb,aAAc,EACdG,YAAa,EACbtE,YAAa,EACbyB,YAAa,EACbkF,aAAc,EACd1F,YAAa,EACbkB,aAAc,EACdc,gBAAiB,EACjByN,oBAAqB,EACrBlL,MAAO,EACPmL,gBAAiB,EACjBpJ,QAAS,EACTqJ,oBAAqB,EACrBC,aAAc,EACdpkB,MAAO,EACPqkB,aAAc,EACdC,eAAgB,EAChBC,QAAS,EACTC,cAAe,UACfC,QAAS,EACTC,SAAU,IACVC,WAAY,6DACZC,oBAAqB,EACrBC,aAAc,EACdC,mBAAoB,UACpBC,aAAc,EACdC,cAAe,IACfC,gBACE,gEACFC,gBAAiB,EACjBC,SAAU,EACVC,eAAgB,UAChBC,SAAU,EACVC,UAAW,IACXC,YACE,oEACFC,UAAW,EACXC,gBAAiB,UACjBC,UAAW,EACXC,WAAY,IACZC,aAAc,+DACdC,kBAAmB,EACnBC,WAAY,EACZC,iBAAkB,UAClBC,WAAY,EACZC,YAAa,IACbC,cACE,gEACFC,qBAAsB,EACtBC,cAAe,EACfC,oBAAqB,UACrBC,cAAe,EACfC,eAAgB,IAChBC,iBACE,6DACFC,wBAAyB,EACzBC,iBAAkB,EAClBC,uBAAwB,UACxBC,iBAAkB,EAClBC,kBAAmB,IACnBC,oBACE,8DACFC,aAAc,EACdC,OAAQ,CACNC,YAAa,EACbC,SAAU,EACVC,QAAS,EACTC,YAAa,EACbC,QAAS,EACTC,WAAY,EACZC,aAAc,EACdC,oBAAqB,EACrBC,eAAgB,EAChBC,eAAgB,EAChBC,gBAAiB,EACjBC,iBAAkB,EAClBC,iBAAkB,EAClBC,kBAAmB,EACnBC,qBAAsB,EACtBC,cAAe,EACfC,MAAO,EACPC,MAAO,EACPC,OAAQ,EACRC,OAAQ,EACRC,SAAU,EACVC,MAAO,EACPC,IAAK,EACLC,KAAM,EACNC,QAAS,IAoCsBC,GAvBnC,SAAsCC,GACpC,GAAoB,IAAhBA,EAAmB,CAErB,MAAMC,EAA2B,WAC/B,IACErB,aAAasB,oBAAoBC,OACjC,MAAOzxC,GACP,OAAO,EAET,OAAO,GAIH,iBAAkB1C,OAEbi0C,IACTrB,aAAasB,oBAAoBC,OAEjCvB,aAAasB,oBAJb9xC,QAAQqqB,IAAI,kDAoBlB,SAAS2nB,KACkB,IAArBntB,EAAU8S,QACZpnB,EAAE,YAAYnJ,MAAMqV,QAAU,GAC9Bib,MAEAnnB,EAAE,YAAYnJ,MAAMqV,QAAU,OAEhC4b,KAwGF,SAAS4Z,KACPC,cACAltB,KAAKmtB,eACLntB,KAAKotB,kBAEL1a,KACAzD,KACAU,KAuBF,SAAS0d,KACmB,IAAtBxtB,EAAUkoB,SAAiB/mB,EAAwB,EACjDiK,GAA0BqiB,MAC5B/hC,EAAE,aAAagiC,KACb,mEAEFhiC,EAAE,aAAagiC,KACb,oEAEJhiC,EAAE,aAAagiC,KACb,uDAQN,MAAMC,GACJrO,YAAY3kC,EAAMizC,GAChB50C,KAAK2B,KAAOA,EACZ3B,KAAK40C,MAAQA,GAKjB,MAAMC,WAAwBF,GAC5BrO,YAAY3kC,EAAMizC,EAAOE,EAAOC,EAAMC,EAAQ3uC,EAAO,MACnD4uC,MAAMtzC,EAAMizC,GACZ50C,KAAK80C,MAAQA,EACb90C,KAAK+0C,KAAOA,EACZ/0C,KAAKg1C,OAASA,EACV3uC,IACFrG,KAAKqG,KAAOA,IAKlB,MAAM6uC,WAAuBP,GAC3BrO,YAAY3kC,EAAMizC,EAAOG,GACvBE,MAAMtzC,EAAMizC,GACZ50C,KAAK+0C,KAAOA,GAKhB,MAAMI,WAAsBR,GAC1BrO,YAAY3kC,EAAMizC,EAAOE,EAAOC,GAC9BE,MAAMtzC,EAAMizC,GACZ50C,KAAK80C,MAAQA,EACb90C,KAAK+0C,KAAOA,EACZ,IAAK,IAAIzzC,EAAI,EAAGA,EAAI,IAAKA,IACvBtB,KAAK80C,MAAMxzC,GAAK,GAAGA,MAMzB,MAAM8zC,WAA2BT,GAC/BrO,YAAY3kC,EAAMizC,EAAOE,EAAOC,EAAMvnC,EAAKE,GACzCunC,MAAMtzC,EAAMizC,GACZ50C,KAAK80C,MAAQA,EACb90C,KAAK+0C,KAAOA,EACZ/0C,KAAKwN,IAAMA,EACXxN,KAAK0N,IAAMA,GAyBf,MA8xBmC2nC,GA9xBpB,CAEbjd,QAAS,IAAIyc,GACX,OACA,cACA,CAAC,6BAA8B,8BAC/B,kFACA,GAEFnN,WAAY,IAAImN,GACd,OACA,cACA,CACE,0BACA,0BACA,0BACA,yBACA,yBACA,0BACA,0BACA,2BAEF,4DACA,GAEF/M,cAAe,IAAI+M,GACjB,OACA,cACA,CACE,4BACA,4BACA,6BACA,6BACA,8BAEF,uDACA,GAEFxc,UAAW,IAAIwc,GACb,OACA,cACA,CACE,+BACA,8BACA,6CAEF,qGACA,GACA,WACE9lB,IAAY,KAKhBnD,MAAO,IAAIipB,GACT,OACA,WACA,CACE,uBACA,SACA,cACA,4BACA,sBACA,wBAEF,yCACA,GACA,WACET,QAGJ1oB,cAAe,IAAImpB,GACjB,OACA,WACA,CAAC,aAAc,aAAc,cAC7B,oIACA,GACA,WACET,QAGJloB,eAAgB,IAAI2oB,GAClB,OACA,WACA,CAAC,4BAA6B,mBAC9B,qDACA,GACA,WACET,QAGJnoB,YAAa,IAAImpB,GACf,WACA,WACA,2BACA,8KACA,EACA,WAEFvoB,WAAY,IAAIgoB,GACd,OACA,WACA,CAAC,0BAA2B,uBAC5B,0BACA,GAEFhG,aAAc,IAAIgG,GAChB,OACA,WACA,CAAC,oBAAqB,oBACtB,mEACA,GACA,WAlU6B,IAA3B7tB,EAAU6nB,aAAoB1nB,KAAKkd,QAAUza,EAC5CzC,KAAKkd,QAAUzb,EAAgByb,WAqUpCpK,cAAe,IAAI4a,GACjB,OACA,WACA,CAAC,yBAA0B,mBAC3B,sKACA,GAIFve,YAAa,IAAIue,GACf,OACA,UACA,CAAC,uBAAwB,uBACzB,yBACA,GACA,WACEze,QAGJ6R,sBAAuB,IAAI4M,GACzB,OACA,UACA,CAAC,2BAA4B,sBAC7B,0KACA,GAEFxM,aAAc,IAAIwM,GAChB,OACA,UACA,CACE,mBACA,kBACA,0BACA,gCAEF,sGACA,GAEF1M,cAAe,IAAI0M,GACjB,OACA,UACA,CAAC,mBAAoB,mBACrB,sJACA,GAEF7M,oBAAqB,IAAIoN,GACvB,WACA,UACA,oCACA,wMACA,EACAzpB,KAEF5C,WAAY,IAAImsB,GACd,SACA,UACA,6HAEFlsB,YAAa,IAAIksB,GACf,SACA,UACA,yGAEFjsB,aAAc,IAAIisB,GAChB,SACA,UACA,qHAEFhsB,aAAc,IAAIgsB,GAChB,SACA,UACA,4HAEF/rB,UAAW,IAAI+rB,GACb,SACA,UACA,gHAEF9rB,aAAc,IAAI8rB,GAChB,SACA,UACA,8HAEF7rB,WAAY,IAAI6rB,GACd,SACA,UACA,wGAEF5rB,WAAY,IAAI4rB,GACd,SACA,UACA,sDAEF3rB,YAAa,IAAI2rB,GACf,SACA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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file diff --git a/src/Disp/Dragon/Dragon.js b/src/Disp/Dragon/Dragon.js index b6b4a330..4ec6de74 100644 --- a/src/Disp/Dragon/Dragon.js +++ b/src/Disp/Dragon/Dragon.js @@ -19,7 +19,7 @@ export function AddAuraInfo(aura) { const timeToRecover = FormatTime( priceOfChange / (bonusCPS + Game.cookiesPs), ); - const bonusCPSPercentage = Beautify(bonusCPS / Game.cookiesPs); + const bonusCPSPercentage = Beautify((bonusCPS / Game.cookiesPs) * 100); l('dragonAuraInfo').style.minHeight = '60px'; l('dragonAuraInfo').style.margin = '8px'; diff --git a/src/Sim/SimulationEvents/AuraChange.js b/src/Sim/SimulationEvents/AuraChange.js index 856b2653..e740f3e4 100644 --- a/src/Sim/SimulationEvents/AuraChange.js +++ b/src/Sim/SimulationEvents/AuraChange.js @@ -38,7 +38,7 @@ export default function CalculateChangeAura(aura) { SimDragonAura2 !== CacheDragonAura2 ) { for (let i = Game.ObjectsById.length - 1; i > -1; --i) { - if (Game.ObjectsById[i - 1].amount > 0) { + if (Game.ObjectsById[i].amount > 0) { const highestBuilding = SimObjects[Game.ObjectsById[i].name].name; SimObjects[highestBuilding].amount -= 1; SimBuildingsOwned -= 1; diff --git a/webpack.config.js b/webpack.config.js index 8c92e1a7..ccca22b3 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -3,7 +3,7 @@ const path = require('path'); module.exports = function (env) { return { mode: 'production', - devtool: env.production ? 'source-map' : 'eval-source-map', + devtool: env.production ? 'source-map' : 'inline-source-map', optimization: { minimize: !!env.production, }, From 9a84b0abe55ca5e5e387140c0c916acdfaf6afeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Fri, 2 Apr 2021 23:20:19 +0200 Subject: [PATCH 13/30] Created favourite settings functionality #727 --- CookieMonster.js | 2 +- dist/CookieMonster.js | 2 +- dist/CookieMonster.js.map | 2 +- src/Config/Toggles/ToggleFavourites.js | 13 ++ src/Data/Sectionheaders.js | 1 + src/Data/SettingsData.js | 16 +- src/Data/SettingsDefault.js | 2 + src/Disp/MenuSections/AddMenus.js | 2 +- .../MenuSections/Settings/CreateHeader.js | 35 ++++ .../CreateOption.js} | 152 ++++-------------- .../MenuSections/Settings/SettingsPage.js | 79 +++++++++ src/Disp/VariablesAndData.js | 5 + src/InitSaveLoad/load.js | 5 + src/InitSaveLoad/save.js | 2 + 14 files changed, 193 insertions(+), 125 deletions(-) create mode 100644 src/Config/Toggles/ToggleFavourites.js create mode 100644 src/Disp/MenuSections/Settings/CreateHeader.js rename src/Disp/MenuSections/{SettingsPage.js => Settings/CreateOption.js} (57%) create mode 100644 src/Disp/MenuSections/Settings/SettingsPage.js diff --git a/CookieMonster.js b/CookieMonster.js index 72ad0ed8..51604b35 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${se(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,Rt={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Ue===t.id)return 2;if(Re===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Ue=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;e0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Uo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Uo).forEach((e=>{to(Uo[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Rt=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Un(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Ut,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(i.push(Uo[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Rn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Rn).forEach((t=>{const n=In(t,Rn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Un(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=1,ct=1,dt=1,pt=0,ut=0,mt=0,ht=0,gt={},ft={},Ct={},yt=0,bt=0,kt=[0,null],Gt=0,wt=0,vt={},xt={},Tt={},Mt={},St={},Pt=0,Bt=0,Et=[],Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,Rt=0,$t={},It={},zt=0,Vt=0,_t=[],Xt={},Qt=0,qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Yt=[],Kt=[],Jt=[];function Zt(e){let t=0;return Game.dragonAuras[De].name!==e&&Game.dragonAuras[He].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[De].name&&"Reality Bending"!==Game.dragonAuras[He].name||(t+=.1),t}function eo(){let e=.25;return e*=1+Zt("Earth Shatterer"),e}function to(e,t){return void 0===ze[e]?void 0===t?1:t:ze[e]}function oo(e){const t=Kt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function no(e){if(Game.hasGod){void 0===Yt.Temple.minigame&&(Yt.Temple.minigame=Game.Objects.Temple.minigame);const t=Yt.Temple.minigame.gods[e];if(Ue===t.id)return 1;if(Re===t.id)return 2;if($e===t.id)return 3}return!1}function io(e,t){let o=t;if(oo("Season savings")&&(o*=.99),oo("Santa's dominion")&&(o*=.99),oo("Faberge egg")&&(o*=.99),oo("Divine discount")&&(o*=.99),oo("Fortune #100")&&(o*=.99),o*=1-.02*Zt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&oo(e.fortune.name)&&(o*=.93),o*=to("buildingCost"),Yt.Temple.minigameLoaded){const e=no("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ao(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ro(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=gt:10===t?t=ft:100===t&&(t=Ct),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(gt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ao(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(gt).map((e=>{const t=gt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=gt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=gt),10===i&&(i=ft),100===i&&(i=Ct),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+co()))/so());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&oo(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(oo(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&oo(e.fortune.name)&&(t*=1.07),e.grandma&&oo(e.grandma.name)&&(t*=1+.01*Yt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&oo(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function ko(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;oo("Thousand fingers")&&(t+=.1),oo("Million fingers")&&(t*=5),oo("Billion fingers")&&(t*=10),oo("Trillion fingers")&&(t*=20),oo("Quadrillion fingers")&&(t*=20),oo("Quintillion fingers")&&(t*=20),oo("Sextillion fingers")&&(t*=20),oo("Septillion fingers")&&(t*=20),oo("Octillion fingers")&&(t*=20),oo("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Yt).forEach((e=>{"Cursor"!==Yt[e].name&&(n+=Yt[e].amount)})),t*=n,o*=bo(e),o*=Game.magicCpS("Cursor"),o*=to("cursorCps"),Game.ComputeCps(.1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{oo(Game.GrandmaSynergies[e])&&(o*=2)})),oo("Bingo center/Research facility")&&(o*=4),oo("Ritual rolling pins")&&(o*=2),oo("Naughty list")&&(o*=2),oo("Elderwort biscuits")&&(o*=1.02),o*=to("grandmaCps"),oo("Cat ladies"))for(let e=0;e{"Grandma"!==Yt[e].name&&(i+=Yt[e].amount)})),o*=1+.01*Zt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=bo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function Go(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Yt).forEach((t=>{Yt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(oo("Starlove")&&(e=3),Game.hasGod){const t=no("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function wo(){Fe=Game.UpgradesOwned,We=Game.pledges,Le=Game.AchievementsOwned,Ae=Game.heavenlyPower,je=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e],uo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ue=t.minigame.slot[0],Re=t.minigame.slot[1],$e=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Yt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e]),o.bought=t.bought,Kt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Jt[e];void 0===o&&(Jt[e]=yo(e),o=Jt[e]),o.won=t.won,Jt[e]=o})),Co(),De=Xe,He=Qe}function vo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function xo(e){e.appendChild(vo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(vo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(vo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(vo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(vo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function To(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function So(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Po(){if(wo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(xo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=gt:10===Game.buyBulk?t=ft:100===Game.buyBulk&&(t=Ct),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+co()))/so());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(vo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(vo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=po(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,go())}}(),mo(),Po(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Yt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Eo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function No(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Qt;Game.cpsSucked>0&&(o+=yt),Ut=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-ye,i=Math.max(0,Game.cookies-be)/n,a=Math.max(0,yt-ke)/n,r=Math.max(0,kt[0]-Ge)/n,l=Math.max(0,o-ht)/n,s=(Game.cookieClicks-we)/n;for(let e=0;e0&&(n=W),n}function Fo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Oo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+co()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||_t.push([t[n].pp,o])}))}function Lo(){!function(){Vt=1/0,_t=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Wo(gt,1),Wo(ft,10),Wo(Ct,100),_t.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;_t[t][1]>Game.cookies&&(t+=1,_t.length!==t+1););Vt=_t[e.PPExcludeTop][t],Fo(gt,1),Fo(ft,10),Fo(Ct,100)}(),Object.keys(vt).forEach((e=>{Game.cookiesPs?vt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+co()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/vt[e].bonus:vt[e].pp=Game.Upgrades[e].getPrice()/vt[e].bonus,Number.isNaN(vt[e].pp)&&(vt[e].pp=1/0),vt[e].color=Oo(vt[e],Game.Upgrades[e].getPrice())}))}function Ao(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),ze=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(je)*Ae*function(){let e=0;if(oo("Heavenly chip secret")&&(e+=.05),oo("Heavenly cookie stand")&&(e+=.2),oo("Heavenly bakery")&&(e+=.25),oo("Heavenly confectionery")&&(e+=.25),oo("Heavenly key")&&(e+=.25),e*=1+.05*Zt("Dragon God"),oo("Lucky digit")&&(e*=1.01),oo("Lucky number")&&(e*=1.01),oo("Lucky payout")&&(e*=1.01),Game.hasGod){const t=no("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=to("cps"),oo("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];oo(o.name)&&("function"==typeof o.power?e*=1+.01*Kt[o.name].power(Kt[o.name]):e*=1+.01*o.power)})),oo("Specialized chocolate chips")&&(e*=1.01),oo("Designer cocoa beans")&&(e*=1.02),oo("Underworld ovens")&&(e*=1.03),oo("Exotic nuts")&&(e*=1.04),oo("Arcane sugar")&&(e*=1.05),oo("Increased merriness")&&(e*=1.15),oo("Improved jolliness")&&(e*=1.15),oo("A lump of coal")&&(e*=1.01),oo("An itchy sweater")&&(e*=1.01),oo("Santa's dominion")&&(e*=1.2),oo("Fortune #100")&&(e*=1.01),oo("Fortune #101")&&(e*=1.07),oo("Dragon scale")&&(e*=1.03);let o=1;if(no){let t=no("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=no("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=no("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=no("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=no("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}oo("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Le/25;let i=1;if(oo("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Zt("Breath of Milk"),no){const e=no("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=to("milk");let a=1;oo("Kitten helpers")&&(a*=1+.1*n*i),oo("Kitten workers")&&(a*=1+.125*n*i),oo("Kitten engineers")&&(a*=1+.15*n*i),oo("Kitten overseers")&&(a*=1+.175*n*i),oo("Kitten managers")&&(a*=1+.2*n*i),oo("Kitten accountants")&&(a*=1+.2*n*i),oo("Kitten specialists")&&(a*=1+.2*n*i),oo("Kitten experts")&&(a*=1+.2*n*i),oo("Kitten consultants")&&(a*=1+.2*n*i),oo("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),oo("Kitten marketeers")&&(a*=1+.15*n*i),oo("Kitten analysts")&&(a*=1+.125*n*i),oo("Kitten executives")&&(a*=1+.115*n*i),oo("Kitten angels")&&(a*=1+.1*n*i),oo("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Yt).forEach((e=>{const t=Yt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&oo("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Ve+=t.amount*a})),oo('"egg"')&&(Ve+=9),e*=a;let r=1;if(oo("Chicken egg")&&(r*=1.01),oo("Duck egg")&&(r*=1.01),oo("Turkey egg")&&(r*=1.01),oo("Quail egg")&&(r*=1.01),oo("Robin egg")&&(r*=1.01),oo("Ostrich egg")&&(r*=1.01),oo("Cassowary egg")&&(r*=1.01),oo("Salmon roe")&&(r*=1.01),oo("Frogspawn")&&(r*=1.01),oo("Shark egg")&&(r*=1.01),oo("Turtle egg")&&(r*=1.01),oo("Ant larva")&&(r*=1.01),oo("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),ut=1+.1*(1-(1-e/100)**3),r*=ut}e*=r,oo("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Zt("Radiant Appetite");const l=Ve*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&jo(Game.CpsAchievements[e].name)})),_e=l;const{n:s}=Game.shimmerTypes.golden,c=Zt("Dragon's Fortune");for(let t=0;t{oo(e[o])&&(t+=.1)}))}e*=t}if(oo("Shimmering veil [off]")){let t=.5;oo("Reinforced membrane")&&(t+=.1),e*=1+t}oo("Magic shenanigans")&&(e*=1e3),oo("Occult obstruction")&&(e*=0),Ve=Game.runModHookOnValue("cps",Ve),e*=Mo(),Ve*=e}const Ho=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Uo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ro=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],$o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Io=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function zo(e){return Jt[e]?Jt[e].won:0}function Vo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{oo(Game.GrandmaSynergies[t])&&(e+=1)})),!zo("Elder")&&e>=7&&jo("Elder"),!zo("Veteran")&&e>=14&&jo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Yt).forEach((e=>{t+=Yt[e].amount,i=Math.min(Yt[e].amount,i),zo("Mathematician")||Yt[e].amount=1&&jo("One with everything"),1===o&&jo("Mathematician"),1===n&&jo("Base 10"),i>=100&&jo("Centennial"),i>=150&&jo("Centennial and a half"),i>=200&&jo("Bicentennial"),i>=250&&jo("Bicentennial and a half"),i>=300&&jo("Tricentennial"),i>=350&&jo("Tricentennial and a half"),i>=400&&jo("Quadricentennial"),i>=450&&jo("Quadricentennial and a half"),i>=500&&jo("Quincentennial"),i>=550&&jo("Quincentennial and a half"),i>=600&&jo("Sexcentennial"),t>=100&&jo("Builder"),t>=500&&jo("Architect"),t>=1e3&&jo("Engineer"),t>=2e3&&jo("Lord of Constructs"),t>=4e3&&jo("Grand design"),t>=8e3&&jo("Ecumenopolis"),Fe>=20&&jo("Enhancer"),Fe>=50&&jo("Augmenter"),Fe>=100&&jo("Upgrader"),Fe>=200&&jo("Lord of Progress"),Fe>=300&&jo("The full picture"),Fe>=400&&jo("When there's nothing left to add"),t>=4e3&&Fe>=300&&jo("Polymath"),t>=8e3&&Fe>=400&&jo("Renaissance baker"),Yt.Cursor.amount+Yt.Grandma.amount>=777&&jo("The elder scrolls");let a=!0;Object.keys(Uo).forEach((e=>{oo(Uo[e])||(a=!1)})),a&&jo("Spooky cookies");let r=!0;if(Object.keys(Ro).forEach((e=>{oo(Ro[e])||(r=!1)})),r&&jo("Let it snow"),oo("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{oo(e[o].name)&&(t+=1)})),t>=e.length&&jo("O Fortuna")}}function _o(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){wo(),Yt[e].amount+=t;const o=Yt[e];"Cursor"===e?(o.amount>=1&&jo("Click"),o.amount>=2&&jo("Double-click"),o.amount>=50&&jo("Mouse wheel"),o.amount>=100&&jo("Of Mice and Men"),o.amount>=200&&jo("The Digital"),o.amount>=300&&jo("Extreme polydactyly"),o.amount>=400&&jo("Dr. T"),o.amount>=500&&jo("Thumbs, phalanges, metacarpals"),o.amount>=600&&jo("With her finger and her thumb"),o.amount>=700&&jo("Gotta hand it to you"),o.amount>=800&&jo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&jo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Le;return Do(),Vo(),n!==Le&&Do(),Ve-Game.cookiesPs}(o,e),1!==e&&(Ee=1)})),t}function Xo(){Object.keys(Game.Objects).forEach((e=>{gt[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),ft[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),Ct[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Qo(){gt=_o(1),ft=_o(10),Ct=_o(100),vt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){wo(),"Shimmering veil [on]"===Kt[e].name?Kt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Kt[e].name?Kt["Golden switch [off]"].bought=0:Kt[e].bought=(Kt[e].bought+1)%2,Kt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Fe+=1),"Elder Pledge"===e?(We+=1,We>0&&jo("Elder nap"),We>=5&&jo("Elder slumber")):"Elder Covenant"===e?jo("Elder calm"):"Prism heart biscuits"===e?jo("Lovely cookies"):"Heavenly key"===e&&jo("Wholesome");const t=Le;Do(),Vo(),t!==Le&&Do();const o=function(){let e=0;oo("Thousand fingers")&&(e+=.1),oo("Million fingers")&&(e*=5),oo("Billion fingers")&&(e*=10),oo("Trillion fingers")&&(e*=20),oo("Quadrillion fingers")&&(e*=20),oo("Quintillion fingers")&&(e*=20),oo("Sextillion fingers")&&(e*=20),oo("Septillion fingers")&&(e*=20),oo("Octillion fingers")&&(e*=20),oo("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Yt).forEach((e=>{t+=Yt[e].amount})),t-=Yt.Cursor.amount,e*=t,oo("Plastic mouse")&&(e+=.01*Ve),oo("Iron mouse")&&(e+=.01*Ve),oo("Titanium mouse")&&(e+=.01*Ve),oo("Adamantium mouse")&&(e+=.01*Ve),oo("Unobtainium mouse")&&(e+=.01*Ve),oo("Eludium mouse")&&(e+=.01*Ve),oo("Wishalloy mouse")&&(e+=.01*Ve),oo("Fantasteel mouse")&&(e+=.01*Ve),oo("Nevercrack mouse")&&(e+=.01*Ve),oo("Armythril mouse")&&(e+=.01*Ve),oo("Technobsidian mouse")&&(e+=.01*Ve),oo("Plasmarble mouse")&&(e+=.01*Ve),oo("Miraculite mouse")&&(e+=.01*Ve),oo("Fortune #104")&&(e+=.01*Ve);let o=1;if(oo("Santa's helpers")&&(o*=1.1),oo("Cookie egg")&&(o*=1.1),oo("Halo gloves")&&(o*=1.1),oo("Dragon claw")&&(o*=1.03),oo("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,oo("Luminous gloves")?20:10)),o*=to("click"),Yt.Temple.minigameLoaded&&no){const e=no("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Zt("Dragon Cursor");let n=o*Game.ComputeCps(1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Ve-Game.cookiesPs,o]:[Ve-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(vt[t]={bonus:Game.cookiesPs-ve},1===e.CalcWrink?vt[t].bonus-=xe:2===e.CalcWrink&&(vt[t].bonus-=Te),Number.isFinite(vt[t].bonus)||(vt[t].bonus=0)):(vt[t]={},o[0]&&(vt[t].bonus=o[0]),o[1]&&(vt[t].bonusMouse=o[1]))}))}function qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Et=qo(7,e,ct),Pt=2*Et[1]/ct,Bt=Et[2]/60/60/6/st,Ft=qo(6,e,dt),Nt=2*Ft[1]/dt,Ot=Ft[2]/60/60/6/st,At=qo(7,7*e,ct),Wt=2*At[1]/ct,Lt=At[2]/60/60/6/st,Ht=qo(6,7*e,dt),jt=2*Ht[1]/dt,Dt=Ht[2]/60/60/6/st}function Ko(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Pe,i=Math.max(0,o-Be)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Mt+=e:"cookie"===o.pool?St+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Tt+=e)}}))}function Zo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),mt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(mt*=2)}}function en(){Ke=900*lt/.15,Ke*=st;const e=Mo();e>0?Ke/=e:Ke=0,Je=ct*(.15*Ke)+13,Ze=dt*(.15*Ke)+13,et=7*Ke,tt=ct*(.15*et)+13,ot=dt*(.15*et)+13,nt=2*Ke,it=.15*nt,at=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountat&&(at=2*Game.Objects[e].price,rt=e)}))}function tn(){let e=1,t=1,o=1;oo("Green yeast digestives")&&(o*=1.01),oo("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ct=o*e,dt=o*t,st=1,0===Game.shimmerTypes.golden.n&&(st*=1+1.23*Game.auraMult("Dragon's Fortune"))}function on(){yt=0,bt=0,kt=[0,null];for(let e=0;ekt[0]&&(kt=[t,e]))}}function nn(){Co(),on(),en(),tn(),Yo(),Jo(),Zo(),ue=new Eo(Y[Y.length-1]),me=new Eo(Y[Y.length-1]),he=new Eo(Y[Y.length-1]),ge=new Eo(Y[Y.length-1]),fe=new Eo(K[K.length-1]),Ce=new Eo(5),Ko(),No(),Qo(),Xo(),Lo()}const an={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},rn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function ln(){1===e.BotBar?(l("CMBotBar").style.display="",mo()):l("CMBotBar").style.display="none",go()}function sn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),mo(),ro(),lo()}function cn(){1===e.Favicon&&y>0?$t.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class dn{constructor(e,t){this.type=e,this.group=t}}class pn extends dn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class un extends dn{constructor(e,t,o){super(e,t),this.desc=o}}class mn extends dn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class hn extends dn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const gn={CPSMode:new pn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new pn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new pn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new pn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){Ie=!0})),Scale:new pn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){sn()})),ScaleDecimals:new pn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){sn()})),ScaleSeparator:new pn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){sn()})),ScaleCutoff:new hn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new pn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new pn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new pn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new pn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ro()})),PPOnlyConsiderBuyable:new pn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new pn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new pn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new hn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new un("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new un("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new un("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new un("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new un("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new un("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new un("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new un("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new un("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new pn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){ln()})),TimerBar:new pn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){fo()})),TimerBarPos:new pn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),go()})),TimerBarOverlay:new pn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new pn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",lo()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",lo()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new pn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new pn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ro()})),SortUpgrades:new pn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){lo()})),DragonAuraInfo:new pn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new pn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new pn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Xt[e].l.style.left,re[e].style.top=Xt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new pn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){cn()})),WrinklerButtons:new pn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new pn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new pn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new pn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new pn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new pn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new pn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new pn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new pn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new hn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new pn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new pn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){So()})),TooltipGrim:new pn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new pn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new pn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new pn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new pn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new pn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new pn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new pn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new pn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new hn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new pn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new pn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new pn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new pn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){rn(e.GCNotification)})),GCFlash:new pn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new un("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new pn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new mn("vol","NotificationGC",[],"Volume"),GCSoundURL:new pn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new pn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){rn(e.FortuneNotification)})),FortuneFlash:new pn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new un("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new pn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new mn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new pn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new pn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){rn(e.SeaNotification)})),SeaFlash:new pn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new un("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new pn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new mn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new pn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new pn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new un("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new pn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new mn("vol","NotificationGard",[],"Volume"),GardSoundURL:new pn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new pn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){rn(e.MagicNotification)})),MagicFlash:new pn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new un("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new pn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new mn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new pn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new pn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){rn(e.WrinklerNotification)})),WrinklerFlash:new pn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new un("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new pn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new mn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new pn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new pn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){rn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new pn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new un("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new pn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new mn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new pn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new pn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new pn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function fn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function Cn(){if(qe!==Game.dragonLevel||Ie){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Upgrades).forEach((e=>{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Achievements).forEach((e=>{Jt[e]=yo(e)})),wo()}let kn=!1;function Gn(t,o,n){(1===e[o]||n)&&3===t&&!1===kn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Gn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Gn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Gn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function wn(t,o,n,i){if((1===e[o]||i)&&!1===kn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function vn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===kn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function xn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(ln(),fo()),ho()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(bn(),nn(),r=Object.keys(Game.mods).length),Ie&&(Qo(),Game.Has("Golden switch [off]")?(wo(),Kt["Golden switch [off]"].bought=0,Do(),lt=Ve):lt=Game.cookiesPs,tn(),en(),Jo(),Yo(),Cn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)qt[e][t]=yn(e,t)}(),Zo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;wo();let t=2;5!==De&&18!==De||(t-=1),5!==He&&18!==He||(t-=1),De=5,He=18;for(let e=0;e{Yt[t].amount>0&&(e=t)})),Yt[e].amount-=1,Oe-=1}return Object.keys(Yt).forEach((t=>{const o=Yt[t];e+=ao(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Qt=e}(),Ie=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ne&&t?(Ne=!0,Ee=1):Ne&&!t&&(Ne=!1,Ee=1),Ee&&(Xo(),Ee=0),function(){on(),Lo(),function(){Gt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Yt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}wt=e,Gt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),No(),Ko();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);zt=de(e/so())}(),G=0,Xt={},Object.keys(Game.shimmers).forEach((e=>{Xt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&($t=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Xt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),cn(),b=G,0===G&&($t=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Xt[e].l.style.opacity,re[e].style.transform=Xt[e].l.style.transform,re[e].textContent=Math.ceil(Xt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Gn(3,"FortuneFlash",!1),wn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),vn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(It=Game.shimmers[e])})),Gn(3,"SeaFlash",!1),wn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),vn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Gn(3,"WrinklerMaxFlash",!1):Gn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?wn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):wn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?vn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):vn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function Tn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=an[t]):"Header"===t&&Object.keys(an.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=an[t][n])}))})),o&&Mn(),xn(),Object.keys(an).forEach((e=>{"Header"!==e&&void 0!==gn[e].func&&gn[e].func()}))}else Sn(an);Game.UpdateMenu(),Tn()}function Pn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Bn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Ao(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Po(),l("tooltip").innerHTML}function En(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Nn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Mn()}function Dn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){jn(o),Game.UpdateMenu()},n.appendChild(i),n}function Hn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Un(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Rn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Dn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+co(){Game.HasUnlocked(Io[e])||c.push(Io[e])})),0!==c.length&&e.appendChild(Hn("basic","Rare plant drops left to unlock",Un(c))),e}())),o.appendChild(Dn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ut+Game.cookiesReset+yt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?ht:0)));t.appendChild(Hn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ut+Game.cookiesReset+yt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&ht?ht:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/Rt,1)})`,i.appendChild(a),t.appendChild(Hn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Hn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Hn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(ce(pt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Hn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(ce(e)))),t.appendChild(Hn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(de(e/pt)))))}const l=function(e){let t=Game.cookiesPs;wo(),0===Kt["Heavenly key"].bought&&(Kt["Heavenly chip secret"].bought=1,Kt["Heavenly cookie stand"].bought=1,Kt["Heavenly bakery"].bought=1,Kt["Heavenly confectionery"].bought=1,Kt["Heavenly key"].bought=1,Do(),t=Ve,wo()),Ut>=1e6&&jo("Sacrifice"),Ut>=1e9&&jo("Oblivion"),Ut>=1e12&&jo("From scratch"),Ut>=1e15&&jo("Nihilism"),Ut>=1e18&&jo("Dematerialize"),Ut>=1e21&&jo("Nil zero zilch"),Ut>=1e24&&jo("Transcendence"),Ut>=1e27&&jo("Obliterate"),Ut>=1e30&&jo("Negative void"),Ut>=1e33&&jo("To crumbs, you say?"),Ut>=1e36&&jo("You get nothing"),Ut>=1e39&&jo("Humble rebeginnings"),Ut>=1e42&&jo("The end of the world"),Ut>=1e45&&jo("Oh, you're back"),Ut>=1e48&&jo("Lazarus"),Ut>=1e51&&jo("Smurf account"),Ut>=1e54&&jo("If at first you don't succeed"),Kt["Heavenly chip secret"].bought=1,Kt["Heavenly cookie stand"].bought=1,Kt["Heavenly bakery"].bought=1,Kt["Heavenly confectionery"].bought=1,Kt["Heavenly key"].bought=1,je=e;const o=Le;Do(),Vo(),o!==Le&&Do();const n=Ve-t;return je=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Hn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Dn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(yt)} / ${ce(bt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Pn()},e.appendChild(t),o.appendChild(Hn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(kt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==kt[1]&&(Game.wrinklers[kt[1]].hp=0)},n.appendChild(i),o.appendChild(Hn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==kt[1]?kt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(n.push(Uo[e]),o=!0)}));const i=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(i.push(Ro[e]),o=!0)}));const a=[];Object.keys($o).forEach((e=>{Game.Has($o[e])||(a.push($o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Dn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Hn("basic","Halloween cookies left to buy",Un(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Hn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Hn("basic","Christmas cookies left to buy",Un(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Hn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Hn("basic","Valentine cookies left to buy",Un(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Hn("basic","Normal easter eggs left to unlock",Un(r))),t.appendChild(Hn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Hn("basic","Rare easter eggs left to unlock",Un(l))),t.appendChild(Hn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Hn("basic","Reindeer reward",document.createTextNode(ce(mt)))),s&&t.appendChild(Hn("withTooltip","Chocolate egg cookies",document.createTextNode(ce(ht)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Hn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(ut-1))/100+"%")))}return t}()),o.appendChild(Dn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Hn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(so(),3)))),o.appendChild(Hn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(xt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Ho).forEach((t=>{Game.Has(Ho[t])||e.push(Ho[t])})),0!==e.length&&o.appendChild(Hn("basic","Fortune Upgrades Left to Buy",Un(e)))}if(e.ShowMissedGC&&o.appendChild(Hn("basic","Missed Golden Cookies",document.createTextNode(ce(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Hn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.appendChild(i)}}}))}const $n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},In={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function zn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){jn(t),Game.UpdateMenu()},n.appendChild(i),n}function Vn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings){const e=document.createElement("a");se.includes(t)?e.innerText="★":e.innerText="☆",e.className="option",e.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(t),Mn(),Game.UpdateMenu()},o.appendChild(e),o.appendChild(document.createTextNode(" "))}if("bool"===gn[t].type){const n=document.createElement("a");gn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Ln+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===gn[t].label.length?(e[t]=0,gn[t].toggle&&(l(Ln+t).className="option off")):l(Ln+t).className="option",void 0!==gn[t].func&&gn[t].func(),l(Ln+t).innerHTML=gn[t].label[e[t]],Mn()}(t)},n.textContent=gn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=gn[t].desc,o.appendChild(i),o}if("vol"===gn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=gn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){An(t)},r.onchange=function(){An(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){wn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Ln+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Ln+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Mn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=gn[t].desc,o.appendChild(s),o}if("colour"===gn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Fn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Tn(),Mn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=gn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Gn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Wn().init(),o}if("numscale"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Ln+t,i.className="option",i.type="number",i.value=e[t],i.min=gn[t].min,i.max=gn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Mn(),sn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=gn[t].desc,o.appendChild(a),o}return o}function _n(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Xn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),Ie=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){_n(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){_n(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){_n(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Yt[Game.ObjectsById[e].name].name;Yt[o].amount-=1,Oe-=1,t=Yt[o].basePrice*Game.priceIncrease**Math.max(0,Yt[o].amount-1-Yt[o].free),t=Game.modifyBuildingPrice(Yt[o],t),t=Math.ceil(t);break}const o=Le;return Do(),Vo(),o!==Le&&Do(),[Ve-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${ce(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ye}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Wn().picker&&void 0!==Wn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys($n).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(zn(t,$n[t])),e.Header[t]))for(let e=0;e{const n=zn(t,In[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(Vn(e))}))})):Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(Vn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Sn(an)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Rn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){jn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=$t?$t.wrath?`[W${Math.ceil($t.life/Game.fps)}]`:`[G${Math.ceil($t.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(It.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;$t&&(t=!0,$t.wrath?e+=`[W${Math.ceil($t.life/Game.fps)}]`:e+=`[G${Math.ceil($t.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(It.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Be<1?"Ascending now would grant you no prestige.":Be<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Be)} prestige levels (+${ce(Be)}% CpS)
and ${ce(Be)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${zt} to reach the next level and you are making ${ce(pt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Qn(){bn(),en(),nn(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{uo(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=po("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=po("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Pn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==kt[1]&&(Game.wrinklers[kt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),En(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),On()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},Xn(),On(),Game.CalculateGains(),Sn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const qn={init:function(){kn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Qn(),Game.registerHook("draw",Bo),Game.registerHook("logic",xn),kn=!1)},load:function(e){const t=JSON.parse(e);bn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Sn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:fn};Game.registerMod("CookieMonster",qn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index 72ad0ed8..51604b35 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="";function se(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${se(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function de(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=ce(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=1,st=1,ct=1,dt=0,pt=0,ut=0,mt=0,ht={},gt={},ft={},Ct=0,yt=0,bt=[0,null],kt=0,Gt=0,wt={},vt={},xt={},Tt={},Mt={},St=0,Pt=0,Bt=[],Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,Rt={},$t={},It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[];function Jt(e){let t=0;return Game.dragonAuras[je].name!==e&&Game.dragonAuras[De].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[je].name&&"Reality Bending"!==Game.dragonAuras[De].name||(t+=.1),t}function Zt(){let e=.25;return e*=1+Jt("Earth Shatterer"),e}function eo(e,t){return void 0===Ie[e]?void 0===t?1:t:Ie[e]}function to(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function oo(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(He===t.id)return 1;if(Ue===t.id)return 2;if(Re===t.id)return 3}return!1}function no(e,t){let o=t;if(to("Season savings")&&(o*=.99),to("Santa's dominion")&&(o*=.99),to("Faberge egg")&&(o*=.99),to("Divine discount")&&(o*=.99),to("Fortune #100")&&(o*=.99),o*=1-.02*Jt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&to(e.fortune.name)&&(o*=.93),o*=eo("buildingCost"),qt.Temple.minigameLoaded){const e=oo("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function io(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ao(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ht:10===t?t=gt:100===t&&(t=ft),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ht).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=se(io(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ht).map((e=>{const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ht[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ht),10===i&&(i=gt),100===i&&(i=ft),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=se(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?ce(Math.round(i[o].pp)):se(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=de((Game.Objects[o].bulkPrice-(Game.cookies+so()))/lo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&to(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(to(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&to(e.fortune.name)&&(t*=1.07),e.grandma&&to(e.grandma.name)&&(t*=1+.01*qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&to(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function bo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;to("Thousand fingers")&&(t+=.1),to("Million fingers")&&(t*=5),to("Billion fingers")&&(t*=10),to("Trillion fingers")&&(t*=20),to("Quadrillion fingers")&&(t*=20),to("Quintillion fingers")&&(t*=20),to("Sextillion fingers")&&(t*=20),to("Septillion fingers")&&(t*=20),to("Octillion fingers")&&(t*=20),to("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(qt).forEach((e=>{"Cursor"!==qt[e].name&&(n+=qt[e].amount)})),t*=n,o*=yo(e),o*=Game.magicCpS("Cursor"),o*=eo("cursorCps"),Game.ComputeCps(.1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{to(Game.GrandmaSynergies[e])&&(o*=2)})),to("Bingo center/Research facility")&&(o*=4),to("Ritual rolling pins")&&(o*=2),to("Naughty list")&&(o*=2),to("Elderwort biscuits")&&(o*=1.02),o*=eo("grandmaCps"),to("Cat ladies"))for(let e=0;e{"Grandma"!==qt[e].name&&(i+=qt[e].amount)})),o*=1+.01*Jt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=yo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function ko(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(qt).forEach((t=>{qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(to("Starlove")&&(e=3),Game.hasGod){const t=oo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Go(){Oe=Game.UpgradesOwned,Fe=Game.pledges,We=Game.AchievementsOwned,Le=Game.heavenlyPower,Ae=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=bo(e),o=qt[e],po(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(He=t.minigame.slot[0],Ue=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=Co(e),o=Kt[e]),o.won=t.won,Kt[e]=o})),fo(),je=_e,De=Xe}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function vo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function xo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Mo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function So(){if(Go(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(vo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ht:10===Game.buyBulk?t=gt:100===Game.buyBulk&&(t=ft),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=se(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ce(t[oe].pp):l("CMTooltipPP").textContent=se(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=de((Z-(Game.cookies+so()))/lo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${se(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${se(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${se(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?se(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${se(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=co(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,ho())}}(),uo(),So(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=se(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,se(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Bo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function Eo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=Ct),Ht=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ce,i=Math.max(0,Game.cookies-ye)/n,a=Math.max(0,Ct-be)/n,r=Math.max(0,bt[0]-ke)/n,l=Math.max(0,o-mt)/n,s=(Game.cookieClicks-Ge)/n;for(let e=0;e0&&(n=W),n}function Oo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=No(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+so()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Vt.push([t[n].pp,o])}))}function Wo(){!function(){zt=1/0,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Fo(ht,1),Fo(gt,10),Fo(ft,100),Vt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Vt[t][1]>Game.cookies&&(t+=1,Vt.length!==t+1););zt=Vt[e.PPExcludeTop][t],Oo(ht,1),Oo(gt,10),Oo(ft,100)}(),Object.keys(wt).forEach((e=>{Game.cookiesPs?wt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+so()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/wt[e].bonus:wt[e].pp=Game.Upgrades[e].getPrice()/wt[e].bonus,Number.isNaN(wt[e].pp)&&(wt[e].pp=1/0),wt[e].color=No(wt[e],Game.Upgrades[e].getPrice())}))}function Lo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ie=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ae)*Le*function(){let e=0;if(to("Heavenly chip secret")&&(e+=.05),to("Heavenly cookie stand")&&(e+=.2),to("Heavenly bakery")&&(e+=.25),to("Heavenly confectionery")&&(e+=.25),to("Heavenly key")&&(e+=.25),e*=1+.05*Jt("Dragon God"),to("Lucky digit")&&(e*=1.01),to("Lucky number")&&(e*=1.01),to("Lucky payout")&&(e*=1.01),Game.hasGod){const t=oo("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=eo("cps"),to("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];to(o.name)&&("function"==typeof o.power?e*=1+.01*Yt[o.name].power(Yt[o.name]):e*=1+.01*o.power)})),to("Specialized chocolate chips")&&(e*=1.01),to("Designer cocoa beans")&&(e*=1.02),to("Underworld ovens")&&(e*=1.03),to("Exotic nuts")&&(e*=1.04),to("Arcane sugar")&&(e*=1.05),to("Increased merriness")&&(e*=1.15),to("Improved jolliness")&&(e*=1.15),to("A lump of coal")&&(e*=1.01),to("An itchy sweater")&&(e*=1.01),to("Santa's dominion")&&(e*=1.2),to("Fortune #100")&&(e*=1.01),to("Fortune #101")&&(e*=1.07),to("Dragon scale")&&(e*=1.03);let o=1;if(oo){let t=oo("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=oo("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=oo("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=oo("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=oo("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}to("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=We/25;let i=1;if(to("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Jt("Breath of Milk"),oo){const e=oo("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=eo("milk");let a=1;to("Kitten helpers")&&(a*=1+.1*n*i),to("Kitten workers")&&(a*=1+.125*n*i),to("Kitten engineers")&&(a*=1+.15*n*i),to("Kitten overseers")&&(a*=1+.175*n*i),to("Kitten managers")&&(a*=1+.2*n*i),to("Kitten accountants")&&(a*=1+.2*n*i),to("Kitten specialists")&&(a*=1+.2*n*i),to("Kitten experts")&&(a*=1+.2*n*i),to("Kitten consultants")&&(a*=1+.2*n*i),to("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),to("Kitten marketeers")&&(a*=1+.15*n*i),to("Kitten analysts")&&(a*=1+.125*n*i),to("Kitten executives")&&(a*=1+.115*n*i),to("Kitten angels")&&(a*=1+.1*n*i),to("Fortune #103")&&(a*=1+.05*n*i),Object.keys(qt).forEach((e=>{const t=qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&to("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),ze+=t.amount*a})),to('"egg"')&&(ze+=9),e*=a;let r=1;if(to("Chicken egg")&&(r*=1.01),to("Duck egg")&&(r*=1.01),to("Turkey egg")&&(r*=1.01),to("Quail egg")&&(r*=1.01),to("Robin egg")&&(r*=1.01),to("Ostrich egg")&&(r*=1.01),to("Cassowary egg")&&(r*=1.01),to("Salmon roe")&&(r*=1.01),to("Frogspawn")&&(r*=1.01),to("Shark egg")&&(r*=1.01),to("Turtle egg")&&(r*=1.01),to("Ant larva")&&(r*=1.01),to("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),pt=1+.1*(1-(1-e/100)**3),r*=pt}e*=r,to("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Jt("Radiant Appetite");const l=ze*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ao(Game.CpsAchievements[e].name)})),Ve=l;const{n:s}=Game.shimmerTypes.golden,c=Jt("Dragon's Fortune");for(let t=0;t{to(e[o])&&(t+=.1)}))}e*=t}if(to("Shimmering veil [off]")){let t=.5;to("Reinforced membrane")&&(t+=.1),e*=1+t}to("Magic shenanigans")&&(e*=1e3),to("Occult obstruction")&&(e*=0),ze=Game.runModHookOnValue("cps",ze),e*=To(),ze*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Uo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Ro=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],$o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Io(e){return Kt[e]?Kt[e].won:0}function zo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{to(Game.GrandmaSynergies[t])&&(e+=1)})),!Io("Elder")&&e>=7&&Ao("Elder"),!Io("Veteran")&&e>=14&&Ao("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(qt).forEach((e=>{t+=qt[e].amount,i=Math.min(qt[e].amount,i),Io("Mathematician")||qt[e].amount=1&&Ao("One with everything"),1===o&&Ao("Mathematician"),1===n&&Ao("Base 10"),i>=100&&Ao("Centennial"),i>=150&&Ao("Centennial and a half"),i>=200&&Ao("Bicentennial"),i>=250&&Ao("Bicentennial and a half"),i>=300&&Ao("Tricentennial"),i>=350&&Ao("Tricentennial and a half"),i>=400&&Ao("Quadricentennial"),i>=450&&Ao("Quadricentennial and a half"),i>=500&&Ao("Quincentennial"),i>=550&&Ao("Quincentennial and a half"),i>=600&&Ao("Sexcentennial"),t>=100&&Ao("Builder"),t>=500&&Ao("Architect"),t>=1e3&&Ao("Engineer"),t>=2e3&&Ao("Lord of Constructs"),t>=4e3&&Ao("Grand design"),t>=8e3&&Ao("Ecumenopolis"),Oe>=20&&Ao("Enhancer"),Oe>=50&&Ao("Augmenter"),Oe>=100&&Ao("Upgrader"),Oe>=200&&Ao("Lord of Progress"),Oe>=300&&Ao("The full picture"),Oe>=400&&Ao("When there's nothing left to add"),t>=4e3&&Oe>=300&&Ao("Polymath"),t>=8e3&&Oe>=400&&Ao("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&Ao("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{to(Ho[e])||(a=!1)})),a&&Ao("Spooky cookies");let r=!0;if(Object.keys(Uo).forEach((e=>{to(Uo[e])||(r=!1)})),r&&Ao("Let it snow"),to("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{to(e[o].name)&&(t+=1)})),t>=e.length&&Ao("O Fortuna")}}function Vo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Go(),qt[e].amount+=t;const o=qt[e];"Cursor"===e?(o.amount>=1&&Ao("Click"),o.amount>=2&&Ao("Double-click"),o.amount>=50&&Ao("Mouse wheel"),o.amount>=100&&Ao("Of Mice and Men"),o.amount>=200&&Ao("The Digital"),o.amount>=300&&Ao("Extreme polydactyly"),o.amount>=400&&Ao("Dr. T"),o.amount>=500&&Ao("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ao("With her finger and her thumb"),o.amount>=700&&Ao("Gotta hand it to you"),o.amount>=800&&Ao("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ao(Game.Objects[o.name].tieredAchievs[e].name)}));const n=We;return jo(),zo(),n!==We&&jo(),ze-Game.cookiesPs}(o,e),1!==e&&(Be=1)})),t}function _o(){Object.keys(Game.Objects).forEach((e=>{ht[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),gt[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ft[e].price=Lo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Xo(){ht=Vo(1),gt=Vo(10),ft=Vo(100),wt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Go(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Oe+=1),"Elder Pledge"===e?(Fe+=1,Fe>0&&Ao("Elder nap"),Fe>=5&&Ao("Elder slumber")):"Elder Covenant"===e?Ao("Elder calm"):"Prism heart biscuits"===e?Ao("Lovely cookies"):"Heavenly key"===e&&Ao("Wholesome");const t=We;jo(),zo(),t!==We&&jo();const o=function(){let e=0;to("Thousand fingers")&&(e+=.1),to("Million fingers")&&(e*=5),to("Billion fingers")&&(e*=10),to("Trillion fingers")&&(e*=20),to("Quadrillion fingers")&&(e*=20),to("Quintillion fingers")&&(e*=20),to("Sextillion fingers")&&(e*=20),to("Septillion fingers")&&(e*=20),to("Octillion fingers")&&(e*=20),to("Nonillion fingers")&&(e*=20);let t=0;Object.keys(qt).forEach((e=>{t+=qt[e].amount})),t-=qt.Cursor.amount,e*=t,to("Plastic mouse")&&(e+=.01*ze),to("Iron mouse")&&(e+=.01*ze),to("Titanium mouse")&&(e+=.01*ze),to("Adamantium mouse")&&(e+=.01*ze),to("Unobtainium mouse")&&(e+=.01*ze),to("Eludium mouse")&&(e+=.01*ze),to("Wishalloy mouse")&&(e+=.01*ze),to("Fantasteel mouse")&&(e+=.01*ze),to("Nevercrack mouse")&&(e+=.01*ze),to("Armythril mouse")&&(e+=.01*ze),to("Technobsidian mouse")&&(e+=.01*ze),to("Plasmarble mouse")&&(e+=.01*ze),to("Miraculite mouse")&&(e+=.01*ze),to("Fortune #104")&&(e+=.01*ze);let o=1;if(to("Santa's helpers")&&(o*=1.1),to("Cookie egg")&&(o*=1.1),to("Halo gloves")&&(o*=1.1),to("Dragon claw")&&(o*=1.03),to("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,to("Luminous gloves")?20:10)),o*=eo("click"),qt.Temple.minigameLoaded&&oo){const e=oo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Jt("Dragon Cursor");let n=o*Game.ComputeCps(1,to("Reinforced index finger")+to("Carpal tunnel prevention cream")+to("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[ze-Game.cookiesPs,o]:[ze-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(wt[t]={bonus:Game.cookiesPs-we},1===e.CalcWrink?wt[t].bonus-=ve:2===e.CalcWrink&&(wt[t].bonus-=xe),Number.isFinite(wt[t].bonus)||(wt[t].bonus=0)):(wt[t]={},o[0]&&(wt[t].bonus=o[0]),o[1]&&(wt[t].bonusMouse=o[1]))}))}function Qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Bt=Qo(7,e,st),St=2*Bt[1]/st,Pt=Bt[2]/60/60/6/lt,Ot=Qo(6,e,ct),Et=2*Ot[1]/ct,Nt=Ot[2]/60/60/6/lt,Lt=Qo(7,7*e,st),Ft=2*Lt[1]/st,Wt=Lt[2]/60/60/6/lt,Dt=Qo(6,7*e,ct),At=2*Dt[1]/ct,jt=Dt[2]/60/60/6/lt}function Yo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Se,i=Math.max(0,o-Pe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Tt+=e:"cookie"===o.pool?Mt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(xt+=e)}}))}function Jo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ut=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ut*=2)}}function Zo(){Ye=900*rt/.15,Ye*=lt;const e=To();e>0?Ye/=e:Ye=0,Ke=st*(.15*Ye)+13,Je=ct*(.15*Ye)+13,Ze=7*Ye,et=st*(.15*Ze)+13,tt=ct*(.15*Ze)+13,ot=2*Ye,nt=.15*ot,it=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountit&&(it=2*Game.Objects[e].price,at=e)}))}function en(){let e=1,t=1,o=1;to("Green yeast digestives")&&(o*=1.01),to("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),st=o*e,ct=o*t,lt=1,0===Game.shimmerTypes.golden.n&&(lt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function tn(){Ct=0,yt=0,bt=[0,null];for(let e=0;ebt[0]&&(bt=[t,e]))}}function on(){fo(),tn(),Zo(),en(),qo(),Ko(),Jo(),pe=new Bo(Y[Y.length-1]),ue=new Bo(Y[Y.length-1]),me=new Bo(Y[Y.length-1]),he=new Bo(Y[Y.length-1]),ge=new Bo(K[K.length-1]),fe=new Bo(5),Yo(),Eo(),Xo(),_o(),Wo()}const nn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,Header:{Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},an=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function rn(){1===e.BotBar?(l("CMBotBar").style.display="",uo()):l("CMBotBar").style.display="none",ho()}function ln(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),uo(),ao(),ro()}function sn(){1===e.Favicon&&y>0?Rt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class cn{constructor(e,t){this.type=e,this.group=t}}class dn extends cn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class pn extends cn{constructor(e,t,o){super(e,t),this.desc=o}}class un extends cn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class mn extends cn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const hn={CPSMode:new dn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new dn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new dn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new dn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){$e=!0})),Scale:new dn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){ln()})),ScaleDecimals:new dn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){ln()})),ScaleSeparator:new dn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){ln()})),ScaleCutoff:new mn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new dn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new dn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new dn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new dn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ao()})),PPOnlyConsiderBuyable:new dn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new dn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new dn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new mn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new pn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new pn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new pn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new pn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new pn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new pn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new pn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new pn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new pn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new dn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){rn()})),TimerBar:new dn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){go()})),TimerBarPos:new dn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),ho()})),TimerBarOverlay:new dn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new dn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",ro()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",ro()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new dn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new dn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ao()})),SortUpgrades:new dn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){ro()})),DragonAuraInfo:new dn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new dn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new dn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=_t[e].l.style.left,re[e].style.top=_t[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new dn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){sn()})),WrinklerButtons:new dn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new dn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new dn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new dn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new dn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new dn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new dn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new dn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new dn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new mn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new dn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new dn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Mo()})),TooltipGrim:new dn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new dn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new dn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new dn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new dn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new dn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new dn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new dn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new dn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new mn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new dn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new dn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new dn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new dn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){an(e.GCNotification)})),GCFlash:new dn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new pn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new dn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new un("vol","NotificationGC",[],"Volume"),GCSoundURL:new dn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new dn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){an(e.FortuneNotification)})),FortuneFlash:new dn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new pn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new dn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new un("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new dn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new dn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){an(e.SeaNotification)})),SeaFlash:new dn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new pn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new dn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new un("vol","NotificationSea",[],"Volume"),SeaSoundURL:new dn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new dn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new pn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new dn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new un("vol","NotificationGard",[],"Volume"),GardSoundURL:new dn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new dn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){an(e.MagicNotification)})),MagicFlash:new dn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new pn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new dn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new un("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new dn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new dn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){an(e.WrinklerNotification)})),WrinklerFlash:new dn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new pn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new dn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new un("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new dn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new dn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){an(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new dn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new pn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new dn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new un("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new dn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new dn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function gn(){return JSON.stringify({settings:e,version:"2.031.6"})}function fn(){if(Qe!==Game.dragonLevel||$e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{qt[e]=bo(e)})),Yt=[],Object.keys(Game.Upgrades).forEach((e=>{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Achievements).forEach((e=>{Kt[e]=Co(e)})),Go()}let bn=!1;function kn(t,o,n){(1===e[o]||n)&&3===t&&!1===bn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){kn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){kn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){kn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Gn(t,o,n,i){if((1===e[o]||i)&&!1===bn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===bn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function vn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(rn(),go()),mo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(yn(),on(),r=Object.keys(Game.mods).length),$e&&(Xo(),Game.Has("Golden switch [off]")?(Go(),Yt["Golden switch [off]"].bought=0,jo(),rt=ze):rt=Game.cookiesPs,en(),Zo(),Ko(),qo(),fn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Qt[e][t]=Cn(e,t)}(),Jo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Go();let t=2;5!==je&&18!==je||(t-=1),5!==De&&18!==De||(t-=1),je=5,De=18;for(let e=0;e{qt[t].amount>0&&(e=t)})),qt[e].amount-=1,Ne-=1}return Object.keys(qt).forEach((t=>{const o=qt[t];e+=io(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Xt=e}(),$e=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(_o(),Be=0),function(){tn(),Wo(),function(){kt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Gt=e,kt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Eo(),Yo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);It=ce(e/lo())}(),G=0,_t={},Object.keys(Game.shimmers).forEach((e=>{_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===_t[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),sn(),b=G,0===G&&(Rt=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=_t[e].l.style.opacity,re[e].style.transform=_t[e].l.style.transform,re[e].textContent=Math.ceil(_t[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(kn(3,"FortuneFlash",!1),Gn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&($t=Game.shimmers[e])})),kn(3,"SeaFlash",!1),Gn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?kn(3,"WrinklerMaxFlash",!1):kn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Gn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Gn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function xn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=nn[t]):"Header"===t&&Object.keys(nn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=nn[t][n])}))})),o&&Tn(),vn(),Object.keys(nn).forEach((e=>{"Header"!==e&&void 0!==hn[e].func&&hn[e].func()}))}else Mn(nn);Game.UpdateMenu(),xn()}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Pn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Lo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${se(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${de((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(se(Game.Objects[o].bulkPrice)).join(se((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,So(),l("tooltip").innerHTML}function Bn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Dn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Hn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Un(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+so(){Game.HasUnlocked($o[e])||c.push($o[e])})),0!==c.length&&e.appendChild(Dn("basic","Rare plant drops left to unlock",Hn(c))),e}())),o.appendChild(jn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?mt:0)));t.appendChild(Dn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${se(Game.prestige)} / ${se(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ht+Game.cookiesReset+Ct+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&mt?mt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(se(n)));const a=document.createElement("small");a.textContent=` (${ce(n/Ut,1)})`,i.appendChild(a),t.appendChild(Dn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Dn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${se(Game.heavenlyChips)} / ${se(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Dn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(se(dt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Dn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(se(e)))),t.appendChild(Dn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(ce(e/dt)))))}const l=function(e){let t=Game.cookiesPs;Go(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,jo(),t=ze,Go()),Ht>=1e6&&Ao("Sacrifice"),Ht>=1e9&&Ao("Oblivion"),Ht>=1e12&&Ao("From scratch"),Ht>=1e15&&Ao("Nihilism"),Ht>=1e18&&Ao("Dematerialize"),Ht>=1e21&&Ao("Nil zero zilch"),Ht>=1e24&&Ao("Transcendence"),Ht>=1e27&&Ao("Obliterate"),Ht>=1e30&&Ao("Negative void"),Ht>=1e33&&Ao("To crumbs, you say?"),Ht>=1e36&&Ao("You get nothing"),Ht>=1e39&&Ao("Humble rebeginnings"),Ht>=1e42&&Ao("The end of the world"),Ht>=1e45&&Ao("Oh, you're back"),Ht>=1e48&&Ao("Lazarus"),Ht>=1e51&&Ao("Smurf account"),Ht>=1e54&&Ao("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Ae=e;const o=We;jo(),zo(),o!==We&&jo();const n=ze-t;return Ae=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(se(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Dn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Dn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${se(Ct)} / ${se(yt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Dn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${se(bt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},n.appendChild(i),o.appendChild(Dn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==bt[1]?bt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(n.push(Ho[e]),o=!0)}));const i=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(i.push(Uo[e]),o=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(jn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Dn("basic","Halloween cookies left to buy",Hn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${se((1-e)*o*100)}% / ${se((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Dn("basic","Christmas cookies left to buy",Hn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Dn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${se((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Dn("basic","Valentine cookies left to buy",Hn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Dn("basic","Normal easter eggs left to unlock",Hn(r))),t.appendChild(Dn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[0])}% / ${se(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Dn("basic","Rare easter eggs left to unlock",Hn(l))),t.appendChild(Dn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${se(100*e(.98)[1])}% / ${se(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Dn("basic","Reindeer reward",document.createTextNode(se(ut)))),s&&t.appendChild(Dn("withTooltip","Chocolate egg cookies",document.createTextNode(se(mt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Dn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(pt-1))/100+"%")))}return t}()),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Dn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(se(lo(),3)))),o.appendChild(Dn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(se(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[t])})),0!==e.length&&o.appendChild(Dn("basic","Fortune Upgrades Left to Buy",Hn(e)))}if(e.ShowMissedGC&&o.appendChild(Dn("basic","Missed Golden Cookies",document.createTextNode(se(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Dn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}}}))}const Rn={Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===hn[t].type){const n=document.createElement("a");hn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===hn[t].label.length?(e[t]=0,hn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==hn[t].func&&hn[t].func(),l(Wn+t).innerHTML=hn[t].label[e[t]],Tn()}(t)},n.textContent=hn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=hn[t].desc,o.appendChild(i),o}if("vol"===hn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=hn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Gn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Tn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=hn[t].desc,o.appendChild(s),o}if("colour"===hn[t].type){o.className="";const n=document.createElement("div");n.className="listing";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new On(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),xn(),Tn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=hn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){kn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Fn().init(),o}if("numscale"===hn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${hn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="number",i.value=e[t],i.min=hn[t].min,i.max=hn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Tn(),ln()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=hn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){S.Beautify=Beautify,Beautify=se,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),$e=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Ne-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=We;return jo(),zo(),o!==We&&jo(),[ze-Game.cookiesPs,t]}(t),n=ce(o/(e+Game.cookiesPs)),i=se(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${se(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${qe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Rn).forEach((t=>{const n=In(t,Rn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(hn).forEach((e=>{hn[e].group===t&&o.appendChild(zn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Mn(nn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Un(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ce(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${se(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil($t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil($t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${se(Game.prestige)}.
(CpS +${se(Game.prestige)}%)`,n+='
'),n+=Pe<1?"Ascending now would grant you no prestige.":Pe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${se(Pe)} prestige levels (+${se(Pe)}% CpS)
and ${se(Pe)} heavenly chips to spend.`,n+='
',n+=`You need ${se(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${It} to reach the next level and you are making ${se(dt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){yn(),Zo(),on(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{po(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=co("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=co("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==bt[1]&&(Game.wrinklers[bt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Bn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Pn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){bn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",vn),bn=!1)},load:function(e){const t=JSON.parse(e);yn(),Mn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:gn};Game.registerMod("CookieMonster",Qn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=1,ct=1,dt=1,pt=0,ut=0,mt=0,ht=0,gt={},ft={},Ct={},yt=0,bt=0,kt=[0,null],Gt=0,wt=0,vt={},xt={},Tt={},Mt={},St={},Pt=0,Bt=0,Et=[],Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,Rt=0,$t={},It={},zt=0,Vt=0,_t=[],Xt={},Qt=0,qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Yt=[],Kt=[],Jt=[];function Zt(e){let t=0;return Game.dragonAuras[De].name!==e&&Game.dragonAuras[He].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[De].name&&"Reality Bending"!==Game.dragonAuras[He].name||(t+=.1),t}function eo(){let e=.25;return e*=1+Zt("Earth Shatterer"),e}function to(e,t){return void 0===ze[e]?void 0===t?1:t:ze[e]}function oo(e){const t=Kt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function no(e){if(Game.hasGod){void 0===Yt.Temple.minigame&&(Yt.Temple.minigame=Game.Objects.Temple.minigame);const t=Yt.Temple.minigame.gods[e];if(Ue===t.id)return 1;if(Re===t.id)return 2;if($e===t.id)return 3}return!1}function io(e,t){let o=t;if(oo("Season savings")&&(o*=.99),oo("Santa's dominion")&&(o*=.99),oo("Faberge egg")&&(o*=.99),oo("Divine discount")&&(o*=.99),oo("Fortune #100")&&(o*=.99),o*=1-.02*Zt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&oo(e.fortune.name)&&(o*=.93),o*=to("buildingCost"),Yt.Temple.minigameLoaded){const e=no("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ao(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ro(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=gt:10===t?t=ft:100===t&&(t=Ct),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(gt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ao(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(gt).map((e=>{const t=gt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=gt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=gt),10===i&&(i=ft),100===i&&(i=Ct),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+co()))/so());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&oo(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(oo(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&oo(e.fortune.name)&&(t*=1.07),e.grandma&&oo(e.grandma.name)&&(t*=1+.01*Yt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&oo(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function ko(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;oo("Thousand fingers")&&(t+=.1),oo("Million fingers")&&(t*=5),oo("Billion fingers")&&(t*=10),oo("Trillion fingers")&&(t*=20),oo("Quadrillion fingers")&&(t*=20),oo("Quintillion fingers")&&(t*=20),oo("Sextillion fingers")&&(t*=20),oo("Septillion fingers")&&(t*=20),oo("Octillion fingers")&&(t*=20),oo("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Yt).forEach((e=>{"Cursor"!==Yt[e].name&&(n+=Yt[e].amount)})),t*=n,o*=bo(e),o*=Game.magicCpS("Cursor"),o*=to("cursorCps"),Game.ComputeCps(.1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{oo(Game.GrandmaSynergies[e])&&(o*=2)})),oo("Bingo center/Research facility")&&(o*=4),oo("Ritual rolling pins")&&(o*=2),oo("Naughty list")&&(o*=2),oo("Elderwort biscuits")&&(o*=1.02),o*=to("grandmaCps"),oo("Cat ladies"))for(let e=0;e{"Grandma"!==Yt[e].name&&(i+=Yt[e].amount)})),o*=1+.01*Zt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=bo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function Go(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Yt).forEach((t=>{Yt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(oo("Starlove")&&(e=3),Game.hasGod){const t=no("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function wo(){Fe=Game.UpgradesOwned,We=Game.pledges,Le=Game.AchievementsOwned,Ae=Game.heavenlyPower,je=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e],uo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ue=t.minigame.slot[0],Re=t.minigame.slot[1],$e=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Yt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e]),o.bought=t.bought,Kt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Jt[e];void 0===o&&(Jt[e]=yo(e),o=Jt[e]),o.won=t.won,Jt[e]=o})),Co(),De=Xe,He=Qe}function vo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function xo(e){e.appendChild(vo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(vo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(vo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(vo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(vo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function To(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function So(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Po(){if(wo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(xo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=gt:10===Game.buyBulk?t=ft:100===Game.buyBulk&&(t=Ct),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+co()))/so());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(vo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(vo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=po(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,go())}}(),mo(),Po(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Yt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Eo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function No(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Qt;Game.cpsSucked>0&&(o+=yt),Ut=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-ye,i=Math.max(0,Game.cookies-be)/n,a=Math.max(0,yt-ke)/n,r=Math.max(0,kt[0]-Ge)/n,l=Math.max(0,o-ht)/n,s=(Game.cookieClicks-we)/n;for(let e=0;e0&&(n=W),n}function Fo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Oo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+co()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||_t.push([t[n].pp,o])}))}function Lo(){!function(){Vt=1/0,_t=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Wo(gt,1),Wo(ft,10),Wo(Ct,100),_t.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;_t[t][1]>Game.cookies&&(t+=1,_t.length!==t+1););Vt=_t[e.PPExcludeTop][t],Fo(gt,1),Fo(ft,10),Fo(Ct,100)}(),Object.keys(vt).forEach((e=>{Game.cookiesPs?vt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+co()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/vt[e].bonus:vt[e].pp=Game.Upgrades[e].getPrice()/vt[e].bonus,Number.isNaN(vt[e].pp)&&(vt[e].pp=1/0),vt[e].color=Oo(vt[e],Game.Upgrades[e].getPrice())}))}function Ao(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),ze=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(je)*Ae*function(){let e=0;if(oo("Heavenly chip secret")&&(e+=.05),oo("Heavenly cookie stand")&&(e+=.2),oo("Heavenly bakery")&&(e+=.25),oo("Heavenly confectionery")&&(e+=.25),oo("Heavenly key")&&(e+=.25),e*=1+.05*Zt("Dragon God"),oo("Lucky digit")&&(e*=1.01),oo("Lucky number")&&(e*=1.01),oo("Lucky payout")&&(e*=1.01),Game.hasGod){const t=no("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=to("cps"),oo("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];oo(o.name)&&("function"==typeof o.power?e*=1+.01*Kt[o.name].power(Kt[o.name]):e*=1+.01*o.power)})),oo("Specialized chocolate chips")&&(e*=1.01),oo("Designer cocoa beans")&&(e*=1.02),oo("Underworld ovens")&&(e*=1.03),oo("Exotic nuts")&&(e*=1.04),oo("Arcane sugar")&&(e*=1.05),oo("Increased merriness")&&(e*=1.15),oo("Improved jolliness")&&(e*=1.15),oo("A lump of coal")&&(e*=1.01),oo("An itchy sweater")&&(e*=1.01),oo("Santa's dominion")&&(e*=1.2),oo("Fortune #100")&&(e*=1.01),oo("Fortune #101")&&(e*=1.07),oo("Dragon scale")&&(e*=1.03);let o=1;if(no){let t=no("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=no("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=no("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=no("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=no("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}oo("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Le/25;let i=1;if(oo("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Zt("Breath of Milk"),no){const e=no("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=to("milk");let a=1;oo("Kitten helpers")&&(a*=1+.1*n*i),oo("Kitten workers")&&(a*=1+.125*n*i),oo("Kitten engineers")&&(a*=1+.15*n*i),oo("Kitten overseers")&&(a*=1+.175*n*i),oo("Kitten managers")&&(a*=1+.2*n*i),oo("Kitten accountants")&&(a*=1+.2*n*i),oo("Kitten specialists")&&(a*=1+.2*n*i),oo("Kitten experts")&&(a*=1+.2*n*i),oo("Kitten consultants")&&(a*=1+.2*n*i),oo("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),oo("Kitten marketeers")&&(a*=1+.15*n*i),oo("Kitten analysts")&&(a*=1+.125*n*i),oo("Kitten executives")&&(a*=1+.115*n*i),oo("Kitten angels")&&(a*=1+.1*n*i),oo("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Yt).forEach((e=>{const t=Yt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&oo("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Ve+=t.amount*a})),oo('"egg"')&&(Ve+=9),e*=a;let r=1;if(oo("Chicken egg")&&(r*=1.01),oo("Duck egg")&&(r*=1.01),oo("Turkey egg")&&(r*=1.01),oo("Quail egg")&&(r*=1.01),oo("Robin egg")&&(r*=1.01),oo("Ostrich egg")&&(r*=1.01),oo("Cassowary egg")&&(r*=1.01),oo("Salmon roe")&&(r*=1.01),oo("Frogspawn")&&(r*=1.01),oo("Shark egg")&&(r*=1.01),oo("Turtle egg")&&(r*=1.01),oo("Ant larva")&&(r*=1.01),oo("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),ut=1+.1*(1-(1-e/100)**3),r*=ut}e*=r,oo("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Zt("Radiant Appetite");const l=Ve*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&jo(Game.CpsAchievements[e].name)})),_e=l;const{n:s}=Game.shimmerTypes.golden,c=Zt("Dragon's Fortune");for(let t=0;t{oo(e[o])&&(t+=.1)}))}e*=t}if(oo("Shimmering veil [off]")){let t=.5;oo("Reinforced membrane")&&(t+=.1),e*=1+t}oo("Magic shenanigans")&&(e*=1e3),oo("Occult obstruction")&&(e*=0),Ve=Game.runModHookOnValue("cps",Ve),e*=Mo(),Ve*=e}const Ho=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Uo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ro=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],$o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Io=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function zo(e){return Jt[e]?Jt[e].won:0}function Vo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{oo(Game.GrandmaSynergies[t])&&(e+=1)})),!zo("Elder")&&e>=7&&jo("Elder"),!zo("Veteran")&&e>=14&&jo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Yt).forEach((e=>{t+=Yt[e].amount,i=Math.min(Yt[e].amount,i),zo("Mathematician")||Yt[e].amount=1&&jo("One with everything"),1===o&&jo("Mathematician"),1===n&&jo("Base 10"),i>=100&&jo("Centennial"),i>=150&&jo("Centennial and a half"),i>=200&&jo("Bicentennial"),i>=250&&jo("Bicentennial and a half"),i>=300&&jo("Tricentennial"),i>=350&&jo("Tricentennial and a half"),i>=400&&jo("Quadricentennial"),i>=450&&jo("Quadricentennial and a half"),i>=500&&jo("Quincentennial"),i>=550&&jo("Quincentennial and a half"),i>=600&&jo("Sexcentennial"),t>=100&&jo("Builder"),t>=500&&jo("Architect"),t>=1e3&&jo("Engineer"),t>=2e3&&jo("Lord of Constructs"),t>=4e3&&jo("Grand design"),t>=8e3&&jo("Ecumenopolis"),Fe>=20&&jo("Enhancer"),Fe>=50&&jo("Augmenter"),Fe>=100&&jo("Upgrader"),Fe>=200&&jo("Lord of Progress"),Fe>=300&&jo("The full picture"),Fe>=400&&jo("When there's nothing left to add"),t>=4e3&&Fe>=300&&jo("Polymath"),t>=8e3&&Fe>=400&&jo("Renaissance baker"),Yt.Cursor.amount+Yt.Grandma.amount>=777&&jo("The elder scrolls");let a=!0;Object.keys(Uo).forEach((e=>{oo(Uo[e])||(a=!1)})),a&&jo("Spooky cookies");let r=!0;if(Object.keys(Ro).forEach((e=>{oo(Ro[e])||(r=!1)})),r&&jo("Let it snow"),oo("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{oo(e[o].name)&&(t+=1)})),t>=e.length&&jo("O Fortuna")}}function _o(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){wo(),Yt[e].amount+=t;const o=Yt[e];"Cursor"===e?(o.amount>=1&&jo("Click"),o.amount>=2&&jo("Double-click"),o.amount>=50&&jo("Mouse wheel"),o.amount>=100&&jo("Of Mice and Men"),o.amount>=200&&jo("The Digital"),o.amount>=300&&jo("Extreme polydactyly"),o.amount>=400&&jo("Dr. T"),o.amount>=500&&jo("Thumbs, phalanges, metacarpals"),o.amount>=600&&jo("With her finger and her thumb"),o.amount>=700&&jo("Gotta hand it to you"),o.amount>=800&&jo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&jo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Le;return Do(),Vo(),n!==Le&&Do(),Ve-Game.cookiesPs}(o,e),1!==e&&(Ee=1)})),t}function Xo(){Object.keys(Game.Objects).forEach((e=>{gt[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),ft[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),Ct[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Qo(){gt=_o(1),ft=_o(10),Ct=_o(100),vt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){wo(),"Shimmering veil [on]"===Kt[e].name?Kt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Kt[e].name?Kt["Golden switch [off]"].bought=0:Kt[e].bought=(Kt[e].bought+1)%2,Kt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Fe+=1),"Elder Pledge"===e?(We+=1,We>0&&jo("Elder nap"),We>=5&&jo("Elder slumber")):"Elder Covenant"===e?jo("Elder calm"):"Prism heart biscuits"===e?jo("Lovely cookies"):"Heavenly key"===e&&jo("Wholesome");const t=Le;Do(),Vo(),t!==Le&&Do();const o=function(){let e=0;oo("Thousand fingers")&&(e+=.1),oo("Million fingers")&&(e*=5),oo("Billion fingers")&&(e*=10),oo("Trillion fingers")&&(e*=20),oo("Quadrillion fingers")&&(e*=20),oo("Quintillion fingers")&&(e*=20),oo("Sextillion fingers")&&(e*=20),oo("Septillion fingers")&&(e*=20),oo("Octillion fingers")&&(e*=20),oo("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Yt).forEach((e=>{t+=Yt[e].amount})),t-=Yt.Cursor.amount,e*=t,oo("Plastic mouse")&&(e+=.01*Ve),oo("Iron mouse")&&(e+=.01*Ve),oo("Titanium mouse")&&(e+=.01*Ve),oo("Adamantium mouse")&&(e+=.01*Ve),oo("Unobtainium mouse")&&(e+=.01*Ve),oo("Eludium mouse")&&(e+=.01*Ve),oo("Wishalloy mouse")&&(e+=.01*Ve),oo("Fantasteel mouse")&&(e+=.01*Ve),oo("Nevercrack mouse")&&(e+=.01*Ve),oo("Armythril mouse")&&(e+=.01*Ve),oo("Technobsidian mouse")&&(e+=.01*Ve),oo("Plasmarble mouse")&&(e+=.01*Ve),oo("Miraculite mouse")&&(e+=.01*Ve),oo("Fortune #104")&&(e+=.01*Ve);let o=1;if(oo("Santa's helpers")&&(o*=1.1),oo("Cookie egg")&&(o*=1.1),oo("Halo gloves")&&(o*=1.1),oo("Dragon claw")&&(o*=1.03),oo("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,oo("Luminous gloves")?20:10)),o*=to("click"),Yt.Temple.minigameLoaded&&no){const e=no("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Zt("Dragon Cursor");let n=o*Game.ComputeCps(1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Ve-Game.cookiesPs,o]:[Ve-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(vt[t]={bonus:Game.cookiesPs-ve},1===e.CalcWrink?vt[t].bonus-=xe:2===e.CalcWrink&&(vt[t].bonus-=Te),Number.isFinite(vt[t].bonus)||(vt[t].bonus=0)):(vt[t]={},o[0]&&(vt[t].bonus=o[0]),o[1]&&(vt[t].bonusMouse=o[1]))}))}function qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Et=qo(7,e,ct),Pt=2*Et[1]/ct,Bt=Et[2]/60/60/6/st,Ft=qo(6,e,dt),Nt=2*Ft[1]/dt,Ot=Ft[2]/60/60/6/st,At=qo(7,7*e,ct),Wt=2*At[1]/ct,Lt=At[2]/60/60/6/st,Ht=qo(6,7*e,dt),jt=2*Ht[1]/dt,Dt=Ht[2]/60/60/6/st}function Ko(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Pe,i=Math.max(0,o-Be)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Mt+=e:"cookie"===o.pool?St+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Tt+=e)}}))}function Zo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),mt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(mt*=2)}}function en(){Ke=900*lt/.15,Ke*=st;const e=Mo();e>0?Ke/=e:Ke=0,Je=ct*(.15*Ke)+13,Ze=dt*(.15*Ke)+13,et=7*Ke,tt=ct*(.15*et)+13,ot=dt*(.15*et)+13,nt=2*Ke,it=.15*nt,at=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountat&&(at=2*Game.Objects[e].price,rt=e)}))}function tn(){let e=1,t=1,o=1;oo("Green yeast digestives")&&(o*=1.01),oo("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ct=o*e,dt=o*t,st=1,0===Game.shimmerTypes.golden.n&&(st*=1+1.23*Game.auraMult("Dragon's Fortune"))}function on(){yt=0,bt=0,kt=[0,null];for(let e=0;ekt[0]&&(kt=[t,e]))}}function nn(){Co(),on(),en(),tn(),Yo(),Jo(),Zo(),ue=new Eo(Y[Y.length-1]),me=new Eo(Y[Y.length-1]),he=new Eo(Y[Y.length-1]),ge=new Eo(Y[Y.length-1]),fe=new Eo(K[K.length-1]),Ce=new Eo(5),Ko(),No(),Qo(),Xo(),Lo()}const an={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},rn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function ln(){1===e.BotBar?(l("CMBotBar").style.display="",mo()):l("CMBotBar").style.display="none",go()}function sn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),mo(),ro(),lo()}function cn(){1===e.Favicon&&y>0?$t.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class dn{constructor(e,t){this.type=e,this.group=t}}class pn extends dn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class un extends dn{constructor(e,t,o){super(e,t),this.desc=o}}class mn extends dn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class hn extends dn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const gn={CPSMode:new pn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new pn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new pn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new pn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){Ie=!0})),Scale:new pn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){sn()})),ScaleDecimals:new pn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){sn()})),ScaleSeparator:new pn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){sn()})),ScaleCutoff:new hn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new pn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new pn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new pn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new pn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ro()})),PPOnlyConsiderBuyable:new pn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new pn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new pn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new hn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new un("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new un("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new un("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new un("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new un("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new un("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new un("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new un("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new un("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new pn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){ln()})),TimerBar:new pn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){fo()})),TimerBarPos:new pn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),go()})),TimerBarOverlay:new pn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new pn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",lo()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",lo()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new pn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new pn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ro()})),SortUpgrades:new pn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){lo()})),DragonAuraInfo:new pn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new pn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new pn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Xt[e].l.style.left,re[e].style.top=Xt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new pn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){cn()})),WrinklerButtons:new pn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new pn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new pn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new pn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new pn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new pn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new pn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new pn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new pn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new hn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new pn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new pn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){So()})),TooltipGrim:new pn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new pn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new pn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new pn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new pn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new pn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new pn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new pn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new pn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new hn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new pn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new pn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new pn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new pn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){rn(e.GCNotification)})),GCFlash:new pn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new un("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new pn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new mn("vol","NotificationGC",[],"Volume"),GCSoundURL:new pn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new pn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){rn(e.FortuneNotification)})),FortuneFlash:new pn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new un("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new pn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new mn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new pn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new pn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){rn(e.SeaNotification)})),SeaFlash:new pn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new un("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new pn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new mn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new pn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new pn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new un("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new pn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new mn("vol","NotificationGard",[],"Volume"),GardSoundURL:new pn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new pn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){rn(e.MagicNotification)})),MagicFlash:new pn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new un("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new pn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new mn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new pn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new pn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){rn(e.WrinklerNotification)})),WrinklerFlash:new pn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new un("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new pn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new mn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new pn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new pn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){rn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new pn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new un("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new pn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new mn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new pn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new pn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new pn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function fn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function Cn(){if(qe!==Game.dragonLevel||Ie){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Upgrades).forEach((e=>{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Achievements).forEach((e=>{Jt[e]=yo(e)})),wo()}let kn=!1;function Gn(t,o,n){(1===e[o]||n)&&3===t&&!1===kn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Gn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Gn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Gn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function wn(t,o,n,i){if((1===e[o]||i)&&!1===kn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function vn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===kn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function xn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(ln(),fo()),ho()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(bn(),nn(),r=Object.keys(Game.mods).length),Ie&&(Qo(),Game.Has("Golden switch [off]")?(wo(),Kt["Golden switch [off]"].bought=0,Do(),lt=Ve):lt=Game.cookiesPs,tn(),en(),Jo(),Yo(),Cn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)qt[e][t]=yn(e,t)}(),Zo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;wo();let t=2;5!==De&&18!==De||(t-=1),5!==He&&18!==He||(t-=1),De=5,He=18;for(let e=0;e{Yt[t].amount>0&&(e=t)})),Yt[e].amount-=1,Oe-=1}return Object.keys(Yt).forEach((t=>{const o=Yt[t];e+=ao(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Qt=e}(),Ie=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ne&&t?(Ne=!0,Ee=1):Ne&&!t&&(Ne=!1,Ee=1),Ee&&(Xo(),Ee=0),function(){on(),Lo(),function(){Gt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Yt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}wt=e,Gt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),No(),Ko();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);zt=de(e/so())}(),G=0,Xt={},Object.keys(Game.shimmers).forEach((e=>{Xt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&($t=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Xt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),cn(),b=G,0===G&&($t=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Xt[e].l.style.opacity,re[e].style.transform=Xt[e].l.style.transform,re[e].textContent=Math.ceil(Xt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Gn(3,"FortuneFlash",!1),wn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),vn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(It=Game.shimmers[e])})),Gn(3,"SeaFlash",!1),wn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),vn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Gn(3,"WrinklerMaxFlash",!1):Gn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?wn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):wn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?vn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):vn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function Tn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=an[t]):"Header"===t&&Object.keys(an.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=an[t][n])}))})),o&&Mn(),xn(),Object.keys(an).forEach((e=>{"Header"!==e&&void 0!==gn[e].func&&gn[e].func()}))}else Sn(an);Game.UpdateMenu(),Tn()}function Pn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Bn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Ao(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Po(),l("tooltip").innerHTML}function En(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Nn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Mn()}function Dn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){jn(o),Game.UpdateMenu()},n.appendChild(i),n}function Hn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Un(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Rn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Dn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+co(){Game.HasUnlocked(Io[e])||c.push(Io[e])})),0!==c.length&&e.appendChild(Hn("basic","Rare plant drops left to unlock",Un(c))),e}())),o.appendChild(Dn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ut+Game.cookiesReset+yt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?ht:0)));t.appendChild(Hn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ut+Game.cookiesReset+yt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&ht?ht:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/Rt,1)})`,i.appendChild(a),t.appendChild(Hn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Hn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Hn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(ce(pt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Hn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(ce(e)))),t.appendChild(Hn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(de(e/pt)))))}const l=function(e){let t=Game.cookiesPs;wo(),0===Kt["Heavenly key"].bought&&(Kt["Heavenly chip secret"].bought=1,Kt["Heavenly cookie stand"].bought=1,Kt["Heavenly bakery"].bought=1,Kt["Heavenly confectionery"].bought=1,Kt["Heavenly key"].bought=1,Do(),t=Ve,wo()),Ut>=1e6&&jo("Sacrifice"),Ut>=1e9&&jo("Oblivion"),Ut>=1e12&&jo("From scratch"),Ut>=1e15&&jo("Nihilism"),Ut>=1e18&&jo("Dematerialize"),Ut>=1e21&&jo("Nil zero zilch"),Ut>=1e24&&jo("Transcendence"),Ut>=1e27&&jo("Obliterate"),Ut>=1e30&&jo("Negative void"),Ut>=1e33&&jo("To crumbs, you say?"),Ut>=1e36&&jo("You get nothing"),Ut>=1e39&&jo("Humble rebeginnings"),Ut>=1e42&&jo("The end of the world"),Ut>=1e45&&jo("Oh, you're back"),Ut>=1e48&&jo("Lazarus"),Ut>=1e51&&jo("Smurf account"),Ut>=1e54&&jo("If at first you don't succeed"),Kt["Heavenly chip secret"].bought=1,Kt["Heavenly cookie stand"].bought=1,Kt["Heavenly bakery"].bought=1,Kt["Heavenly confectionery"].bought=1,Kt["Heavenly key"].bought=1,je=e;const o=Le;Do(),Vo(),o!==Le&&Do();const n=Ve-t;return je=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Hn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Dn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(yt)} / ${ce(bt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Pn()},e.appendChild(t),o.appendChild(Hn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(kt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==kt[1]&&(Game.wrinklers[kt[1]].hp=0)},n.appendChild(i),o.appendChild(Hn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==kt[1]?kt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(n.push(Uo[e]),o=!0)}));const i=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(i.push(Ro[e]),o=!0)}));const a=[];Object.keys($o).forEach((e=>{Game.Has($o[e])||(a.push($o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Dn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Hn("basic","Halloween cookies left to buy",Un(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Hn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Hn("basic","Christmas cookies left to buy",Un(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Hn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Hn("basic","Valentine cookies left to buy",Un(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Hn("basic","Normal easter eggs left to unlock",Un(r))),t.appendChild(Hn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Hn("basic","Rare easter eggs left to unlock",Un(l))),t.appendChild(Hn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Hn("basic","Reindeer reward",document.createTextNode(ce(mt)))),s&&t.appendChild(Hn("withTooltip","Chocolate egg cookies",document.createTextNode(ce(ht)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Hn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(ut-1))/100+"%")))}return t}()),o.appendChild(Dn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Hn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(so(),3)))),o.appendChild(Hn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(xt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Ho).forEach((t=>{Game.Has(Ho[t])||e.push(Ho[t])})),0!==e.length&&o.appendChild(Hn("basic","Fortune Upgrades Left to Buy",Un(e)))}if(e.ShowMissedGC&&o.appendChild(Hn("basic","Missed Golden Cookies",document.createTextNode(ce(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Hn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.appendChild(i)}}}))}const $n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},In={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function zn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){jn(t),Game.UpdateMenu()},n.appendChild(i),n}function Vn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings){const e=document.createElement("a");se.includes(t)?e.innerText="★":e.innerText="☆",e.className="option",e.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(t),Mn(),Game.UpdateMenu()},o.appendChild(e),o.appendChild(document.createTextNode(" "))}if("bool"===gn[t].type){const n=document.createElement("a");gn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Ln+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===gn[t].label.length?(e[t]=0,gn[t].toggle&&(l(Ln+t).className="option off")):l(Ln+t).className="option",void 0!==gn[t].func&&gn[t].func(),l(Ln+t).innerHTML=gn[t].label[e[t]],Mn()}(t)},n.textContent=gn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=gn[t].desc,o.appendChild(i),o}if("vol"===gn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=gn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){An(t)},r.onchange=function(){An(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){wn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Ln+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Ln+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Mn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=gn[t].desc,o.appendChild(s),o}if("colour"===gn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Fn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Tn(),Mn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=gn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Gn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Wn().init(),o}if("numscale"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Ln+t,i.className="option",i.type="number",i.value=e[t],i.min=gn[t].min,i.max=gn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Mn(),sn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=gn[t].desc,o.appendChild(a),o}return o}function _n(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Xn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),Ie=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){_n(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){_n(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){_n(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Yt[Game.ObjectsById[e].name].name;Yt[o].amount-=1,Oe-=1,t=Yt[o].basePrice*Game.priceIncrease**Math.max(0,Yt[o].amount-1-Yt[o].free),t=Game.modifyBuildingPrice(Yt[o],t),t=Math.ceil(t);break}const o=Le;return Do(),Vo(),o!==Le&&Do(),[Ve-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${ce(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ye}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Wn().picker&&void 0!==Wn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys($n).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(zn(t,$n[t])),e.Header[t]))for(let e=0;e{const n=zn(t,In[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(Vn(e))}))})):Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(Vn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Sn(an)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Rn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){jn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=$t?$t.wrath?`[W${Math.ceil($t.life/Game.fps)}]`:`[G${Math.ceil($t.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(It.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;$t&&(t=!0,$t.wrath?e+=`[W${Math.ceil($t.life/Game.fps)}]`:e+=`[G${Math.ceil($t.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(It.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Be<1?"Ascending now would grant you no prestige.":Be<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Be)} prestige levels (+${ce(Be)}% CpS)
and ${ce(Be)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${zt} to reach the next level and you are making ${ce(pt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Qn(){bn(),en(),nn(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{uo(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=po("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=po("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Pn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==kt[1]&&(Game.wrinklers[kt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),En(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),On()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},Xn(),On(),Game.CalculateGains(),Sn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const qn={init:function(){kn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Qn(),Game.registerHook("draw",Bo),Game.registerHook("logic",xn),kn=!1)},load:function(e){const t=JSON.parse(e);bn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Sn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:fn};Game.registerMod("CookieMonster",qn)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index 5ddef4dd..58a56e9a 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerDiv","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","groupObject","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC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,MAAO,IAAIipB,GACT,OACA,WACA,CACE,uBACA,SACA,cACA,4BACA,sBACA,wBAEF,yCACA,GACA,WACET,QAGJ1oB,cAAe,IAAImpB,GACjB,OACA,WACA,CAAC,aAAc,aAAc,cAC7B,oIACA,GACA,WACET,QAGJloB,eAAgB,IAAI2oB,GAClB,OACA,WACA,CAAC,4BAA6B,mBAC9B,qDACA,GACA,WACET,QAGJnoB,YAAa,IAAImpB,GACf,WACA,WACA,2BACA,8KACA,EACA,WAEFvoB,WAAY,IAAIgoB,GACd,OACA,WACA,CAAC,0BAA2B,uBAC5B,0BACA,GAEFhG,aAAc,IAAIgG,GAChB,OACA,WACA,CAAC,oBAAqB,oBACtB,mEACA,GACA,WAlU6B,IAA3B7tB,EAAU6nB,aAAoB1nB,KAAKkd,QAAUza,EAC5CzC,KAAKkd,QAAUzb,EAAgByb,WAqUpCpK,cAAe,IAAI4a,GACjB,OACA,WACA,CAAC,yBAA0B,mBAC3B,sKACA,GAIFve,YAAa,IAAIue,GACf,OACA,UACA,CAAC,uBAAwB,uBACzB,yBACA,GACA,WACEze,QAGJ6R,sBAAuB,IAAI4M,GACzB,OACA,UACA,CAAC,2BAA4B,sBAC7B,0KACA,GAEFxM,aAAc,IAAIwM,GAChB,OACA,UACA,CACE,mBACA,kBACA,0BACA,gCAEF,sGACA,GAEF1M,cAAe,IAAI0M,GACjB,OACA,UACA,CAAC,mBAAoB,mBACrB,sJACA,GAEF7M,oBAAqB,IAAIoN,GACvB,WACA,UACA,oCACA,wMACA,EACAzpB,KAEF5C,WAAY,IAAImsB,GACd,SACA,UACA,6HAEFlsB,YAAa,IAAIksB,GACf,SACA,UACA,yGAEFjsB,aAAc,IAAIisB,GAChB,SACA,UACA,qHAEFhsB,aAAc,IAAIgsB,GAChB,SACA,UACA,4HAEF/rB,UAAW,IAAI+rB,GACb,SACA,UACA,gHAEF9rB,aAAc,IAAI8rB,GAChB,SACA,UACA,8HAEF7rB,WAAY,IAAI6rB,GACd,SACA,UACA,wGAEF5rB,WAAY,IAAI4rB,GACd,SACA,UACA,sDAEF3rB,YAAa,IAAI2rB,GACf,SACA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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file diff --git a/src/Config/Toggles/ToggleFavourites.js b/src/Config/Toggles/ToggleFavourites.js new file mode 100644 index 00000000..bc6d0bb7 --- /dev/null +++ b/src/Config/Toggles/ToggleFavourites.js @@ -0,0 +1,13 @@ +import { FavouriteSettings } from '../../Disp/VariablesAndData'; + +/** + * This function toggles whether a setting is part of the favourites section in setting or not + * @param {string} config The name of the toggleable config option + */ +export default function ToggleFavouriteSetting(config) { + if (FavouriteSettings.includes(config)) + FavouriteSettings = FavouriteSettings.filter(function (ele) { + return ele !== config; + }); + else FavouriteSettings.push(config); +} diff --git a/src/Data/Sectionheaders.js b/src/Data/Sectionheaders.js index 9161002d..ef41b7a4 100644 --- a/src/Data/Sectionheaders.js +++ b/src/Data/Sectionheaders.js @@ -2,6 +2,7 @@ /** Display titles of the headers of the Cookie Monster settings section */ export const ConfigGroups = { + Favourite: 'Favourite Settings', Calculation: 'Calculation', Notation: 'Notation', Colours: 'Colours and colour coding', diff --git a/src/Data/SettingsData.js b/src/Data/SettingsData.js index 6981b0c6..0ac6c923 100644 --- a/src/Data/SettingsData.js +++ b/src/Data/SettingsData.js @@ -815,10 +815,24 @@ const Config = { BulkBuyBlock: new SettingStandard( 'bool', 'Miscellaneous', - ['Block Bulk Buying OFF', 'Block Bulk Buying ON'], + ['Block bulk buying OFF', 'Block bulk buying ON'], "Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.", true, ), + FavouriteSettings: new SettingStandard( + 'bool', + 'Miscellaneous', + [ + 'Favourite settings section OFF', + 'Favourite settings section ON', + 'Favourite settings section ON (Locked)', + ], + "Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section", + true, + function () { + Game.UpdateMenu(); + }, + ), }; export default Config; diff --git a/src/Data/SettingsDefault.js b/src/Data/SettingsDefault.js index 3fffa8cd..522defda 100644 --- a/src/Data/SettingsDefault.js +++ b/src/Data/SettingsDefault.js @@ -109,7 +109,9 @@ const ConfigDefault = { WrinklerMaxSoundURL: 'https://freesound.org/data/previews/152/152743_15663-lq.mp3', BulkBuyBlock: 0, + FavouriteSettings: 1, Header: { + Favourite: 1, Calculation: 1, Notation: 1, Colours: 1, diff --git a/src/Disp/MenuSections/AddMenus.js b/src/Disp/MenuSections/AddMenus.js index 61464374..90a5e800 100644 --- a/src/Disp/MenuSections/AddMenus.js +++ b/src/Disp/MenuSections/AddMenus.js @@ -1,7 +1,7 @@ import { CMOptions } from '../../Config/VariablesAndData'; import AddMenuStats from './AddStatsPage'; import AddMenuInfo from './InfoPage'; -import AddMenuPref from './SettingsPage'; +import AddMenuPref from './Settings/SettingsPage'; /** * This function adds the calll the functions to add extra info to the stats and options pages diff --git a/src/Disp/MenuSections/Settings/CreateHeader.js b/src/Disp/MenuSections/Settings/CreateHeader.js new file mode 100644 index 00000000..f7a3a76d --- /dev/null +++ b/src/Disp/MenuSections/Settings/CreateHeader.js @@ -0,0 +1,35 @@ +import { ToggleHeader } from '../../../Config/ToggleSetting'; +import { CMOptions } from '../../../Config/VariablesAndData'; + +/** + * This function creates a header-object for the options page + * @param {string} config The name of the Config-group + * @param {string} text The to-be displayed name of the header + * @returns {object} div The header object + */ +export default function CreatePrefHeader(config, text) { + const div = document.createElement('div'); + div.className = 'title'; + + div.style.opacity = '0.7'; + div.style.fontSize = '17px'; + div.appendChild(document.createTextNode(`${text} `)); + const span = document.createElement('span'); // Creates the +/- button + span.style.cursor = 'pointer'; + span.style.display = 'inline-block'; + span.style.height = '14px'; + span.style.width = '14px'; + span.style.borderRadius = '7px'; + span.style.textAlign = 'center'; + span.style.backgroundColor = '#C0C0C0'; + span.style.color = 'black'; + span.style.fontSize = '13px'; + span.style.verticalAlign = 'middle'; + span.textContent = CMOptions.Header[config] ? '-' : '+'; + span.onclick = function () { + ToggleHeader(config); + Game.UpdateMenu(); + }; + div.appendChild(span); + return div; +} diff --git a/src/Disp/MenuSections/SettingsPage.js b/src/Disp/MenuSections/Settings/CreateOption.js similarity index 57% rename from src/Disp/MenuSections/SettingsPage.js rename to src/Disp/MenuSections/Settings/CreateOption.js index 6b458bb9..5874b15d 100644 --- a/src/Disp/MenuSections/SettingsPage.js +++ b/src/Disp/MenuSections/Settings/CreateOption.js @@ -1,70 +1,42 @@ -/** Functions related to the Options/Preferences page */ - import jscolor, * as JsColor from '@eastdesire/jscolor'; -import { - LoadConfig, - SaveConfig, -} from '../../Config/SaveLoadReload/SaveLoadReloadSettings'; +import ToggleFavouriteSetting from '../../../Config/Toggles/ToggleFavourites'; +import { SaveConfig } from '../../../Config/SaveLoadReload/SaveLoadReloadSettings'; import { ConfigPrefix, ToggleConfig, ToggleConfigVolume, - ToggleHeader, -} from '../../Config/ToggleSetting'; -import { CMOptions } from '../../Config/VariablesAndData'; -import { - ConfigGroups, - ConfigGroupsNotification, -} from '../../Data/Sectionheaders'; -import Config from '../../Data/SettingsData'; -import ConfigDefault from '../../Data/SettingsDefault'; -import RefreshScale from '../HelperFunctions/RefreshScale'; -import UpdateColours from '../HelperFunctions/UpdateColours'; -import Flash from '../Notifications/Flash'; -import PlaySound from '../Notifications/Sound'; -import CookieMonsterPrompt from './Prompt'; - -/** - * This function creates a header-object for the options page - * @param {string} config The name of the Config-group - * @param {string} text The to-be displayed name of the header - * @returns {object} div The header object - */ -function CreatePrefHeader(config, text) { - const div = document.createElement('div'); - div.className = 'title'; - - div.style.opacity = '0.7'; - div.style.fontSize = '17px'; - div.appendChild(document.createTextNode(`${text} `)); - const span = document.createElement('span'); // Creates the +/- button - span.style.cursor = 'pointer'; - span.style.display = 'inline-block'; - span.style.height = '14px'; - span.style.width = '14px'; - span.style.borderRadius = '7px'; - span.style.textAlign = 'center'; - span.style.backgroundColor = '#C0C0C0'; - span.style.color = 'black'; - span.style.fontSize = '13px'; - span.style.verticalAlign = 'middle'; - span.textContent = CMOptions.Header[config] ? '-' : '+'; - span.onclick = function () { - ToggleHeader(config); - Game.UpdateMenu(); - }; - div.appendChild(span); - return div; -} +} from '../../../Config/ToggleSetting'; +import { CMOptions } from '../../../Config/VariablesAndData'; +import {} from '../../../Data/Sectionheaders'; +import Config from '../../../Data/SettingsData'; +import RefreshScale from '../../HelperFunctions/RefreshScale'; +import UpdateColours from '../../HelperFunctions/UpdateColours'; +import Flash from '../../Notifications/Flash'; +import PlaySound from '../../Notifications/Sound'; +import { FavouriteSettings } from '../../VariablesAndData'; +import CookieMonsterPrompt from '../Prompt'; /** * This function creates an option-object for the options page * @param {string} config The name of the option * @returns {object} div The option object */ -function CreatePrefOption(config) { +export default function CreatePrefOption(config) { const div = document.createElement('div'); div.className = 'listing'; + if (CMOptions.FavouriteSettings === 1) { + const FavStar = document.createElement('a'); + if (FavouriteSettings.includes(config)) FavStar.innerText = '★'; + else FavStar.innerText = '☆'; + FavStar.className = 'option'; + FavStar.onclick = function () { + ToggleFavouriteSetting(config); + SaveConfig(); + Game.UpdateMenu(); + }; + div.appendChild(FavStar); + div.appendChild(document.createTextNode(' ')); + } if (Config[config].type === 'bool') { const a = document.createElement('a'); if (Config[config].toggle && CMOptions[config] === 0) { @@ -174,14 +146,13 @@ function CreatePrefOption(config) { return div; } if (Config[config].type === 'colour') { - div.className = ''; - const innerDiv = document.createElement('div'); - innerDiv.className = 'listing'; + const innerSpan = document.createElement('span'); + innerSpan.className = 'option'; const input = document.createElement('input'); input.id = config; input.style.width = '65px'; input.setAttribute('value', CMOptions[config]); - innerDiv.appendChild(input); + innerSpan.appendChild(input); const change = function () { CMOptions[this.targetElement.id] = this.toHEXString(); UpdateColours(); @@ -192,7 +163,7 @@ function CreatePrefOption(config) { new JsColor(input, { hash: true, position: 'right', onInput: change }); const label = document.createElement('label'); label.textContent = Config[config].desc; - innerDiv.appendChild(label); + innerSpan.appendChild(label); if (config.includes('Flash')) { const a = document.createElement('a'); a.className = 'option'; @@ -200,9 +171,9 @@ function CreatePrefOption(config) { Flash(3, config.replace('Colour', ''), true); }; a.textContent = 'Test flash'; - innerDiv.appendChild(a); + innerSpan.appendChild(a); } - div.appendChild(innerDiv); + div.appendChild(innerSpan); jscolor.init(); return div; } @@ -233,62 +204,3 @@ function CreatePrefOption(config) { } return div; } - -/** - * This function adds the options/settings of CookieMonster to the options page - * It is called by CM.Disp.AddMenu - * @param {object} title On object that includes the title of the menu - */ -export default function AddMenuPref(title) { - const frag = document.createDocumentFragment(); - frag.appendChild(title); - - Object.keys(ConfigGroups).forEach((group) => { - const groupObject = CreatePrefHeader(group, ConfigGroups[group]); // (group, display-name of group) - frag.appendChild(groupObject); - if (CMOptions.Header[group]) { - // 0 is show, 1 is collapsed - // Make sub-sections of Notification section - if (group === 'Notification') { - Object.keys(ConfigGroupsNotification).forEach((subGroup) => { - const subGroupObject = CreatePrefHeader( - subGroup, - ConfigGroupsNotification[subGroup], - ); // (group, display-name of group) - subGroupObject.style.fontSize = '15px'; - subGroupObject.style.opacity = '0.5'; - frag.appendChild(subGroupObject); - if (CMOptions.Header[subGroup]) { - Object.keys(Config).forEach((option) => { - if (Config[option].group === subGroup) - frag.appendChild(CreatePrefOption(option)); - }); - } - }); - } else { - Object.keys(Config).forEach((option) => { - if (Config[option].group === group) - frag.appendChild(CreatePrefOption(option)); - }); - } - } - }); - - const resDef = document.createElement('div'); - resDef.className = 'listing'; - const resDefBut = document.createElement('a'); - resDefBut.className = 'option'; - resDefBut.onclick = function () { - LoadConfig(ConfigDefault); - }; - resDefBut.textContent = 'Restore Default'; - resDef.appendChild(resDefBut); - frag.appendChild(resDef); - - l('menu').childNodes[2].insertBefore( - frag, - l('menu').childNodes[2].childNodes[ - l('menu').childNodes[2].childNodes.length - 1 - ], - ); -} diff --git a/src/Disp/MenuSections/Settings/SettingsPage.js b/src/Disp/MenuSections/Settings/SettingsPage.js new file mode 100644 index 00000000..8284b19d --- /dev/null +++ b/src/Disp/MenuSections/Settings/SettingsPage.js @@ -0,0 +1,79 @@ +import { LoadConfig } from '../../../Config/SaveLoadReload/SaveLoadReloadSettings'; +import { CMOptions } from '../../../Config/VariablesAndData'; +import { + ConfigGroups, + ConfigGroupsNotification, +} from '../../../Data/Sectionheaders'; +import Config from '../../../Data/SettingsData'; +import ConfigDefault from '../../../Data/SettingsDefault'; +import { FavouriteSettings } from '../../VariablesAndData'; +import CreatePrefHeader from './CreateHeader'; +import CreatePrefOption from './CreateOption'; + +/** + * This function adds the options/settings of CookieMonster to the options page + * It is called by CM.Disp.AddMenu + * @param {object} title On object that includes the title of the menu + */ +export default function AddMenuPref(title) { + const frag = document.createDocumentFragment(); + frag.appendChild(title); + + Object.keys(ConfigGroups).forEach((group) => { + if (group === 'Favourite') { + if (FavouriteSettings.length !== 0 && CMOptions.FavouriteSettings > 0) { + frag.appendChild(CreatePrefHeader(group, ConfigGroups[group])); // (group, display-name of group) + if (CMOptions.Header[group]) + for (let index = 0; index < FavouriteSettings.length; index++) { + frag.appendChild(CreatePrefOption(FavouriteSettings[index])); + } + } + } else { + frag.appendChild(CreatePrefHeader(group, ConfigGroups[group])); // (group, display-name of group) + if (CMOptions.Header[group]) { + // 0 is show, 1 is collapsed + // Make sub-sections of Notification section + if (group === 'Notification') { + Object.keys(ConfigGroupsNotification).forEach((subGroup) => { + const subGroupObject = CreatePrefHeader( + subGroup, + ConfigGroupsNotification[subGroup], + ); // (group, display-name of group) + subGroupObject.style.fontSize = '15px'; + subGroupObject.style.opacity = '0.5'; + frag.appendChild(subGroupObject); + if (CMOptions.Header[subGroup]) { + Object.keys(Config).forEach((option) => { + if (Config[option].group === subGroup) + frag.appendChild(CreatePrefOption(option)); + }); + } + }); + } else { + Object.keys(Config).forEach((option) => { + if (Config[option].group === group) + frag.appendChild(CreatePrefOption(option)); + }); + } + } + } + }); + + const resDef = document.createElement('div'); + resDef.className = 'listing'; + const resDefBut = document.createElement('a'); + resDefBut.className = 'option'; + resDefBut.onclick = function () { + LoadConfig(ConfigDefault); + }; + resDefBut.textContent = 'Restore Default'; + resDef.appendChild(resDefBut); + frag.appendChild(resDef); + + l('menu').childNodes[2].insertBefore( + frag, + l('menu').childNodes[2].childNodes[ + l('menu').childNodes[2].childNodes.length - 1 + ], + ); +} diff --git a/src/Disp/VariablesAndData.js b/src/Disp/VariablesAndData.js index 0d3c85b9..54588b3f 100644 --- a/src/Disp/VariablesAndData.js +++ b/src/Disp/VariablesAndData.js @@ -143,3 +143,8 @@ export let TooltipBonusMouse; export let LastAscendState; export let LastNumberOfTimers; + +/** + * This stores the names of settings shown in the favourites section + */ +export let FavouriteSettings = []; diff --git a/src/InitSaveLoad/load.js b/src/InitSaveLoad/load.js index 6942eb84..70a81aa3 100644 --- a/src/InitSaveLoad/load.js +++ b/src/InitSaveLoad/load.js @@ -1,5 +1,7 @@ +/* eslint-disable no-unused-vars */ import { LoadConfig } from '../Config/SaveLoadReload/SaveLoadReloadSettings'; import { VersionMajor, VersionMinor } from '../Data/Moddata'; +import { FavouriteSettings } from '../Disp/VariablesAndData'; import InitData from '../Sim/InitializeData/InitData'; /** @@ -9,6 +11,9 @@ import InitData from '../Sim/InitializeData/InitData'; export default function load(str) { const save = JSON.parse(str); InitData(); + // The if-statement is a failsafe for old saves + if (typeof save.favouriteSettings !== 'undefined') + FavouriteSettings = save.favouriteSettings; LoadConfig(save.settings); if (save.version !== `${VersionMajor}.${VersionMinor}`) { if (Game.prefs.popups) diff --git a/src/InitSaveLoad/save.js b/src/InitSaveLoad/save.js index 7f2e523c..63ab2bae 100644 --- a/src/InitSaveLoad/save.js +++ b/src/InitSaveLoad/save.js @@ -1,5 +1,6 @@ import { CMOptions } from '../Config/VariablesAndData'; import { VersionMajor, VersionMinor } from '../Data/Moddata'; +import { FavouriteSettings } from '../Disp/VariablesAndData'; /** * This creates a save function to the CM object. Per Game code/comments: @@ -8,6 +9,7 @@ import { VersionMajor, VersionMinor } from '../Data/Moddata'; */ export default function save() { return JSON.stringify({ + favouriteSettings: FavouriteSettings, settings: CMOptions, version: `${VersionMajor}.${VersionMinor}`, }); From 566efbc68b6fa65a7d835a056beafb55440d1eb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Sat, 3 Apr 2021 08:50:35 +0200 Subject: [PATCH 14/30] Made favourite settings stars yellow --- CookieMonster.js | 2 +- dist/CookieMonster.js | 2 +- dist/CookieMonster.js.map | 2 +- src/Disp/MenuSections/Settings/CreateOption.js | 6 ++++-- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/CookieMonster.js b/CookieMonster.js index 51604b35..02d5bb79 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=1,ct=1,dt=1,pt=0,ut=0,mt=0,ht=0,gt={},ft={},Ct={},yt=0,bt=0,kt=[0,null],Gt=0,wt=0,vt={},xt={},Tt={},Mt={},St={},Pt=0,Bt=0,Et=[],Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,Rt=0,$t={},It={},zt=0,Vt=0,_t=[],Xt={},Qt=0,qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Yt=[],Kt=[],Jt=[];function Zt(e){let t=0;return Game.dragonAuras[De].name!==e&&Game.dragonAuras[He].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[De].name&&"Reality Bending"!==Game.dragonAuras[He].name||(t+=.1),t}function eo(){let e=.25;return e*=1+Zt("Earth Shatterer"),e}function to(e,t){return void 0===ze[e]?void 0===t?1:t:ze[e]}function oo(e){const t=Kt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function no(e){if(Game.hasGod){void 0===Yt.Temple.minigame&&(Yt.Temple.minigame=Game.Objects.Temple.minigame);const t=Yt.Temple.minigame.gods[e];if(Ue===t.id)return 1;if(Re===t.id)return 2;if($e===t.id)return 3}return!1}function io(e,t){let o=t;if(oo("Season savings")&&(o*=.99),oo("Santa's dominion")&&(o*=.99),oo("Faberge egg")&&(o*=.99),oo("Divine discount")&&(o*=.99),oo("Fortune #100")&&(o*=.99),o*=1-.02*Zt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&oo(e.fortune.name)&&(o*=.93),o*=to("buildingCost"),Yt.Temple.minigameLoaded){const e=no("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ao(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ro(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=gt:10===t?t=ft:100===t&&(t=Ct),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(gt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ao(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(gt).map((e=>{const t=gt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=gt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=gt),10===i&&(i=ft),100===i&&(i=Ct),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+co()))/so());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&oo(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(oo(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&oo(e.fortune.name)&&(t*=1.07),e.grandma&&oo(e.grandma.name)&&(t*=1+.01*Yt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&oo(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function ko(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;oo("Thousand fingers")&&(t+=.1),oo("Million fingers")&&(t*=5),oo("Billion fingers")&&(t*=10),oo("Trillion fingers")&&(t*=20),oo("Quadrillion fingers")&&(t*=20),oo("Quintillion fingers")&&(t*=20),oo("Sextillion fingers")&&(t*=20),oo("Septillion fingers")&&(t*=20),oo("Octillion fingers")&&(t*=20),oo("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Yt).forEach((e=>{"Cursor"!==Yt[e].name&&(n+=Yt[e].amount)})),t*=n,o*=bo(e),o*=Game.magicCpS("Cursor"),o*=to("cursorCps"),Game.ComputeCps(.1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{oo(Game.GrandmaSynergies[e])&&(o*=2)})),oo("Bingo center/Research facility")&&(o*=4),oo("Ritual rolling pins")&&(o*=2),oo("Naughty list")&&(o*=2),oo("Elderwort biscuits")&&(o*=1.02),o*=to("grandmaCps"),oo("Cat ladies"))for(let e=0;e{"Grandma"!==Yt[e].name&&(i+=Yt[e].amount)})),o*=1+.01*Zt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=bo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function Go(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Yt).forEach((t=>{Yt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(oo("Starlove")&&(e=3),Game.hasGod){const t=no("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function wo(){Fe=Game.UpgradesOwned,We=Game.pledges,Le=Game.AchievementsOwned,Ae=Game.heavenlyPower,je=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e],uo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ue=t.minigame.slot[0],Re=t.minigame.slot[1],$e=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Yt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e]),o.bought=t.bought,Kt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Jt[e];void 0===o&&(Jt[e]=yo(e),o=Jt[e]),o.won=t.won,Jt[e]=o})),Co(),De=Xe,He=Qe}function vo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function xo(e){e.appendChild(vo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(vo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(vo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(vo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(vo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function To(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function So(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Po(){if(wo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(xo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=gt:10===Game.buyBulk?t=ft:100===Game.buyBulk&&(t=Ct),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+co()))/so());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(vo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(vo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=po(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,go())}}(),mo(),Po(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Yt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Eo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function No(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Qt;Game.cpsSucked>0&&(o+=yt),Ut=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-ye,i=Math.max(0,Game.cookies-be)/n,a=Math.max(0,yt-ke)/n,r=Math.max(0,kt[0]-Ge)/n,l=Math.max(0,o-ht)/n,s=(Game.cookieClicks-we)/n;for(let e=0;e0&&(n=W),n}function Fo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Oo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+co()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||_t.push([t[n].pp,o])}))}function Lo(){!function(){Vt=1/0,_t=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Wo(gt,1),Wo(ft,10),Wo(Ct,100),_t.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;_t[t][1]>Game.cookies&&(t+=1,_t.length!==t+1););Vt=_t[e.PPExcludeTop][t],Fo(gt,1),Fo(ft,10),Fo(Ct,100)}(),Object.keys(vt).forEach((e=>{Game.cookiesPs?vt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+co()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/vt[e].bonus:vt[e].pp=Game.Upgrades[e].getPrice()/vt[e].bonus,Number.isNaN(vt[e].pp)&&(vt[e].pp=1/0),vt[e].color=Oo(vt[e],Game.Upgrades[e].getPrice())}))}function Ao(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),ze=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(je)*Ae*function(){let e=0;if(oo("Heavenly chip secret")&&(e+=.05),oo("Heavenly cookie stand")&&(e+=.2),oo("Heavenly bakery")&&(e+=.25),oo("Heavenly confectionery")&&(e+=.25),oo("Heavenly key")&&(e+=.25),e*=1+.05*Zt("Dragon God"),oo("Lucky digit")&&(e*=1.01),oo("Lucky number")&&(e*=1.01),oo("Lucky payout")&&(e*=1.01),Game.hasGod){const t=no("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=to("cps"),oo("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];oo(o.name)&&("function"==typeof o.power?e*=1+.01*Kt[o.name].power(Kt[o.name]):e*=1+.01*o.power)})),oo("Specialized chocolate chips")&&(e*=1.01),oo("Designer cocoa beans")&&(e*=1.02),oo("Underworld ovens")&&(e*=1.03),oo("Exotic nuts")&&(e*=1.04),oo("Arcane sugar")&&(e*=1.05),oo("Increased merriness")&&(e*=1.15),oo("Improved jolliness")&&(e*=1.15),oo("A lump of coal")&&(e*=1.01),oo("An itchy sweater")&&(e*=1.01),oo("Santa's dominion")&&(e*=1.2),oo("Fortune #100")&&(e*=1.01),oo("Fortune #101")&&(e*=1.07),oo("Dragon scale")&&(e*=1.03);let o=1;if(no){let t=no("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=no("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=no("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=no("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=no("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}oo("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Le/25;let i=1;if(oo("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Zt("Breath of Milk"),no){const e=no("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=to("milk");let a=1;oo("Kitten helpers")&&(a*=1+.1*n*i),oo("Kitten workers")&&(a*=1+.125*n*i),oo("Kitten engineers")&&(a*=1+.15*n*i),oo("Kitten overseers")&&(a*=1+.175*n*i),oo("Kitten managers")&&(a*=1+.2*n*i),oo("Kitten accountants")&&(a*=1+.2*n*i),oo("Kitten specialists")&&(a*=1+.2*n*i),oo("Kitten experts")&&(a*=1+.2*n*i),oo("Kitten consultants")&&(a*=1+.2*n*i),oo("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),oo("Kitten marketeers")&&(a*=1+.15*n*i),oo("Kitten analysts")&&(a*=1+.125*n*i),oo("Kitten executives")&&(a*=1+.115*n*i),oo("Kitten angels")&&(a*=1+.1*n*i),oo("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Yt).forEach((e=>{const t=Yt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&oo("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Ve+=t.amount*a})),oo('"egg"')&&(Ve+=9),e*=a;let r=1;if(oo("Chicken egg")&&(r*=1.01),oo("Duck egg")&&(r*=1.01),oo("Turkey egg")&&(r*=1.01),oo("Quail egg")&&(r*=1.01),oo("Robin egg")&&(r*=1.01),oo("Ostrich egg")&&(r*=1.01),oo("Cassowary egg")&&(r*=1.01),oo("Salmon roe")&&(r*=1.01),oo("Frogspawn")&&(r*=1.01),oo("Shark egg")&&(r*=1.01),oo("Turtle egg")&&(r*=1.01),oo("Ant larva")&&(r*=1.01),oo("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),ut=1+.1*(1-(1-e/100)**3),r*=ut}e*=r,oo("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Zt("Radiant Appetite");const l=Ve*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&jo(Game.CpsAchievements[e].name)})),_e=l;const{n:s}=Game.shimmerTypes.golden,c=Zt("Dragon's Fortune");for(let t=0;t{oo(e[o])&&(t+=.1)}))}e*=t}if(oo("Shimmering veil [off]")){let t=.5;oo("Reinforced membrane")&&(t+=.1),e*=1+t}oo("Magic shenanigans")&&(e*=1e3),oo("Occult obstruction")&&(e*=0),Ve=Game.runModHookOnValue("cps",Ve),e*=Mo(),Ve*=e}const Ho=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Uo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ro=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],$o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Io=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function zo(e){return Jt[e]?Jt[e].won:0}function Vo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{oo(Game.GrandmaSynergies[t])&&(e+=1)})),!zo("Elder")&&e>=7&&jo("Elder"),!zo("Veteran")&&e>=14&&jo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Yt).forEach((e=>{t+=Yt[e].amount,i=Math.min(Yt[e].amount,i),zo("Mathematician")||Yt[e].amount=1&&jo("One with everything"),1===o&&jo("Mathematician"),1===n&&jo("Base 10"),i>=100&&jo("Centennial"),i>=150&&jo("Centennial and a half"),i>=200&&jo("Bicentennial"),i>=250&&jo("Bicentennial and a half"),i>=300&&jo("Tricentennial"),i>=350&&jo("Tricentennial and a half"),i>=400&&jo("Quadricentennial"),i>=450&&jo("Quadricentennial and a half"),i>=500&&jo("Quincentennial"),i>=550&&jo("Quincentennial and a half"),i>=600&&jo("Sexcentennial"),t>=100&&jo("Builder"),t>=500&&jo("Architect"),t>=1e3&&jo("Engineer"),t>=2e3&&jo("Lord of Constructs"),t>=4e3&&jo("Grand design"),t>=8e3&&jo("Ecumenopolis"),Fe>=20&&jo("Enhancer"),Fe>=50&&jo("Augmenter"),Fe>=100&&jo("Upgrader"),Fe>=200&&jo("Lord of Progress"),Fe>=300&&jo("The full picture"),Fe>=400&&jo("When there's nothing left to add"),t>=4e3&&Fe>=300&&jo("Polymath"),t>=8e3&&Fe>=400&&jo("Renaissance baker"),Yt.Cursor.amount+Yt.Grandma.amount>=777&&jo("The elder scrolls");let a=!0;Object.keys(Uo).forEach((e=>{oo(Uo[e])||(a=!1)})),a&&jo("Spooky cookies");let r=!0;if(Object.keys(Ro).forEach((e=>{oo(Ro[e])||(r=!1)})),r&&jo("Let it snow"),oo("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{oo(e[o].name)&&(t+=1)})),t>=e.length&&jo("O Fortuna")}}function _o(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){wo(),Yt[e].amount+=t;const o=Yt[e];"Cursor"===e?(o.amount>=1&&jo("Click"),o.amount>=2&&jo("Double-click"),o.amount>=50&&jo("Mouse wheel"),o.amount>=100&&jo("Of Mice and Men"),o.amount>=200&&jo("The Digital"),o.amount>=300&&jo("Extreme polydactyly"),o.amount>=400&&jo("Dr. T"),o.amount>=500&&jo("Thumbs, phalanges, metacarpals"),o.amount>=600&&jo("With her finger and her thumb"),o.amount>=700&&jo("Gotta hand it to you"),o.amount>=800&&jo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&jo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Le;return Do(),Vo(),n!==Le&&Do(),Ve-Game.cookiesPs}(o,e),1!==e&&(Ee=1)})),t}function Xo(){Object.keys(Game.Objects).forEach((e=>{gt[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),ft[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),Ct[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Qo(){gt=_o(1),ft=_o(10),Ct=_o(100),vt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){wo(),"Shimmering veil [on]"===Kt[e].name?Kt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Kt[e].name?Kt["Golden switch [off]"].bought=0:Kt[e].bought=(Kt[e].bought+1)%2,Kt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Fe+=1),"Elder Pledge"===e?(We+=1,We>0&&jo("Elder nap"),We>=5&&jo("Elder slumber")):"Elder Covenant"===e?jo("Elder calm"):"Prism heart biscuits"===e?jo("Lovely cookies"):"Heavenly key"===e&&jo("Wholesome");const t=Le;Do(),Vo(),t!==Le&&Do();const o=function(){let e=0;oo("Thousand fingers")&&(e+=.1),oo("Million fingers")&&(e*=5),oo("Billion fingers")&&(e*=10),oo("Trillion fingers")&&(e*=20),oo("Quadrillion fingers")&&(e*=20),oo("Quintillion fingers")&&(e*=20),oo("Sextillion fingers")&&(e*=20),oo("Septillion fingers")&&(e*=20),oo("Octillion fingers")&&(e*=20),oo("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Yt).forEach((e=>{t+=Yt[e].amount})),t-=Yt.Cursor.amount,e*=t,oo("Plastic mouse")&&(e+=.01*Ve),oo("Iron mouse")&&(e+=.01*Ve),oo("Titanium mouse")&&(e+=.01*Ve),oo("Adamantium mouse")&&(e+=.01*Ve),oo("Unobtainium mouse")&&(e+=.01*Ve),oo("Eludium mouse")&&(e+=.01*Ve),oo("Wishalloy mouse")&&(e+=.01*Ve),oo("Fantasteel mouse")&&(e+=.01*Ve),oo("Nevercrack mouse")&&(e+=.01*Ve),oo("Armythril mouse")&&(e+=.01*Ve),oo("Technobsidian mouse")&&(e+=.01*Ve),oo("Plasmarble mouse")&&(e+=.01*Ve),oo("Miraculite mouse")&&(e+=.01*Ve),oo("Fortune #104")&&(e+=.01*Ve);let o=1;if(oo("Santa's helpers")&&(o*=1.1),oo("Cookie egg")&&(o*=1.1),oo("Halo gloves")&&(o*=1.1),oo("Dragon claw")&&(o*=1.03),oo("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,oo("Luminous gloves")?20:10)),o*=to("click"),Yt.Temple.minigameLoaded&&no){const e=no("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Zt("Dragon Cursor");let n=o*Game.ComputeCps(1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Ve-Game.cookiesPs,o]:[Ve-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(vt[t]={bonus:Game.cookiesPs-ve},1===e.CalcWrink?vt[t].bonus-=xe:2===e.CalcWrink&&(vt[t].bonus-=Te),Number.isFinite(vt[t].bonus)||(vt[t].bonus=0)):(vt[t]={},o[0]&&(vt[t].bonus=o[0]),o[1]&&(vt[t].bonusMouse=o[1]))}))}function qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Et=qo(7,e,ct),Pt=2*Et[1]/ct,Bt=Et[2]/60/60/6/st,Ft=qo(6,e,dt),Nt=2*Ft[1]/dt,Ot=Ft[2]/60/60/6/st,At=qo(7,7*e,ct),Wt=2*At[1]/ct,Lt=At[2]/60/60/6/st,Ht=qo(6,7*e,dt),jt=2*Ht[1]/dt,Dt=Ht[2]/60/60/6/st}function Ko(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Pe,i=Math.max(0,o-Be)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Mt+=e:"cookie"===o.pool?St+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Tt+=e)}}))}function Zo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),mt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(mt*=2)}}function en(){Ke=900*lt/.15,Ke*=st;const e=Mo();e>0?Ke/=e:Ke=0,Je=ct*(.15*Ke)+13,Ze=dt*(.15*Ke)+13,et=7*Ke,tt=ct*(.15*et)+13,ot=dt*(.15*et)+13,nt=2*Ke,it=.15*nt,at=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountat&&(at=2*Game.Objects[e].price,rt=e)}))}function tn(){let e=1,t=1,o=1;oo("Green yeast digestives")&&(o*=1.01),oo("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ct=o*e,dt=o*t,st=1,0===Game.shimmerTypes.golden.n&&(st*=1+1.23*Game.auraMult("Dragon's Fortune"))}function on(){yt=0,bt=0,kt=[0,null];for(let e=0;ekt[0]&&(kt=[t,e]))}}function nn(){Co(),on(),en(),tn(),Yo(),Jo(),Zo(),ue=new Eo(Y[Y.length-1]),me=new Eo(Y[Y.length-1]),he=new Eo(Y[Y.length-1]),ge=new Eo(Y[Y.length-1]),fe=new Eo(K[K.length-1]),Ce=new Eo(5),Ko(),No(),Qo(),Xo(),Lo()}const an={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},rn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function ln(){1===e.BotBar?(l("CMBotBar").style.display="",mo()):l("CMBotBar").style.display="none",go()}function sn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),mo(),ro(),lo()}function cn(){1===e.Favicon&&y>0?$t.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class dn{constructor(e,t){this.type=e,this.group=t}}class pn extends dn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class un extends dn{constructor(e,t,o){super(e,t),this.desc=o}}class mn extends dn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class hn extends dn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const gn={CPSMode:new pn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new pn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new pn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new pn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){Ie=!0})),Scale:new pn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){sn()})),ScaleDecimals:new pn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){sn()})),ScaleSeparator:new pn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){sn()})),ScaleCutoff:new hn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new pn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new pn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new pn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new pn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ro()})),PPOnlyConsiderBuyable:new pn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new pn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new pn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new hn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new un("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new un("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new un("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new un("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new un("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new un("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new un("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new un("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new un("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new pn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){ln()})),TimerBar:new pn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){fo()})),TimerBarPos:new pn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),go()})),TimerBarOverlay:new pn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new pn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",lo()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",lo()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new pn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new pn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ro()})),SortUpgrades:new pn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){lo()})),DragonAuraInfo:new pn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new pn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new pn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Xt[e].l.style.left,re[e].style.top=Xt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new pn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){cn()})),WrinklerButtons:new pn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new pn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new pn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new pn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new pn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new pn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new pn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new pn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new pn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new hn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new pn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new pn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){So()})),TooltipGrim:new pn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new pn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new pn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new pn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new pn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new pn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new pn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new pn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new pn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new hn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new pn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new pn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new pn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new pn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){rn(e.GCNotification)})),GCFlash:new pn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new un("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new pn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new mn("vol","NotificationGC",[],"Volume"),GCSoundURL:new pn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new pn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){rn(e.FortuneNotification)})),FortuneFlash:new pn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new un("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new pn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new mn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new pn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new pn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){rn(e.SeaNotification)})),SeaFlash:new pn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new un("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new pn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new mn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new pn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new pn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new un("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new pn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new mn("vol","NotificationGard",[],"Volume"),GardSoundURL:new pn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new pn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){rn(e.MagicNotification)})),MagicFlash:new pn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new un("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new pn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new mn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new pn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new pn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){rn(e.WrinklerNotification)})),WrinklerFlash:new pn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new un("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new pn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new mn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new pn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new pn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){rn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new pn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new un("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new pn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new mn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new pn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new pn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new pn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function fn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function Cn(){if(qe!==Game.dragonLevel||Ie){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Upgrades).forEach((e=>{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Achievements).forEach((e=>{Jt[e]=yo(e)})),wo()}let kn=!1;function Gn(t,o,n){(1===e[o]||n)&&3===t&&!1===kn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Gn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Gn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Gn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function wn(t,o,n,i){if((1===e[o]||i)&&!1===kn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function vn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===kn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function xn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(ln(),fo()),ho()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(bn(),nn(),r=Object.keys(Game.mods).length),Ie&&(Qo(),Game.Has("Golden switch [off]")?(wo(),Kt["Golden switch [off]"].bought=0,Do(),lt=Ve):lt=Game.cookiesPs,tn(),en(),Jo(),Yo(),Cn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)qt[e][t]=yn(e,t)}(),Zo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;wo();let t=2;5!==De&&18!==De||(t-=1),5!==He&&18!==He||(t-=1),De=5,He=18;for(let e=0;e{Yt[t].amount>0&&(e=t)})),Yt[e].amount-=1,Oe-=1}return Object.keys(Yt).forEach((t=>{const o=Yt[t];e+=ao(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Qt=e}(),Ie=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ne&&t?(Ne=!0,Ee=1):Ne&&!t&&(Ne=!1,Ee=1),Ee&&(Xo(),Ee=0),function(){on(),Lo(),function(){Gt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Yt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}wt=e,Gt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),No(),Ko();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);zt=de(e/so())}(),G=0,Xt={},Object.keys(Game.shimmers).forEach((e=>{Xt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&($t=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Xt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),cn(),b=G,0===G&&($t=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Xt[e].l.style.opacity,re[e].style.transform=Xt[e].l.style.transform,re[e].textContent=Math.ceil(Xt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Gn(3,"FortuneFlash",!1),wn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),vn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(It=Game.shimmers[e])})),Gn(3,"SeaFlash",!1),wn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),vn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Gn(3,"WrinklerMaxFlash",!1):Gn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?wn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):wn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?vn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):vn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function Tn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=an[t]):"Header"===t&&Object.keys(an.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=an[t][n])}))})),o&&Mn(),xn(),Object.keys(an).forEach((e=>{"Header"!==e&&void 0!==gn[e].func&&gn[e].func()}))}else Sn(an);Game.UpdateMenu(),Tn()}function Pn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Bn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Ao(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Po(),l("tooltip").innerHTML}function En(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Nn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Mn()}function Dn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){jn(o),Game.UpdateMenu()},n.appendChild(i),n}function Hn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Un(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Rn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Dn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+co(){Game.HasUnlocked(Io[e])||c.push(Io[e])})),0!==c.length&&e.appendChild(Hn("basic","Rare plant drops left to unlock",Un(c))),e}())),o.appendChild(Dn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ut+Game.cookiesReset+yt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?ht:0)));t.appendChild(Hn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ut+Game.cookiesReset+yt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&ht?ht:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/Rt,1)})`,i.appendChild(a),t.appendChild(Hn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Hn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Hn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(ce(pt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Hn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(ce(e)))),t.appendChild(Hn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(de(e/pt)))))}const l=function(e){let t=Game.cookiesPs;wo(),0===Kt["Heavenly key"].bought&&(Kt["Heavenly chip secret"].bought=1,Kt["Heavenly cookie stand"].bought=1,Kt["Heavenly bakery"].bought=1,Kt["Heavenly confectionery"].bought=1,Kt["Heavenly key"].bought=1,Do(),t=Ve,wo()),Ut>=1e6&&jo("Sacrifice"),Ut>=1e9&&jo("Oblivion"),Ut>=1e12&&jo("From scratch"),Ut>=1e15&&jo("Nihilism"),Ut>=1e18&&jo("Dematerialize"),Ut>=1e21&&jo("Nil zero zilch"),Ut>=1e24&&jo("Transcendence"),Ut>=1e27&&jo("Obliterate"),Ut>=1e30&&jo("Negative void"),Ut>=1e33&&jo("To crumbs, you say?"),Ut>=1e36&&jo("You get nothing"),Ut>=1e39&&jo("Humble rebeginnings"),Ut>=1e42&&jo("The end of the world"),Ut>=1e45&&jo("Oh, you're back"),Ut>=1e48&&jo("Lazarus"),Ut>=1e51&&jo("Smurf account"),Ut>=1e54&&jo("If at first you don't succeed"),Kt["Heavenly chip secret"].bought=1,Kt["Heavenly cookie stand"].bought=1,Kt["Heavenly bakery"].bought=1,Kt["Heavenly confectionery"].bought=1,Kt["Heavenly key"].bought=1,je=e;const o=Le;Do(),Vo(),o!==Le&&Do();const n=Ve-t;return je=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Hn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Dn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(yt)} / ${ce(bt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Pn()},e.appendChild(t),o.appendChild(Hn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(kt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==kt[1]&&(Game.wrinklers[kt[1]].hp=0)},n.appendChild(i),o.appendChild(Hn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==kt[1]?kt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(n.push(Uo[e]),o=!0)}));const i=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(i.push(Ro[e]),o=!0)}));const a=[];Object.keys($o).forEach((e=>{Game.Has($o[e])||(a.push($o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Dn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Hn("basic","Halloween cookies left to buy",Un(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Hn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Hn("basic","Christmas cookies left to buy",Un(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Hn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Hn("basic","Valentine cookies left to buy",Un(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Hn("basic","Normal easter eggs left to unlock",Un(r))),t.appendChild(Hn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Hn("basic","Rare easter eggs left to unlock",Un(l))),t.appendChild(Hn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Hn("basic","Reindeer reward",document.createTextNode(ce(mt)))),s&&t.appendChild(Hn("withTooltip","Chocolate egg cookies",document.createTextNode(ce(ht)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Hn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(ut-1))/100+"%")))}return t}()),o.appendChild(Dn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Hn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(so(),3)))),o.appendChild(Hn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(xt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Ho).forEach((t=>{Game.Has(Ho[t])||e.push(Ho[t])})),0!==e.length&&o.appendChild(Hn("basic","Fortune Upgrades Left to Buy",Un(e)))}if(e.ShowMissedGC&&o.appendChild(Hn("basic","Missed Golden Cookies",document.createTextNode(ce(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Hn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.appendChild(i)}}}))}const $n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},In={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function zn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){jn(t),Game.UpdateMenu()},n.appendChild(i),n}function Vn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings){const e=document.createElement("a");se.includes(t)?e.innerText="★":e.innerText="☆",e.className="option",e.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(t),Mn(),Game.UpdateMenu()},o.appendChild(e),o.appendChild(document.createTextNode(" "))}if("bool"===gn[t].type){const n=document.createElement("a");gn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Ln+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===gn[t].label.length?(e[t]=0,gn[t].toggle&&(l(Ln+t).className="option off")):l(Ln+t).className="option",void 0!==gn[t].func&&gn[t].func(),l(Ln+t).innerHTML=gn[t].label[e[t]],Mn()}(t)},n.textContent=gn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=gn[t].desc,o.appendChild(i),o}if("vol"===gn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=gn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){An(t)},r.onchange=function(){An(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){wn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Ln+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Ln+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Mn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=gn[t].desc,o.appendChild(s),o}if("colour"===gn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Fn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Tn(),Mn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=gn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Gn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Wn().init(),o}if("numscale"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Ln+t,i.className="option",i.type="number",i.value=e[t],i.min=gn[t].min,i.max=gn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Mn(),sn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=gn[t].desc,o.appendChild(a),o}return o}function _n(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Xn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),Ie=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){_n(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){_n(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){_n(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Yt[Game.ObjectsById[e].name].name;Yt[o].amount-=1,Oe-=1,t=Yt[o].basePrice*Game.priceIncrease**Math.max(0,Yt[o].amount-1-Yt[o].free),t=Game.modifyBuildingPrice(Yt[o],t),t=Math.ceil(t);break}const o=Le;return Do(),Vo(),o!==Le&&Do(),[Ve-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${ce(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ye}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Wn().picker&&void 0!==Wn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys($n).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(zn(t,$n[t])),e.Header[t]))for(let e=0;e{const n=zn(t,In[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(Vn(e))}))})):Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(Vn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Sn(an)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Rn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){jn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=$t?$t.wrath?`[W${Math.ceil($t.life/Game.fps)}]`:`[G${Math.ceil($t.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(It.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;$t&&(t=!0,$t.wrath?e+=`[W${Math.ceil($t.life/Game.fps)}]`:e+=`[G${Math.ceil($t.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(It.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Be<1?"Ascending now would grant you no prestige.":Be<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Be)} prestige levels (+${ce(Be)}% CpS)
and ${ce(Be)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${zt} to reach the next level and you are making ${ce(pt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Qn(){bn(),en(),nn(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{uo(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=po("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=po("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Pn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==kt[1]&&(Game.wrinklers[kt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),En(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),On()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},Xn(),On(),Game.CalculateGains(),Sn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const qn={init:function(){kn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Qn(),Game.registerHook("draw",Bo),Game.registerHook("logic",xn),kn=!1)},load:function(e){const t=JSON.parse(e);bn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Sn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:fn};Game.registerMod("CookieMonster",qn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=1,ct=1,dt=1,pt=0,ut=0,mt=0,ht=0,gt={},ft={},Ct={},yt=0,bt=0,kt=[0,null],Gt=0,wt=0,vt={},xt={},Tt={},Mt={},St={},Pt=0,Bt=0,Et=[],Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,Rt=0,$t={},It={},zt=0,Vt=0,_t=[],Xt={},Qt=0,qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Yt=[],Kt=[],Jt=[];function Zt(e){let t=0;return Game.dragonAuras[De].name!==e&&Game.dragonAuras[He].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[De].name&&"Reality Bending"!==Game.dragonAuras[He].name||(t+=.1),t}function eo(){let e=.25;return e*=1+Zt("Earth Shatterer"),e}function to(e,t){return void 0===ze[e]?void 0===t?1:t:ze[e]}function oo(e){const t=Kt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function no(e){if(Game.hasGod){void 0===Yt.Temple.minigame&&(Yt.Temple.minigame=Game.Objects.Temple.minigame);const t=Yt.Temple.minigame.gods[e];if(Ue===t.id)return 1;if(Re===t.id)return 2;if($e===t.id)return 3}return!1}function io(e,t){let o=t;if(oo("Season savings")&&(o*=.99),oo("Santa's dominion")&&(o*=.99),oo("Faberge egg")&&(o*=.99),oo("Divine discount")&&(o*=.99),oo("Fortune #100")&&(o*=.99),o*=1-.02*Zt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&oo(e.fortune.name)&&(o*=.93),o*=to("buildingCost"),Yt.Temple.minigameLoaded){const e=no("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ao(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ro(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=gt:10===t?t=ft:100===t&&(t=Ct),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(gt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ao(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(gt).map((e=>{const t=gt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=gt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=gt),10===i&&(i=ft),100===i&&(i=Ct),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+co()))/so());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&oo(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(oo(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&oo(e.fortune.name)&&(t*=1.07),e.grandma&&oo(e.grandma.name)&&(t*=1+.01*Yt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&oo(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function ko(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;oo("Thousand fingers")&&(t+=.1),oo("Million fingers")&&(t*=5),oo("Billion fingers")&&(t*=10),oo("Trillion fingers")&&(t*=20),oo("Quadrillion fingers")&&(t*=20),oo("Quintillion fingers")&&(t*=20),oo("Sextillion fingers")&&(t*=20),oo("Septillion fingers")&&(t*=20),oo("Octillion fingers")&&(t*=20),oo("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Yt).forEach((e=>{"Cursor"!==Yt[e].name&&(n+=Yt[e].amount)})),t*=n,o*=bo(e),o*=Game.magicCpS("Cursor"),o*=to("cursorCps"),Game.ComputeCps(.1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{oo(Game.GrandmaSynergies[e])&&(o*=2)})),oo("Bingo center/Research facility")&&(o*=4),oo("Ritual rolling pins")&&(o*=2),oo("Naughty list")&&(o*=2),oo("Elderwort biscuits")&&(o*=1.02),o*=to("grandmaCps"),oo("Cat ladies"))for(let e=0;e{"Grandma"!==Yt[e].name&&(i+=Yt[e].amount)})),o*=1+.01*Zt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=bo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function Go(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Yt).forEach((t=>{Yt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(oo("Starlove")&&(e=3),Game.hasGod){const t=no("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function wo(){Fe=Game.UpgradesOwned,We=Game.pledges,Le=Game.AchievementsOwned,Ae=Game.heavenlyPower,je=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e],uo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ue=t.minigame.slot[0],Re=t.minigame.slot[1],$e=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Yt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e]),o.bought=t.bought,Kt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Jt[e];void 0===o&&(Jt[e]=yo(e),o=Jt[e]),o.won=t.won,Jt[e]=o})),Co(),De=Xe,He=Qe}function vo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function xo(e){e.appendChild(vo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(vo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(vo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(vo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(vo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function To(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function So(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Po(){if(wo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(xo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=gt:10===Game.buyBulk?t=ft:100===Game.buyBulk&&(t=Ct),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+co()))/so());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(vo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(vo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=po(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,go())}}(),mo(),Po(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Yt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Eo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function No(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Qt;Game.cpsSucked>0&&(o+=yt),Ut=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-ye,i=Math.max(0,Game.cookies-be)/n,a=Math.max(0,yt-ke)/n,r=Math.max(0,kt[0]-Ge)/n,l=Math.max(0,o-ht)/n,s=(Game.cookieClicks-we)/n;for(let e=0;e0&&(n=W),n}function Fo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Oo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+co()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||_t.push([t[n].pp,o])}))}function Lo(){!function(){Vt=1/0,_t=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Wo(gt,1),Wo(ft,10),Wo(Ct,100),_t.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;_t[t][1]>Game.cookies&&(t+=1,_t.length!==t+1););Vt=_t[e.PPExcludeTop][t],Fo(gt,1),Fo(ft,10),Fo(Ct,100)}(),Object.keys(vt).forEach((e=>{Game.cookiesPs?vt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+co()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/vt[e].bonus:vt[e].pp=Game.Upgrades[e].getPrice()/vt[e].bonus,Number.isNaN(vt[e].pp)&&(vt[e].pp=1/0),vt[e].color=Oo(vt[e],Game.Upgrades[e].getPrice())}))}function Ao(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),ze=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(je)*Ae*function(){let e=0;if(oo("Heavenly chip secret")&&(e+=.05),oo("Heavenly cookie stand")&&(e+=.2),oo("Heavenly bakery")&&(e+=.25),oo("Heavenly confectionery")&&(e+=.25),oo("Heavenly key")&&(e+=.25),e*=1+.05*Zt("Dragon God"),oo("Lucky digit")&&(e*=1.01),oo("Lucky number")&&(e*=1.01),oo("Lucky payout")&&(e*=1.01),Game.hasGod){const t=no("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=to("cps"),oo("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];oo(o.name)&&("function"==typeof o.power?e*=1+.01*Kt[o.name].power(Kt[o.name]):e*=1+.01*o.power)})),oo("Specialized chocolate chips")&&(e*=1.01),oo("Designer cocoa beans")&&(e*=1.02),oo("Underworld ovens")&&(e*=1.03),oo("Exotic nuts")&&(e*=1.04),oo("Arcane sugar")&&(e*=1.05),oo("Increased merriness")&&(e*=1.15),oo("Improved jolliness")&&(e*=1.15),oo("A lump of coal")&&(e*=1.01),oo("An itchy sweater")&&(e*=1.01),oo("Santa's dominion")&&(e*=1.2),oo("Fortune #100")&&(e*=1.01),oo("Fortune #101")&&(e*=1.07),oo("Dragon scale")&&(e*=1.03);let o=1;if(no){let t=no("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=no("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=no("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=no("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=no("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}oo("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Le/25;let i=1;if(oo("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Zt("Breath of Milk"),no){const e=no("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=to("milk");let a=1;oo("Kitten helpers")&&(a*=1+.1*n*i),oo("Kitten workers")&&(a*=1+.125*n*i),oo("Kitten engineers")&&(a*=1+.15*n*i),oo("Kitten overseers")&&(a*=1+.175*n*i),oo("Kitten managers")&&(a*=1+.2*n*i),oo("Kitten accountants")&&(a*=1+.2*n*i),oo("Kitten specialists")&&(a*=1+.2*n*i),oo("Kitten experts")&&(a*=1+.2*n*i),oo("Kitten consultants")&&(a*=1+.2*n*i),oo("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),oo("Kitten marketeers")&&(a*=1+.15*n*i),oo("Kitten analysts")&&(a*=1+.125*n*i),oo("Kitten executives")&&(a*=1+.115*n*i),oo("Kitten angels")&&(a*=1+.1*n*i),oo("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Yt).forEach((e=>{const t=Yt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&oo("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Ve+=t.amount*a})),oo('"egg"')&&(Ve+=9),e*=a;let r=1;if(oo("Chicken egg")&&(r*=1.01),oo("Duck egg")&&(r*=1.01),oo("Turkey egg")&&(r*=1.01),oo("Quail egg")&&(r*=1.01),oo("Robin egg")&&(r*=1.01),oo("Ostrich egg")&&(r*=1.01),oo("Cassowary egg")&&(r*=1.01),oo("Salmon roe")&&(r*=1.01),oo("Frogspawn")&&(r*=1.01),oo("Shark egg")&&(r*=1.01),oo("Turtle egg")&&(r*=1.01),oo("Ant larva")&&(r*=1.01),oo("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),ut=1+.1*(1-(1-e/100)**3),r*=ut}e*=r,oo("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Zt("Radiant Appetite");const l=Ve*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&jo(Game.CpsAchievements[e].name)})),_e=l;const{n:s}=Game.shimmerTypes.golden,c=Zt("Dragon's Fortune");for(let t=0;t{oo(e[o])&&(t+=.1)}))}e*=t}if(oo("Shimmering veil [off]")){let t=.5;oo("Reinforced membrane")&&(t+=.1),e*=1+t}oo("Magic shenanigans")&&(e*=1e3),oo("Occult obstruction")&&(e*=0),Ve=Game.runModHookOnValue("cps",Ve),e*=Mo(),Ve*=e}const Ho=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Uo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ro=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],$o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Io=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function zo(e){return Jt[e]?Jt[e].won:0}function Vo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{oo(Game.GrandmaSynergies[t])&&(e+=1)})),!zo("Elder")&&e>=7&&jo("Elder"),!zo("Veteran")&&e>=14&&jo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Yt).forEach((e=>{t+=Yt[e].amount,i=Math.min(Yt[e].amount,i),zo("Mathematician")||Yt[e].amount=1&&jo("One with everything"),1===o&&jo("Mathematician"),1===n&&jo("Base 10"),i>=100&&jo("Centennial"),i>=150&&jo("Centennial and a half"),i>=200&&jo("Bicentennial"),i>=250&&jo("Bicentennial and a half"),i>=300&&jo("Tricentennial"),i>=350&&jo("Tricentennial and a half"),i>=400&&jo("Quadricentennial"),i>=450&&jo("Quadricentennial and a half"),i>=500&&jo("Quincentennial"),i>=550&&jo("Quincentennial and a half"),i>=600&&jo("Sexcentennial"),t>=100&&jo("Builder"),t>=500&&jo("Architect"),t>=1e3&&jo("Engineer"),t>=2e3&&jo("Lord of Constructs"),t>=4e3&&jo("Grand design"),t>=8e3&&jo("Ecumenopolis"),Fe>=20&&jo("Enhancer"),Fe>=50&&jo("Augmenter"),Fe>=100&&jo("Upgrader"),Fe>=200&&jo("Lord of Progress"),Fe>=300&&jo("The full picture"),Fe>=400&&jo("When there's nothing left to add"),t>=4e3&&Fe>=300&&jo("Polymath"),t>=8e3&&Fe>=400&&jo("Renaissance baker"),Yt.Cursor.amount+Yt.Grandma.amount>=777&&jo("The elder scrolls");let a=!0;Object.keys(Uo).forEach((e=>{oo(Uo[e])||(a=!1)})),a&&jo("Spooky cookies");let r=!0;if(Object.keys(Ro).forEach((e=>{oo(Ro[e])||(r=!1)})),r&&jo("Let it snow"),oo("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{oo(e[o].name)&&(t+=1)})),t>=e.length&&jo("O Fortuna")}}function _o(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){wo(),Yt[e].amount+=t;const o=Yt[e];"Cursor"===e?(o.amount>=1&&jo("Click"),o.amount>=2&&jo("Double-click"),o.amount>=50&&jo("Mouse wheel"),o.amount>=100&&jo("Of Mice and Men"),o.amount>=200&&jo("The Digital"),o.amount>=300&&jo("Extreme polydactyly"),o.amount>=400&&jo("Dr. T"),o.amount>=500&&jo("Thumbs, phalanges, metacarpals"),o.amount>=600&&jo("With her finger and her thumb"),o.amount>=700&&jo("Gotta hand it to you"),o.amount>=800&&jo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&jo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Le;return Do(),Vo(),n!==Le&&Do(),Ve-Game.cookiesPs}(o,e),1!==e&&(Ee=1)})),t}function Xo(){Object.keys(Game.Objects).forEach((e=>{gt[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),ft[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),Ct[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Qo(){gt=_o(1),ft=_o(10),Ct=_o(100),vt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){wo(),"Shimmering veil [on]"===Kt[e].name?Kt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Kt[e].name?Kt["Golden switch [off]"].bought=0:Kt[e].bought=(Kt[e].bought+1)%2,Kt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Fe+=1),"Elder Pledge"===e?(We+=1,We>0&&jo("Elder nap"),We>=5&&jo("Elder slumber")):"Elder Covenant"===e?jo("Elder calm"):"Prism heart biscuits"===e?jo("Lovely cookies"):"Heavenly key"===e&&jo("Wholesome");const t=Le;Do(),Vo(),t!==Le&&Do();const o=function(){let e=0;oo("Thousand fingers")&&(e+=.1),oo("Million fingers")&&(e*=5),oo("Billion fingers")&&(e*=10),oo("Trillion fingers")&&(e*=20),oo("Quadrillion fingers")&&(e*=20),oo("Quintillion fingers")&&(e*=20),oo("Sextillion fingers")&&(e*=20),oo("Septillion fingers")&&(e*=20),oo("Octillion fingers")&&(e*=20),oo("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Yt).forEach((e=>{t+=Yt[e].amount})),t-=Yt.Cursor.amount,e*=t,oo("Plastic mouse")&&(e+=.01*Ve),oo("Iron mouse")&&(e+=.01*Ve),oo("Titanium mouse")&&(e+=.01*Ve),oo("Adamantium mouse")&&(e+=.01*Ve),oo("Unobtainium mouse")&&(e+=.01*Ve),oo("Eludium mouse")&&(e+=.01*Ve),oo("Wishalloy mouse")&&(e+=.01*Ve),oo("Fantasteel mouse")&&(e+=.01*Ve),oo("Nevercrack mouse")&&(e+=.01*Ve),oo("Armythril mouse")&&(e+=.01*Ve),oo("Technobsidian mouse")&&(e+=.01*Ve),oo("Plasmarble mouse")&&(e+=.01*Ve),oo("Miraculite mouse")&&(e+=.01*Ve),oo("Fortune #104")&&(e+=.01*Ve);let o=1;if(oo("Santa's helpers")&&(o*=1.1),oo("Cookie egg")&&(o*=1.1),oo("Halo gloves")&&(o*=1.1),oo("Dragon claw")&&(o*=1.03),oo("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,oo("Luminous gloves")?20:10)),o*=to("click"),Yt.Temple.minigameLoaded&&no){const e=no("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Zt("Dragon Cursor");let n=o*Game.ComputeCps(1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Ve-Game.cookiesPs,o]:[Ve-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(vt[t]={bonus:Game.cookiesPs-ve},1===e.CalcWrink?vt[t].bonus-=xe:2===e.CalcWrink&&(vt[t].bonus-=Te),Number.isFinite(vt[t].bonus)||(vt[t].bonus=0)):(vt[t]={},o[0]&&(vt[t].bonus=o[0]),o[1]&&(vt[t].bonusMouse=o[1]))}))}function qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Et=qo(7,e,ct),Pt=2*Et[1]/ct,Bt=Et[2]/60/60/6/st,Ft=qo(6,e,dt),Nt=2*Ft[1]/dt,Ot=Ft[2]/60/60/6/st,At=qo(7,7*e,ct),Wt=2*At[1]/ct,Lt=At[2]/60/60/6/st,Ht=qo(6,7*e,dt),jt=2*Ht[1]/dt,Dt=Ht[2]/60/60/6/st}function Ko(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Pe,i=Math.max(0,o-Be)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Mt+=e:"cookie"===o.pool?St+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Tt+=e)}}))}function Zo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),mt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(mt*=2)}}function en(){Ke=900*lt/.15,Ke*=st;const e=Mo();e>0?Ke/=e:Ke=0,Je=ct*(.15*Ke)+13,Ze=dt*(.15*Ke)+13,et=7*Ke,tt=ct*(.15*et)+13,ot=dt*(.15*et)+13,nt=2*Ke,it=.15*nt,at=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountat&&(at=2*Game.Objects[e].price,rt=e)}))}function tn(){let e=1,t=1,o=1;oo("Green yeast digestives")&&(o*=1.01),oo("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ct=o*e,dt=o*t,st=1,0===Game.shimmerTypes.golden.n&&(st*=1+1.23*Game.auraMult("Dragon's Fortune"))}function on(){yt=0,bt=0,kt=[0,null];for(let e=0;ekt[0]&&(kt=[t,e]))}}function nn(){Co(),on(),en(),tn(),Yo(),Jo(),Zo(),ue=new Eo(Y[Y.length-1]),me=new Eo(Y[Y.length-1]),he=new Eo(Y[Y.length-1]),ge=new Eo(Y[Y.length-1]),fe=new Eo(K[K.length-1]),Ce=new Eo(5),Ko(),No(),Qo(),Xo(),Lo()}const an={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},rn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function ln(){1===e.BotBar?(l("CMBotBar").style.display="",mo()):l("CMBotBar").style.display="none",go()}function sn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),mo(),ro(),lo()}function cn(){1===e.Favicon&&y>0?$t.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class dn{constructor(e,t){this.type=e,this.group=t}}class pn extends dn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class un extends dn{constructor(e,t,o){super(e,t),this.desc=o}}class mn extends dn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class hn extends dn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const gn={CPSMode:new pn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new pn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new pn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new pn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){Ie=!0})),Scale:new pn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){sn()})),ScaleDecimals:new pn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){sn()})),ScaleSeparator:new pn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){sn()})),ScaleCutoff:new hn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new pn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new pn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new pn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new pn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ro()})),PPOnlyConsiderBuyable:new pn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new pn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new pn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new hn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new un("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new un("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new un("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new un("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new un("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new un("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new un("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new un("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new un("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new pn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){ln()})),TimerBar:new pn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){fo()})),TimerBarPos:new pn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),go()})),TimerBarOverlay:new pn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new pn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",lo()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",lo()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new pn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new pn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ro()})),SortUpgrades:new pn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){lo()})),DragonAuraInfo:new pn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new pn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new pn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Xt[e].l.style.left,re[e].style.top=Xt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new pn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){cn()})),WrinklerButtons:new pn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new pn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new pn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new pn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new pn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new pn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new pn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new pn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new pn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new hn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new pn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new pn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){So()})),TooltipGrim:new pn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new pn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new pn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new pn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new pn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new pn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new pn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new pn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new pn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new hn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new pn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new pn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new pn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new pn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){rn(e.GCNotification)})),GCFlash:new pn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new un("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new pn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new mn("vol","NotificationGC",[],"Volume"),GCSoundURL:new pn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new pn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){rn(e.FortuneNotification)})),FortuneFlash:new pn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new un("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new pn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new mn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new pn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new pn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){rn(e.SeaNotification)})),SeaFlash:new pn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new un("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new pn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new mn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new pn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new pn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new un("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new pn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new mn("vol","NotificationGard",[],"Volume"),GardSoundURL:new pn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new pn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){rn(e.MagicNotification)})),MagicFlash:new pn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new un("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new pn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new mn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new pn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new pn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){rn(e.WrinklerNotification)})),WrinklerFlash:new pn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new un("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new pn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new mn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new pn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new pn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){rn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new pn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new un("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new pn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new mn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new pn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new pn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new pn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function fn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function Cn(){if(qe!==Game.dragonLevel||Ie){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Upgrades).forEach((e=>{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Achievements).forEach((e=>{Jt[e]=yo(e)})),wo()}let kn=!1;function Gn(t,o,n){(1===e[o]||n)&&3===t&&!1===kn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Gn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Gn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Gn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function wn(t,o,n,i){if((1===e[o]||i)&&!1===kn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function vn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===kn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function xn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(ln(),fo()),ho()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(bn(),nn(),r=Object.keys(Game.mods).length),Ie&&(Qo(),Game.Has("Golden switch [off]")?(wo(),Kt["Golden switch [off]"].bought=0,Do(),lt=Ve):lt=Game.cookiesPs,tn(),en(),Jo(),Yo(),Cn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)qt[e][t]=yn(e,t)}(),Zo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;wo();let t=2;5!==De&&18!==De||(t-=1),5!==He&&18!==He||(t-=1),De=5,He=18;for(let e=0;e{Yt[t].amount>0&&(e=t)})),Yt[e].amount-=1,Oe-=1}return Object.keys(Yt).forEach((t=>{const o=Yt[t];e+=ao(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Qt=e}(),Ie=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ne&&t?(Ne=!0,Ee=1):Ne&&!t&&(Ne=!1,Ee=1),Ee&&(Xo(),Ee=0),function(){on(),Lo(),function(){Gt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Yt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}wt=e,Gt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),No(),Ko();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);zt=de(e/so())}(),G=0,Xt={},Object.keys(Game.shimmers).forEach((e=>{Xt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&($t=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Xt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),cn(),b=G,0===G&&($t=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Xt[e].l.style.opacity,re[e].style.transform=Xt[e].l.style.transform,re[e].textContent=Math.ceil(Xt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Gn(3,"FortuneFlash",!1),wn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),vn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(It=Game.shimmers[e])})),Gn(3,"SeaFlash",!1),wn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),vn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Gn(3,"WrinklerMaxFlash",!1):Gn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?wn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):wn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?vn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):vn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function Tn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=an[t]):"Header"===t&&Object.keys(an.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=an[t][n])}))})),o&&Mn(),xn(),Object.keys(an).forEach((e=>{"Header"!==e&&void 0!==gn[e].func&&gn[e].func()}))}else Sn(an);Game.UpdateMenu(),Tn()}function Pn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Bn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Ao(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Po(),l("tooltip").innerHTML}function En(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Nn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Mn()}function Dn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){jn(o),Game.UpdateMenu()},n.appendChild(i),n}function Hn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Un(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Rn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Dn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+co(){Game.HasUnlocked(Io[e])||c.push(Io[e])})),0!==c.length&&e.appendChild(Hn("basic","Rare plant drops left to unlock",Un(c))),e}())),o.appendChild(Dn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ut+Game.cookiesReset+yt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?ht:0)));t.appendChild(Hn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ut+Game.cookiesReset+yt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&ht?ht:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/Rt,1)})`,i.appendChild(a),t.appendChild(Hn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Hn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Hn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(ce(pt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Hn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(ce(e)))),t.appendChild(Hn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(de(e/pt)))))}const l=function(e){let t=Game.cookiesPs;wo(),0===Kt["Heavenly key"].bought&&(Kt["Heavenly chip secret"].bought=1,Kt["Heavenly cookie stand"].bought=1,Kt["Heavenly bakery"].bought=1,Kt["Heavenly confectionery"].bought=1,Kt["Heavenly key"].bought=1,Do(),t=Ve,wo()),Ut>=1e6&&jo("Sacrifice"),Ut>=1e9&&jo("Oblivion"),Ut>=1e12&&jo("From scratch"),Ut>=1e15&&jo("Nihilism"),Ut>=1e18&&jo("Dematerialize"),Ut>=1e21&&jo("Nil zero zilch"),Ut>=1e24&&jo("Transcendence"),Ut>=1e27&&jo("Obliterate"),Ut>=1e30&&jo("Negative void"),Ut>=1e33&&jo("To crumbs, you say?"),Ut>=1e36&&jo("You get nothing"),Ut>=1e39&&jo("Humble rebeginnings"),Ut>=1e42&&jo("The end of the world"),Ut>=1e45&&jo("Oh, you're back"),Ut>=1e48&&jo("Lazarus"),Ut>=1e51&&jo("Smurf account"),Ut>=1e54&&jo("If at first you don't succeed"),Kt["Heavenly chip secret"].bought=1,Kt["Heavenly cookie stand"].bought=1,Kt["Heavenly bakery"].bought=1,Kt["Heavenly confectionery"].bought=1,Kt["Heavenly key"].bought=1,je=e;const o=Le;Do(),Vo(),o!==Le&&Do();const n=Ve-t;return je=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Hn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Dn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(yt)} / ${ce(bt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Pn()},e.appendChild(t),o.appendChild(Hn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(kt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==kt[1]&&(Game.wrinklers[kt[1]].hp=0)},n.appendChild(i),o.appendChild(Hn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==kt[1]?kt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(n.push(Uo[e]),o=!0)}));const i=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(i.push(Ro[e]),o=!0)}));const a=[];Object.keys($o).forEach((e=>{Game.Has($o[e])||(a.push($o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Dn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Hn("basic","Halloween cookies left to buy",Un(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Hn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Hn("basic","Christmas cookies left to buy",Un(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Hn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Hn("basic","Valentine cookies left to buy",Un(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Hn("basic","Normal easter eggs left to unlock",Un(r))),t.appendChild(Hn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Hn("basic","Rare easter eggs left to unlock",Un(l))),t.appendChild(Hn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Hn("basic","Reindeer reward",document.createTextNode(ce(mt)))),s&&t.appendChild(Hn("withTooltip","Chocolate egg cookies",document.createTextNode(ce(ht)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Hn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(ut-1))/100+"%")))}return t}()),o.appendChild(Dn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Hn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(so(),3)))),o.appendChild(Hn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(xt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Ho).forEach((t=>{Game.Has(Ho[t])||e.push(Ho[t])})),0!==e.length&&o.appendChild(Hn("basic","Fortune Upgrades Left to Buy",Un(e)))}if(e.ShowMissedGC&&o.appendChild(Hn("basic","Missed Golden Cookies",document.createTextNode(ce(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Hn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.appendChild(i)}}}))}const $n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},In={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function zn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){jn(t),Game.UpdateMenu()},n.appendChild(i),n}function Vn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings){const e=document.createElement("a");se.includes(t)?(e.innerText="★",e.style.color="yellow"):e.innerText="☆",e.className="option",e.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(t),Mn(),Game.UpdateMenu()},o.appendChild(e),o.appendChild(document.createTextNode(" "))}if("bool"===gn[t].type){const n=document.createElement("a");gn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Ln+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===gn[t].label.length?(e[t]=0,gn[t].toggle&&(l(Ln+t).className="option off")):l(Ln+t).className="option",void 0!==gn[t].func&&gn[t].func(),l(Ln+t).innerHTML=gn[t].label[e[t]],Mn()}(t)},n.textContent=gn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=gn[t].desc,o.appendChild(i),o}if("vol"===gn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=gn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){An(t)},r.onchange=function(){An(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){wn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Ln+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Ln+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Mn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=gn[t].desc,o.appendChild(s),o}if("colour"===gn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Fn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Tn(),Mn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=gn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Gn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Wn().init(),o}if("numscale"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Ln+t,i.className="option",i.type="number",i.value=e[t],i.min=gn[t].min,i.max=gn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Mn(),sn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=gn[t].desc,o.appendChild(a),o}return o}function _n(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Xn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),Ie=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){_n(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){_n(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){_n(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Yt[Game.ObjectsById[e].name].name;Yt[o].amount-=1,Oe-=1,t=Yt[o].basePrice*Game.priceIncrease**Math.max(0,Yt[o].amount-1-Yt[o].free),t=Game.modifyBuildingPrice(Yt[o],t),t=Math.ceil(t);break}const o=Le;return Do(),Vo(),o!==Le&&Do(),[Ve-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${ce(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ye}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Wn().picker&&void 0!==Wn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys($n).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(zn(t,$n[t])),e.Header[t]))for(let e=0;e{const n=zn(t,In[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(Vn(e))}))})):Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(Vn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Sn(an)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Rn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){jn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=$t?$t.wrath?`[W${Math.ceil($t.life/Game.fps)}]`:`[G${Math.ceil($t.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(It.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;$t&&(t=!0,$t.wrath?e+=`[W${Math.ceil($t.life/Game.fps)}]`:e+=`[G${Math.ceil($t.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(It.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Be<1?"Ascending now would grant you no prestige.":Be<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Be)} prestige levels (+${ce(Be)}% CpS)
and ${ce(Be)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${zt} to reach the next level and you are making ${ce(pt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Qn(){bn(),en(),nn(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{uo(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=po("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=po("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Pn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==kt[1]&&(Game.wrinklers[kt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),En(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),On()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},Xn(),On(),Game.CalculateGains(),Sn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const qn={init:function(){kn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Qn(),Game.registerHook("draw",Bo),Game.registerHook("logic",xn),kn=!1)},load:function(e){const t=JSON.parse(e);bn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Sn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:fn};Game.registerMod("CookieMonster",qn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index 51604b35..02d5bb79 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=1,ct=1,dt=1,pt=0,ut=0,mt=0,ht=0,gt={},ft={},Ct={},yt=0,bt=0,kt=[0,null],Gt=0,wt=0,vt={},xt={},Tt={},Mt={},St={},Pt=0,Bt=0,Et=[],Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,Rt=0,$t={},It={},zt=0,Vt=0,_t=[],Xt={},Qt=0,qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Yt=[],Kt=[],Jt=[];function Zt(e){let t=0;return Game.dragonAuras[De].name!==e&&Game.dragonAuras[He].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[De].name&&"Reality Bending"!==Game.dragonAuras[He].name||(t+=.1),t}function eo(){let e=.25;return e*=1+Zt("Earth Shatterer"),e}function to(e,t){return void 0===ze[e]?void 0===t?1:t:ze[e]}function oo(e){const t=Kt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function no(e){if(Game.hasGod){void 0===Yt.Temple.minigame&&(Yt.Temple.minigame=Game.Objects.Temple.minigame);const t=Yt.Temple.minigame.gods[e];if(Ue===t.id)return 1;if(Re===t.id)return 2;if($e===t.id)return 3}return!1}function io(e,t){let o=t;if(oo("Season savings")&&(o*=.99),oo("Santa's dominion")&&(o*=.99),oo("Faberge egg")&&(o*=.99),oo("Divine discount")&&(o*=.99),oo("Fortune #100")&&(o*=.99),o*=1-.02*Zt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&oo(e.fortune.name)&&(o*=.93),o*=to("buildingCost"),Yt.Temple.minigameLoaded){const e=no("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ao(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ro(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=gt:10===t?t=ft:100===t&&(t=Ct),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(gt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ao(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(gt).map((e=>{const t=gt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=gt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=gt),10===i&&(i=ft),100===i&&(i=Ct),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+co()))/so());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&oo(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(oo(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&oo(e.fortune.name)&&(t*=1.07),e.grandma&&oo(e.grandma.name)&&(t*=1+.01*Yt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&oo(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function ko(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;oo("Thousand fingers")&&(t+=.1),oo("Million fingers")&&(t*=5),oo("Billion fingers")&&(t*=10),oo("Trillion fingers")&&(t*=20),oo("Quadrillion fingers")&&(t*=20),oo("Quintillion fingers")&&(t*=20),oo("Sextillion fingers")&&(t*=20),oo("Septillion fingers")&&(t*=20),oo("Octillion fingers")&&(t*=20),oo("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Yt).forEach((e=>{"Cursor"!==Yt[e].name&&(n+=Yt[e].amount)})),t*=n,o*=bo(e),o*=Game.magicCpS("Cursor"),o*=to("cursorCps"),Game.ComputeCps(.1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{oo(Game.GrandmaSynergies[e])&&(o*=2)})),oo("Bingo center/Research facility")&&(o*=4),oo("Ritual rolling pins")&&(o*=2),oo("Naughty list")&&(o*=2),oo("Elderwort biscuits")&&(o*=1.02),o*=to("grandmaCps"),oo("Cat ladies"))for(let e=0;e{"Grandma"!==Yt[e].name&&(i+=Yt[e].amount)})),o*=1+.01*Zt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=bo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function Go(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Yt).forEach((t=>{Yt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(oo("Starlove")&&(e=3),Game.hasGod){const t=no("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function wo(){Fe=Game.UpgradesOwned,We=Game.pledges,Le=Game.AchievementsOwned,Ae=Game.heavenlyPower,je=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e],uo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ue=t.minigame.slot[0],Re=t.minigame.slot[1],$e=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Yt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e]),o.bought=t.bought,Kt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Jt[e];void 0===o&&(Jt[e]=yo(e),o=Jt[e]),o.won=t.won,Jt[e]=o})),Co(),De=Xe,He=Qe}function vo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function xo(e){e.appendChild(vo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(vo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(vo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(vo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(vo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function To(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function So(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Po(){if(wo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(xo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=gt:10===Game.buyBulk?t=ft:100===Game.buyBulk&&(t=Ct),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+co()))/so());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(vo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(vo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=po(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,go())}}(),mo(),Po(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Yt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Eo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function No(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Qt;Game.cpsSucked>0&&(o+=yt),Ut=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-ye,i=Math.max(0,Game.cookies-be)/n,a=Math.max(0,yt-ke)/n,r=Math.max(0,kt[0]-Ge)/n,l=Math.max(0,o-ht)/n,s=(Game.cookieClicks-we)/n;for(let e=0;e0&&(n=W),n}function Fo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Oo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+co()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||_t.push([t[n].pp,o])}))}function Lo(){!function(){Vt=1/0,_t=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Wo(gt,1),Wo(ft,10),Wo(Ct,100),_t.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;_t[t][1]>Game.cookies&&(t+=1,_t.length!==t+1););Vt=_t[e.PPExcludeTop][t],Fo(gt,1),Fo(ft,10),Fo(Ct,100)}(),Object.keys(vt).forEach((e=>{Game.cookiesPs?vt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+co()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/vt[e].bonus:vt[e].pp=Game.Upgrades[e].getPrice()/vt[e].bonus,Number.isNaN(vt[e].pp)&&(vt[e].pp=1/0),vt[e].color=Oo(vt[e],Game.Upgrades[e].getPrice())}))}function Ao(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),ze=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(je)*Ae*function(){let e=0;if(oo("Heavenly chip secret")&&(e+=.05),oo("Heavenly cookie stand")&&(e+=.2),oo("Heavenly bakery")&&(e+=.25),oo("Heavenly confectionery")&&(e+=.25),oo("Heavenly key")&&(e+=.25),e*=1+.05*Zt("Dragon God"),oo("Lucky digit")&&(e*=1.01),oo("Lucky number")&&(e*=1.01),oo("Lucky payout")&&(e*=1.01),Game.hasGod){const t=no("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=to("cps"),oo("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];oo(o.name)&&("function"==typeof o.power?e*=1+.01*Kt[o.name].power(Kt[o.name]):e*=1+.01*o.power)})),oo("Specialized chocolate chips")&&(e*=1.01),oo("Designer cocoa beans")&&(e*=1.02),oo("Underworld ovens")&&(e*=1.03),oo("Exotic nuts")&&(e*=1.04),oo("Arcane sugar")&&(e*=1.05),oo("Increased merriness")&&(e*=1.15),oo("Improved jolliness")&&(e*=1.15),oo("A lump of coal")&&(e*=1.01),oo("An itchy sweater")&&(e*=1.01),oo("Santa's dominion")&&(e*=1.2),oo("Fortune #100")&&(e*=1.01),oo("Fortune #101")&&(e*=1.07),oo("Dragon scale")&&(e*=1.03);let o=1;if(no){let t=no("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=no("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=no("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=no("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=no("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}oo("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Le/25;let i=1;if(oo("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Zt("Breath of Milk"),no){const e=no("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=to("milk");let a=1;oo("Kitten helpers")&&(a*=1+.1*n*i),oo("Kitten workers")&&(a*=1+.125*n*i),oo("Kitten engineers")&&(a*=1+.15*n*i),oo("Kitten overseers")&&(a*=1+.175*n*i),oo("Kitten managers")&&(a*=1+.2*n*i),oo("Kitten accountants")&&(a*=1+.2*n*i),oo("Kitten specialists")&&(a*=1+.2*n*i),oo("Kitten experts")&&(a*=1+.2*n*i),oo("Kitten consultants")&&(a*=1+.2*n*i),oo("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),oo("Kitten marketeers")&&(a*=1+.15*n*i),oo("Kitten analysts")&&(a*=1+.125*n*i),oo("Kitten executives")&&(a*=1+.115*n*i),oo("Kitten angels")&&(a*=1+.1*n*i),oo("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Yt).forEach((e=>{const t=Yt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&oo("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Ve+=t.amount*a})),oo('"egg"')&&(Ve+=9),e*=a;let r=1;if(oo("Chicken egg")&&(r*=1.01),oo("Duck egg")&&(r*=1.01),oo("Turkey egg")&&(r*=1.01),oo("Quail egg")&&(r*=1.01),oo("Robin egg")&&(r*=1.01),oo("Ostrich egg")&&(r*=1.01),oo("Cassowary egg")&&(r*=1.01),oo("Salmon roe")&&(r*=1.01),oo("Frogspawn")&&(r*=1.01),oo("Shark egg")&&(r*=1.01),oo("Turtle egg")&&(r*=1.01),oo("Ant larva")&&(r*=1.01),oo("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),ut=1+.1*(1-(1-e/100)**3),r*=ut}e*=r,oo("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Zt("Radiant Appetite");const l=Ve*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&jo(Game.CpsAchievements[e].name)})),_e=l;const{n:s}=Game.shimmerTypes.golden,c=Zt("Dragon's Fortune");for(let t=0;t{oo(e[o])&&(t+=.1)}))}e*=t}if(oo("Shimmering veil [off]")){let t=.5;oo("Reinforced membrane")&&(t+=.1),e*=1+t}oo("Magic shenanigans")&&(e*=1e3),oo("Occult obstruction")&&(e*=0),Ve=Game.runModHookOnValue("cps",Ve),e*=Mo(),Ve*=e}const Ho=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Uo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ro=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],$o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Io=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function zo(e){return Jt[e]?Jt[e].won:0}function Vo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{oo(Game.GrandmaSynergies[t])&&(e+=1)})),!zo("Elder")&&e>=7&&jo("Elder"),!zo("Veteran")&&e>=14&&jo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Yt).forEach((e=>{t+=Yt[e].amount,i=Math.min(Yt[e].amount,i),zo("Mathematician")||Yt[e].amount=1&&jo("One with everything"),1===o&&jo("Mathematician"),1===n&&jo("Base 10"),i>=100&&jo("Centennial"),i>=150&&jo("Centennial and a half"),i>=200&&jo("Bicentennial"),i>=250&&jo("Bicentennial and a half"),i>=300&&jo("Tricentennial"),i>=350&&jo("Tricentennial and a half"),i>=400&&jo("Quadricentennial"),i>=450&&jo("Quadricentennial and a half"),i>=500&&jo("Quincentennial"),i>=550&&jo("Quincentennial and a half"),i>=600&&jo("Sexcentennial"),t>=100&&jo("Builder"),t>=500&&jo("Architect"),t>=1e3&&jo("Engineer"),t>=2e3&&jo("Lord of Constructs"),t>=4e3&&jo("Grand design"),t>=8e3&&jo("Ecumenopolis"),Fe>=20&&jo("Enhancer"),Fe>=50&&jo("Augmenter"),Fe>=100&&jo("Upgrader"),Fe>=200&&jo("Lord of Progress"),Fe>=300&&jo("The full picture"),Fe>=400&&jo("When there's nothing left to add"),t>=4e3&&Fe>=300&&jo("Polymath"),t>=8e3&&Fe>=400&&jo("Renaissance baker"),Yt.Cursor.amount+Yt.Grandma.amount>=777&&jo("The elder scrolls");let a=!0;Object.keys(Uo).forEach((e=>{oo(Uo[e])||(a=!1)})),a&&jo("Spooky cookies");let r=!0;if(Object.keys(Ro).forEach((e=>{oo(Ro[e])||(r=!1)})),r&&jo("Let it snow"),oo("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{oo(e[o].name)&&(t+=1)})),t>=e.length&&jo("O Fortuna")}}function _o(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){wo(),Yt[e].amount+=t;const o=Yt[e];"Cursor"===e?(o.amount>=1&&jo("Click"),o.amount>=2&&jo("Double-click"),o.amount>=50&&jo("Mouse wheel"),o.amount>=100&&jo("Of Mice and Men"),o.amount>=200&&jo("The Digital"),o.amount>=300&&jo("Extreme polydactyly"),o.amount>=400&&jo("Dr. T"),o.amount>=500&&jo("Thumbs, phalanges, metacarpals"),o.amount>=600&&jo("With her finger and her thumb"),o.amount>=700&&jo("Gotta hand it to you"),o.amount>=800&&jo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&jo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Le;return Do(),Vo(),n!==Le&&Do(),Ve-Game.cookiesPs}(o,e),1!==e&&(Ee=1)})),t}function Xo(){Object.keys(Game.Objects).forEach((e=>{gt[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),ft[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),Ct[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Qo(){gt=_o(1),ft=_o(10),Ct=_o(100),vt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){wo(),"Shimmering veil [on]"===Kt[e].name?Kt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Kt[e].name?Kt["Golden switch [off]"].bought=0:Kt[e].bought=(Kt[e].bought+1)%2,Kt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Fe+=1),"Elder Pledge"===e?(We+=1,We>0&&jo("Elder nap"),We>=5&&jo("Elder slumber")):"Elder Covenant"===e?jo("Elder calm"):"Prism heart biscuits"===e?jo("Lovely cookies"):"Heavenly key"===e&&jo("Wholesome");const t=Le;Do(),Vo(),t!==Le&&Do();const o=function(){let e=0;oo("Thousand fingers")&&(e+=.1),oo("Million fingers")&&(e*=5),oo("Billion fingers")&&(e*=10),oo("Trillion fingers")&&(e*=20),oo("Quadrillion fingers")&&(e*=20),oo("Quintillion fingers")&&(e*=20),oo("Sextillion fingers")&&(e*=20),oo("Septillion fingers")&&(e*=20),oo("Octillion fingers")&&(e*=20),oo("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Yt).forEach((e=>{t+=Yt[e].amount})),t-=Yt.Cursor.amount,e*=t,oo("Plastic mouse")&&(e+=.01*Ve),oo("Iron mouse")&&(e+=.01*Ve),oo("Titanium mouse")&&(e+=.01*Ve),oo("Adamantium mouse")&&(e+=.01*Ve),oo("Unobtainium mouse")&&(e+=.01*Ve),oo("Eludium mouse")&&(e+=.01*Ve),oo("Wishalloy mouse")&&(e+=.01*Ve),oo("Fantasteel mouse")&&(e+=.01*Ve),oo("Nevercrack mouse")&&(e+=.01*Ve),oo("Armythril mouse")&&(e+=.01*Ve),oo("Technobsidian mouse")&&(e+=.01*Ve),oo("Plasmarble mouse")&&(e+=.01*Ve),oo("Miraculite mouse")&&(e+=.01*Ve),oo("Fortune #104")&&(e+=.01*Ve);let o=1;if(oo("Santa's helpers")&&(o*=1.1),oo("Cookie egg")&&(o*=1.1),oo("Halo gloves")&&(o*=1.1),oo("Dragon claw")&&(o*=1.03),oo("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,oo("Luminous gloves")?20:10)),o*=to("click"),Yt.Temple.minigameLoaded&&no){const e=no("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Zt("Dragon Cursor");let n=o*Game.ComputeCps(1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Ve-Game.cookiesPs,o]:[Ve-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(vt[t]={bonus:Game.cookiesPs-ve},1===e.CalcWrink?vt[t].bonus-=xe:2===e.CalcWrink&&(vt[t].bonus-=Te),Number.isFinite(vt[t].bonus)||(vt[t].bonus=0)):(vt[t]={},o[0]&&(vt[t].bonus=o[0]),o[1]&&(vt[t].bonusMouse=o[1]))}))}function qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Et=qo(7,e,ct),Pt=2*Et[1]/ct,Bt=Et[2]/60/60/6/st,Ft=qo(6,e,dt),Nt=2*Ft[1]/dt,Ot=Ft[2]/60/60/6/st,At=qo(7,7*e,ct),Wt=2*At[1]/ct,Lt=At[2]/60/60/6/st,Ht=qo(6,7*e,dt),jt=2*Ht[1]/dt,Dt=Ht[2]/60/60/6/st}function Ko(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Pe,i=Math.max(0,o-Be)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Mt+=e:"cookie"===o.pool?St+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Tt+=e)}}))}function Zo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),mt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(mt*=2)}}function en(){Ke=900*lt/.15,Ke*=st;const e=Mo();e>0?Ke/=e:Ke=0,Je=ct*(.15*Ke)+13,Ze=dt*(.15*Ke)+13,et=7*Ke,tt=ct*(.15*et)+13,ot=dt*(.15*et)+13,nt=2*Ke,it=.15*nt,at=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountat&&(at=2*Game.Objects[e].price,rt=e)}))}function tn(){let e=1,t=1,o=1;oo("Green yeast digestives")&&(o*=1.01),oo("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ct=o*e,dt=o*t,st=1,0===Game.shimmerTypes.golden.n&&(st*=1+1.23*Game.auraMult("Dragon's Fortune"))}function on(){yt=0,bt=0,kt=[0,null];for(let e=0;ekt[0]&&(kt=[t,e]))}}function nn(){Co(),on(),en(),tn(),Yo(),Jo(),Zo(),ue=new Eo(Y[Y.length-1]),me=new Eo(Y[Y.length-1]),he=new Eo(Y[Y.length-1]),ge=new Eo(Y[Y.length-1]),fe=new Eo(K[K.length-1]),Ce=new Eo(5),Ko(),No(),Qo(),Xo(),Lo()}const an={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},rn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function ln(){1===e.BotBar?(l("CMBotBar").style.display="",mo()):l("CMBotBar").style.display="none",go()}function sn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),mo(),ro(),lo()}function cn(){1===e.Favicon&&y>0?$t.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class dn{constructor(e,t){this.type=e,this.group=t}}class pn extends dn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class un extends dn{constructor(e,t,o){super(e,t),this.desc=o}}class mn extends dn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class hn extends dn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const gn={CPSMode:new pn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new pn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new pn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new pn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){Ie=!0})),Scale:new pn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){sn()})),ScaleDecimals:new pn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){sn()})),ScaleSeparator:new pn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){sn()})),ScaleCutoff:new hn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new pn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new pn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new pn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new pn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ro()})),PPOnlyConsiderBuyable:new pn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new pn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new pn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new hn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new un("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new un("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new un("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new un("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new un("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new un("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new un("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new un("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new un("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new pn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){ln()})),TimerBar:new pn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){fo()})),TimerBarPos:new pn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),go()})),TimerBarOverlay:new pn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new pn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",lo()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",lo()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new pn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new pn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ro()})),SortUpgrades:new pn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){lo()})),DragonAuraInfo:new pn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new pn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new pn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Xt[e].l.style.left,re[e].style.top=Xt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new pn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){cn()})),WrinklerButtons:new pn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new pn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new pn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new pn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new pn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new pn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new pn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new pn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new pn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new hn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new pn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new pn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){So()})),TooltipGrim:new pn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new pn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new pn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new pn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new pn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new pn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new pn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new pn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new pn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new hn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new pn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new pn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new pn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new pn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){rn(e.GCNotification)})),GCFlash:new pn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new un("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new pn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new mn("vol","NotificationGC",[],"Volume"),GCSoundURL:new pn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new pn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){rn(e.FortuneNotification)})),FortuneFlash:new pn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new un("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new pn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new mn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new pn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new pn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){rn(e.SeaNotification)})),SeaFlash:new pn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new un("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new pn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new mn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new pn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new pn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new un("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new pn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new mn("vol","NotificationGard",[],"Volume"),GardSoundURL:new pn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new pn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){rn(e.MagicNotification)})),MagicFlash:new pn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new un("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new pn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new mn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new pn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new pn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){rn(e.WrinklerNotification)})),WrinklerFlash:new pn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new un("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new pn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new mn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new pn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new pn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){rn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new pn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new un("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new pn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new mn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new pn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new pn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new pn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function fn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function Cn(){if(qe!==Game.dragonLevel||Ie){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Upgrades).forEach((e=>{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Achievements).forEach((e=>{Jt[e]=yo(e)})),wo()}let kn=!1;function Gn(t,o,n){(1===e[o]||n)&&3===t&&!1===kn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Gn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Gn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Gn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function wn(t,o,n,i){if((1===e[o]||i)&&!1===kn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function vn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===kn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function xn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(ln(),fo()),ho()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(bn(),nn(),r=Object.keys(Game.mods).length),Ie&&(Qo(),Game.Has("Golden switch [off]")?(wo(),Kt["Golden switch [off]"].bought=0,Do(),lt=Ve):lt=Game.cookiesPs,tn(),en(),Jo(),Yo(),Cn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)qt[e][t]=yn(e,t)}(),Zo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;wo();let t=2;5!==De&&18!==De||(t-=1),5!==He&&18!==He||(t-=1),De=5,He=18;for(let e=0;e{Yt[t].amount>0&&(e=t)})),Yt[e].amount-=1,Oe-=1}return Object.keys(Yt).forEach((t=>{const o=Yt[t];e+=ao(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Qt=e}(),Ie=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ne&&t?(Ne=!0,Ee=1):Ne&&!t&&(Ne=!1,Ee=1),Ee&&(Xo(),Ee=0),function(){on(),Lo(),function(){Gt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Yt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}wt=e,Gt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),No(),Ko();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);zt=de(e/so())}(),G=0,Xt={},Object.keys(Game.shimmers).forEach((e=>{Xt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&($t=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Xt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),cn(),b=G,0===G&&($t=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Xt[e].l.style.opacity,re[e].style.transform=Xt[e].l.style.transform,re[e].textContent=Math.ceil(Xt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Gn(3,"FortuneFlash",!1),wn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),vn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(It=Game.shimmers[e])})),Gn(3,"SeaFlash",!1),wn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),vn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Gn(3,"WrinklerMaxFlash",!1):Gn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?wn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):wn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?vn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):vn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function Tn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=an[t]):"Header"===t&&Object.keys(an.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=an[t][n])}))})),o&&Mn(),xn(),Object.keys(an).forEach((e=>{"Header"!==e&&void 0!==gn[e].func&&gn[e].func()}))}else Sn(an);Game.UpdateMenu(),Tn()}function Pn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Bn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Ao(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Po(),l("tooltip").innerHTML}function En(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Nn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Mn()}function Dn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){jn(o),Game.UpdateMenu()},n.appendChild(i),n}function Hn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Un(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Rn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Dn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+co(){Game.HasUnlocked(Io[e])||c.push(Io[e])})),0!==c.length&&e.appendChild(Hn("basic","Rare plant drops left to unlock",Un(c))),e}())),o.appendChild(Dn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ut+Game.cookiesReset+yt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?ht:0)));t.appendChild(Hn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ut+Game.cookiesReset+yt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&ht?ht:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/Rt,1)})`,i.appendChild(a),t.appendChild(Hn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Hn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Hn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(ce(pt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Hn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(ce(e)))),t.appendChild(Hn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(de(e/pt)))))}const l=function(e){let t=Game.cookiesPs;wo(),0===Kt["Heavenly key"].bought&&(Kt["Heavenly chip secret"].bought=1,Kt["Heavenly cookie stand"].bought=1,Kt["Heavenly bakery"].bought=1,Kt["Heavenly confectionery"].bought=1,Kt["Heavenly key"].bought=1,Do(),t=Ve,wo()),Ut>=1e6&&jo("Sacrifice"),Ut>=1e9&&jo("Oblivion"),Ut>=1e12&&jo("From scratch"),Ut>=1e15&&jo("Nihilism"),Ut>=1e18&&jo("Dematerialize"),Ut>=1e21&&jo("Nil zero zilch"),Ut>=1e24&&jo("Transcendence"),Ut>=1e27&&jo("Obliterate"),Ut>=1e30&&jo("Negative void"),Ut>=1e33&&jo("To crumbs, you say?"),Ut>=1e36&&jo("You get nothing"),Ut>=1e39&&jo("Humble rebeginnings"),Ut>=1e42&&jo("The end of the world"),Ut>=1e45&&jo("Oh, you're back"),Ut>=1e48&&jo("Lazarus"),Ut>=1e51&&jo("Smurf account"),Ut>=1e54&&jo("If at first you don't succeed"),Kt["Heavenly chip secret"].bought=1,Kt["Heavenly cookie stand"].bought=1,Kt["Heavenly bakery"].bought=1,Kt["Heavenly confectionery"].bought=1,Kt["Heavenly key"].bought=1,je=e;const o=Le;Do(),Vo(),o!==Le&&Do();const n=Ve-t;return je=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Hn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Dn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(yt)} / ${ce(bt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Pn()},e.appendChild(t),o.appendChild(Hn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(kt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==kt[1]&&(Game.wrinklers[kt[1]].hp=0)},n.appendChild(i),o.appendChild(Hn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==kt[1]?kt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(n.push(Uo[e]),o=!0)}));const i=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(i.push(Ro[e]),o=!0)}));const a=[];Object.keys($o).forEach((e=>{Game.Has($o[e])||(a.push($o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Dn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Hn("basic","Halloween cookies left to buy",Un(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Hn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Hn("basic","Christmas cookies left to buy",Un(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Hn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Hn("basic","Valentine cookies left to buy",Un(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Hn("basic","Normal easter eggs left to unlock",Un(r))),t.appendChild(Hn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Hn("basic","Rare easter eggs left to unlock",Un(l))),t.appendChild(Hn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Hn("basic","Reindeer reward",document.createTextNode(ce(mt)))),s&&t.appendChild(Hn("withTooltip","Chocolate egg cookies",document.createTextNode(ce(ht)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Hn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(ut-1))/100+"%")))}return t}()),o.appendChild(Dn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Hn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(so(),3)))),o.appendChild(Hn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(xt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Ho).forEach((t=>{Game.Has(Ho[t])||e.push(Ho[t])})),0!==e.length&&o.appendChild(Hn("basic","Fortune Upgrades Left to Buy",Un(e)))}if(e.ShowMissedGC&&o.appendChild(Hn("basic","Missed Golden Cookies",document.createTextNode(ce(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Hn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.appendChild(i)}}}))}const $n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},In={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function zn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){jn(t),Game.UpdateMenu()},n.appendChild(i),n}function Vn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings){const e=document.createElement("a");se.includes(t)?e.innerText="★":e.innerText="☆",e.className="option",e.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(t),Mn(),Game.UpdateMenu()},o.appendChild(e),o.appendChild(document.createTextNode(" "))}if("bool"===gn[t].type){const n=document.createElement("a");gn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Ln+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===gn[t].label.length?(e[t]=0,gn[t].toggle&&(l(Ln+t).className="option off")):l(Ln+t).className="option",void 0!==gn[t].func&&gn[t].func(),l(Ln+t).innerHTML=gn[t].label[e[t]],Mn()}(t)},n.textContent=gn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=gn[t].desc,o.appendChild(i),o}if("vol"===gn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=gn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){An(t)},r.onchange=function(){An(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){wn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Ln+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Ln+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Mn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=gn[t].desc,o.appendChild(s),o}if("colour"===gn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Fn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Tn(),Mn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=gn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Gn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Wn().init(),o}if("numscale"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Ln+t,i.className="option",i.type="number",i.value=e[t],i.min=gn[t].min,i.max=gn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Mn(),sn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=gn[t].desc,o.appendChild(a),o}return o}function _n(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Xn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),Ie=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){_n(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){_n(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){_n(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Yt[Game.ObjectsById[e].name].name;Yt[o].amount-=1,Oe-=1,t=Yt[o].basePrice*Game.priceIncrease**Math.max(0,Yt[o].amount-1-Yt[o].free),t=Game.modifyBuildingPrice(Yt[o],t),t=Math.ceil(t);break}const o=Le;return Do(),Vo(),o!==Le&&Do(),[Ve-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${ce(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ye}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Wn().picker&&void 0!==Wn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys($n).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(zn(t,$n[t])),e.Header[t]))for(let e=0;e{const n=zn(t,In[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(Vn(e))}))})):Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(Vn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Sn(an)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Rn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){jn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=$t?$t.wrath?`[W${Math.ceil($t.life/Game.fps)}]`:`[G${Math.ceil($t.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(It.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;$t&&(t=!0,$t.wrath?e+=`[W${Math.ceil($t.life/Game.fps)}]`:e+=`[G${Math.ceil($t.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(It.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Be<1?"Ascending now would grant you no prestige.":Be<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Be)} prestige levels (+${ce(Be)}% CpS)
and ${ce(Be)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${zt} to reach the next level and you are making ${ce(pt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Qn(){bn(),en(),nn(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{uo(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=po("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=po("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Pn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==kt[1]&&(Game.wrinklers[kt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),En(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),On()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},Xn(),On(),Game.CalculateGains(),Sn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const qn={init:function(){kn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Qn(),Game.registerHook("draw",Bo),Game.registerHook("logic",xn),kn=!1)},load:function(e){const t=JSON.parse(e);bn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Sn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:fn};Game.registerMod("CookieMonster",qn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=1,ct=1,dt=1,pt=0,ut=0,mt=0,ht=0,gt={},ft={},Ct={},yt=0,bt=0,kt=[0,null],Gt=0,wt=0,vt={},xt={},Tt={},Mt={},St={},Pt=0,Bt=0,Et=[],Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,Rt=0,$t={},It={},zt=0,Vt=0,_t=[],Xt={},Qt=0,qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Yt=[],Kt=[],Jt=[];function Zt(e){let t=0;return Game.dragonAuras[De].name!==e&&Game.dragonAuras[He].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[De].name&&"Reality Bending"!==Game.dragonAuras[He].name||(t+=.1),t}function eo(){let e=.25;return e*=1+Zt("Earth Shatterer"),e}function to(e,t){return void 0===ze[e]?void 0===t?1:t:ze[e]}function oo(e){const t=Kt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function no(e){if(Game.hasGod){void 0===Yt.Temple.minigame&&(Yt.Temple.minigame=Game.Objects.Temple.minigame);const t=Yt.Temple.minigame.gods[e];if(Ue===t.id)return 1;if(Re===t.id)return 2;if($e===t.id)return 3}return!1}function io(e,t){let o=t;if(oo("Season savings")&&(o*=.99),oo("Santa's dominion")&&(o*=.99),oo("Faberge egg")&&(o*=.99),oo("Divine discount")&&(o*=.99),oo("Fortune #100")&&(o*=.99),o*=1-.02*Zt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&oo(e.fortune.name)&&(o*=.93),o*=to("buildingCost"),Yt.Temple.minigameLoaded){const e=no("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ao(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ro(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=gt:10===t?t=ft:100===t&&(t=Ct),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(gt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ao(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(gt).map((e=>{const t=gt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=gt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=gt),10===i&&(i=ft),100===i&&(i=Ct),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+co()))/so());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&oo(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(oo(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&oo(e.fortune.name)&&(t*=1.07),e.grandma&&oo(e.grandma.name)&&(t*=1+.01*Yt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&oo(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function ko(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;oo("Thousand fingers")&&(t+=.1),oo("Million fingers")&&(t*=5),oo("Billion fingers")&&(t*=10),oo("Trillion fingers")&&(t*=20),oo("Quadrillion fingers")&&(t*=20),oo("Quintillion fingers")&&(t*=20),oo("Sextillion fingers")&&(t*=20),oo("Septillion fingers")&&(t*=20),oo("Octillion fingers")&&(t*=20),oo("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Yt).forEach((e=>{"Cursor"!==Yt[e].name&&(n+=Yt[e].amount)})),t*=n,o*=bo(e),o*=Game.magicCpS("Cursor"),o*=to("cursorCps"),Game.ComputeCps(.1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{oo(Game.GrandmaSynergies[e])&&(o*=2)})),oo("Bingo center/Research facility")&&(o*=4),oo("Ritual rolling pins")&&(o*=2),oo("Naughty list")&&(o*=2),oo("Elderwort biscuits")&&(o*=1.02),o*=to("grandmaCps"),oo("Cat ladies"))for(let e=0;e{"Grandma"!==Yt[e].name&&(i+=Yt[e].amount)})),o*=1+.01*Zt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=bo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function Go(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Yt).forEach((t=>{Yt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(oo("Starlove")&&(e=3),Game.hasGod){const t=no("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function wo(){Fe=Game.UpgradesOwned,We=Game.pledges,Le=Game.AchievementsOwned,Ae=Game.heavenlyPower,je=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e],uo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ue=t.minigame.slot[0],Re=t.minigame.slot[1],$e=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Yt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e]),o.bought=t.bought,Kt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Jt[e];void 0===o&&(Jt[e]=yo(e),o=Jt[e]),o.won=t.won,Jt[e]=o})),Co(),De=Xe,He=Qe}function vo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function xo(e){e.appendChild(vo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(vo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(vo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(vo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(vo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function To(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function So(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Po(){if(wo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(xo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=gt:10===Game.buyBulk?t=ft:100===Game.buyBulk&&(t=Ct),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+co()))/so());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(vo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(vo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=po(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,go())}}(),mo(),Po(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Yt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Eo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function No(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Qt;Game.cpsSucked>0&&(o+=yt),Ut=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-ye,i=Math.max(0,Game.cookies-be)/n,a=Math.max(0,yt-ke)/n,r=Math.max(0,kt[0]-Ge)/n,l=Math.max(0,o-ht)/n,s=(Game.cookieClicks-we)/n;for(let e=0;e0&&(n=W),n}function Fo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Oo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+co()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||_t.push([t[n].pp,o])}))}function Lo(){!function(){Vt=1/0,_t=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Wo(gt,1),Wo(ft,10),Wo(Ct,100),_t.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;_t[t][1]>Game.cookies&&(t+=1,_t.length!==t+1););Vt=_t[e.PPExcludeTop][t],Fo(gt,1),Fo(ft,10),Fo(Ct,100)}(),Object.keys(vt).forEach((e=>{Game.cookiesPs?vt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+co()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/vt[e].bonus:vt[e].pp=Game.Upgrades[e].getPrice()/vt[e].bonus,Number.isNaN(vt[e].pp)&&(vt[e].pp=1/0),vt[e].color=Oo(vt[e],Game.Upgrades[e].getPrice())}))}function Ao(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),ze=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(je)*Ae*function(){let e=0;if(oo("Heavenly chip secret")&&(e+=.05),oo("Heavenly cookie stand")&&(e+=.2),oo("Heavenly bakery")&&(e+=.25),oo("Heavenly confectionery")&&(e+=.25),oo("Heavenly key")&&(e+=.25),e*=1+.05*Zt("Dragon God"),oo("Lucky digit")&&(e*=1.01),oo("Lucky number")&&(e*=1.01),oo("Lucky payout")&&(e*=1.01),Game.hasGod){const t=no("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=to("cps"),oo("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];oo(o.name)&&("function"==typeof o.power?e*=1+.01*Kt[o.name].power(Kt[o.name]):e*=1+.01*o.power)})),oo("Specialized chocolate chips")&&(e*=1.01),oo("Designer cocoa beans")&&(e*=1.02),oo("Underworld ovens")&&(e*=1.03),oo("Exotic nuts")&&(e*=1.04),oo("Arcane sugar")&&(e*=1.05),oo("Increased merriness")&&(e*=1.15),oo("Improved jolliness")&&(e*=1.15),oo("A lump of coal")&&(e*=1.01),oo("An itchy sweater")&&(e*=1.01),oo("Santa's dominion")&&(e*=1.2),oo("Fortune #100")&&(e*=1.01),oo("Fortune #101")&&(e*=1.07),oo("Dragon scale")&&(e*=1.03);let o=1;if(no){let t=no("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=no("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=no("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=no("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=no("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}oo("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Le/25;let i=1;if(oo("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Zt("Breath of Milk"),no){const e=no("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=to("milk");let a=1;oo("Kitten helpers")&&(a*=1+.1*n*i),oo("Kitten workers")&&(a*=1+.125*n*i),oo("Kitten engineers")&&(a*=1+.15*n*i),oo("Kitten overseers")&&(a*=1+.175*n*i),oo("Kitten managers")&&(a*=1+.2*n*i),oo("Kitten accountants")&&(a*=1+.2*n*i),oo("Kitten specialists")&&(a*=1+.2*n*i),oo("Kitten experts")&&(a*=1+.2*n*i),oo("Kitten consultants")&&(a*=1+.2*n*i),oo("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),oo("Kitten marketeers")&&(a*=1+.15*n*i),oo("Kitten analysts")&&(a*=1+.125*n*i),oo("Kitten executives")&&(a*=1+.115*n*i),oo("Kitten angels")&&(a*=1+.1*n*i),oo("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Yt).forEach((e=>{const t=Yt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&oo("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Ve+=t.amount*a})),oo('"egg"')&&(Ve+=9),e*=a;let r=1;if(oo("Chicken egg")&&(r*=1.01),oo("Duck egg")&&(r*=1.01),oo("Turkey egg")&&(r*=1.01),oo("Quail egg")&&(r*=1.01),oo("Robin egg")&&(r*=1.01),oo("Ostrich egg")&&(r*=1.01),oo("Cassowary egg")&&(r*=1.01),oo("Salmon roe")&&(r*=1.01),oo("Frogspawn")&&(r*=1.01),oo("Shark egg")&&(r*=1.01),oo("Turtle egg")&&(r*=1.01),oo("Ant larva")&&(r*=1.01),oo("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),ut=1+.1*(1-(1-e/100)**3),r*=ut}e*=r,oo("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Zt("Radiant Appetite");const l=Ve*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&jo(Game.CpsAchievements[e].name)})),_e=l;const{n:s}=Game.shimmerTypes.golden,c=Zt("Dragon's Fortune");for(let t=0;t{oo(e[o])&&(t+=.1)}))}e*=t}if(oo("Shimmering veil [off]")){let t=.5;oo("Reinforced membrane")&&(t+=.1),e*=1+t}oo("Magic shenanigans")&&(e*=1e3),oo("Occult obstruction")&&(e*=0),Ve=Game.runModHookOnValue("cps",Ve),e*=Mo(),Ve*=e}const Ho=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Uo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ro=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],$o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Io=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function zo(e){return Jt[e]?Jt[e].won:0}function Vo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{oo(Game.GrandmaSynergies[t])&&(e+=1)})),!zo("Elder")&&e>=7&&jo("Elder"),!zo("Veteran")&&e>=14&&jo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Yt).forEach((e=>{t+=Yt[e].amount,i=Math.min(Yt[e].amount,i),zo("Mathematician")||Yt[e].amount=1&&jo("One with everything"),1===o&&jo("Mathematician"),1===n&&jo("Base 10"),i>=100&&jo("Centennial"),i>=150&&jo("Centennial and a half"),i>=200&&jo("Bicentennial"),i>=250&&jo("Bicentennial and a half"),i>=300&&jo("Tricentennial"),i>=350&&jo("Tricentennial and a half"),i>=400&&jo("Quadricentennial"),i>=450&&jo("Quadricentennial and a half"),i>=500&&jo("Quincentennial"),i>=550&&jo("Quincentennial and a half"),i>=600&&jo("Sexcentennial"),t>=100&&jo("Builder"),t>=500&&jo("Architect"),t>=1e3&&jo("Engineer"),t>=2e3&&jo("Lord of Constructs"),t>=4e3&&jo("Grand design"),t>=8e3&&jo("Ecumenopolis"),Fe>=20&&jo("Enhancer"),Fe>=50&&jo("Augmenter"),Fe>=100&&jo("Upgrader"),Fe>=200&&jo("Lord of Progress"),Fe>=300&&jo("The full picture"),Fe>=400&&jo("When there's nothing left to add"),t>=4e3&&Fe>=300&&jo("Polymath"),t>=8e3&&Fe>=400&&jo("Renaissance baker"),Yt.Cursor.amount+Yt.Grandma.amount>=777&&jo("The elder scrolls");let a=!0;Object.keys(Uo).forEach((e=>{oo(Uo[e])||(a=!1)})),a&&jo("Spooky cookies");let r=!0;if(Object.keys(Ro).forEach((e=>{oo(Ro[e])||(r=!1)})),r&&jo("Let it snow"),oo("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{oo(e[o].name)&&(t+=1)})),t>=e.length&&jo("O Fortuna")}}function _o(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){wo(),Yt[e].amount+=t;const o=Yt[e];"Cursor"===e?(o.amount>=1&&jo("Click"),o.amount>=2&&jo("Double-click"),o.amount>=50&&jo("Mouse wheel"),o.amount>=100&&jo("Of Mice and Men"),o.amount>=200&&jo("The Digital"),o.amount>=300&&jo("Extreme polydactyly"),o.amount>=400&&jo("Dr. T"),o.amount>=500&&jo("Thumbs, phalanges, metacarpals"),o.amount>=600&&jo("With her finger and her thumb"),o.amount>=700&&jo("Gotta hand it to you"),o.amount>=800&&jo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&jo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Le;return Do(),Vo(),n!==Le&&Do(),Ve-Game.cookiesPs}(o,e),1!==e&&(Ee=1)})),t}function Xo(){Object.keys(Game.Objects).forEach((e=>{gt[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),ft[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),Ct[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Qo(){gt=_o(1),ft=_o(10),Ct=_o(100),vt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){wo(),"Shimmering veil [on]"===Kt[e].name?Kt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Kt[e].name?Kt["Golden switch [off]"].bought=0:Kt[e].bought=(Kt[e].bought+1)%2,Kt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Fe+=1),"Elder Pledge"===e?(We+=1,We>0&&jo("Elder nap"),We>=5&&jo("Elder slumber")):"Elder Covenant"===e?jo("Elder calm"):"Prism heart biscuits"===e?jo("Lovely cookies"):"Heavenly key"===e&&jo("Wholesome");const t=Le;Do(),Vo(),t!==Le&&Do();const o=function(){let e=0;oo("Thousand fingers")&&(e+=.1),oo("Million fingers")&&(e*=5),oo("Billion fingers")&&(e*=10),oo("Trillion fingers")&&(e*=20),oo("Quadrillion fingers")&&(e*=20),oo("Quintillion fingers")&&(e*=20),oo("Sextillion fingers")&&(e*=20),oo("Septillion fingers")&&(e*=20),oo("Octillion fingers")&&(e*=20),oo("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Yt).forEach((e=>{t+=Yt[e].amount})),t-=Yt.Cursor.amount,e*=t,oo("Plastic mouse")&&(e+=.01*Ve),oo("Iron mouse")&&(e+=.01*Ve),oo("Titanium mouse")&&(e+=.01*Ve),oo("Adamantium mouse")&&(e+=.01*Ve),oo("Unobtainium mouse")&&(e+=.01*Ve),oo("Eludium mouse")&&(e+=.01*Ve),oo("Wishalloy mouse")&&(e+=.01*Ve),oo("Fantasteel mouse")&&(e+=.01*Ve),oo("Nevercrack mouse")&&(e+=.01*Ve),oo("Armythril mouse")&&(e+=.01*Ve),oo("Technobsidian mouse")&&(e+=.01*Ve),oo("Plasmarble mouse")&&(e+=.01*Ve),oo("Miraculite mouse")&&(e+=.01*Ve),oo("Fortune #104")&&(e+=.01*Ve);let o=1;if(oo("Santa's helpers")&&(o*=1.1),oo("Cookie egg")&&(o*=1.1),oo("Halo gloves")&&(o*=1.1),oo("Dragon claw")&&(o*=1.03),oo("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,oo("Luminous gloves")?20:10)),o*=to("click"),Yt.Temple.minigameLoaded&&no){const e=no("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Zt("Dragon Cursor");let n=o*Game.ComputeCps(1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Ve-Game.cookiesPs,o]:[Ve-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(vt[t]={bonus:Game.cookiesPs-ve},1===e.CalcWrink?vt[t].bonus-=xe:2===e.CalcWrink&&(vt[t].bonus-=Te),Number.isFinite(vt[t].bonus)||(vt[t].bonus=0)):(vt[t]={},o[0]&&(vt[t].bonus=o[0]),o[1]&&(vt[t].bonusMouse=o[1]))}))}function qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Et=qo(7,e,ct),Pt=2*Et[1]/ct,Bt=Et[2]/60/60/6/st,Ft=qo(6,e,dt),Nt=2*Ft[1]/dt,Ot=Ft[2]/60/60/6/st,At=qo(7,7*e,ct),Wt=2*At[1]/ct,Lt=At[2]/60/60/6/st,Ht=qo(6,7*e,dt),jt=2*Ht[1]/dt,Dt=Ht[2]/60/60/6/st}function Ko(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Pe,i=Math.max(0,o-Be)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Mt+=e:"cookie"===o.pool?St+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Tt+=e)}}))}function Zo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),mt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(mt*=2)}}function en(){Ke=900*lt/.15,Ke*=st;const e=Mo();e>0?Ke/=e:Ke=0,Je=ct*(.15*Ke)+13,Ze=dt*(.15*Ke)+13,et=7*Ke,tt=ct*(.15*et)+13,ot=dt*(.15*et)+13,nt=2*Ke,it=.15*nt,at=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountat&&(at=2*Game.Objects[e].price,rt=e)}))}function tn(){let e=1,t=1,o=1;oo("Green yeast digestives")&&(o*=1.01),oo("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ct=o*e,dt=o*t,st=1,0===Game.shimmerTypes.golden.n&&(st*=1+1.23*Game.auraMult("Dragon's Fortune"))}function on(){yt=0,bt=0,kt=[0,null];for(let e=0;ekt[0]&&(kt=[t,e]))}}function nn(){Co(),on(),en(),tn(),Yo(),Jo(),Zo(),ue=new Eo(Y[Y.length-1]),me=new Eo(Y[Y.length-1]),he=new Eo(Y[Y.length-1]),ge=new Eo(Y[Y.length-1]),fe=new Eo(K[K.length-1]),Ce=new Eo(5),Ko(),No(),Qo(),Xo(),Lo()}const an={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},rn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function ln(){1===e.BotBar?(l("CMBotBar").style.display="",mo()):l("CMBotBar").style.display="none",go()}function sn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),mo(),ro(),lo()}function cn(){1===e.Favicon&&y>0?$t.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class dn{constructor(e,t){this.type=e,this.group=t}}class pn extends dn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class un extends dn{constructor(e,t,o){super(e,t),this.desc=o}}class mn extends dn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class hn extends dn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const gn={CPSMode:new pn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new pn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new pn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new pn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){Ie=!0})),Scale:new pn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){sn()})),ScaleDecimals:new pn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){sn()})),ScaleSeparator:new pn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){sn()})),ScaleCutoff:new hn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new pn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new pn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new pn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new pn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ro()})),PPOnlyConsiderBuyable:new pn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new pn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new pn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new hn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new un("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new un("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new un("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new un("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new un("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new un("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new un("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new un("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new un("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new pn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){ln()})),TimerBar:new pn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){fo()})),TimerBarPos:new pn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),go()})),TimerBarOverlay:new pn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new pn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",lo()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",lo()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new pn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new pn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ro()})),SortUpgrades:new pn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){lo()})),DragonAuraInfo:new pn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new pn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new pn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Xt[e].l.style.left,re[e].style.top=Xt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new pn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){cn()})),WrinklerButtons:new pn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new pn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new pn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new pn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new pn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new pn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new pn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new pn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new pn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new hn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new pn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new pn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){So()})),TooltipGrim:new pn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new pn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new pn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new pn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new pn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new pn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new pn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new pn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new pn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new hn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new pn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new pn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new pn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new pn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){rn(e.GCNotification)})),GCFlash:new pn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new un("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new pn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new mn("vol","NotificationGC",[],"Volume"),GCSoundURL:new pn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new pn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){rn(e.FortuneNotification)})),FortuneFlash:new pn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new un("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new pn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new mn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new pn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new pn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){rn(e.SeaNotification)})),SeaFlash:new pn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new un("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new pn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new mn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new pn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new pn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new un("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new pn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new mn("vol","NotificationGard",[],"Volume"),GardSoundURL:new pn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new pn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){rn(e.MagicNotification)})),MagicFlash:new pn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new un("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new pn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new mn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new pn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new pn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){rn(e.WrinklerNotification)})),WrinklerFlash:new pn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new un("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new pn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new mn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new pn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new pn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){rn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new pn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new un("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new pn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new mn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new pn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new pn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new pn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function fn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function Cn(){if(qe!==Game.dragonLevel||Ie){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Upgrades).forEach((e=>{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Achievements).forEach((e=>{Jt[e]=yo(e)})),wo()}let kn=!1;function Gn(t,o,n){(1===e[o]||n)&&3===t&&!1===kn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Gn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Gn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Gn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function wn(t,o,n,i){if((1===e[o]||i)&&!1===kn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function vn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===kn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function xn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(ln(),fo()),ho()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(bn(),nn(),r=Object.keys(Game.mods).length),Ie&&(Qo(),Game.Has("Golden switch [off]")?(wo(),Kt["Golden switch [off]"].bought=0,Do(),lt=Ve):lt=Game.cookiesPs,tn(),en(),Jo(),Yo(),Cn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)qt[e][t]=yn(e,t)}(),Zo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;wo();let t=2;5!==De&&18!==De||(t-=1),5!==He&&18!==He||(t-=1),De=5,He=18;for(let e=0;e{Yt[t].amount>0&&(e=t)})),Yt[e].amount-=1,Oe-=1}return Object.keys(Yt).forEach((t=>{const o=Yt[t];e+=ao(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Qt=e}(),Ie=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ne&&t?(Ne=!0,Ee=1):Ne&&!t&&(Ne=!1,Ee=1),Ee&&(Xo(),Ee=0),function(){on(),Lo(),function(){Gt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Yt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}wt=e,Gt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),No(),Ko();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);zt=de(e/so())}(),G=0,Xt={},Object.keys(Game.shimmers).forEach((e=>{Xt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&($t=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Xt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),cn(),b=G,0===G&&($t=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Xt[e].l.style.opacity,re[e].style.transform=Xt[e].l.style.transform,re[e].textContent=Math.ceil(Xt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Gn(3,"FortuneFlash",!1),wn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),vn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(It=Game.shimmers[e])})),Gn(3,"SeaFlash",!1),wn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),vn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Gn(3,"WrinklerMaxFlash",!1):Gn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?wn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):wn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?vn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):vn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function Tn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=an[t]):"Header"===t&&Object.keys(an.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=an[t][n])}))})),o&&Mn(),xn(),Object.keys(an).forEach((e=>{"Header"!==e&&void 0!==gn[e].func&&gn[e].func()}))}else Sn(an);Game.UpdateMenu(),Tn()}function Pn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Bn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Ao(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Po(),l("tooltip").innerHTML}function En(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Nn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Mn()}function Dn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){jn(o),Game.UpdateMenu()},n.appendChild(i),n}function Hn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Un(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Rn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Dn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+co(){Game.HasUnlocked(Io[e])||c.push(Io[e])})),0!==c.length&&e.appendChild(Hn("basic","Rare plant drops left to unlock",Un(c))),e}())),o.appendChild(Dn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ut+Game.cookiesReset+yt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?ht:0)));t.appendChild(Hn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ut+Game.cookiesReset+yt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&ht?ht:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/Rt,1)})`,i.appendChild(a),t.appendChild(Hn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Hn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Hn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(ce(pt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Hn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(ce(e)))),t.appendChild(Hn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(de(e/pt)))))}const l=function(e){let t=Game.cookiesPs;wo(),0===Kt["Heavenly key"].bought&&(Kt["Heavenly chip secret"].bought=1,Kt["Heavenly cookie stand"].bought=1,Kt["Heavenly bakery"].bought=1,Kt["Heavenly confectionery"].bought=1,Kt["Heavenly key"].bought=1,Do(),t=Ve,wo()),Ut>=1e6&&jo("Sacrifice"),Ut>=1e9&&jo("Oblivion"),Ut>=1e12&&jo("From scratch"),Ut>=1e15&&jo("Nihilism"),Ut>=1e18&&jo("Dematerialize"),Ut>=1e21&&jo("Nil zero zilch"),Ut>=1e24&&jo("Transcendence"),Ut>=1e27&&jo("Obliterate"),Ut>=1e30&&jo("Negative void"),Ut>=1e33&&jo("To crumbs, you say?"),Ut>=1e36&&jo("You get nothing"),Ut>=1e39&&jo("Humble rebeginnings"),Ut>=1e42&&jo("The end of the world"),Ut>=1e45&&jo("Oh, you're back"),Ut>=1e48&&jo("Lazarus"),Ut>=1e51&&jo("Smurf account"),Ut>=1e54&&jo("If at first you don't succeed"),Kt["Heavenly chip secret"].bought=1,Kt["Heavenly cookie stand"].bought=1,Kt["Heavenly bakery"].bought=1,Kt["Heavenly confectionery"].bought=1,Kt["Heavenly key"].bought=1,je=e;const o=Le;Do(),Vo(),o!==Le&&Do();const n=Ve-t;return je=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Hn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Dn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(yt)} / ${ce(bt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Pn()},e.appendChild(t),o.appendChild(Hn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(kt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==kt[1]&&(Game.wrinklers[kt[1]].hp=0)},n.appendChild(i),o.appendChild(Hn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==kt[1]?kt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(n.push(Uo[e]),o=!0)}));const i=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(i.push(Ro[e]),o=!0)}));const a=[];Object.keys($o).forEach((e=>{Game.Has($o[e])||(a.push($o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Dn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Hn("basic","Halloween cookies left to buy",Un(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Hn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Hn("basic","Christmas cookies left to buy",Un(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Hn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Hn("basic","Valentine cookies left to buy",Un(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Hn("basic","Normal easter eggs left to unlock",Un(r))),t.appendChild(Hn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Hn("basic","Rare easter eggs left to unlock",Un(l))),t.appendChild(Hn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Hn("basic","Reindeer reward",document.createTextNode(ce(mt)))),s&&t.appendChild(Hn("withTooltip","Chocolate egg cookies",document.createTextNode(ce(ht)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Hn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(ut-1))/100+"%")))}return t}()),o.appendChild(Dn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Hn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(so(),3)))),o.appendChild(Hn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(xt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Ho).forEach((t=>{Game.Has(Ho[t])||e.push(Ho[t])})),0!==e.length&&o.appendChild(Hn("basic","Fortune Upgrades Left to Buy",Un(e)))}if(e.ShowMissedGC&&o.appendChild(Hn("basic","Missed Golden Cookies",document.createTextNode(ce(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Hn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.appendChild(i)}}}))}const $n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},In={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function zn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){jn(t),Game.UpdateMenu()},n.appendChild(i),n}function Vn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings){const e=document.createElement("a");se.includes(t)?(e.innerText="★",e.style.color="yellow"):e.innerText="☆",e.className="option",e.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(t),Mn(),Game.UpdateMenu()},o.appendChild(e),o.appendChild(document.createTextNode(" "))}if("bool"===gn[t].type){const n=document.createElement("a");gn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Ln+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===gn[t].label.length?(e[t]=0,gn[t].toggle&&(l(Ln+t).className="option off")):l(Ln+t).className="option",void 0!==gn[t].func&&gn[t].func(),l(Ln+t).innerHTML=gn[t].label[e[t]],Mn()}(t)},n.textContent=gn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=gn[t].desc,o.appendChild(i),o}if("vol"===gn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=gn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){An(t)},r.onchange=function(){An(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){wn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Ln+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Ln+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Mn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=gn[t].desc,o.appendChild(s),o}if("colour"===gn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Fn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Tn(),Mn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=gn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Gn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Wn().init(),o}if("numscale"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Ln+t,i.className="option",i.type="number",i.value=e[t],i.min=gn[t].min,i.max=gn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Mn(),sn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=gn[t].desc,o.appendChild(a),o}return o}function _n(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Xn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),Ie=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){_n(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){_n(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){_n(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Yt[Game.ObjectsById[e].name].name;Yt[o].amount-=1,Oe-=1,t=Yt[o].basePrice*Game.priceIncrease**Math.max(0,Yt[o].amount-1-Yt[o].free),t=Game.modifyBuildingPrice(Yt[o],t),t=Math.ceil(t);break}const o=Le;return Do(),Vo(),o!==Le&&Do(),[Ve-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${ce(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ye}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Wn().picker&&void 0!==Wn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys($n).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(zn(t,$n[t])),e.Header[t]))for(let e=0;e{const n=zn(t,In[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(Vn(e))}))})):Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(Vn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Sn(an)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Rn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){jn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=$t?$t.wrath?`[W${Math.ceil($t.life/Game.fps)}]`:`[G${Math.ceil($t.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(It.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;$t&&(t=!0,$t.wrath?e+=`[W${Math.ceil($t.life/Game.fps)}]`:e+=`[G${Math.ceil($t.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(It.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Be<1?"Ascending now would grant you no prestige.":Be<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Be)} prestige levels (+${ce(Be)}% CpS)
and ${ce(Be)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${zt} to reach the next level and you are making ${ce(pt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Qn(){bn(),en(),nn(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{uo(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=po("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=po("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Pn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==kt[1]&&(Game.wrinklers[kt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),En(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),On()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},Xn(),On(),Game.CalculateGains(),Sn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const qn={init:function(){kn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Qn(),Game.registerHook("draw",Bo),Game.registerHook("logic",xn),kn=!1)},load:function(e){const t=JSON.parse(e);bn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Sn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:fn};Game.registerMod("CookieMonster",qn)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index 58a56e9a..fd1746f3 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file diff --git a/src/Disp/MenuSections/Settings/CreateOption.js b/src/Disp/MenuSections/Settings/CreateOption.js index 5874b15d..9d8d4ad5 100644 --- a/src/Disp/MenuSections/Settings/CreateOption.js +++ b/src/Disp/MenuSections/Settings/CreateOption.js @@ -26,8 +26,10 @@ export default function CreatePrefOption(config) { div.className = 'listing'; if (CMOptions.FavouriteSettings === 1) { const FavStar = document.createElement('a'); - if (FavouriteSettings.includes(config)) FavStar.innerText = '★'; - else FavStar.innerText = '☆'; + if (FavouriteSettings.includes(config)) { + FavStar.innerText = '★'; + FavStar.style.color = 'yellow'; + } else FavStar.innerText = '☆'; FavStar.className = 'option'; FavStar.onclick = function () { ToggleFavouriteSetting(config); From 08a1e5aa6b2939376e62447b50a8a3d6ec4dcf0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Sat, 3 Apr 2021 09:06:07 +0200 Subject: [PATCH 15/30] Fixed overlapping labels in settings --- CookieMonster.js | 2 +- dist/CookieMonster.js | 2 +- dist/CookieMonster.js.map | 2 +- .../MenuSections/Settings/CreateOption.js | 55 ++++++++++++++----- src/Disp/VariablesAndData.js | 5 ++ 5 files changed, 49 insertions(+), 17 deletions(-) diff --git a/CookieMonster.js b/CookieMonster.js index 02d5bb79..ef2ced0b 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=1,ct=1,dt=1,pt=0,ut=0,mt=0,ht=0,gt={},ft={},Ct={},yt=0,bt=0,kt=[0,null],Gt=0,wt=0,vt={},xt={},Tt={},Mt={},St={},Pt=0,Bt=0,Et=[],Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,Rt=0,$t={},It={},zt=0,Vt=0,_t=[],Xt={},Qt=0,qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Yt=[],Kt=[],Jt=[];function Zt(e){let t=0;return Game.dragonAuras[De].name!==e&&Game.dragonAuras[He].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[De].name&&"Reality Bending"!==Game.dragonAuras[He].name||(t+=.1),t}function eo(){let e=.25;return e*=1+Zt("Earth Shatterer"),e}function to(e,t){return void 0===ze[e]?void 0===t?1:t:ze[e]}function oo(e){const t=Kt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function no(e){if(Game.hasGod){void 0===Yt.Temple.minigame&&(Yt.Temple.minigame=Game.Objects.Temple.minigame);const t=Yt.Temple.minigame.gods[e];if(Ue===t.id)return 1;if(Re===t.id)return 2;if($e===t.id)return 3}return!1}function io(e,t){let o=t;if(oo("Season savings")&&(o*=.99),oo("Santa's dominion")&&(o*=.99),oo("Faberge egg")&&(o*=.99),oo("Divine discount")&&(o*=.99),oo("Fortune #100")&&(o*=.99),o*=1-.02*Zt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&oo(e.fortune.name)&&(o*=.93),o*=to("buildingCost"),Yt.Temple.minigameLoaded){const e=no("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ao(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ro(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=gt:10===t?t=ft:100===t&&(t=Ct),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(gt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ao(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(gt).map((e=>{const t=gt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=gt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=gt),10===i&&(i=ft),100===i&&(i=Ct),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+co()))/so());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&oo(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(oo(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&oo(e.fortune.name)&&(t*=1.07),e.grandma&&oo(e.grandma.name)&&(t*=1+.01*Yt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&oo(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function ko(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;oo("Thousand fingers")&&(t+=.1),oo("Million fingers")&&(t*=5),oo("Billion fingers")&&(t*=10),oo("Trillion fingers")&&(t*=20),oo("Quadrillion fingers")&&(t*=20),oo("Quintillion fingers")&&(t*=20),oo("Sextillion fingers")&&(t*=20),oo("Septillion fingers")&&(t*=20),oo("Octillion fingers")&&(t*=20),oo("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Yt).forEach((e=>{"Cursor"!==Yt[e].name&&(n+=Yt[e].amount)})),t*=n,o*=bo(e),o*=Game.magicCpS("Cursor"),o*=to("cursorCps"),Game.ComputeCps(.1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{oo(Game.GrandmaSynergies[e])&&(o*=2)})),oo("Bingo center/Research facility")&&(o*=4),oo("Ritual rolling pins")&&(o*=2),oo("Naughty list")&&(o*=2),oo("Elderwort biscuits")&&(o*=1.02),o*=to("grandmaCps"),oo("Cat ladies"))for(let e=0;e{"Grandma"!==Yt[e].name&&(i+=Yt[e].amount)})),o*=1+.01*Zt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=bo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function Go(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Yt).forEach((t=>{Yt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(oo("Starlove")&&(e=3),Game.hasGod){const t=no("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function wo(){Fe=Game.UpgradesOwned,We=Game.pledges,Le=Game.AchievementsOwned,Ae=Game.heavenlyPower,je=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e],uo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ue=t.minigame.slot[0],Re=t.minigame.slot[1],$e=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Yt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e]),o.bought=t.bought,Kt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Jt[e];void 0===o&&(Jt[e]=yo(e),o=Jt[e]),o.won=t.won,Jt[e]=o})),Co(),De=Xe,He=Qe}function vo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function xo(e){e.appendChild(vo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(vo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(vo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(vo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(vo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function To(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function So(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Po(){if(wo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(xo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=gt:10===Game.buyBulk?t=ft:100===Game.buyBulk&&(t=Ct),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+co()))/so());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(vo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(vo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=po(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,go())}}(),mo(),Po(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Yt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Eo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function No(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Qt;Game.cpsSucked>0&&(o+=yt),Ut=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-ye,i=Math.max(0,Game.cookies-be)/n,a=Math.max(0,yt-ke)/n,r=Math.max(0,kt[0]-Ge)/n,l=Math.max(0,o-ht)/n,s=(Game.cookieClicks-we)/n;for(let e=0;e0&&(n=W),n}function Fo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Oo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+co()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||_t.push([t[n].pp,o])}))}function Lo(){!function(){Vt=1/0,_t=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Wo(gt,1),Wo(ft,10),Wo(Ct,100),_t.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;_t[t][1]>Game.cookies&&(t+=1,_t.length!==t+1););Vt=_t[e.PPExcludeTop][t],Fo(gt,1),Fo(ft,10),Fo(Ct,100)}(),Object.keys(vt).forEach((e=>{Game.cookiesPs?vt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+co()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/vt[e].bonus:vt[e].pp=Game.Upgrades[e].getPrice()/vt[e].bonus,Number.isNaN(vt[e].pp)&&(vt[e].pp=1/0),vt[e].color=Oo(vt[e],Game.Upgrades[e].getPrice())}))}function Ao(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),ze=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(je)*Ae*function(){let e=0;if(oo("Heavenly chip secret")&&(e+=.05),oo("Heavenly cookie stand")&&(e+=.2),oo("Heavenly bakery")&&(e+=.25),oo("Heavenly confectionery")&&(e+=.25),oo("Heavenly key")&&(e+=.25),e*=1+.05*Zt("Dragon God"),oo("Lucky digit")&&(e*=1.01),oo("Lucky number")&&(e*=1.01),oo("Lucky payout")&&(e*=1.01),Game.hasGod){const t=no("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=to("cps"),oo("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];oo(o.name)&&("function"==typeof o.power?e*=1+.01*Kt[o.name].power(Kt[o.name]):e*=1+.01*o.power)})),oo("Specialized chocolate chips")&&(e*=1.01),oo("Designer cocoa beans")&&(e*=1.02),oo("Underworld ovens")&&(e*=1.03),oo("Exotic nuts")&&(e*=1.04),oo("Arcane sugar")&&(e*=1.05),oo("Increased merriness")&&(e*=1.15),oo("Improved jolliness")&&(e*=1.15),oo("A lump of coal")&&(e*=1.01),oo("An itchy sweater")&&(e*=1.01),oo("Santa's dominion")&&(e*=1.2),oo("Fortune #100")&&(e*=1.01),oo("Fortune #101")&&(e*=1.07),oo("Dragon scale")&&(e*=1.03);let o=1;if(no){let t=no("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=no("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=no("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=no("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=no("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}oo("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Le/25;let i=1;if(oo("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Zt("Breath of Milk"),no){const e=no("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=to("milk");let a=1;oo("Kitten helpers")&&(a*=1+.1*n*i),oo("Kitten workers")&&(a*=1+.125*n*i),oo("Kitten engineers")&&(a*=1+.15*n*i),oo("Kitten overseers")&&(a*=1+.175*n*i),oo("Kitten managers")&&(a*=1+.2*n*i),oo("Kitten accountants")&&(a*=1+.2*n*i),oo("Kitten specialists")&&(a*=1+.2*n*i),oo("Kitten experts")&&(a*=1+.2*n*i),oo("Kitten consultants")&&(a*=1+.2*n*i),oo("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),oo("Kitten marketeers")&&(a*=1+.15*n*i),oo("Kitten analysts")&&(a*=1+.125*n*i),oo("Kitten executives")&&(a*=1+.115*n*i),oo("Kitten angels")&&(a*=1+.1*n*i),oo("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Yt).forEach((e=>{const t=Yt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&oo("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Ve+=t.amount*a})),oo('"egg"')&&(Ve+=9),e*=a;let r=1;if(oo("Chicken egg")&&(r*=1.01),oo("Duck egg")&&(r*=1.01),oo("Turkey egg")&&(r*=1.01),oo("Quail egg")&&(r*=1.01),oo("Robin egg")&&(r*=1.01),oo("Ostrich egg")&&(r*=1.01),oo("Cassowary egg")&&(r*=1.01),oo("Salmon roe")&&(r*=1.01),oo("Frogspawn")&&(r*=1.01),oo("Shark egg")&&(r*=1.01),oo("Turtle egg")&&(r*=1.01),oo("Ant larva")&&(r*=1.01),oo("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),ut=1+.1*(1-(1-e/100)**3),r*=ut}e*=r,oo("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Zt("Radiant Appetite");const l=Ve*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&jo(Game.CpsAchievements[e].name)})),_e=l;const{n:s}=Game.shimmerTypes.golden,c=Zt("Dragon's Fortune");for(let t=0;t{oo(e[o])&&(t+=.1)}))}e*=t}if(oo("Shimmering veil [off]")){let t=.5;oo("Reinforced membrane")&&(t+=.1),e*=1+t}oo("Magic shenanigans")&&(e*=1e3),oo("Occult obstruction")&&(e*=0),Ve=Game.runModHookOnValue("cps",Ve),e*=Mo(),Ve*=e}const Ho=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Uo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ro=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],$o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Io=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function zo(e){return Jt[e]?Jt[e].won:0}function Vo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{oo(Game.GrandmaSynergies[t])&&(e+=1)})),!zo("Elder")&&e>=7&&jo("Elder"),!zo("Veteran")&&e>=14&&jo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Yt).forEach((e=>{t+=Yt[e].amount,i=Math.min(Yt[e].amount,i),zo("Mathematician")||Yt[e].amount=1&&jo("One with everything"),1===o&&jo("Mathematician"),1===n&&jo("Base 10"),i>=100&&jo("Centennial"),i>=150&&jo("Centennial and a half"),i>=200&&jo("Bicentennial"),i>=250&&jo("Bicentennial and a half"),i>=300&&jo("Tricentennial"),i>=350&&jo("Tricentennial and a half"),i>=400&&jo("Quadricentennial"),i>=450&&jo("Quadricentennial and a half"),i>=500&&jo("Quincentennial"),i>=550&&jo("Quincentennial and a half"),i>=600&&jo("Sexcentennial"),t>=100&&jo("Builder"),t>=500&&jo("Architect"),t>=1e3&&jo("Engineer"),t>=2e3&&jo("Lord of Constructs"),t>=4e3&&jo("Grand design"),t>=8e3&&jo("Ecumenopolis"),Fe>=20&&jo("Enhancer"),Fe>=50&&jo("Augmenter"),Fe>=100&&jo("Upgrader"),Fe>=200&&jo("Lord of Progress"),Fe>=300&&jo("The full picture"),Fe>=400&&jo("When there's nothing left to add"),t>=4e3&&Fe>=300&&jo("Polymath"),t>=8e3&&Fe>=400&&jo("Renaissance baker"),Yt.Cursor.amount+Yt.Grandma.amount>=777&&jo("The elder scrolls");let a=!0;Object.keys(Uo).forEach((e=>{oo(Uo[e])||(a=!1)})),a&&jo("Spooky cookies");let r=!0;if(Object.keys(Ro).forEach((e=>{oo(Ro[e])||(r=!1)})),r&&jo("Let it snow"),oo("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{oo(e[o].name)&&(t+=1)})),t>=e.length&&jo("O Fortuna")}}function _o(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){wo(),Yt[e].amount+=t;const o=Yt[e];"Cursor"===e?(o.amount>=1&&jo("Click"),o.amount>=2&&jo("Double-click"),o.amount>=50&&jo("Mouse wheel"),o.amount>=100&&jo("Of Mice and Men"),o.amount>=200&&jo("The Digital"),o.amount>=300&&jo("Extreme polydactyly"),o.amount>=400&&jo("Dr. T"),o.amount>=500&&jo("Thumbs, phalanges, metacarpals"),o.amount>=600&&jo("With her finger and her thumb"),o.amount>=700&&jo("Gotta hand it to you"),o.amount>=800&&jo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&jo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Le;return Do(),Vo(),n!==Le&&Do(),Ve-Game.cookiesPs}(o,e),1!==e&&(Ee=1)})),t}function Xo(){Object.keys(Game.Objects).forEach((e=>{gt[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),ft[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),Ct[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Qo(){gt=_o(1),ft=_o(10),Ct=_o(100),vt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){wo(),"Shimmering veil [on]"===Kt[e].name?Kt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Kt[e].name?Kt["Golden switch [off]"].bought=0:Kt[e].bought=(Kt[e].bought+1)%2,Kt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Fe+=1),"Elder Pledge"===e?(We+=1,We>0&&jo("Elder nap"),We>=5&&jo("Elder slumber")):"Elder Covenant"===e?jo("Elder calm"):"Prism heart biscuits"===e?jo("Lovely cookies"):"Heavenly key"===e&&jo("Wholesome");const t=Le;Do(),Vo(),t!==Le&&Do();const o=function(){let e=0;oo("Thousand fingers")&&(e+=.1),oo("Million fingers")&&(e*=5),oo("Billion fingers")&&(e*=10),oo("Trillion fingers")&&(e*=20),oo("Quadrillion fingers")&&(e*=20),oo("Quintillion fingers")&&(e*=20),oo("Sextillion fingers")&&(e*=20),oo("Septillion fingers")&&(e*=20),oo("Octillion fingers")&&(e*=20),oo("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Yt).forEach((e=>{t+=Yt[e].amount})),t-=Yt.Cursor.amount,e*=t,oo("Plastic mouse")&&(e+=.01*Ve),oo("Iron mouse")&&(e+=.01*Ve),oo("Titanium mouse")&&(e+=.01*Ve),oo("Adamantium mouse")&&(e+=.01*Ve),oo("Unobtainium mouse")&&(e+=.01*Ve),oo("Eludium mouse")&&(e+=.01*Ve),oo("Wishalloy mouse")&&(e+=.01*Ve),oo("Fantasteel mouse")&&(e+=.01*Ve),oo("Nevercrack mouse")&&(e+=.01*Ve),oo("Armythril mouse")&&(e+=.01*Ve),oo("Technobsidian mouse")&&(e+=.01*Ve),oo("Plasmarble mouse")&&(e+=.01*Ve),oo("Miraculite mouse")&&(e+=.01*Ve),oo("Fortune #104")&&(e+=.01*Ve);let o=1;if(oo("Santa's helpers")&&(o*=1.1),oo("Cookie egg")&&(o*=1.1),oo("Halo gloves")&&(o*=1.1),oo("Dragon claw")&&(o*=1.03),oo("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,oo("Luminous gloves")?20:10)),o*=to("click"),Yt.Temple.minigameLoaded&&no){const e=no("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Zt("Dragon Cursor");let n=o*Game.ComputeCps(1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Ve-Game.cookiesPs,o]:[Ve-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(vt[t]={bonus:Game.cookiesPs-ve},1===e.CalcWrink?vt[t].bonus-=xe:2===e.CalcWrink&&(vt[t].bonus-=Te),Number.isFinite(vt[t].bonus)||(vt[t].bonus=0)):(vt[t]={},o[0]&&(vt[t].bonus=o[0]),o[1]&&(vt[t].bonusMouse=o[1]))}))}function qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Et=qo(7,e,ct),Pt=2*Et[1]/ct,Bt=Et[2]/60/60/6/st,Ft=qo(6,e,dt),Nt=2*Ft[1]/dt,Ot=Ft[2]/60/60/6/st,At=qo(7,7*e,ct),Wt=2*At[1]/ct,Lt=At[2]/60/60/6/st,Ht=qo(6,7*e,dt),jt=2*Ht[1]/dt,Dt=Ht[2]/60/60/6/st}function Ko(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Pe,i=Math.max(0,o-Be)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Mt+=e:"cookie"===o.pool?St+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Tt+=e)}}))}function Zo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),mt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(mt*=2)}}function en(){Ke=900*lt/.15,Ke*=st;const e=Mo();e>0?Ke/=e:Ke=0,Je=ct*(.15*Ke)+13,Ze=dt*(.15*Ke)+13,et=7*Ke,tt=ct*(.15*et)+13,ot=dt*(.15*et)+13,nt=2*Ke,it=.15*nt,at=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountat&&(at=2*Game.Objects[e].price,rt=e)}))}function tn(){let e=1,t=1,o=1;oo("Green yeast digestives")&&(o*=1.01),oo("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ct=o*e,dt=o*t,st=1,0===Game.shimmerTypes.golden.n&&(st*=1+1.23*Game.auraMult("Dragon's Fortune"))}function on(){yt=0,bt=0,kt=[0,null];for(let e=0;ekt[0]&&(kt=[t,e]))}}function nn(){Co(),on(),en(),tn(),Yo(),Jo(),Zo(),ue=new Eo(Y[Y.length-1]),me=new Eo(Y[Y.length-1]),he=new Eo(Y[Y.length-1]),ge=new Eo(Y[Y.length-1]),fe=new Eo(K[K.length-1]),Ce=new Eo(5),Ko(),No(),Qo(),Xo(),Lo()}const an={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},rn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function ln(){1===e.BotBar?(l("CMBotBar").style.display="",mo()):l("CMBotBar").style.display="none",go()}function sn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),mo(),ro(),lo()}function cn(){1===e.Favicon&&y>0?$t.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class dn{constructor(e,t){this.type=e,this.group=t}}class pn extends dn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class un extends dn{constructor(e,t,o){super(e,t),this.desc=o}}class mn extends dn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class hn extends dn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const gn={CPSMode:new pn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new pn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new pn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new pn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){Ie=!0})),Scale:new pn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){sn()})),ScaleDecimals:new pn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){sn()})),ScaleSeparator:new pn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){sn()})),ScaleCutoff:new hn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new pn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new pn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new pn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new pn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ro()})),PPOnlyConsiderBuyable:new pn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new pn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new pn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new hn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new un("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new un("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new un("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new un("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new un("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new un("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new un("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new un("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new un("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new pn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){ln()})),TimerBar:new pn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){fo()})),TimerBarPos:new pn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),go()})),TimerBarOverlay:new pn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new pn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",lo()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",lo()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new pn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new pn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ro()})),SortUpgrades:new pn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){lo()})),DragonAuraInfo:new pn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new pn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new pn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Xt[e].l.style.left,re[e].style.top=Xt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new pn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){cn()})),WrinklerButtons:new pn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new pn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new pn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new pn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new pn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new pn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new pn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new pn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new pn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new hn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new pn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new pn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){So()})),TooltipGrim:new pn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new pn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new pn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new pn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new pn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new pn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new pn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new pn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new pn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new hn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new pn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new pn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new pn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new pn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){rn(e.GCNotification)})),GCFlash:new pn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new un("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new pn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new mn("vol","NotificationGC",[],"Volume"),GCSoundURL:new pn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new pn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){rn(e.FortuneNotification)})),FortuneFlash:new pn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new un("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new pn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new mn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new pn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new pn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){rn(e.SeaNotification)})),SeaFlash:new pn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new un("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new pn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new mn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new pn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new pn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new un("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new pn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new mn("vol","NotificationGard",[],"Volume"),GardSoundURL:new pn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new pn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){rn(e.MagicNotification)})),MagicFlash:new pn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new un("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new pn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new mn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new pn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new pn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){rn(e.WrinklerNotification)})),WrinklerFlash:new pn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new un("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new pn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new mn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new pn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new pn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){rn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new pn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new un("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new pn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new mn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new pn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new pn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new pn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function fn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function Cn(){if(qe!==Game.dragonLevel||Ie){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Upgrades).forEach((e=>{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Achievements).forEach((e=>{Jt[e]=yo(e)})),wo()}let kn=!1;function Gn(t,o,n){(1===e[o]||n)&&3===t&&!1===kn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Gn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Gn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Gn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function wn(t,o,n,i){if((1===e[o]||i)&&!1===kn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function vn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===kn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function xn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(ln(),fo()),ho()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(bn(),nn(),r=Object.keys(Game.mods).length),Ie&&(Qo(),Game.Has("Golden switch [off]")?(wo(),Kt["Golden switch [off]"].bought=0,Do(),lt=Ve):lt=Game.cookiesPs,tn(),en(),Jo(),Yo(),Cn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)qt[e][t]=yn(e,t)}(),Zo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;wo();let t=2;5!==De&&18!==De||(t-=1),5!==He&&18!==He||(t-=1),De=5,He=18;for(let e=0;e{Yt[t].amount>0&&(e=t)})),Yt[e].amount-=1,Oe-=1}return Object.keys(Yt).forEach((t=>{const o=Yt[t];e+=ao(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Qt=e}(),Ie=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ne&&t?(Ne=!0,Ee=1):Ne&&!t&&(Ne=!1,Ee=1),Ee&&(Xo(),Ee=0),function(){on(),Lo(),function(){Gt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Yt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}wt=e,Gt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),No(),Ko();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);zt=de(e/so())}(),G=0,Xt={},Object.keys(Game.shimmers).forEach((e=>{Xt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&($t=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Xt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),cn(),b=G,0===G&&($t=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Xt[e].l.style.opacity,re[e].style.transform=Xt[e].l.style.transform,re[e].textContent=Math.ceil(Xt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Gn(3,"FortuneFlash",!1),wn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),vn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(It=Game.shimmers[e])})),Gn(3,"SeaFlash",!1),wn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),vn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Gn(3,"WrinklerMaxFlash",!1):Gn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?wn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):wn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?vn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):vn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function Tn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=an[t]):"Header"===t&&Object.keys(an.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=an[t][n])}))})),o&&Mn(),xn(),Object.keys(an).forEach((e=>{"Header"!==e&&void 0!==gn[e].func&&gn[e].func()}))}else Sn(an);Game.UpdateMenu(),Tn()}function Pn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Bn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Ao(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Po(),l("tooltip").innerHTML}function En(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Nn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Mn()}function Dn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){jn(o),Game.UpdateMenu()},n.appendChild(i),n}function Hn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Un(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Rn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Dn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+co(){Game.HasUnlocked(Io[e])||c.push(Io[e])})),0!==c.length&&e.appendChild(Hn("basic","Rare plant drops left to unlock",Un(c))),e}())),o.appendChild(Dn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ut+Game.cookiesReset+yt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?ht:0)));t.appendChild(Hn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ut+Game.cookiesReset+yt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&ht?ht:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/Rt,1)})`,i.appendChild(a),t.appendChild(Hn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Hn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Hn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(ce(pt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Hn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(ce(e)))),t.appendChild(Hn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(de(e/pt)))))}const l=function(e){let t=Game.cookiesPs;wo(),0===Kt["Heavenly key"].bought&&(Kt["Heavenly chip secret"].bought=1,Kt["Heavenly cookie stand"].bought=1,Kt["Heavenly bakery"].bought=1,Kt["Heavenly confectionery"].bought=1,Kt["Heavenly key"].bought=1,Do(),t=Ve,wo()),Ut>=1e6&&jo("Sacrifice"),Ut>=1e9&&jo("Oblivion"),Ut>=1e12&&jo("From scratch"),Ut>=1e15&&jo("Nihilism"),Ut>=1e18&&jo("Dematerialize"),Ut>=1e21&&jo("Nil zero zilch"),Ut>=1e24&&jo("Transcendence"),Ut>=1e27&&jo("Obliterate"),Ut>=1e30&&jo("Negative void"),Ut>=1e33&&jo("To crumbs, you say?"),Ut>=1e36&&jo("You get nothing"),Ut>=1e39&&jo("Humble rebeginnings"),Ut>=1e42&&jo("The end of the world"),Ut>=1e45&&jo("Oh, you're back"),Ut>=1e48&&jo("Lazarus"),Ut>=1e51&&jo("Smurf account"),Ut>=1e54&&jo("If at first you don't succeed"),Kt["Heavenly chip secret"].bought=1,Kt["Heavenly cookie stand"].bought=1,Kt["Heavenly bakery"].bought=1,Kt["Heavenly confectionery"].bought=1,Kt["Heavenly key"].bought=1,je=e;const o=Le;Do(),Vo(),o!==Le&&Do();const n=Ve-t;return je=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Hn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Dn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(yt)} / ${ce(bt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Pn()},e.appendChild(t),o.appendChild(Hn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(kt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==kt[1]&&(Game.wrinklers[kt[1]].hp=0)},n.appendChild(i),o.appendChild(Hn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==kt[1]?kt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(n.push(Uo[e]),o=!0)}));const i=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(i.push(Ro[e]),o=!0)}));const a=[];Object.keys($o).forEach((e=>{Game.Has($o[e])||(a.push($o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Dn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Hn("basic","Halloween cookies left to buy",Un(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Hn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Hn("basic","Christmas cookies left to buy",Un(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Hn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Hn("basic","Valentine cookies left to buy",Un(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Hn("basic","Normal easter eggs left to unlock",Un(r))),t.appendChild(Hn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Hn("basic","Rare easter eggs left to unlock",Un(l))),t.appendChild(Hn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Hn("basic","Reindeer reward",document.createTextNode(ce(mt)))),s&&t.appendChild(Hn("withTooltip","Chocolate egg cookies",document.createTextNode(ce(ht)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Hn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(ut-1))/100+"%")))}return t}()),o.appendChild(Dn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Hn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(so(),3)))),o.appendChild(Hn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(xt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Ho).forEach((t=>{Game.Has(Ho[t])||e.push(Ho[t])})),0!==e.length&&o.appendChild(Hn("basic","Fortune Upgrades Left to Buy",Un(e)))}if(e.ShowMissedGC&&o.appendChild(Hn("basic","Missed Golden Cookies",document.createTextNode(ce(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Hn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.appendChild(i)}}}))}const $n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},In={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function zn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){jn(t),Game.UpdateMenu()},n.appendChild(i),n}function Vn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings){const e=document.createElement("a");se.includes(t)?(e.innerText="★",e.style.color="yellow"):e.innerText="☆",e.className="option",e.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(t),Mn(),Game.UpdateMenu()},o.appendChild(e),o.appendChild(document.createTextNode(" "))}if("bool"===gn[t].type){const n=document.createElement("a");gn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Ln+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===gn[t].label.length?(e[t]=0,gn[t].toggle&&(l(Ln+t).className="option off")):l(Ln+t).className="option",void 0!==gn[t].func&&gn[t].func(),l(Ln+t).innerHTML=gn[t].label[e[t]],Mn()}(t)},n.textContent=gn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=gn[t].desc,o.appendChild(i),o}if("vol"===gn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=gn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){An(t)},r.onchange=function(){An(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){wn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Ln+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Ln+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Mn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=gn[t].desc,o.appendChild(s),o}if("colour"===gn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Fn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Tn(),Mn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=gn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Gn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Wn().init(),o}if("numscale"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Ln+t,i.className="option",i.type="number",i.value=e[t],i.min=gn[t].min,i.max=gn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Mn(),sn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=gn[t].desc,o.appendChild(a),o}return o}function _n(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Xn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),Ie=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){_n(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){_n(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){_n(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Yt[Game.ObjectsById[e].name].name;Yt[o].amount-=1,Oe-=1,t=Yt[o].basePrice*Game.priceIncrease**Math.max(0,Yt[o].amount-1-Yt[o].free),t=Game.modifyBuildingPrice(Yt[o],t),t=Math.ceil(t);break}const o=Le;return Do(),Vo(),o!==Le&&Do(),[Ve-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${ce(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ye}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Wn().picker&&void 0!==Wn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys($n).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(zn(t,$n[t])),e.Header[t]))for(let e=0;e{const n=zn(t,In[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(Vn(e))}))})):Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(Vn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Sn(an)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Rn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){jn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=$t?$t.wrath?`[W${Math.ceil($t.life/Game.fps)}]`:`[G${Math.ceil($t.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(It.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;$t&&(t=!0,$t.wrath?e+=`[W${Math.ceil($t.life/Game.fps)}]`:e+=`[G${Math.ceil($t.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(It.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Be<1?"Ascending now would grant you no prestige.":Be<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Be)} prestige levels (+${ce(Be)}% CpS)
and ${ce(Be)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${zt} to reach the next level and you are making ${ce(pt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Qn(){bn(),en(),nn(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{uo(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=po("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=po("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Pn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==kt[1]&&(Game.wrinklers[kt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),En(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),On()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},Xn(),On(),Game.CalculateGains(),Sn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const qn={init:function(){kn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Qn(),Game.registerHook("draw",Bo),Game.registerHook("logic",xn),kn=!1)},load:function(e){const t=JSON.parse(e);bn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Sn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:fn};Game.registerMod("CookieMonster",qn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=1,ct=1,dt=1,pt=0,ut=0,mt=0,ht=0,gt={},ft={},Ct={},yt=0,bt=0,kt=[0,null],Gt=0,wt=0,vt={},xt={},Tt={},Mt={},St={},Pt=0,Bt=0,Et=[],Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,Rt=0,$t={},It={},zt=0,Vt=0,_t=[],Xt={},Qt=0,qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Yt=[],Kt=[],Jt=[];function Zt(e){let t=0;return Game.dragonAuras[De].name!==e&&Game.dragonAuras[He].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[De].name&&"Reality Bending"!==Game.dragonAuras[He].name||(t+=.1),t}function eo(){let e=.25;return e*=1+Zt("Earth Shatterer"),e}function to(e,t){return void 0===ze[e]?void 0===t?1:t:ze[e]}function oo(e){const t=Kt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function no(e){if(Game.hasGod){void 0===Yt.Temple.minigame&&(Yt.Temple.minigame=Game.Objects.Temple.minigame);const t=Yt.Temple.minigame.gods[e];if(Ue===t.id)return 1;if(Re===t.id)return 2;if($e===t.id)return 3}return!1}function io(e,t){let o=t;if(oo("Season savings")&&(o*=.99),oo("Santa's dominion")&&(o*=.99),oo("Faberge egg")&&(o*=.99),oo("Divine discount")&&(o*=.99),oo("Fortune #100")&&(o*=.99),o*=1-.02*Zt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&oo(e.fortune.name)&&(o*=.93),o*=to("buildingCost"),Yt.Temple.minigameLoaded){const e=no("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ao(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ro(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=gt:10===t?t=ft:100===t&&(t=Ct),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(gt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ao(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(gt).map((e=>{const t=gt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=gt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=gt),10===i&&(i=ft),100===i&&(i=Ct),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+co()))/so());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&oo(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(oo(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&oo(e.fortune.name)&&(t*=1.07),e.grandma&&oo(e.grandma.name)&&(t*=1+.01*Yt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&oo(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function ko(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;oo("Thousand fingers")&&(t+=.1),oo("Million fingers")&&(t*=5),oo("Billion fingers")&&(t*=10),oo("Trillion fingers")&&(t*=20),oo("Quadrillion fingers")&&(t*=20),oo("Quintillion fingers")&&(t*=20),oo("Sextillion fingers")&&(t*=20),oo("Septillion fingers")&&(t*=20),oo("Octillion fingers")&&(t*=20),oo("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Yt).forEach((e=>{"Cursor"!==Yt[e].name&&(n+=Yt[e].amount)})),t*=n,o*=bo(e),o*=Game.magicCpS("Cursor"),o*=to("cursorCps"),Game.ComputeCps(.1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{oo(Game.GrandmaSynergies[e])&&(o*=2)})),oo("Bingo center/Research facility")&&(o*=4),oo("Ritual rolling pins")&&(o*=2),oo("Naughty list")&&(o*=2),oo("Elderwort biscuits")&&(o*=1.02),o*=to("grandmaCps"),oo("Cat ladies"))for(let e=0;e{"Grandma"!==Yt[e].name&&(i+=Yt[e].amount)})),o*=1+.01*Zt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=bo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function Go(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Yt).forEach((t=>{Yt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(oo("Starlove")&&(e=3),Game.hasGod){const t=no("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function wo(){Fe=Game.UpgradesOwned,We=Game.pledges,Le=Game.AchievementsOwned,Ae=Game.heavenlyPower,je=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e],uo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ue=t.minigame.slot[0],Re=t.minigame.slot[1],$e=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Yt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e]),o.bought=t.bought,Kt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Jt[e];void 0===o&&(Jt[e]=yo(e),o=Jt[e]),o.won=t.won,Jt[e]=o})),Co(),De=Xe,He=Qe}function vo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function xo(e){e.appendChild(vo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(vo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(vo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(vo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(vo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function To(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function So(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Po(){if(wo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(xo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=gt:10===Game.buyBulk?t=ft:100===Game.buyBulk&&(t=Ct),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+co()))/so());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(vo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(vo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=po(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,go())}}(),mo(),Po(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Yt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Eo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function No(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Qt;Game.cpsSucked>0&&(o+=yt),Ut=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-ye,i=Math.max(0,Game.cookies-be)/n,a=Math.max(0,yt-ke)/n,r=Math.max(0,kt[0]-Ge)/n,l=Math.max(0,o-ht)/n,s=(Game.cookieClicks-we)/n;for(let e=0;e0&&(n=W),n}function Fo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Oo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+co()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||_t.push([t[n].pp,o])}))}function Lo(){!function(){Vt=1/0,_t=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Wo(gt,1),Wo(ft,10),Wo(Ct,100),_t.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;_t[t][1]>Game.cookies&&(t+=1,_t.length!==t+1););Vt=_t[e.PPExcludeTop][t],Fo(gt,1),Fo(ft,10),Fo(Ct,100)}(),Object.keys(vt).forEach((e=>{Game.cookiesPs?vt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+co()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/vt[e].bonus:vt[e].pp=Game.Upgrades[e].getPrice()/vt[e].bonus,Number.isNaN(vt[e].pp)&&(vt[e].pp=1/0),vt[e].color=Oo(vt[e],Game.Upgrades[e].getPrice())}))}function Ao(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),ze=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(je)*Ae*function(){let e=0;if(oo("Heavenly chip secret")&&(e+=.05),oo("Heavenly cookie stand")&&(e+=.2),oo("Heavenly bakery")&&(e+=.25),oo("Heavenly confectionery")&&(e+=.25),oo("Heavenly key")&&(e+=.25),e*=1+.05*Zt("Dragon God"),oo("Lucky digit")&&(e*=1.01),oo("Lucky number")&&(e*=1.01),oo("Lucky payout")&&(e*=1.01),Game.hasGod){const t=no("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=to("cps"),oo("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];oo(o.name)&&("function"==typeof o.power?e*=1+.01*Kt[o.name].power(Kt[o.name]):e*=1+.01*o.power)})),oo("Specialized chocolate chips")&&(e*=1.01),oo("Designer cocoa beans")&&(e*=1.02),oo("Underworld ovens")&&(e*=1.03),oo("Exotic nuts")&&(e*=1.04),oo("Arcane sugar")&&(e*=1.05),oo("Increased merriness")&&(e*=1.15),oo("Improved jolliness")&&(e*=1.15),oo("A lump of coal")&&(e*=1.01),oo("An itchy sweater")&&(e*=1.01),oo("Santa's dominion")&&(e*=1.2),oo("Fortune #100")&&(e*=1.01),oo("Fortune #101")&&(e*=1.07),oo("Dragon scale")&&(e*=1.03);let o=1;if(no){let t=no("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=no("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=no("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=no("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=no("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}oo("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Le/25;let i=1;if(oo("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Zt("Breath of Milk"),no){const e=no("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=to("milk");let a=1;oo("Kitten helpers")&&(a*=1+.1*n*i),oo("Kitten workers")&&(a*=1+.125*n*i),oo("Kitten engineers")&&(a*=1+.15*n*i),oo("Kitten overseers")&&(a*=1+.175*n*i),oo("Kitten managers")&&(a*=1+.2*n*i),oo("Kitten accountants")&&(a*=1+.2*n*i),oo("Kitten specialists")&&(a*=1+.2*n*i),oo("Kitten experts")&&(a*=1+.2*n*i),oo("Kitten consultants")&&(a*=1+.2*n*i),oo("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),oo("Kitten marketeers")&&(a*=1+.15*n*i),oo("Kitten analysts")&&(a*=1+.125*n*i),oo("Kitten executives")&&(a*=1+.115*n*i),oo("Kitten angels")&&(a*=1+.1*n*i),oo("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Yt).forEach((e=>{const t=Yt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&oo("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Ve+=t.amount*a})),oo('"egg"')&&(Ve+=9),e*=a;let r=1;if(oo("Chicken egg")&&(r*=1.01),oo("Duck egg")&&(r*=1.01),oo("Turkey egg")&&(r*=1.01),oo("Quail egg")&&(r*=1.01),oo("Robin egg")&&(r*=1.01),oo("Ostrich egg")&&(r*=1.01),oo("Cassowary egg")&&(r*=1.01),oo("Salmon roe")&&(r*=1.01),oo("Frogspawn")&&(r*=1.01),oo("Shark egg")&&(r*=1.01),oo("Turtle egg")&&(r*=1.01),oo("Ant larva")&&(r*=1.01),oo("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),ut=1+.1*(1-(1-e/100)**3),r*=ut}e*=r,oo("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Zt("Radiant Appetite");const l=Ve*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&jo(Game.CpsAchievements[e].name)})),_e=l;const{n:s}=Game.shimmerTypes.golden,c=Zt("Dragon's Fortune");for(let t=0;t{oo(e[o])&&(t+=.1)}))}e*=t}if(oo("Shimmering veil [off]")){let t=.5;oo("Reinforced membrane")&&(t+=.1),e*=1+t}oo("Magic shenanigans")&&(e*=1e3),oo("Occult obstruction")&&(e*=0),Ve=Game.runModHookOnValue("cps",Ve),e*=Mo(),Ve*=e}const Ho=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Uo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ro=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],$o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Io=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function zo(e){return Jt[e]?Jt[e].won:0}function Vo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{oo(Game.GrandmaSynergies[t])&&(e+=1)})),!zo("Elder")&&e>=7&&jo("Elder"),!zo("Veteran")&&e>=14&&jo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Yt).forEach((e=>{t+=Yt[e].amount,i=Math.min(Yt[e].amount,i),zo("Mathematician")||Yt[e].amount=1&&jo("One with everything"),1===o&&jo("Mathematician"),1===n&&jo("Base 10"),i>=100&&jo("Centennial"),i>=150&&jo("Centennial and a half"),i>=200&&jo("Bicentennial"),i>=250&&jo("Bicentennial and a half"),i>=300&&jo("Tricentennial"),i>=350&&jo("Tricentennial and a half"),i>=400&&jo("Quadricentennial"),i>=450&&jo("Quadricentennial and a half"),i>=500&&jo("Quincentennial"),i>=550&&jo("Quincentennial and a half"),i>=600&&jo("Sexcentennial"),t>=100&&jo("Builder"),t>=500&&jo("Architect"),t>=1e3&&jo("Engineer"),t>=2e3&&jo("Lord of Constructs"),t>=4e3&&jo("Grand design"),t>=8e3&&jo("Ecumenopolis"),Fe>=20&&jo("Enhancer"),Fe>=50&&jo("Augmenter"),Fe>=100&&jo("Upgrader"),Fe>=200&&jo("Lord of Progress"),Fe>=300&&jo("The full picture"),Fe>=400&&jo("When there's nothing left to add"),t>=4e3&&Fe>=300&&jo("Polymath"),t>=8e3&&Fe>=400&&jo("Renaissance baker"),Yt.Cursor.amount+Yt.Grandma.amount>=777&&jo("The elder scrolls");let a=!0;Object.keys(Uo).forEach((e=>{oo(Uo[e])||(a=!1)})),a&&jo("Spooky cookies");let r=!0;if(Object.keys(Ro).forEach((e=>{oo(Ro[e])||(r=!1)})),r&&jo("Let it snow"),oo("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{oo(e[o].name)&&(t+=1)})),t>=e.length&&jo("O Fortuna")}}function _o(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){wo(),Yt[e].amount+=t;const o=Yt[e];"Cursor"===e?(o.amount>=1&&jo("Click"),o.amount>=2&&jo("Double-click"),o.amount>=50&&jo("Mouse wheel"),o.amount>=100&&jo("Of Mice and Men"),o.amount>=200&&jo("The Digital"),o.amount>=300&&jo("Extreme polydactyly"),o.amount>=400&&jo("Dr. T"),o.amount>=500&&jo("Thumbs, phalanges, metacarpals"),o.amount>=600&&jo("With her finger and her thumb"),o.amount>=700&&jo("Gotta hand it to you"),o.amount>=800&&jo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&jo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Le;return Do(),Vo(),n!==Le&&Do(),Ve-Game.cookiesPs}(o,e),1!==e&&(Ee=1)})),t}function Xo(){Object.keys(Game.Objects).forEach((e=>{gt[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),ft[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),Ct[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Qo(){gt=_o(1),ft=_o(10),Ct=_o(100),vt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){wo(),"Shimmering veil [on]"===Kt[e].name?Kt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Kt[e].name?Kt["Golden switch [off]"].bought=0:Kt[e].bought=(Kt[e].bought+1)%2,Kt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Fe+=1),"Elder Pledge"===e?(We+=1,We>0&&jo("Elder nap"),We>=5&&jo("Elder slumber")):"Elder Covenant"===e?jo("Elder calm"):"Prism heart biscuits"===e?jo("Lovely cookies"):"Heavenly key"===e&&jo("Wholesome");const t=Le;Do(),Vo(),t!==Le&&Do();const o=function(){let e=0;oo("Thousand fingers")&&(e+=.1),oo("Million fingers")&&(e*=5),oo("Billion fingers")&&(e*=10),oo("Trillion fingers")&&(e*=20),oo("Quadrillion fingers")&&(e*=20),oo("Quintillion fingers")&&(e*=20),oo("Sextillion fingers")&&(e*=20),oo("Septillion fingers")&&(e*=20),oo("Octillion fingers")&&(e*=20),oo("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Yt).forEach((e=>{t+=Yt[e].amount})),t-=Yt.Cursor.amount,e*=t,oo("Plastic mouse")&&(e+=.01*Ve),oo("Iron mouse")&&(e+=.01*Ve),oo("Titanium mouse")&&(e+=.01*Ve),oo("Adamantium mouse")&&(e+=.01*Ve),oo("Unobtainium mouse")&&(e+=.01*Ve),oo("Eludium mouse")&&(e+=.01*Ve),oo("Wishalloy mouse")&&(e+=.01*Ve),oo("Fantasteel mouse")&&(e+=.01*Ve),oo("Nevercrack mouse")&&(e+=.01*Ve),oo("Armythril mouse")&&(e+=.01*Ve),oo("Technobsidian mouse")&&(e+=.01*Ve),oo("Plasmarble mouse")&&(e+=.01*Ve),oo("Miraculite mouse")&&(e+=.01*Ve),oo("Fortune #104")&&(e+=.01*Ve);let o=1;if(oo("Santa's helpers")&&(o*=1.1),oo("Cookie egg")&&(o*=1.1),oo("Halo gloves")&&(o*=1.1),oo("Dragon claw")&&(o*=1.03),oo("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,oo("Luminous gloves")?20:10)),o*=to("click"),Yt.Temple.minigameLoaded&&no){const e=no("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Zt("Dragon Cursor");let n=o*Game.ComputeCps(1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Ve-Game.cookiesPs,o]:[Ve-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(vt[t]={bonus:Game.cookiesPs-ve},1===e.CalcWrink?vt[t].bonus-=xe:2===e.CalcWrink&&(vt[t].bonus-=Te),Number.isFinite(vt[t].bonus)||(vt[t].bonus=0)):(vt[t]={},o[0]&&(vt[t].bonus=o[0]),o[1]&&(vt[t].bonusMouse=o[1]))}))}function qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Et=qo(7,e,ct),Pt=2*Et[1]/ct,Bt=Et[2]/60/60/6/st,Ft=qo(6,e,dt),Nt=2*Ft[1]/dt,Ot=Ft[2]/60/60/6/st,At=qo(7,7*e,ct),Wt=2*At[1]/ct,Lt=At[2]/60/60/6/st,Ht=qo(6,7*e,dt),jt=2*Ht[1]/dt,Dt=Ht[2]/60/60/6/st}function Ko(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Pe,i=Math.max(0,o-Be)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Mt+=e:"cookie"===o.pool?St+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Tt+=e)}}))}function Zo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),mt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(mt*=2)}}function en(){Ke=900*lt/.15,Ke*=st;const e=Mo();e>0?Ke/=e:Ke=0,Je=ct*(.15*Ke)+13,Ze=dt*(.15*Ke)+13,et=7*Ke,tt=ct*(.15*et)+13,ot=dt*(.15*et)+13,nt=2*Ke,it=.15*nt,at=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountat&&(at=2*Game.Objects[e].price,rt=e)}))}function tn(){let e=1,t=1,o=1;oo("Green yeast digestives")&&(o*=1.01),oo("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ct=o*e,dt=o*t,st=1,0===Game.shimmerTypes.golden.n&&(st*=1+1.23*Game.auraMult("Dragon's Fortune"))}function on(){yt=0,bt=0,kt=[0,null];for(let e=0;ekt[0]&&(kt=[t,e]))}}function nn(){Co(),on(),en(),tn(),Yo(),Jo(),Zo(),ue=new Eo(Y[Y.length-1]),me=new Eo(Y[Y.length-1]),he=new Eo(Y[Y.length-1]),ge=new Eo(Y[Y.length-1]),fe=new Eo(K[K.length-1]),Ce=new Eo(5),Ko(),No(),Qo(),Xo(),Lo()}const an={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},rn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function ln(){1===e.BotBar?(l("CMBotBar").style.display="",mo()):l("CMBotBar").style.display="none",go()}function sn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),mo(),ro(),lo()}function cn(){1===e.Favicon&&y>0?$t.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class dn{constructor(e,t){this.type=e,this.group=t}}class pn extends dn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class un extends dn{constructor(e,t,o){super(e,t),this.desc=o}}class mn extends dn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class hn extends dn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const gn={CPSMode:new pn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new pn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new pn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new pn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){Ie=!0})),Scale:new pn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){sn()})),ScaleDecimals:new pn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){sn()})),ScaleSeparator:new pn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){sn()})),ScaleCutoff:new hn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new pn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new pn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new pn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new pn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ro()})),PPOnlyConsiderBuyable:new pn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new pn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new pn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new hn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new un("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new un("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new un("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new un("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new un("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new un("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new un("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new un("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new un("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new pn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){ln()})),TimerBar:new pn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){fo()})),TimerBarPos:new pn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),go()})),TimerBarOverlay:new pn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new pn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",lo()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",lo()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new pn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new pn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ro()})),SortUpgrades:new pn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){lo()})),DragonAuraInfo:new pn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new pn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new pn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Xt[e].l.style.left,re[e].style.top=Xt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new pn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){cn()})),WrinklerButtons:new pn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new pn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new pn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new pn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new pn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new pn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new pn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new pn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new pn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new hn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new pn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new pn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){So()})),TooltipGrim:new pn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new pn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new pn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new pn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new pn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new pn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new pn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new pn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new pn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new hn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new pn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new pn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new pn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new pn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){rn(e.GCNotification)})),GCFlash:new pn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new un("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new pn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new mn("vol","NotificationGC",[],"Volume"),GCSoundURL:new pn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new pn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){rn(e.FortuneNotification)})),FortuneFlash:new pn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new un("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new pn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new mn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new pn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new pn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){rn(e.SeaNotification)})),SeaFlash:new pn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new un("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new pn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new mn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new pn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new pn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new un("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new pn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new mn("vol","NotificationGard",[],"Volume"),GardSoundURL:new pn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new pn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){rn(e.MagicNotification)})),MagicFlash:new pn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new un("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new pn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new mn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new pn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new pn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){rn(e.WrinklerNotification)})),WrinklerFlash:new pn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new un("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new pn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new mn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new pn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new pn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){rn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new pn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new un("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new pn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new mn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new pn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new pn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new pn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function fn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function Cn(){if(qe!==Game.dragonLevel||Ie){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Upgrades).forEach((e=>{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Achievements).forEach((e=>{Jt[e]=yo(e)})),wo()}let kn=!1;function Gn(t,o,n){(1===e[o]||n)&&3===t&&!1===kn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Gn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Gn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Gn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function wn(t,o,n,i){if((1===e[o]||i)&&!1===kn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function vn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===kn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function xn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(ln(),fo()),ho()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(bn(),nn(),r=Object.keys(Game.mods).length),Ie&&(Qo(),Game.Has("Golden switch [off]")?(wo(),Kt["Golden switch [off]"].bought=0,Do(),lt=Ve):lt=Game.cookiesPs,tn(),en(),Jo(),Yo(),Cn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)qt[e][t]=yn(e,t)}(),Zo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;wo();let t=2;5!==De&&18!==De||(t-=1),5!==He&&18!==He||(t-=1),De=5,He=18;for(let e=0;e{Yt[t].amount>0&&(e=t)})),Yt[e].amount-=1,Oe-=1}return Object.keys(Yt).forEach((t=>{const o=Yt[t];e+=ao(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Qt=e}(),Ie=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ne&&t?(Ne=!0,Ee=1):Ne&&!t&&(Ne=!1,Ee=1),Ee&&(Xo(),Ee=0),function(){on(),Lo(),function(){Gt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Yt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}wt=e,Gt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),No(),Ko();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);zt=de(e/so())}(),G=0,Xt={},Object.keys(Game.shimmers).forEach((e=>{Xt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&($t=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Xt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),cn(),b=G,0===G&&($t=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Xt[e].l.style.opacity,re[e].style.transform=Xt[e].l.style.transform,re[e].textContent=Math.ceil(Xt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Gn(3,"FortuneFlash",!1),wn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),vn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(It=Game.shimmers[e])})),Gn(3,"SeaFlash",!1),wn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),vn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Gn(3,"WrinklerMaxFlash",!1):Gn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?wn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):wn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?vn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):vn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function Tn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=an[t]):"Header"===t&&Object.keys(an.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=an[t][n])}))})),o&&Mn(),xn(),Object.keys(an).forEach((e=>{"Header"!==e&&void 0!==gn[e].func&&gn[e].func()}))}else Sn(an);Game.UpdateMenu(),Tn()}function Pn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Bn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Ao(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Po(),l("tooltip").innerHTML}function En(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Nn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Mn()}function Dn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){jn(o),Game.UpdateMenu()},n.appendChild(i),n}function Hn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Un(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Rn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Dn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+co(){Game.HasUnlocked(Io[e])||c.push(Io[e])})),0!==c.length&&e.appendChild(Hn("basic","Rare plant drops left to unlock",Un(c))),e}())),o.appendChild(Dn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ut+Game.cookiesReset+yt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?ht:0)));t.appendChild(Hn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ut+Game.cookiesReset+yt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&ht?ht:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/Rt,1)})`,i.appendChild(a),t.appendChild(Hn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Hn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Hn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(ce(pt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Hn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(ce(e)))),t.appendChild(Hn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(de(e/pt)))))}const l=function(e){let t=Game.cookiesPs;wo(),0===Kt["Heavenly key"].bought&&(Kt["Heavenly chip secret"].bought=1,Kt["Heavenly cookie stand"].bought=1,Kt["Heavenly bakery"].bought=1,Kt["Heavenly confectionery"].bought=1,Kt["Heavenly key"].bought=1,Do(),t=Ve,wo()),Ut>=1e6&&jo("Sacrifice"),Ut>=1e9&&jo("Oblivion"),Ut>=1e12&&jo("From scratch"),Ut>=1e15&&jo("Nihilism"),Ut>=1e18&&jo("Dematerialize"),Ut>=1e21&&jo("Nil zero zilch"),Ut>=1e24&&jo("Transcendence"),Ut>=1e27&&jo("Obliterate"),Ut>=1e30&&jo("Negative void"),Ut>=1e33&&jo("To crumbs, you say?"),Ut>=1e36&&jo("You get nothing"),Ut>=1e39&&jo("Humble rebeginnings"),Ut>=1e42&&jo("The end of the world"),Ut>=1e45&&jo("Oh, you're back"),Ut>=1e48&&jo("Lazarus"),Ut>=1e51&&jo("Smurf account"),Ut>=1e54&&jo("If at first you don't succeed"),Kt["Heavenly chip secret"].bought=1,Kt["Heavenly cookie stand"].bought=1,Kt["Heavenly bakery"].bought=1,Kt["Heavenly confectionery"].bought=1,Kt["Heavenly key"].bought=1,je=e;const o=Le;Do(),Vo(),o!==Le&&Do();const n=Ve-t;return je=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Hn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Dn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(yt)} / ${ce(bt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Pn()},e.appendChild(t),o.appendChild(Hn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(kt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==kt[1]&&(Game.wrinklers[kt[1]].hp=0)},n.appendChild(i),o.appendChild(Hn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==kt[1]?kt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(n.push(Uo[e]),o=!0)}));const i=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(i.push(Ro[e]),o=!0)}));const a=[];Object.keys($o).forEach((e=>{Game.Has($o[e])||(a.push($o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Dn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Hn("basic","Halloween cookies left to buy",Un(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Hn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Hn("basic","Christmas cookies left to buy",Un(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Hn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Hn("basic","Valentine cookies left to buy",Un(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Hn("basic","Normal easter eggs left to unlock",Un(r))),t.appendChild(Hn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Hn("basic","Rare easter eggs left to unlock",Un(l))),t.appendChild(Hn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Hn("basic","Reindeer reward",document.createTextNode(ce(mt)))),s&&t.appendChild(Hn("withTooltip","Chocolate egg cookies",document.createTextNode(ce(ht)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Hn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(ut-1))/100+"%")))}return t}()),o.appendChild(Dn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Hn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(so(),3)))),o.appendChild(Hn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(xt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Ho).forEach((t=>{Game.Has(Ho[t])||e.push(Ho[t])})),0!==e.length&&o.appendChild(Hn("basic","Fortune Upgrades Left to Buy",Un(e)))}if(e.ShowMissedGC&&o.appendChild(Hn("basic","Missed Golden Cookies",document.createTextNode(ce(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Hn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.appendChild(i)}}}))}const $n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},In={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function zn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){jn(t),Game.UpdateMenu()},n.appendChild(i),n}function Vn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return se.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(e),Mn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(R.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===gn[t].type){const n=document.createElement("a");gn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Ln+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===gn[t].label.length?(e[t]=0,gn[t].toggle&&(l(Ln+t).className="option off")):l(Ln+t).className="option",void 0!==gn[t].func&&gn[t].func(),l(Ln+t).innerHTML=gn[t].label[e[t]],Mn()}(t)},n.textContent=gn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=gn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===gn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=gn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){An(t)},r.onchange=function(){An(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){wn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Ln+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Ln+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Mn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=gn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===gn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Fn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Tn(),Mn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=gn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Gn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Wn().init(),o}if("numscale"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Ln+t,i.className="option",i.type="number",i.value=e[t],i.min=gn[t].min,i.max=gn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Mn(),sn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=gn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function _n(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Xn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),Ie=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){_n(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){_n(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){_n(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Yt[Game.ObjectsById[e].name].name;Yt[o].amount-=1,Oe-=1,t=Yt[o].basePrice*Game.priceIncrease**Math.max(0,Yt[o].amount-1-Yt[o].free),t=Game.modifyBuildingPrice(Yt[o],t),t=Math.ceil(t);break}const o=Le;return Do(),Vo(),o!==Le&&Do(),[Ve-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${ce(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ye}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Wn().picker&&void 0!==Wn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys($n).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(zn(t,$n[t])),e.Header[t]))for(let e=0;e{const n=zn(t,In[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(Vn(e))}))})):Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(Vn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Sn(an)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Rn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){jn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=$t?$t.wrath?`[W${Math.ceil($t.life/Game.fps)}]`:`[G${Math.ceil($t.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(It.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;$t&&(t=!0,$t.wrath?e+=`[W${Math.ceil($t.life/Game.fps)}]`:e+=`[G${Math.ceil($t.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(It.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Be<1?"Ascending now would grant you no prestige.":Be<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Be)} prestige levels (+${ce(Be)}% CpS)
and ${ce(Be)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${zt} to reach the next level and you are making ${ce(pt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Qn(){bn(),en(),nn(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{uo(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=po("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=po("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Pn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==kt[1]&&(Game.wrinklers[kt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),En(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),On()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},Xn(),On(),Game.CalculateGains(),Sn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const qn={init:function(){kn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Qn(),Game.registerHook("draw",Bo),Game.registerHook("logic",xn),kn=!1)},load:function(e){const t=JSON.parse(e);bn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Sn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:fn};Game.registerMod("CookieMonster",qn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index 02d5bb79..ef2ced0b 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=1,ct=1,dt=1,pt=0,ut=0,mt=0,ht=0,gt={},ft={},Ct={},yt=0,bt=0,kt=[0,null],Gt=0,wt=0,vt={},xt={},Tt={},Mt={},St={},Pt=0,Bt=0,Et=[],Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,Rt=0,$t={},It={},zt=0,Vt=0,_t=[],Xt={},Qt=0,qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Yt=[],Kt=[],Jt=[];function Zt(e){let t=0;return Game.dragonAuras[De].name!==e&&Game.dragonAuras[He].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[De].name&&"Reality Bending"!==Game.dragonAuras[He].name||(t+=.1),t}function eo(){let e=.25;return e*=1+Zt("Earth Shatterer"),e}function to(e,t){return void 0===ze[e]?void 0===t?1:t:ze[e]}function oo(e){const t=Kt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function no(e){if(Game.hasGod){void 0===Yt.Temple.minigame&&(Yt.Temple.minigame=Game.Objects.Temple.minigame);const t=Yt.Temple.minigame.gods[e];if(Ue===t.id)return 1;if(Re===t.id)return 2;if($e===t.id)return 3}return!1}function io(e,t){let o=t;if(oo("Season savings")&&(o*=.99),oo("Santa's dominion")&&(o*=.99),oo("Faberge egg")&&(o*=.99),oo("Divine discount")&&(o*=.99),oo("Fortune #100")&&(o*=.99),o*=1-.02*Zt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&oo(e.fortune.name)&&(o*=.93),o*=to("buildingCost"),Yt.Temple.minigameLoaded){const e=no("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ao(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ro(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=gt:10===t?t=ft:100===t&&(t=Ct),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(gt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ao(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(gt).map((e=>{const t=gt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=gt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=gt),10===i&&(i=ft),100===i&&(i=Ct),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+co()))/so());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&oo(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(oo(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&oo(e.fortune.name)&&(t*=1.07),e.grandma&&oo(e.grandma.name)&&(t*=1+.01*Yt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&oo(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function ko(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;oo("Thousand fingers")&&(t+=.1),oo("Million fingers")&&(t*=5),oo("Billion fingers")&&(t*=10),oo("Trillion fingers")&&(t*=20),oo("Quadrillion fingers")&&(t*=20),oo("Quintillion fingers")&&(t*=20),oo("Sextillion fingers")&&(t*=20),oo("Septillion fingers")&&(t*=20),oo("Octillion fingers")&&(t*=20),oo("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Yt).forEach((e=>{"Cursor"!==Yt[e].name&&(n+=Yt[e].amount)})),t*=n,o*=bo(e),o*=Game.magicCpS("Cursor"),o*=to("cursorCps"),Game.ComputeCps(.1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{oo(Game.GrandmaSynergies[e])&&(o*=2)})),oo("Bingo center/Research facility")&&(o*=4),oo("Ritual rolling pins")&&(o*=2),oo("Naughty list")&&(o*=2),oo("Elderwort biscuits")&&(o*=1.02),o*=to("grandmaCps"),oo("Cat ladies"))for(let e=0;e{"Grandma"!==Yt[e].name&&(i+=Yt[e].amount)})),o*=1+.01*Zt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=bo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function Go(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Yt).forEach((t=>{Yt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(oo("Starlove")&&(e=3),Game.hasGod){const t=no("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function wo(){Fe=Game.UpgradesOwned,We=Game.pledges,Le=Game.AchievementsOwned,Ae=Game.heavenlyPower,je=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e],uo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ue=t.minigame.slot[0],Re=t.minigame.slot[1],$e=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Yt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e]),o.bought=t.bought,Kt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Jt[e];void 0===o&&(Jt[e]=yo(e),o=Jt[e]),o.won=t.won,Jt[e]=o})),Co(),De=Xe,He=Qe}function vo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function xo(e){e.appendChild(vo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(vo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(vo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(vo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(vo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function To(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function So(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Po(){if(wo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(xo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=gt:10===Game.buyBulk?t=ft:100===Game.buyBulk&&(t=Ct),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+co()))/so());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(vo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(vo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=po(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,go())}}(),mo(),Po(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Yt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Eo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function No(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Qt;Game.cpsSucked>0&&(o+=yt),Ut=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-ye,i=Math.max(0,Game.cookies-be)/n,a=Math.max(0,yt-ke)/n,r=Math.max(0,kt[0]-Ge)/n,l=Math.max(0,o-ht)/n,s=(Game.cookieClicks-we)/n;for(let e=0;e0&&(n=W),n}function Fo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Oo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+co()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||_t.push([t[n].pp,o])}))}function Lo(){!function(){Vt=1/0,_t=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Wo(gt,1),Wo(ft,10),Wo(Ct,100),_t.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;_t[t][1]>Game.cookies&&(t+=1,_t.length!==t+1););Vt=_t[e.PPExcludeTop][t],Fo(gt,1),Fo(ft,10),Fo(Ct,100)}(),Object.keys(vt).forEach((e=>{Game.cookiesPs?vt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+co()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/vt[e].bonus:vt[e].pp=Game.Upgrades[e].getPrice()/vt[e].bonus,Number.isNaN(vt[e].pp)&&(vt[e].pp=1/0),vt[e].color=Oo(vt[e],Game.Upgrades[e].getPrice())}))}function Ao(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),ze=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(je)*Ae*function(){let e=0;if(oo("Heavenly chip secret")&&(e+=.05),oo("Heavenly cookie stand")&&(e+=.2),oo("Heavenly bakery")&&(e+=.25),oo("Heavenly confectionery")&&(e+=.25),oo("Heavenly key")&&(e+=.25),e*=1+.05*Zt("Dragon God"),oo("Lucky digit")&&(e*=1.01),oo("Lucky number")&&(e*=1.01),oo("Lucky payout")&&(e*=1.01),Game.hasGod){const t=no("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=to("cps"),oo("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];oo(o.name)&&("function"==typeof o.power?e*=1+.01*Kt[o.name].power(Kt[o.name]):e*=1+.01*o.power)})),oo("Specialized chocolate chips")&&(e*=1.01),oo("Designer cocoa beans")&&(e*=1.02),oo("Underworld ovens")&&(e*=1.03),oo("Exotic nuts")&&(e*=1.04),oo("Arcane sugar")&&(e*=1.05),oo("Increased merriness")&&(e*=1.15),oo("Improved jolliness")&&(e*=1.15),oo("A lump of coal")&&(e*=1.01),oo("An itchy sweater")&&(e*=1.01),oo("Santa's dominion")&&(e*=1.2),oo("Fortune #100")&&(e*=1.01),oo("Fortune #101")&&(e*=1.07),oo("Dragon scale")&&(e*=1.03);let o=1;if(no){let t=no("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=no("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=no("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=no("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=no("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}oo("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Le/25;let i=1;if(oo("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Zt("Breath of Milk"),no){const e=no("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=to("milk");let a=1;oo("Kitten helpers")&&(a*=1+.1*n*i),oo("Kitten workers")&&(a*=1+.125*n*i),oo("Kitten engineers")&&(a*=1+.15*n*i),oo("Kitten overseers")&&(a*=1+.175*n*i),oo("Kitten managers")&&(a*=1+.2*n*i),oo("Kitten accountants")&&(a*=1+.2*n*i),oo("Kitten specialists")&&(a*=1+.2*n*i),oo("Kitten experts")&&(a*=1+.2*n*i),oo("Kitten consultants")&&(a*=1+.2*n*i),oo("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),oo("Kitten marketeers")&&(a*=1+.15*n*i),oo("Kitten analysts")&&(a*=1+.125*n*i),oo("Kitten executives")&&(a*=1+.115*n*i),oo("Kitten angels")&&(a*=1+.1*n*i),oo("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Yt).forEach((e=>{const t=Yt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&oo("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Ve+=t.amount*a})),oo('"egg"')&&(Ve+=9),e*=a;let r=1;if(oo("Chicken egg")&&(r*=1.01),oo("Duck egg")&&(r*=1.01),oo("Turkey egg")&&(r*=1.01),oo("Quail egg")&&(r*=1.01),oo("Robin egg")&&(r*=1.01),oo("Ostrich egg")&&(r*=1.01),oo("Cassowary egg")&&(r*=1.01),oo("Salmon roe")&&(r*=1.01),oo("Frogspawn")&&(r*=1.01),oo("Shark egg")&&(r*=1.01),oo("Turtle egg")&&(r*=1.01),oo("Ant larva")&&(r*=1.01),oo("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),ut=1+.1*(1-(1-e/100)**3),r*=ut}e*=r,oo("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Zt("Radiant Appetite");const l=Ve*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&jo(Game.CpsAchievements[e].name)})),_e=l;const{n:s}=Game.shimmerTypes.golden,c=Zt("Dragon's Fortune");for(let t=0;t{oo(e[o])&&(t+=.1)}))}e*=t}if(oo("Shimmering veil [off]")){let t=.5;oo("Reinforced membrane")&&(t+=.1),e*=1+t}oo("Magic shenanigans")&&(e*=1e3),oo("Occult obstruction")&&(e*=0),Ve=Game.runModHookOnValue("cps",Ve),e*=Mo(),Ve*=e}const Ho=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Uo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ro=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],$o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Io=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function zo(e){return Jt[e]?Jt[e].won:0}function Vo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{oo(Game.GrandmaSynergies[t])&&(e+=1)})),!zo("Elder")&&e>=7&&jo("Elder"),!zo("Veteran")&&e>=14&&jo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Yt).forEach((e=>{t+=Yt[e].amount,i=Math.min(Yt[e].amount,i),zo("Mathematician")||Yt[e].amount=1&&jo("One with everything"),1===o&&jo("Mathematician"),1===n&&jo("Base 10"),i>=100&&jo("Centennial"),i>=150&&jo("Centennial and a half"),i>=200&&jo("Bicentennial"),i>=250&&jo("Bicentennial and a half"),i>=300&&jo("Tricentennial"),i>=350&&jo("Tricentennial and a half"),i>=400&&jo("Quadricentennial"),i>=450&&jo("Quadricentennial and a half"),i>=500&&jo("Quincentennial"),i>=550&&jo("Quincentennial and a half"),i>=600&&jo("Sexcentennial"),t>=100&&jo("Builder"),t>=500&&jo("Architect"),t>=1e3&&jo("Engineer"),t>=2e3&&jo("Lord of Constructs"),t>=4e3&&jo("Grand design"),t>=8e3&&jo("Ecumenopolis"),Fe>=20&&jo("Enhancer"),Fe>=50&&jo("Augmenter"),Fe>=100&&jo("Upgrader"),Fe>=200&&jo("Lord of Progress"),Fe>=300&&jo("The full picture"),Fe>=400&&jo("When there's nothing left to add"),t>=4e3&&Fe>=300&&jo("Polymath"),t>=8e3&&Fe>=400&&jo("Renaissance baker"),Yt.Cursor.amount+Yt.Grandma.amount>=777&&jo("The elder scrolls");let a=!0;Object.keys(Uo).forEach((e=>{oo(Uo[e])||(a=!1)})),a&&jo("Spooky cookies");let r=!0;if(Object.keys(Ro).forEach((e=>{oo(Ro[e])||(r=!1)})),r&&jo("Let it snow"),oo("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{oo(e[o].name)&&(t+=1)})),t>=e.length&&jo("O Fortuna")}}function _o(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){wo(),Yt[e].amount+=t;const o=Yt[e];"Cursor"===e?(o.amount>=1&&jo("Click"),o.amount>=2&&jo("Double-click"),o.amount>=50&&jo("Mouse wheel"),o.amount>=100&&jo("Of Mice and Men"),o.amount>=200&&jo("The Digital"),o.amount>=300&&jo("Extreme polydactyly"),o.amount>=400&&jo("Dr. T"),o.amount>=500&&jo("Thumbs, phalanges, metacarpals"),o.amount>=600&&jo("With her finger and her thumb"),o.amount>=700&&jo("Gotta hand it to you"),o.amount>=800&&jo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&jo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Le;return Do(),Vo(),n!==Le&&Do(),Ve-Game.cookiesPs}(o,e),1!==e&&(Ee=1)})),t}function Xo(){Object.keys(Game.Objects).forEach((e=>{gt[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),ft[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),Ct[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Qo(){gt=_o(1),ft=_o(10),Ct=_o(100),vt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){wo(),"Shimmering veil [on]"===Kt[e].name?Kt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Kt[e].name?Kt["Golden switch [off]"].bought=0:Kt[e].bought=(Kt[e].bought+1)%2,Kt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Fe+=1),"Elder Pledge"===e?(We+=1,We>0&&jo("Elder nap"),We>=5&&jo("Elder slumber")):"Elder Covenant"===e?jo("Elder calm"):"Prism heart biscuits"===e?jo("Lovely cookies"):"Heavenly key"===e&&jo("Wholesome");const t=Le;Do(),Vo(),t!==Le&&Do();const o=function(){let e=0;oo("Thousand fingers")&&(e+=.1),oo("Million fingers")&&(e*=5),oo("Billion fingers")&&(e*=10),oo("Trillion fingers")&&(e*=20),oo("Quadrillion fingers")&&(e*=20),oo("Quintillion fingers")&&(e*=20),oo("Sextillion fingers")&&(e*=20),oo("Septillion fingers")&&(e*=20),oo("Octillion fingers")&&(e*=20),oo("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Yt).forEach((e=>{t+=Yt[e].amount})),t-=Yt.Cursor.amount,e*=t,oo("Plastic mouse")&&(e+=.01*Ve),oo("Iron mouse")&&(e+=.01*Ve),oo("Titanium mouse")&&(e+=.01*Ve),oo("Adamantium mouse")&&(e+=.01*Ve),oo("Unobtainium mouse")&&(e+=.01*Ve),oo("Eludium mouse")&&(e+=.01*Ve),oo("Wishalloy mouse")&&(e+=.01*Ve),oo("Fantasteel mouse")&&(e+=.01*Ve),oo("Nevercrack mouse")&&(e+=.01*Ve),oo("Armythril mouse")&&(e+=.01*Ve),oo("Technobsidian mouse")&&(e+=.01*Ve),oo("Plasmarble mouse")&&(e+=.01*Ve),oo("Miraculite mouse")&&(e+=.01*Ve),oo("Fortune #104")&&(e+=.01*Ve);let o=1;if(oo("Santa's helpers")&&(o*=1.1),oo("Cookie egg")&&(o*=1.1),oo("Halo gloves")&&(o*=1.1),oo("Dragon claw")&&(o*=1.03),oo("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,oo("Luminous gloves")?20:10)),o*=to("click"),Yt.Temple.minigameLoaded&&no){const e=no("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Zt("Dragon Cursor");let n=o*Game.ComputeCps(1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Ve-Game.cookiesPs,o]:[Ve-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(vt[t]={bonus:Game.cookiesPs-ve},1===e.CalcWrink?vt[t].bonus-=xe:2===e.CalcWrink&&(vt[t].bonus-=Te),Number.isFinite(vt[t].bonus)||(vt[t].bonus=0)):(vt[t]={},o[0]&&(vt[t].bonus=o[0]),o[1]&&(vt[t].bonusMouse=o[1]))}))}function qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Et=qo(7,e,ct),Pt=2*Et[1]/ct,Bt=Et[2]/60/60/6/st,Ft=qo(6,e,dt),Nt=2*Ft[1]/dt,Ot=Ft[2]/60/60/6/st,At=qo(7,7*e,ct),Wt=2*At[1]/ct,Lt=At[2]/60/60/6/st,Ht=qo(6,7*e,dt),jt=2*Ht[1]/dt,Dt=Ht[2]/60/60/6/st}function Ko(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Pe,i=Math.max(0,o-Be)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Mt+=e:"cookie"===o.pool?St+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Tt+=e)}}))}function Zo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),mt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(mt*=2)}}function en(){Ke=900*lt/.15,Ke*=st;const e=Mo();e>0?Ke/=e:Ke=0,Je=ct*(.15*Ke)+13,Ze=dt*(.15*Ke)+13,et=7*Ke,tt=ct*(.15*et)+13,ot=dt*(.15*et)+13,nt=2*Ke,it=.15*nt,at=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountat&&(at=2*Game.Objects[e].price,rt=e)}))}function tn(){let e=1,t=1,o=1;oo("Green yeast digestives")&&(o*=1.01),oo("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ct=o*e,dt=o*t,st=1,0===Game.shimmerTypes.golden.n&&(st*=1+1.23*Game.auraMult("Dragon's Fortune"))}function on(){yt=0,bt=0,kt=[0,null];for(let e=0;ekt[0]&&(kt=[t,e]))}}function nn(){Co(),on(),en(),tn(),Yo(),Jo(),Zo(),ue=new Eo(Y[Y.length-1]),me=new Eo(Y[Y.length-1]),he=new Eo(Y[Y.length-1]),ge=new Eo(Y[Y.length-1]),fe=new Eo(K[K.length-1]),Ce=new Eo(5),Ko(),No(),Qo(),Xo(),Lo()}const an={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},rn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function ln(){1===e.BotBar?(l("CMBotBar").style.display="",mo()):l("CMBotBar").style.display="none",go()}function sn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),mo(),ro(),lo()}function cn(){1===e.Favicon&&y>0?$t.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class dn{constructor(e,t){this.type=e,this.group=t}}class pn extends dn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class un extends dn{constructor(e,t,o){super(e,t),this.desc=o}}class mn extends dn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class hn extends dn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const gn={CPSMode:new pn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new pn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new pn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new pn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){Ie=!0})),Scale:new pn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){sn()})),ScaleDecimals:new pn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){sn()})),ScaleSeparator:new pn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){sn()})),ScaleCutoff:new hn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new pn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new pn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new pn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new pn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ro()})),PPOnlyConsiderBuyable:new pn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new pn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new pn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new hn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new un("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new un("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new un("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new un("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new un("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new un("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new un("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new un("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new un("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new pn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){ln()})),TimerBar:new pn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){fo()})),TimerBarPos:new pn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),go()})),TimerBarOverlay:new pn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new pn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",lo()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",lo()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new pn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new pn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ro()})),SortUpgrades:new pn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){lo()})),DragonAuraInfo:new pn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new pn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new pn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Xt[e].l.style.left,re[e].style.top=Xt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new pn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){cn()})),WrinklerButtons:new pn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new pn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new pn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new pn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new pn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new pn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new pn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new pn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new pn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new hn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new pn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new pn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){So()})),TooltipGrim:new pn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new pn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new pn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new pn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new pn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new pn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new pn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new pn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new pn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new hn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new pn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new pn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new pn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new pn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){rn(e.GCNotification)})),GCFlash:new pn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new un("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new pn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new mn("vol","NotificationGC",[],"Volume"),GCSoundURL:new pn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new pn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){rn(e.FortuneNotification)})),FortuneFlash:new pn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new un("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new pn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new mn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new pn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new pn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){rn(e.SeaNotification)})),SeaFlash:new pn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new un("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new pn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new mn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new pn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new pn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new un("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new pn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new mn("vol","NotificationGard",[],"Volume"),GardSoundURL:new pn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new pn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){rn(e.MagicNotification)})),MagicFlash:new pn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new un("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new pn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new mn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new pn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new pn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){rn(e.WrinklerNotification)})),WrinklerFlash:new pn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new un("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new pn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new mn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new pn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new pn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){rn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new pn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new un("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new pn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new mn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new pn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new pn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new pn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function fn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function Cn(){if(qe!==Game.dragonLevel||Ie){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Upgrades).forEach((e=>{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Achievements).forEach((e=>{Jt[e]=yo(e)})),wo()}let kn=!1;function Gn(t,o,n){(1===e[o]||n)&&3===t&&!1===kn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Gn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Gn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Gn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function wn(t,o,n,i){if((1===e[o]||i)&&!1===kn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function vn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===kn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function xn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(ln(),fo()),ho()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(bn(),nn(),r=Object.keys(Game.mods).length),Ie&&(Qo(),Game.Has("Golden switch [off]")?(wo(),Kt["Golden switch [off]"].bought=0,Do(),lt=Ve):lt=Game.cookiesPs,tn(),en(),Jo(),Yo(),Cn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)qt[e][t]=yn(e,t)}(),Zo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;wo();let t=2;5!==De&&18!==De||(t-=1),5!==He&&18!==He||(t-=1),De=5,He=18;for(let e=0;e{Yt[t].amount>0&&(e=t)})),Yt[e].amount-=1,Oe-=1}return Object.keys(Yt).forEach((t=>{const o=Yt[t];e+=ao(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Qt=e}(),Ie=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ne&&t?(Ne=!0,Ee=1):Ne&&!t&&(Ne=!1,Ee=1),Ee&&(Xo(),Ee=0),function(){on(),Lo(),function(){Gt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Yt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}wt=e,Gt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),No(),Ko();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);zt=de(e/so())}(),G=0,Xt={},Object.keys(Game.shimmers).forEach((e=>{Xt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&($t=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Xt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),cn(),b=G,0===G&&($t=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Xt[e].l.style.opacity,re[e].style.transform=Xt[e].l.style.transform,re[e].textContent=Math.ceil(Xt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Gn(3,"FortuneFlash",!1),wn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),vn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(It=Game.shimmers[e])})),Gn(3,"SeaFlash",!1),wn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),vn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Gn(3,"WrinklerMaxFlash",!1):Gn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?wn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):wn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?vn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):vn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function Tn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=an[t]):"Header"===t&&Object.keys(an.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=an[t][n])}))})),o&&Mn(),xn(),Object.keys(an).forEach((e=>{"Header"!==e&&void 0!==gn[e].func&&gn[e].func()}))}else Sn(an);Game.UpdateMenu(),Tn()}function Pn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Bn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Ao(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Po(),l("tooltip").innerHTML}function En(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Nn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Mn()}function Dn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){jn(o),Game.UpdateMenu()},n.appendChild(i),n}function Hn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Un(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Rn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Dn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+co(){Game.HasUnlocked(Io[e])||c.push(Io[e])})),0!==c.length&&e.appendChild(Hn("basic","Rare plant drops left to unlock",Un(c))),e}())),o.appendChild(Dn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ut+Game.cookiesReset+yt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?ht:0)));t.appendChild(Hn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ut+Game.cookiesReset+yt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&ht?ht:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/Rt,1)})`,i.appendChild(a),t.appendChild(Hn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Hn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Hn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(ce(pt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Hn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(ce(e)))),t.appendChild(Hn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(de(e/pt)))))}const l=function(e){let t=Game.cookiesPs;wo(),0===Kt["Heavenly key"].bought&&(Kt["Heavenly chip secret"].bought=1,Kt["Heavenly cookie stand"].bought=1,Kt["Heavenly bakery"].bought=1,Kt["Heavenly confectionery"].bought=1,Kt["Heavenly key"].bought=1,Do(),t=Ve,wo()),Ut>=1e6&&jo("Sacrifice"),Ut>=1e9&&jo("Oblivion"),Ut>=1e12&&jo("From scratch"),Ut>=1e15&&jo("Nihilism"),Ut>=1e18&&jo("Dematerialize"),Ut>=1e21&&jo("Nil zero zilch"),Ut>=1e24&&jo("Transcendence"),Ut>=1e27&&jo("Obliterate"),Ut>=1e30&&jo("Negative void"),Ut>=1e33&&jo("To crumbs, you say?"),Ut>=1e36&&jo("You get nothing"),Ut>=1e39&&jo("Humble rebeginnings"),Ut>=1e42&&jo("The end of the world"),Ut>=1e45&&jo("Oh, you're back"),Ut>=1e48&&jo("Lazarus"),Ut>=1e51&&jo("Smurf account"),Ut>=1e54&&jo("If at first you don't succeed"),Kt["Heavenly chip secret"].bought=1,Kt["Heavenly cookie stand"].bought=1,Kt["Heavenly bakery"].bought=1,Kt["Heavenly confectionery"].bought=1,Kt["Heavenly key"].bought=1,je=e;const o=Le;Do(),Vo(),o!==Le&&Do();const n=Ve-t;return je=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Hn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Dn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(yt)} / ${ce(bt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Pn()},e.appendChild(t),o.appendChild(Hn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(kt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==kt[1]&&(Game.wrinklers[kt[1]].hp=0)},n.appendChild(i),o.appendChild(Hn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==kt[1]?kt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(n.push(Uo[e]),o=!0)}));const i=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(i.push(Ro[e]),o=!0)}));const a=[];Object.keys($o).forEach((e=>{Game.Has($o[e])||(a.push($o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Dn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Hn("basic","Halloween cookies left to buy",Un(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Hn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Hn("basic","Christmas cookies left to buy",Un(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Hn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Hn("basic","Valentine cookies left to buy",Un(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Hn("basic","Normal easter eggs left to unlock",Un(r))),t.appendChild(Hn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Hn("basic","Rare easter eggs left to unlock",Un(l))),t.appendChild(Hn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Hn("basic","Reindeer reward",document.createTextNode(ce(mt)))),s&&t.appendChild(Hn("withTooltip","Chocolate egg cookies",document.createTextNode(ce(ht)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Hn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(ut-1))/100+"%")))}return t}()),o.appendChild(Dn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Hn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(so(),3)))),o.appendChild(Hn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(xt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Ho).forEach((t=>{Game.Has(Ho[t])||e.push(Ho[t])})),0!==e.length&&o.appendChild(Hn("basic","Fortune Upgrades Left to Buy",Un(e)))}if(e.ShowMissedGC&&o.appendChild(Hn("basic","Missed Golden Cookies",document.createTextNode(ce(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Hn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.appendChild(i)}}}))}const $n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},In={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function zn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){jn(t),Game.UpdateMenu()},n.appendChild(i),n}function Vn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings){const e=document.createElement("a");se.includes(t)?(e.innerText="★",e.style.color="yellow"):e.innerText="☆",e.className="option",e.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(t),Mn(),Game.UpdateMenu()},o.appendChild(e),o.appendChild(document.createTextNode(" "))}if("bool"===gn[t].type){const n=document.createElement("a");gn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Ln+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===gn[t].label.length?(e[t]=0,gn[t].toggle&&(l(Ln+t).className="option off")):l(Ln+t).className="option",void 0!==gn[t].func&&gn[t].func(),l(Ln+t).innerHTML=gn[t].label[e[t]],Mn()}(t)},n.textContent=gn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=gn[t].desc,o.appendChild(i),o}if("vol"===gn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=gn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){An(t)},r.onchange=function(){An(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){wn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Ln+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Ln+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Mn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=gn[t].desc,o.appendChild(s),o}if("colour"===gn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Fn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Tn(),Mn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=gn[t].desc,n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Gn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Wn().init(),o}if("numscale"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Ln+t,i.className="option",i.type="number",i.value=e[t],i.min=gn[t].min,i.max=gn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Mn(),sn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=gn[t].desc,o.appendChild(a),o}return o}function _n(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Xn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),Ie=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){_n(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){_n(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){_n(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Yt[Game.ObjectsById[e].name].name;Yt[o].amount-=1,Oe-=1,t=Yt[o].basePrice*Game.priceIncrease**Math.max(0,Yt[o].amount-1-Yt[o].free),t=Game.modifyBuildingPrice(Yt[o],t),t=Math.ceil(t);break}const o=Le;return Do(),Vo(),o!==Le&&Do(),[Ve-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${ce(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ye}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Wn().picker&&void 0!==Wn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys($n).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(zn(t,$n[t])),e.Header[t]))for(let e=0;e{const n=zn(t,In[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(Vn(e))}))})):Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(Vn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Sn(an)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Rn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){jn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=$t?$t.wrath?`[W${Math.ceil($t.life/Game.fps)}]`:`[G${Math.ceil($t.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(It.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;$t&&(t=!0,$t.wrath?e+=`[W${Math.ceil($t.life/Game.fps)}]`:e+=`[G${Math.ceil($t.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(It.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Be<1?"Ascending now would grant you no prestige.":Be<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Be)} prestige levels (+${ce(Be)}% CpS)
and ${ce(Be)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${zt} to reach the next level and you are making ${ce(pt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Qn(){bn(),en(),nn(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{uo(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=po("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=po("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Pn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==kt[1]&&(Game.wrinklers[kt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),En(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),On()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},Xn(),On(),Game.CalculateGains(),Sn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const qn={init:function(){kn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Qn(),Game.registerHook("draw",Bo),Game.registerHook("logic",xn),kn=!1)},load:function(e){const t=JSON.parse(e);bn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Sn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:fn};Game.registerMod("CookieMonster",qn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=1,ct=1,dt=1,pt=0,ut=0,mt=0,ht=0,gt={},ft={},Ct={},yt=0,bt=0,kt=[0,null],Gt=0,wt=0,vt={},xt={},Tt={},Mt={},St={},Pt=0,Bt=0,Et=[],Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,Rt=0,$t={},It={},zt=0,Vt=0,_t=[],Xt={},Qt=0,qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Yt=[],Kt=[],Jt=[];function Zt(e){let t=0;return Game.dragonAuras[De].name!==e&&Game.dragonAuras[He].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[De].name&&"Reality Bending"!==Game.dragonAuras[He].name||(t+=.1),t}function eo(){let e=.25;return e*=1+Zt("Earth Shatterer"),e}function to(e,t){return void 0===ze[e]?void 0===t?1:t:ze[e]}function oo(e){const t=Kt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function no(e){if(Game.hasGod){void 0===Yt.Temple.minigame&&(Yt.Temple.minigame=Game.Objects.Temple.minigame);const t=Yt.Temple.minigame.gods[e];if(Ue===t.id)return 1;if(Re===t.id)return 2;if($e===t.id)return 3}return!1}function io(e,t){let o=t;if(oo("Season savings")&&(o*=.99),oo("Santa's dominion")&&(o*=.99),oo("Faberge egg")&&(o*=.99),oo("Divine discount")&&(o*=.99),oo("Fortune #100")&&(o*=.99),o*=1-.02*Zt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&oo(e.fortune.name)&&(o*=.93),o*=to("buildingCost"),Yt.Temple.minigameLoaded){const e=no("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ao(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ro(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=gt:10===t?t=ft:100===t&&(t=Ct),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(gt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ao(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(gt).map((e=>{const t=gt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=gt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=gt),10===i&&(i=ft),100===i&&(i=Ct),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+co()))/so());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&oo(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(oo(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&oo(e.fortune.name)&&(t*=1.07),e.grandma&&oo(e.grandma.name)&&(t*=1+.01*Yt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&oo(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function ko(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;oo("Thousand fingers")&&(t+=.1),oo("Million fingers")&&(t*=5),oo("Billion fingers")&&(t*=10),oo("Trillion fingers")&&(t*=20),oo("Quadrillion fingers")&&(t*=20),oo("Quintillion fingers")&&(t*=20),oo("Sextillion fingers")&&(t*=20),oo("Septillion fingers")&&(t*=20),oo("Octillion fingers")&&(t*=20),oo("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Yt).forEach((e=>{"Cursor"!==Yt[e].name&&(n+=Yt[e].amount)})),t*=n,o*=bo(e),o*=Game.magicCpS("Cursor"),o*=to("cursorCps"),Game.ComputeCps(.1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{oo(Game.GrandmaSynergies[e])&&(o*=2)})),oo("Bingo center/Research facility")&&(o*=4),oo("Ritual rolling pins")&&(o*=2),oo("Naughty list")&&(o*=2),oo("Elderwort biscuits")&&(o*=1.02),o*=to("grandmaCps"),oo("Cat ladies"))for(let e=0;e{"Grandma"!==Yt[e].name&&(i+=Yt[e].amount)})),o*=1+.01*Zt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=bo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function Go(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Yt).forEach((t=>{Yt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(oo("Starlove")&&(e=3),Game.hasGod){const t=no("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function wo(){Fe=Game.UpgradesOwned,We=Game.pledges,Le=Game.AchievementsOwned,Ae=Game.heavenlyPower,je=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e],uo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ue=t.minigame.slot[0],Re=t.minigame.slot[1],$e=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Yt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e]),o.bought=t.bought,Kt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Jt[e];void 0===o&&(Jt[e]=yo(e),o=Jt[e]),o.won=t.won,Jt[e]=o})),Co(),De=Xe,He=Qe}function vo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function xo(e){e.appendChild(vo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(vo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(vo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(vo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(vo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function To(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function So(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Po(){if(wo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(xo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=gt:10===Game.buyBulk?t=ft:100===Game.buyBulk&&(t=Ct),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+co()))/so());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(vo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(vo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=po(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,go())}}(),mo(),Po(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Yt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Eo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function No(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Qt;Game.cpsSucked>0&&(o+=yt),Ut=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-ye,i=Math.max(0,Game.cookies-be)/n,a=Math.max(0,yt-ke)/n,r=Math.max(0,kt[0]-Ge)/n,l=Math.max(0,o-ht)/n,s=(Game.cookieClicks-we)/n;for(let e=0;e0&&(n=W),n}function Fo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Oo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+co()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||_t.push([t[n].pp,o])}))}function Lo(){!function(){Vt=1/0,_t=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Wo(gt,1),Wo(ft,10),Wo(Ct,100),_t.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;_t[t][1]>Game.cookies&&(t+=1,_t.length!==t+1););Vt=_t[e.PPExcludeTop][t],Fo(gt,1),Fo(ft,10),Fo(Ct,100)}(),Object.keys(vt).forEach((e=>{Game.cookiesPs?vt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+co()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/vt[e].bonus:vt[e].pp=Game.Upgrades[e].getPrice()/vt[e].bonus,Number.isNaN(vt[e].pp)&&(vt[e].pp=1/0),vt[e].color=Oo(vt[e],Game.Upgrades[e].getPrice())}))}function Ao(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),ze=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(je)*Ae*function(){let e=0;if(oo("Heavenly chip secret")&&(e+=.05),oo("Heavenly cookie stand")&&(e+=.2),oo("Heavenly bakery")&&(e+=.25),oo("Heavenly confectionery")&&(e+=.25),oo("Heavenly key")&&(e+=.25),e*=1+.05*Zt("Dragon God"),oo("Lucky digit")&&(e*=1.01),oo("Lucky number")&&(e*=1.01),oo("Lucky payout")&&(e*=1.01),Game.hasGod){const t=no("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=to("cps"),oo("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];oo(o.name)&&("function"==typeof o.power?e*=1+.01*Kt[o.name].power(Kt[o.name]):e*=1+.01*o.power)})),oo("Specialized chocolate chips")&&(e*=1.01),oo("Designer cocoa beans")&&(e*=1.02),oo("Underworld ovens")&&(e*=1.03),oo("Exotic nuts")&&(e*=1.04),oo("Arcane sugar")&&(e*=1.05),oo("Increased merriness")&&(e*=1.15),oo("Improved jolliness")&&(e*=1.15),oo("A lump of coal")&&(e*=1.01),oo("An itchy sweater")&&(e*=1.01),oo("Santa's dominion")&&(e*=1.2),oo("Fortune #100")&&(e*=1.01),oo("Fortune #101")&&(e*=1.07),oo("Dragon scale")&&(e*=1.03);let o=1;if(no){let t=no("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=no("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=no("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=no("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=no("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}oo("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Le/25;let i=1;if(oo("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Zt("Breath of Milk"),no){const e=no("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=to("milk");let a=1;oo("Kitten helpers")&&(a*=1+.1*n*i),oo("Kitten workers")&&(a*=1+.125*n*i),oo("Kitten engineers")&&(a*=1+.15*n*i),oo("Kitten overseers")&&(a*=1+.175*n*i),oo("Kitten managers")&&(a*=1+.2*n*i),oo("Kitten accountants")&&(a*=1+.2*n*i),oo("Kitten specialists")&&(a*=1+.2*n*i),oo("Kitten experts")&&(a*=1+.2*n*i),oo("Kitten consultants")&&(a*=1+.2*n*i),oo("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),oo("Kitten marketeers")&&(a*=1+.15*n*i),oo("Kitten analysts")&&(a*=1+.125*n*i),oo("Kitten executives")&&(a*=1+.115*n*i),oo("Kitten angels")&&(a*=1+.1*n*i),oo("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Yt).forEach((e=>{const t=Yt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&oo("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Ve+=t.amount*a})),oo('"egg"')&&(Ve+=9),e*=a;let r=1;if(oo("Chicken egg")&&(r*=1.01),oo("Duck egg")&&(r*=1.01),oo("Turkey egg")&&(r*=1.01),oo("Quail egg")&&(r*=1.01),oo("Robin egg")&&(r*=1.01),oo("Ostrich egg")&&(r*=1.01),oo("Cassowary egg")&&(r*=1.01),oo("Salmon roe")&&(r*=1.01),oo("Frogspawn")&&(r*=1.01),oo("Shark egg")&&(r*=1.01),oo("Turtle egg")&&(r*=1.01),oo("Ant larva")&&(r*=1.01),oo("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),ut=1+.1*(1-(1-e/100)**3),r*=ut}e*=r,oo("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Zt("Radiant Appetite");const l=Ve*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&jo(Game.CpsAchievements[e].name)})),_e=l;const{n:s}=Game.shimmerTypes.golden,c=Zt("Dragon's Fortune");for(let t=0;t{oo(e[o])&&(t+=.1)}))}e*=t}if(oo("Shimmering veil [off]")){let t=.5;oo("Reinforced membrane")&&(t+=.1),e*=1+t}oo("Magic shenanigans")&&(e*=1e3),oo("Occult obstruction")&&(e*=0),Ve=Game.runModHookOnValue("cps",Ve),e*=Mo(),Ve*=e}const Ho=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Uo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ro=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],$o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Io=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function zo(e){return Jt[e]?Jt[e].won:0}function Vo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{oo(Game.GrandmaSynergies[t])&&(e+=1)})),!zo("Elder")&&e>=7&&jo("Elder"),!zo("Veteran")&&e>=14&&jo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Yt).forEach((e=>{t+=Yt[e].amount,i=Math.min(Yt[e].amount,i),zo("Mathematician")||Yt[e].amount=1&&jo("One with everything"),1===o&&jo("Mathematician"),1===n&&jo("Base 10"),i>=100&&jo("Centennial"),i>=150&&jo("Centennial and a half"),i>=200&&jo("Bicentennial"),i>=250&&jo("Bicentennial and a half"),i>=300&&jo("Tricentennial"),i>=350&&jo("Tricentennial and a half"),i>=400&&jo("Quadricentennial"),i>=450&&jo("Quadricentennial and a half"),i>=500&&jo("Quincentennial"),i>=550&&jo("Quincentennial and a half"),i>=600&&jo("Sexcentennial"),t>=100&&jo("Builder"),t>=500&&jo("Architect"),t>=1e3&&jo("Engineer"),t>=2e3&&jo("Lord of Constructs"),t>=4e3&&jo("Grand design"),t>=8e3&&jo("Ecumenopolis"),Fe>=20&&jo("Enhancer"),Fe>=50&&jo("Augmenter"),Fe>=100&&jo("Upgrader"),Fe>=200&&jo("Lord of Progress"),Fe>=300&&jo("The full picture"),Fe>=400&&jo("When there's nothing left to add"),t>=4e3&&Fe>=300&&jo("Polymath"),t>=8e3&&Fe>=400&&jo("Renaissance baker"),Yt.Cursor.amount+Yt.Grandma.amount>=777&&jo("The elder scrolls");let a=!0;Object.keys(Uo).forEach((e=>{oo(Uo[e])||(a=!1)})),a&&jo("Spooky cookies");let r=!0;if(Object.keys(Ro).forEach((e=>{oo(Ro[e])||(r=!1)})),r&&jo("Let it snow"),oo("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{oo(e[o].name)&&(t+=1)})),t>=e.length&&jo("O Fortuna")}}function _o(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){wo(),Yt[e].amount+=t;const o=Yt[e];"Cursor"===e?(o.amount>=1&&jo("Click"),o.amount>=2&&jo("Double-click"),o.amount>=50&&jo("Mouse wheel"),o.amount>=100&&jo("Of Mice and Men"),o.amount>=200&&jo("The Digital"),o.amount>=300&&jo("Extreme polydactyly"),o.amount>=400&&jo("Dr. T"),o.amount>=500&&jo("Thumbs, phalanges, metacarpals"),o.amount>=600&&jo("With her finger and her thumb"),o.amount>=700&&jo("Gotta hand it to you"),o.amount>=800&&jo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&jo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Le;return Do(),Vo(),n!==Le&&Do(),Ve-Game.cookiesPs}(o,e),1!==e&&(Ee=1)})),t}function Xo(){Object.keys(Game.Objects).forEach((e=>{gt[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),ft[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),Ct[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Qo(){gt=_o(1),ft=_o(10),Ct=_o(100),vt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){wo(),"Shimmering veil [on]"===Kt[e].name?Kt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Kt[e].name?Kt["Golden switch [off]"].bought=0:Kt[e].bought=(Kt[e].bought+1)%2,Kt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Fe+=1),"Elder Pledge"===e?(We+=1,We>0&&jo("Elder nap"),We>=5&&jo("Elder slumber")):"Elder Covenant"===e?jo("Elder calm"):"Prism heart biscuits"===e?jo("Lovely cookies"):"Heavenly key"===e&&jo("Wholesome");const t=Le;Do(),Vo(),t!==Le&&Do();const o=function(){let e=0;oo("Thousand fingers")&&(e+=.1),oo("Million fingers")&&(e*=5),oo("Billion fingers")&&(e*=10),oo("Trillion fingers")&&(e*=20),oo("Quadrillion fingers")&&(e*=20),oo("Quintillion fingers")&&(e*=20),oo("Sextillion fingers")&&(e*=20),oo("Septillion fingers")&&(e*=20),oo("Octillion fingers")&&(e*=20),oo("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Yt).forEach((e=>{t+=Yt[e].amount})),t-=Yt.Cursor.amount,e*=t,oo("Plastic mouse")&&(e+=.01*Ve),oo("Iron mouse")&&(e+=.01*Ve),oo("Titanium mouse")&&(e+=.01*Ve),oo("Adamantium mouse")&&(e+=.01*Ve),oo("Unobtainium mouse")&&(e+=.01*Ve),oo("Eludium mouse")&&(e+=.01*Ve),oo("Wishalloy mouse")&&(e+=.01*Ve),oo("Fantasteel mouse")&&(e+=.01*Ve),oo("Nevercrack mouse")&&(e+=.01*Ve),oo("Armythril mouse")&&(e+=.01*Ve),oo("Technobsidian mouse")&&(e+=.01*Ve),oo("Plasmarble mouse")&&(e+=.01*Ve),oo("Miraculite mouse")&&(e+=.01*Ve),oo("Fortune #104")&&(e+=.01*Ve);let o=1;if(oo("Santa's helpers")&&(o*=1.1),oo("Cookie egg")&&(o*=1.1),oo("Halo gloves")&&(o*=1.1),oo("Dragon claw")&&(o*=1.03),oo("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,oo("Luminous gloves")?20:10)),o*=to("click"),Yt.Temple.minigameLoaded&&no){const e=no("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Zt("Dragon Cursor");let n=o*Game.ComputeCps(1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Ve-Game.cookiesPs,o]:[Ve-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(vt[t]={bonus:Game.cookiesPs-ve},1===e.CalcWrink?vt[t].bonus-=xe:2===e.CalcWrink&&(vt[t].bonus-=Te),Number.isFinite(vt[t].bonus)||(vt[t].bonus=0)):(vt[t]={},o[0]&&(vt[t].bonus=o[0]),o[1]&&(vt[t].bonusMouse=o[1]))}))}function qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Et=qo(7,e,ct),Pt=2*Et[1]/ct,Bt=Et[2]/60/60/6/st,Ft=qo(6,e,dt),Nt=2*Ft[1]/dt,Ot=Ft[2]/60/60/6/st,At=qo(7,7*e,ct),Wt=2*At[1]/ct,Lt=At[2]/60/60/6/st,Ht=qo(6,7*e,dt),jt=2*Ht[1]/dt,Dt=Ht[2]/60/60/6/st}function Ko(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Pe,i=Math.max(0,o-Be)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Mt+=e:"cookie"===o.pool?St+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Tt+=e)}}))}function Zo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),mt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(mt*=2)}}function en(){Ke=900*lt/.15,Ke*=st;const e=Mo();e>0?Ke/=e:Ke=0,Je=ct*(.15*Ke)+13,Ze=dt*(.15*Ke)+13,et=7*Ke,tt=ct*(.15*et)+13,ot=dt*(.15*et)+13,nt=2*Ke,it=.15*nt,at=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountat&&(at=2*Game.Objects[e].price,rt=e)}))}function tn(){let e=1,t=1,o=1;oo("Green yeast digestives")&&(o*=1.01),oo("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ct=o*e,dt=o*t,st=1,0===Game.shimmerTypes.golden.n&&(st*=1+1.23*Game.auraMult("Dragon's Fortune"))}function on(){yt=0,bt=0,kt=[0,null];for(let e=0;ekt[0]&&(kt=[t,e]))}}function nn(){Co(),on(),en(),tn(),Yo(),Jo(),Zo(),ue=new Eo(Y[Y.length-1]),me=new Eo(Y[Y.length-1]),he=new Eo(Y[Y.length-1]),ge=new Eo(Y[Y.length-1]),fe=new Eo(K[K.length-1]),Ce=new Eo(5),Ko(),No(),Qo(),Xo(),Lo()}const an={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},rn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function ln(){1===e.BotBar?(l("CMBotBar").style.display="",mo()):l("CMBotBar").style.display="none",go()}function sn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),mo(),ro(),lo()}function cn(){1===e.Favicon&&y>0?$t.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class dn{constructor(e,t){this.type=e,this.group=t}}class pn extends dn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class un extends dn{constructor(e,t,o){super(e,t),this.desc=o}}class mn extends dn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class hn extends dn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const gn={CPSMode:new pn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new pn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new pn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new pn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){Ie=!0})),Scale:new pn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){sn()})),ScaleDecimals:new pn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){sn()})),ScaleSeparator:new pn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){sn()})),ScaleCutoff:new hn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new pn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new pn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new pn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new pn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ro()})),PPOnlyConsiderBuyable:new pn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new pn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new pn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new hn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new un("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new un("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new un("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new un("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new un("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new un("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new un("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new un("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new un("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new pn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){ln()})),TimerBar:new pn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){fo()})),TimerBarPos:new pn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),go()})),TimerBarOverlay:new pn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new pn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",lo()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",lo()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new pn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new pn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ro()})),SortUpgrades:new pn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){lo()})),DragonAuraInfo:new pn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new pn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new pn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Xt[e].l.style.left,re[e].style.top=Xt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new pn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){cn()})),WrinklerButtons:new pn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new pn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new pn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new pn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new pn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new pn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new pn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new pn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new pn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new hn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new pn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new pn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){So()})),TooltipGrim:new pn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new pn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new pn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new pn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new pn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new pn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new pn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new pn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new pn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new hn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new pn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new pn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new pn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new pn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){rn(e.GCNotification)})),GCFlash:new pn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new un("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new pn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new mn("vol","NotificationGC",[],"Volume"),GCSoundURL:new pn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new pn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){rn(e.FortuneNotification)})),FortuneFlash:new pn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new un("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new pn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new mn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new pn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new pn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){rn(e.SeaNotification)})),SeaFlash:new pn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new un("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new pn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new mn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new pn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new pn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new un("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new pn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new mn("vol","NotificationGard",[],"Volume"),GardSoundURL:new pn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new pn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){rn(e.MagicNotification)})),MagicFlash:new pn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new un("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new pn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new mn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new pn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new pn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){rn(e.WrinklerNotification)})),WrinklerFlash:new pn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new un("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new pn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new mn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new pn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new pn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){rn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new pn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new un("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new pn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new mn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new pn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new pn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new pn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function fn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function Cn(){if(qe!==Game.dragonLevel||Ie){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Upgrades).forEach((e=>{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Achievements).forEach((e=>{Jt[e]=yo(e)})),wo()}let kn=!1;function Gn(t,o,n){(1===e[o]||n)&&3===t&&!1===kn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Gn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Gn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Gn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function wn(t,o,n,i){if((1===e[o]||i)&&!1===kn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function vn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===kn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function xn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(ln(),fo()),ho()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(bn(),nn(),r=Object.keys(Game.mods).length),Ie&&(Qo(),Game.Has("Golden switch [off]")?(wo(),Kt["Golden switch [off]"].bought=0,Do(),lt=Ve):lt=Game.cookiesPs,tn(),en(),Jo(),Yo(),Cn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)qt[e][t]=yn(e,t)}(),Zo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;wo();let t=2;5!==De&&18!==De||(t-=1),5!==He&&18!==He||(t-=1),De=5,He=18;for(let e=0;e{Yt[t].amount>0&&(e=t)})),Yt[e].amount-=1,Oe-=1}return Object.keys(Yt).forEach((t=>{const o=Yt[t];e+=ao(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Qt=e}(),Ie=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ne&&t?(Ne=!0,Ee=1):Ne&&!t&&(Ne=!1,Ee=1),Ee&&(Xo(),Ee=0),function(){on(),Lo(),function(){Gt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Yt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}wt=e,Gt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),No(),Ko();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);zt=de(e/so())}(),G=0,Xt={},Object.keys(Game.shimmers).forEach((e=>{Xt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&($t=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Xt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),cn(),b=G,0===G&&($t=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Xt[e].l.style.opacity,re[e].style.transform=Xt[e].l.style.transform,re[e].textContent=Math.ceil(Xt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Gn(3,"FortuneFlash",!1),wn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),vn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(It=Game.shimmers[e])})),Gn(3,"SeaFlash",!1),wn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),vn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Gn(3,"WrinklerMaxFlash",!1):Gn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?wn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):wn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?vn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):vn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function Tn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=an[t]):"Header"===t&&Object.keys(an.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=an[t][n])}))})),o&&Mn(),xn(),Object.keys(an).forEach((e=>{"Header"!==e&&void 0!==gn[e].func&&gn[e].func()}))}else Sn(an);Game.UpdateMenu(),Tn()}function Pn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Bn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Ao(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Po(),l("tooltip").innerHTML}function En(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Nn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Mn()}function Dn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){jn(o),Game.UpdateMenu()},n.appendChild(i),n}function Hn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Un(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Rn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Dn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+co(){Game.HasUnlocked(Io[e])||c.push(Io[e])})),0!==c.length&&e.appendChild(Hn("basic","Rare plant drops left to unlock",Un(c))),e}())),o.appendChild(Dn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ut+Game.cookiesReset+yt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?ht:0)));t.appendChild(Hn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ut+Game.cookiesReset+yt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&ht?ht:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/Rt,1)})`,i.appendChild(a),t.appendChild(Hn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Hn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Hn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(ce(pt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Hn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(ce(e)))),t.appendChild(Hn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(de(e/pt)))))}const l=function(e){let t=Game.cookiesPs;wo(),0===Kt["Heavenly key"].bought&&(Kt["Heavenly chip secret"].bought=1,Kt["Heavenly cookie stand"].bought=1,Kt["Heavenly bakery"].bought=1,Kt["Heavenly confectionery"].bought=1,Kt["Heavenly key"].bought=1,Do(),t=Ve,wo()),Ut>=1e6&&jo("Sacrifice"),Ut>=1e9&&jo("Oblivion"),Ut>=1e12&&jo("From scratch"),Ut>=1e15&&jo("Nihilism"),Ut>=1e18&&jo("Dematerialize"),Ut>=1e21&&jo("Nil zero zilch"),Ut>=1e24&&jo("Transcendence"),Ut>=1e27&&jo("Obliterate"),Ut>=1e30&&jo("Negative void"),Ut>=1e33&&jo("To crumbs, you say?"),Ut>=1e36&&jo("You get nothing"),Ut>=1e39&&jo("Humble rebeginnings"),Ut>=1e42&&jo("The end of the world"),Ut>=1e45&&jo("Oh, you're back"),Ut>=1e48&&jo("Lazarus"),Ut>=1e51&&jo("Smurf account"),Ut>=1e54&&jo("If at first you don't succeed"),Kt["Heavenly chip secret"].bought=1,Kt["Heavenly cookie stand"].bought=1,Kt["Heavenly bakery"].bought=1,Kt["Heavenly confectionery"].bought=1,Kt["Heavenly key"].bought=1,je=e;const o=Le;Do(),Vo(),o!==Le&&Do();const n=Ve-t;return je=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Hn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Dn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(yt)} / ${ce(bt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Pn()},e.appendChild(t),o.appendChild(Hn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(kt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==kt[1]&&(Game.wrinklers[kt[1]].hp=0)},n.appendChild(i),o.appendChild(Hn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==kt[1]?kt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(n.push(Uo[e]),o=!0)}));const i=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(i.push(Ro[e]),o=!0)}));const a=[];Object.keys($o).forEach((e=>{Game.Has($o[e])||(a.push($o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Dn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Hn("basic","Halloween cookies left to buy",Un(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Hn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Hn("basic","Christmas cookies left to buy",Un(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Hn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Hn("basic","Valentine cookies left to buy",Un(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Hn("basic","Normal easter eggs left to unlock",Un(r))),t.appendChild(Hn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Hn("basic","Rare easter eggs left to unlock",Un(l))),t.appendChild(Hn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Hn("basic","Reindeer reward",document.createTextNode(ce(mt)))),s&&t.appendChild(Hn("withTooltip","Chocolate egg cookies",document.createTextNode(ce(ht)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Hn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(ut-1))/100+"%")))}return t}()),o.appendChild(Dn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Hn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(so(),3)))),o.appendChild(Hn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(xt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Ho).forEach((t=>{Game.Has(Ho[t])||e.push(Ho[t])})),0!==e.length&&o.appendChild(Hn("basic","Fortune Upgrades Left to Buy",Un(e)))}if(e.ShowMissedGC&&o.appendChild(Hn("basic","Missed Golden Cookies",document.createTextNode(ce(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Hn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.appendChild(i)}}}))}const $n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},In={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function zn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){jn(t),Game.UpdateMenu()},n.appendChild(i),n}function Vn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return se.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(e),Mn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(R.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===gn[t].type){const n=document.createElement("a");gn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Ln+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===gn[t].label.length?(e[t]=0,gn[t].toggle&&(l(Ln+t).className="option off")):l(Ln+t).className="option",void 0!==gn[t].func&&gn[t].func(),l(Ln+t).innerHTML=gn[t].label[e[t]],Mn()}(t)},n.textContent=gn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=gn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===gn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=gn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){An(t)},r.onchange=function(){An(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){wn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Ln+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Ln+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Mn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=gn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===gn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Fn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Tn(),Mn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=gn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Gn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Wn().init(),o}if("numscale"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Ln+t,i.className="option",i.type="number",i.value=e[t],i.min=gn[t].min,i.max=gn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Mn(),sn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=gn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function _n(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Xn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),Ie=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){_n(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){_n(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){_n(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Yt[Game.ObjectsById[e].name].name;Yt[o].amount-=1,Oe-=1,t=Yt[o].basePrice*Game.priceIncrease**Math.max(0,Yt[o].amount-1-Yt[o].free),t=Game.modifyBuildingPrice(Yt[o],t),t=Math.ceil(t);break}const o=Le;return Do(),Vo(),o!==Le&&Do(),[Ve-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${ce(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ye}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Wn().picker&&void 0!==Wn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys($n).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(zn(t,$n[t])),e.Header[t]))for(let e=0;e{const n=zn(t,In[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(Vn(e))}))})):Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(Vn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Sn(an)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Rn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){jn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=$t?$t.wrath?`[W${Math.ceil($t.life/Game.fps)}]`:`[G${Math.ceil($t.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(It.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;$t&&(t=!0,$t.wrath?e+=`[W${Math.ceil($t.life/Game.fps)}]`:e+=`[G${Math.ceil($t.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(It.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Be<1?"Ascending now would grant you no prestige.":Be<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Be)} prestige levels (+${ce(Be)}% CpS)
and ${ce(Be)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${zt} to reach the next level and you are making ${ce(pt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Qn(){bn(),en(),nn(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{uo(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=po("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=po("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Pn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==kt[1]&&(Game.wrinklers[kt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),En(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),On()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},Xn(),On(),Game.CalculateGains(),Sn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const qn={init:function(){kn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Qn(),Game.registerHook("draw",Bo),Game.registerHook("logic",xn),kn=!1)},load:function(e){const t=JSON.parse(e);bn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Sn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:fn};Game.registerMod("CookieMonster",qn)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index fd1746f3..65865f8c 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC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Cb,OACA,cACA,CACE,+BACA,8BACA,6CAEF,qGACA,GACA,WACE/lB,IAAY,KAKhBnD,MAAO,IAAIkpB,GACT,OACA,WACA,CACE,uBACA,SACA,cACA,4BACA,sBACA,wBAEF,yCACA,GACA,WACET,QAGJ3oB,cAAe,IAAIopB,GACjB,OACA,WACA,CAAC,aAAc,aAAc,cAC7B,oIACA,GACA,WACET,QAGJnoB,eAAgB,IAAI4oB,GAClB,OACA,WACA,CAAC,4BAA6B,mBAC9B,qDACA,GACA,WACET,QAGJpoB,YAAa,IAAIopB,GACf,WACA,WACA,2BACA,8KACA,EACA,WAEFxoB,WAAY,IAAIioB,GACd,OACA,WACA,CAAC,0BAA2B,uBAC5B,0BACA,GAEFjG,aAAc,IAAIiG,GAChB,OACA,WACA,CAAC,oBAAqB,oBACtB,mEACA,GACA,WAlU6B,IAA3B/tB,EAAU8nB,aAAoB3nB,KAAKmd,QAAU1a,EAC5CzC,KAAKmd,QAAU1b,EAAgB0b,WAqUpCpK,cAAe,IAAI6a,GACjB,OACA,WACA,CAAC,yBAA0B,mBAC3B,sKACA,GAIFxe,YAAa,IAAIwe,GACf,OACA,UACA,CAAC,uBAAwB,uBACzB,yBACA,GACA,WACE1e,QAGJ6R,sBAAuB,IAAI6M,GACzB,OACA,UACA,CAAC,2BAA4B,sBAC7B,0KACA,GAEFzM,aAAc,IAAIyM,GAChB,OACA,UACA,CACE,mBACA,kBACA,0BACA,gCAEF,sGACA,GAEF3M,cAAe,IAAI2M,GACjB,OACA,UACA,CAAC,mBAAoB,mBACrB,sJACA,GAEF9M,oBAAqB,IAAIqN,GACvB,WACA,UACA,oCACA,wMACA,EACA1pB,KAEF7C,WAAY,IAAIqsB,GACd,SACA,UACA,6HAEFpsB,YAAa,IAAIosB,GACf,SACA,UACA,yGAEFnsB,aAAc,IAAImsB,GAChB,SACA,UACA,qHAEFlsB,aAAc,IAAIksB,GAChB,SACA,UACA,4HAEFjsB,UAAW,IAAIisB,GACb,SACA,UACA,gHAEFhsB,aAAc,IAAIgsB,GAChB,SACA,UACA,8HAEF/rB,WAAY,IAAI+rB,GACd,SACA,UACA,w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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file diff --git a/src/Disp/MenuSections/Settings/CreateOption.js b/src/Disp/MenuSections/Settings/CreateOption.js index 9d8d4ad5..05813145 100644 --- a/src/Disp/MenuSections/Settings/CreateOption.js +++ b/src/Disp/MenuSections/Settings/CreateOption.js @@ -13,9 +13,42 @@ import RefreshScale from '../../HelperFunctions/RefreshScale'; import UpdateColours from '../../HelperFunctions/UpdateColours'; import Flash from '../../Notifications/Flash'; import PlaySound from '../../Notifications/Sound'; -import { FavouriteSettings } from '../../VariablesAndData'; +import { + FavouriteSettings, + SimpleTooltipElements, +} from '../../VariablesAndData'; import CookieMonsterPrompt from '../Prompt'; +/** + * This function creates the favourite setting star object + * @param {string} config The name of the option + * @returns {object} div The option object + */ +function CreateFavouriteStar(config) { + const FavStar = document.createElement('a'); + if (FavouriteSettings.includes(config)) { + FavStar.innerText = '★'; + FavStar.style.color = 'yellow'; + } else FavStar.innerText = '☆'; + FavStar.className = 'option'; + FavStar.onclick = function () { + ToggleFavouriteSetting(config); + SaveConfig(); + Game.UpdateMenu(); + }; + FavStar.onmouseover = function () { + Game.tooltip.draw( + this, + escape(SimpleTooltipElements.FavouriteSettingPlaceholder.innerHTML), + ); + }; + FavStar.onmouseout = function () { + Game.tooltip.hide(); + }; + FavStar.appendChild(document.createTextNode(' ')); + return FavStar; +} + /** * This function creates an option-object for the options page * @param {string} config The name of the option @@ -25,19 +58,7 @@ export default function CreatePrefOption(config) { const div = document.createElement('div'); div.className = 'listing'; if (CMOptions.FavouriteSettings === 1) { - const FavStar = document.createElement('a'); - if (FavouriteSettings.includes(config)) { - FavStar.innerText = '★'; - FavStar.style.color = 'yellow'; - } else FavStar.innerText = '☆'; - FavStar.className = 'option'; - FavStar.onclick = function () { - ToggleFavouriteSetting(config); - SaveConfig(); - Game.UpdateMenu(); - }; - div.appendChild(FavStar); - div.appendChild(document.createTextNode(' ')); + div.appendChild(CreateFavouriteStar(config)); } if (Config[config].type === 'bool') { const a = document.createElement('a'); @@ -54,6 +75,7 @@ export default function CreatePrefOption(config) { div.appendChild(a); const label = document.createElement('label'); label.textContent = Config[config].desc; + label.style.lineHeight = '1.6'; div.appendChild(label); return div; } @@ -104,6 +126,7 @@ export default function CreatePrefOption(config) { const span = document.createElement('span'); span.className = 'option'; span.textContent = `${Config[config].label} `; + span.style.lineHeight = '1.6'; div.appendChild(span); const input = document.createElement('input'); input.id = ConfigPrefix + config; @@ -144,6 +167,7 @@ export default function CreatePrefOption(config) { div.appendChild(a); const label = document.createElement('label'); label.textContent = Config[config].desc; + label.style.lineHeight = '1.6'; div.appendChild(label); return div; } @@ -165,6 +189,7 @@ export default function CreatePrefOption(config) { new JsColor(input, { hash: true, position: 'right', onInput: change }); const label = document.createElement('label'); label.textContent = Config[config].desc; + label.style.lineHeight = '1.6'; innerSpan.appendChild(label); if (config.includes('Flash')) { const a = document.createElement('a'); @@ -183,6 +208,7 @@ export default function CreatePrefOption(config) { const span = document.createElement('span'); span.className = 'option'; span.textContent = `${Config[config].label} `; + span.style.lineHeight = '1.6'; div.appendChild(span); const input = document.createElement('input'); input.id = ConfigPrefix + config; @@ -201,6 +227,7 @@ export default function CreatePrefOption(config) { div.appendChild(document.createTextNode(' ')); const label = document.createElement('label'); label.textContent = Config[config].desc; + label.style.lineHeight = '1.6'; div.appendChild(label); return div; } diff --git a/src/Disp/VariablesAndData.js b/src/Disp/VariablesAndData.js index 54588b3f..e788a9b8 100644 --- a/src/Disp/VariablesAndData.js +++ b/src/Disp/VariablesAndData.js @@ -79,6 +79,11 @@ export const TooltipText = [ 'Cheated cookies might break this formula', '250px', ], + [ + 'FavouriteSettingPlaceholder', + "Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings", + '250px', + ], ]; export const SimpleTooltipElements = {}; From 812a2aaa692c7588ce582398b6c14fd7906256ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Sat, 3 Apr 2021 09:09:14 +0200 Subject: [PATCH 16/30] Reordered directory Disp/Settings --- dist/CookieMonster.js.map | 2 +- src/Cache/Stats/MissingUpgrades.js | 2 +- src/Disp/MenuSections/AddMenus.js | 4 ++-- src/Disp/MenuSections/{ => Info}/InfoPage.js | 6 +++--- src/Disp/MenuSections/Prompt.js | 1 - .../{ => Statistics}/AddStatsPage.js | 14 +++++++------- .../{ => Statistics}/CreateDOMElements.js | 6 +++--- .../{ => Statistics}/CreateMissingUpgrades.js | 2 +- .../{ => Statistics}/CreateStatsSections.js | 18 +++++++++--------- 9 files changed, 27 insertions(+), 28 deletions(-) rename src/Disp/MenuSections/{ => Info}/InfoPage.js (86%) rename src/Disp/MenuSections/{ => Statistics}/AddStatsPage.js (92%) rename src/Disp/MenuSections/{ => Statistics}/CreateDOMElements.js (96%) rename src/Disp/MenuSections/{ => Statistics}/CreateMissingUpgrades.js (99%) rename src/Disp/MenuSections/{ => Statistics}/CreateStatsSections.js (98%) diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index 65865f8c..56db8f66 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC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Cb,OACA,cACA,CACE,+BACA,8BACA,6CAEF,qGACA,GACA,WACE/lB,IAAY,KAKhBnD,MAAO,IAAIkpB,GACT,OACA,WACA,CACE,uBACA,SACA,cACA,4BACA,sBACA,wBAEF,yCACA,GACA,WACET,QAGJ3oB,cAAe,IAAIopB,GACjB,OACA,WACA,CAAC,aAAc,aAAc,cAC7B,oIACA,GACA,WACET,QAGJnoB,eAAgB,IAAI4oB,GAClB,OACA,WACA,CAAC,4BAA6B,mBAC9B,qDACA,GACA,WACET,QAGJpoB,YAAa,IAAIopB,GACf,WACA,WACA,2BACA,8KACA,EACA,WAEFxoB,WAAY,IAAIioB,GACd,OACA,WACA,CAAC,0BAA2B,uBAC5B,0BACA,GAEFjG,aAAc,IAAIiG,GAChB,OACA,WACA,CAAC,oBAAqB,oBACtB,mEACA,GACA,WAlU6B,IAA3B/tB,EAAU8nB,aAAoB3nB,KAAKmd,QAAU1a,EAC5CzC,KAAKmd,QAAU1b,EAAgB0b,WAqUpCpK,cAAe,IAAI6a,GACjB,OACA,WACA,CAAC,yBAA0B,mBAC3B,sKACA,GAIFxe,YAAa,IAAIwe,GACf,OACA,UACA,CAAC,uBAAwB,uBACzB,yBACA,GACA,WACE1e,QAGJ6R,sBAAuB,IAAI6M,GACzB,OACA,UACA,CAAC,2BAA4B,sBAC7B,0KACA,GAEFzM,aAAc,IAAIyM,GAChB,OACA,UACA,CACE,mBACA,kBACA,0BACA,gCAEF,sGACA,GAEF3M,cAAe,IAAI2M,GACjB,OACA,UACA,CAAC,mBAAoB,mBACrB,sJACA,GAEF9M,oBAAqB,IAAIqN,GACvB,WACA,UACA,oCACA,wMACA,EACA1pB,KAEF7C,WAAY,IAAIqsB,GACd,SACA,UACA,6HAEFpsB,YAAa,IAAIosB,GACf,SACA,UACA,yGAEFnsB,aAAc,IAAImsB,GAChB,SACA,UACA,qHAEFlsB,aAAc,IAAIksB,GAChB,SACA,UACA,4HAEFjsB,UAAW,IAAIisB,GACb,SACA,UACA,gHAEFhsB,aAAc,IAAIgsB,GAChB,SACA,UACA,8HAEF/rB,WAAY,IAAI+rB,GACd,SACA,UACA,w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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":";AAAS,MACC,IAAIA,EAAsB,CAE9BC,IACA,SAAUC,IAchB,SAAWC,EAAQC,GAElB,aAEuC,iBAAnBF,EAAOG,QAc3BD,EAAQD,GAZPD,EAAOG,QAAUF,EAAOG,SACvBF,EAASD,GACT,SAAUI,GACT,IAAKA,EAAID,SACR,MAAM,IAAIE,MAAM,wCAEjB,OAAOJ,EAAQG,IAZnB,CAoBqB,oBAAXE,OAAyBA,OAASC,MAAM,SAAUD,GAK5D,aAGA,IAwgDME,EAt7BAC,EAzXAC,EAvNFC,EAFAC,IAEAD,EAAM,CAGTE,aAAc,EAEdC,UAAY,GAEZC,WAAa,GAGbC,SAAW,gBACY,IAAXV,GAA0BA,EAAOH,UAC3CG,EAAOH,SAASc,iBAAiB,mBAAoBN,EAAIO,IAAIC,MAAM,IAKrEC,kBAAoB,SAAUC,EAAUC,GAEvC,KADAA,EAAWA,EAAWX,EAAIY,KAAKD,GAAYhB,EAAOH,UAEjD,MAAM,IAAIE,MAAM,qBAQjB,IALA,IAAImB,EAAOF,EAASG,iBAAiBJ,GAGjCK,EAAa,IAAIC,OAAO,WAAahB,EAAIO,IAAIU,YAAc,6BAA8B,KAEpFC,EAAI,EAAGA,EAAIL,EAAKM,OAAQD,GAAK,EAAG,CAUxC,IAAIE,EAAUC,EARd,KAAIR,EAAKK,GAAGjB,SAAWY,EAAKK,GAAGjB,mBAAmBD,EAAIO,YAIjCe,IAAjBT,EAAKK,GAAGK,MAAoD,SAA9BV,EAAKK,GAAGK,KAAKC,gBAA4BxB,EAAIyB,wBAOzB,QAApDL,EAAWpB,EAAI0B,YAAYb,EAAKK,GAAI,aACpCL,EAAKK,GAAGS,YAAcN,EAAIR,EAAKK,GAAGS,UAAUC,MAAMb,KAClD,CACD,IAAIc,EAAYhB,EAAKK,GAEjBY,EAAU,GACG,OAAbV,EACHU,EAAUV,EAEAC,IACVU,QAAQC,KAAK,sFAAwFhC,EAAIiC,SACrGZ,EAAE,KACLS,EAAUT,EAAE,KAId,IAAIa,EAAO,KACX,GAAIJ,EAAQK,OACX,IACCD,EAAOlC,EAAIoC,gBAAgBN,GAC1B,MAAOO,GACRN,QAAQC,KAAKK,EAAI,KAAOP,GAI1B,IACC,IAAI9B,EAAIO,IAAIsB,EAAWK,GACtB,MAAOG,GACRN,QAAQC,KAAKK,OAOjBD,gBAAkB,SAAUE,GAC3B,IAAIJ,EAAO,KAEX,IACCA,EAAOK,KAAKC,MAAMF,GAEjB,MAAOG,GACR,IAAKzC,EAAIO,IAAImC,UACZ,MAAM,IAAIhD,MAAM,4CAA8C+C,GAG9D,IACCP,EAAO,IAAKS,SAAU,eAAiBL,EAAM,kDAAtC,GACN,MAAOM,GACR,MAAM,IAAIlD,MAAM,uCAAyCkD,IAI5D,OAAOV,GAIRW,aAAe,WAEd,IADA,IAAIC,EAAO,GACF5B,EAAI,EAAGA,EAAIlB,EAAIG,UAAUgB,OAAQD,GAAK,EAE1ClB,EAAIG,UAAUe,IAAMlB,EAAIG,UAAUe,GAAG6B,eACxCD,EAAKE,KAAKhD,EAAIG,UAAUe,IAG1B,OAAO4B,GAIRG,SAAW,SAAUC,GACpB,IAAIC,EAAKxD,EAAOH,SAAS4D,cAAcF,GAEvC,OADAlD,EAAIqD,QAAQF,EAAI,OAAO,GAChBA,GAIRvC,KAAO,SAAU0C,GAChB,IAAKA,EACJ,OAAO,KAGR,GAA8B,iBAAnBA,EAA6B,CAEvC,IAAIC,EAAMD,EACNH,EAAK,KACT,IACCA,EAAKxD,EAAOH,SAASgE,cAAcD,GAClC,MAAOlB,GAER,OADAN,QAAQC,KAAKK,GACN,KAKR,OAHKc,GACJpB,QAAQC,KAAK,sCAAuCuB,GAE9CJ,EAGR,OAAInD,EAAIyD,OAAOH,GAEPA,GAGRvB,QAAQC,KAAK,qCAAsCsB,EAAgBA,GAC5D,OAKRG,OAAS,SAAUC,GAClB,MAAoB,iBAATC,KACHD,aAAeC,KAEhBD,GAAsB,iBAARA,GAA4C,iBAAjBA,EAAIE,UAAiD,iBAAjBF,EAAIG,UAIzFA,SAAW,SAAUjD,GACpB,SAAIA,IAAQA,EAAKiD,WACTjD,EAAKiD,SAASrC,eAMvBsC,eAAiB,SAAUlD,GAC1B,KAAOA,EAAKmD,YACXnD,EAAKoD,YAAYpD,EAAKmD,aAKxBE,YAAc,SAAUd,GACvB,OAAOA,GAA2B,UAArBnD,EAAI6D,SAASV,IAA6C,SAA1BA,EAAG5B,KAAKC,eAItD0C,SAAW,SAAUf,GACpB,IAAKA,EACJ,OAAO,EAER,IAAIgB,EAAInE,EAAI6D,SAASV,GACrB,MACQ,WAANgB,GACM,UAANA,GAAiB,CAAC,SAAU,SAAU,SAASC,QAAQjB,EAAG5B,KAAKC,gBAAkB,GAKpF6C,cAAgB,SAAUlB,GACzB,OAAQnD,EAAI6D,SAASV,IACpB,IAAK,QAAS,OAASA,EAAGmB,OAA6B,KAApBnB,EAAGmB,MAAMnC,OAC5C,IAAK,SAAU,MAAkC,KAA1BgB,EAAGoB,YAAYpC,OAEvC,OAAO,MAKRqC,wBAA0B,WACzB,IAAIC,GAAY,EAEhB,IACC,IAAIvC,EAAOwC,OAAOC,eAAe,GAAI,UAAW,CAC/CC,IAAK,WAAcH,GAAY,KAEhC9E,EAAOW,iBAAiB,cAAe,KAAM4B,GAC7CvC,EAAOkF,oBAAoB,cAAe,KAAM3C,GAC/C,MAAOG,IAET,OAAOoC,EAXkB,GAe1BhD,sBACK1B,EAAMJ,EAAOH,SAAS4D,cAAc,YACpCrD,EAAI+E,eACP/E,EAAI+E,aAAa,OAAQ,SACK,SAA1B/E,EAAIwB,KAAKC,iBAQfuD,SAAW,gBAOX1B,QAAU,WACT,IAAI2B,EAAMC,UAAU,GAEpB,GAAyB,IAArBA,UAAU9D,OAAc,CAE3B,IAAI+D,EAAOF,EAAIG,eAAenF,EAAI+E,UAAYC,EAAIhF,EAAI+E,UAAaC,EAAIhF,EAAI+E,UAAY,GAEnFT,EAAQW,UAAU,GAGtB,OADAC,EAHIE,EAAOH,UAAU,IAGRX,GACN,EAED,GAAyB,IAArBW,UAAU9D,QAAwC,iBAAjB8D,UAAU,GAAiB,CAElEC,EAAOF,EAAIG,eAAenF,EAAI+E,UAAYC,EAAIhF,EAAI+E,UAAaC,EAAIhF,EAAI+E,UAAY,GAAvF,IACIM,EAAMJ,UAAU,GAEpB,IAAK,IAAIG,KAAQC,EACZA,EAAIF,eAAeC,KACtBF,EAAKE,GAAQC,EAAID,IAGnB,OAAO,EAGR,MAAM,IAAI1F,MAAM,sBAOjB4F,WAAa,WACZ,IAAIN,EAAMC,UAAU,GACpB,IAAKD,EAAIG,eAAenF,EAAI+E,UAC3B,OAAO,EAER,IAAK,IAAI7D,EAAI,EAAGA,EAAI+D,UAAU9D,OAAQD,GAAK,EAAG,CAC7C,IAAIkE,EAAOH,UAAU/D,UACd8D,EAAIhF,EAAI+E,UAAUK,GAE1B,OAAO,GAIRG,QAAU,SAAUP,EAAKI,EAAMI,GAC9B,IAAKR,EAAIG,eAAenF,EAAI+E,UAAW,CAEtC,QAAmBzD,IAAfkE,EAGH,OAFAR,EAAIhF,EAAI+E,UAAY,GAKtB,IAAIG,EAAOF,EAAIhF,EAAI+E,UAKnB,OAHKG,EAAKC,eAAeC,SAAwB9D,IAAfkE,IACjCN,EAAKE,GAAQI,GAEPN,EAAKE,IAIb1D,YAAc,SAAUyB,EAAIsC,GAC3B,IAAIC,EAAW,QAAUD,EAEzB,OADgBtC,EAAGwC,aAAaD,IAKjCE,YAAc,SAAUzC,EAAIsC,EAAMnB,GACjC,IAAIoB,EAAW,QAAUD,EACzBtC,EAAG2B,aAAaY,EAAUpB,IAI3BuB,qBAAuB,GAGvBC,iBAAmB,SAAUC,EAAW5C,EAAI6C,EAAMC,GAC5CjG,EAAI6F,qBAAqBV,eAAeY,KAC5C/F,EAAI6F,qBAAqBE,GAAa,IAEvC/F,EAAI6F,qBAAqBE,GAAW/C,KAAK,CAACG,EAAI6C,EAAMC,IACpD9C,EAAG7C,iBAAiB0F,EAAMC,GAAM,IAIjCC,kBAAoB,SAAUH,GAC7B,GAAI/F,EAAI6F,qBAAqBV,eAAeY,GAAY,CACvD,IAAK,IAAI7E,EAAI,EAAGA,EAAIlB,EAAI6F,qBAAqBE,GAAW5E,OAAQD,GAAK,EAAG,CACvE,IAAIiF,EAAMnG,EAAI6F,qBAAqBE,GAAW7E,GAC9CiF,EAAI,GAAGtB,oBAAoBsB,EAAI,GAAIA,EAAI,IAAI,UAErCnG,EAAI6F,qBAAqBE,KAKlCK,eAAiB,SAAU/D,GACtBA,EAAE+D,gBAAkB/D,EAAE+D,iBAC1B/D,EAAEgE,aAAc,GAIjBC,cAAgB,SAAUC,GAErBA,EAAOC,aACVxG,EAAIyG,gBAAkBF,EACtBvG,EAAIyG,gBAAgBD,eAKtBE,cAAgB,WAEX1G,EAAIyG,kBACPzG,EAAIyG,gBAAgBE,iBACpB3G,EAAIyG,gBAAkB,OAKxBG,aAAe,SAAUzD,EAAI0D,EAAWC,EAASC,GAChD,GAAK5D,EAAL,CAIA,IAAI6D,EAAK,KAaT,MAXqB,mBAAVC,MACVD,EAAK,IAAIC,MAAMJ,EAAW,CACzBC,QAASA,EACTC,WAAYA,KAIbC,EAAKrH,EAAOH,SAAS0H,YAAY,UAC9BC,UAAUN,EAAWC,EAASC,KAG7BC,IAKLhH,EAAIqD,QAAQ2D,EAAI,YAAY,GAE5B7D,EAAGiE,cAAcJ,IACV,KAIRK,kBAAoB,SAAUlE,EAAI0D,EAAWC,EAASC,GAChD5D,GAGDnD,EAAIiE,YAAYd,IACnBnD,EAAI4G,aAAazD,EAAI0D,EAAWC,EAASC,IAK3CO,SAAW,SAAUN,GACpB,IAAIO,EAAO,CACVC,EAAG,MACHC,GAAI,QACJC,GAAI,UAEL,MAAuB,iBAAZV,EAAGW,KACNX,EAAGW,UACerG,IAAf0F,EAAGY,SAAyBL,EAAKpC,eAAe6B,EAAGY,SACtDL,EAAKP,EAAGY,SAET,MAIRC,QAAU,SAAUvF,GACnB,OAAKA,EAGEA,EAAIwF,QAAQ,aAAc,IAAIC,MAAM,OAFnC,IAOTC,SAAW,SAAUjI,EAAK4B,GACzB,QAAKA,SAGiBL,IAAlBvB,EAAIkI,UACAlI,EAAIkI,UAAUC,SAASvG,IAGvB,IAAM,IAAM5B,EAAI4B,UAAUmG,QAAQ,OAAQ,KAAO,KAAK1D,QAAQ,IAAMzC,EAAY,OAKzFwG,SAAW,SAAUpI,EAAK4B,GACzB,IAAIyG,EAAapI,EAAI6H,QAAQlG,GAE7B,QAAsBL,IAAlBvB,EAAIkI,UAOR,IAAS/G,EAAI,EAAGA,EAAIkH,EAAWjH,OAAQD,GAAK,EACtClB,EAAIgI,SAASjI,EAAKqI,EAAWlH,MACjCnB,EAAI4B,YAAc5B,EAAI4B,UAAY,IAAM,IAAMyG,EAAWlH,SAR1D,IAAK,IAAIA,EAAI,EAAGA,EAAIkH,EAAWjH,OAAQD,GAAK,EAC3CnB,EAAIkI,UAAUI,IAAID,EAAWlH,KAchCoH,YAAc,SAAUvI,EAAK4B,GAC5B,IAAIyG,EAAapI,EAAI6H,QAAQlG,GAE7B,QAAsBL,IAAlBvB,EAAIkI,UAOR,IAAS/G,EAAI,EAAGA,EAAIkH,EAAWjH,OAAQD,GAAK,EAAG,CAC9C,IAAIqH,EAAO,IAAIvH,OACd,QAAUoH,EAAWlH,GAArB,YACSkH,EAAWlH,GADpB,aAESkH,EAAWlH,GAAK,SACzB,KAEDnB,EAAI4B,UAAY5B,EAAI4B,UAAUmG,QAAQS,EAAM,WAb5C,IAAK,IAAIrH,EAAI,EAAGA,EAAIkH,EAAWjH,OAAQD,GAAK,EAC3CnB,EAAIkI,UAAUO,OAAOJ,EAAWlH,KAiBnCuH,aAAe,SAAU1I,GAKxB,OAJgBJ,EAAO+I,iBAAmB/I,EAAO+I,iBAAiB3I,GAAOA,EAAI4I,eAKrE,IAUTC,SAAW,SAAU7I,EAAK8I,EAAQC,EAAWC,GAE5C,IAAIC,EAAWF,EAAY,YAAc,GACrCG,EAAY,KAEhB,IAAK,IAAI7D,KAAQyD,EAChB,GAAIA,EAAO1D,eAAeC,GAAO,CAChC,IAAI8D,EAAS,KAEQ,OAAjBL,EAAOzD,IAGL6D,IAEJA,EAAYjJ,EAAIuF,QAAQxF,EAAK,cAE1BkJ,GAAaA,EAAU9D,eAAeC,KAEzC8D,EAASD,EAAU7D,MAMhB2D,IACEE,IAEJA,EAAYjJ,EAAIuF,QAAQxF,EAAK,YAAa,KAEtCkJ,EAAU9D,eAAeC,KAE7B6D,EAAU7D,GAAQrF,EAAIoJ,MAAM/D,KAG9B8D,EAASL,EAAOzD,IAGF,OAAX8D,GACHnJ,EAAIoJ,MAAMC,YAAYhE,EAAM8D,EAAQF,KAOxCK,SAAW,SAAUC,EAAGC,EAAGC,GAC1B,MAAO,MACL,IAAMC,KAAKC,MAAMJ,GAAGK,SAAS,KAAKC,QAAQ,IAC1C,IAAMH,KAAKC,MAAMH,GAAGI,SAAS,KAAKC,QAAQ,IAC1C,IAAMH,KAAKC,MAAMF,GAAGG,SAAS,KAAKC,QAAQ,IAC1CC,eAIHC,UAAY,SAAUR,EAAGC,EAAGC,EAAGO,GAC9B,MAAO,MACL,IAAMN,KAAKC,MAAMJ,GAAGK,SAAS,KAAKC,QAAQ,IAC1C,IAAMH,KAAKC,MAAMH,GAAGI,SAAS,KAAKC,QAAQ,IAC1C,IAAMH,KAAKC,MAAMF,GAAGG,SAAS,KAAKC,QAAQ,IAC1C,IAAMH,KAAKC,MAAU,IAAJK,GAASJ,SAAS,KAAKC,QAAQ,IAChDC,eAIHG,SAAW,SAAUV,EAAGC,EAAGC,GAC1B,MAAO,OACNC,KAAKC,MAAMJ,GAAK,IAChBG,KAAKC,MAAMH,GAAK,IAChBE,KAAKC,MAAMF,GACZ,KAIDS,UAAY,SAAUX,EAAGC,EAAGC,EAAGO,GAC9B,MAAO,QACNN,KAAKC,MAAMJ,GAAK,IAChBG,KAAKC,MAAMH,GAAK,IAChBE,KAAKC,MAAMF,GAAK,IACfC,KAAKC,MAA4C,KAArCK,QAA4B,EAAIA,IAAY,IAC1D,KAIDG,gBAmBKpK,EAjBJ,WAKC,IAJA,IAAIqK,EAAU,kBACVC,EAAW,CAAC,GAAI,WAAY,QAAS,MAAO,QAC5CC,EAAS1K,EAAOH,SAAS4D,cAAc,OAElClC,EAAI,EAAGA,EAAIkJ,EAASjJ,OAAQD,GAAK,EAAG,CAC5C,IAAIoJ,EAAUF,EAASlJ,GAAKiJ,EACxBI,EAASD,EAAU,2CAGvB,GADAD,EAAOlB,MAAMqB,WAAaD,EACtBF,EAAOlB,MAAMqB,WAChB,OAAOF,EAGT,OAAOH,EAGOM,GAER,WACN,OAAO3K,EAAW,IAAM4K,MAAMC,UAAUC,KAAKC,KAAK5F,UAAW,MAAQ,MAMvE6F,gBAAkB,SAAU/K,EAAKuE,GAChCtE,EAAI4I,SAAS7I,EAAK,CAACgL,gBAAkBzG,GAAS,OAI/C0G,aAAe,SAAUjL,EAAKuE,GAC7BtE,EAAI4I,SAAS7I,EAAK,CAACkL,aAAc3G,GAAS,UAI3C4G,cAAgB,SAAU7I,EAAG8I,GAC5B,IAAIC,EAAE,EAAGC,EAAE,EACPC,EAAOjJ,EAAEkJ,wBAGb,GAFAH,EAAIE,EAAKE,KACTH,EAAIC,EAAKG,KACJN,EAAoB,CACxB,IAAIO,EAAU1L,EAAI2L,aAClBP,GAAKM,EAAQ,GACbL,GAAKK,EAAQ,GAEd,MAAO,CAACN,EAAGC,IAIZO,eAAiB,SAAUvJ,GAC1B,MAAO,CAACA,EAAEwJ,YAAaxJ,EAAEyJ,eAK1BC,iBAAmB,SAAU1J,GAC5B,IAAI+I,EAAI,EAAGC,EAAI,EASf,YARgC,IAArBhJ,EAAE2J,gBAAkC3J,EAAE2J,eAAe7K,QAE/DiK,EAAI/I,EAAE2J,eAAe,GAAGC,QACxBZ,EAAIhJ,EAAE2J,eAAe,GAAGE,SACO,iBAAd7J,EAAE4J,UACnBb,EAAI/I,EAAE4J,QACNZ,EAAIhJ,EAAE6J,SAEA,CAAEd,EAAGA,EAAGC,EAAGA,IAKnBc,iBAAmB,SAAU9J,GAC5B,IACI+J,GADS/J,EAAEkE,QAAUlE,EAAEgK,YACHd,wBAIpBU,EAAU,EAAGC,EAAU,EAY3B,YAXgC,IAArB7J,EAAE2J,gBAAkC3J,EAAE2J,eAAe7K,QAE/D8K,EAAU5J,EAAE2J,eAAe,GAAGC,QAC9BC,EAAU7J,EAAE2J,eAAe,GAAGE,SACC,iBAAd7J,EAAE4J,UACnBA,EAAU5J,EAAE4J,QACZC,EAAU7J,EAAE6J,SAKN,CAAEd,EAFLa,EAAUG,EAAWZ,KAEVH,EADXa,EAAUE,EAAWX,MAK1BE,WAAa,WACZ,IAAIW,EAAM3M,EAAOH,SAAS+M,gBAC1B,MAAO,EACL5M,EAAO6M,aAAeF,EAAIG,aAAeH,EAAII,YAAc,IAC3D/M,EAAOgN,aAAeL,EAAIM,YAAcN,EAAIO,WAAa,KAK5DC,YAAc,WACb,IAAIR,EAAM3M,EAAOH,SAAS+M,gBAC1B,MAAO,CACL5M,EAAOoN,YAAcT,EAAIU,YACzBrN,EAAOsN,aAAeX,EAAIY,eAW7BC,QAAU,SAAU7D,EAAGC,EAAGC,GACzBF,GAAK,IACLC,GAAK,IACLC,GAAK,IACL,IAAIrF,EAAIsF,KAAK2D,IAAI3D,KAAK2D,IAAI9D,EAAEC,GAAGC,GAC3B6D,EAAI5D,KAAK6D,IAAI7D,KAAK6D,IAAIhE,EAAEC,GAAGC,GAC3BnI,EAAIgM,EAAIlJ,EACZ,GAAU,IAAN9C,EAAW,MAAO,CAAE,KAAM,EAAG,IAAMgM,GACvC,IAAIE,EAAIjE,IAAInF,EAAI,GAAGqF,EAAED,GAAGlI,EAAKkI,IAAIpF,EAAI,GAAGmF,EAAEE,GAAGnI,EAAI,GAAGkI,EAAED,GAAGjI,EACzD,MAAO,CACN,IAAU,IAAJkM,EAAM,EAAEA,GACPlM,EAAEgM,EAAT,IACA,IAAMA,IAWRG,QAAU,SAAUD,EAAGE,EAAGJ,GACzB,IAAIK,EAAWL,EAAI,IAAX,IAER,GAAU,OAANE,EACH,MAAO,CAAEG,EAAGA,EAAGA,GAGhBH,GAAK,GACLE,GAAK,IAEL,IAAIvM,EAAIuI,KAAKkE,MAAMJ,GAEflM,EAAIqM,GAAK,EAAID,GACbtJ,EAAIuJ,GAAK,EAAID,GAFTvM,EAAE,EAAIqM,EAAErM,EAAI,GAAGqM,EAAErM,KAGzB,OAAQA,GACP,KAAK,EACL,KAAK,EAAG,MAAO,CAACwM,EAAEvJ,EAAE9C,GACpB,KAAK,EAAG,MAAO,CAAC8C,EAAEuJ,EAAErM,GACpB,KAAK,EAAG,MAAO,CAACA,EAAEqM,EAAEvJ,GACpB,KAAK,EAAG,MAAO,CAAC9C,EAAE8C,EAAEuJ,GACpB,KAAK,EAAG,MAAO,CAACvJ,EAAE9C,EAAEqM,GACpB,KAAK,EAAG,MAAO,CAACA,EAAErM,EAAE8C,KAKtByJ,iBAAmB,SAAUtL,GAC5B,IAKIjB,EALAwM,EAAM,CACTC,KAAM,KACNC,OAAQ,MAKT,GAAI1M,EAAIiB,EAAIV,MAAM,4BAA6B,CAG9C,GAAoB,IAAhBP,EAAE,GAAGF,OAER0M,EAAIE,OAAS,OACbF,EAAIC,KAAO,CACVE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1BoE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1BoE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1BoE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAAM,UAG3B,GAAoB,IAAhBvI,EAAE,GAAGF,OAEf0M,EAAIE,OAAS,MACbF,EAAIC,KAAO,CACVE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1BoE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1BoE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1B,UAGK,IAAoB,IAAhBvI,EAAE,GAAGF,OAWf,OAAO,EATP0M,EAAIE,OAAS,MACbF,EAAIC,KAAO,CACVE,SAAS3M,EAAE,GAAG4M,OAAO,GAAK5M,EAAE,GAAG4M,OAAO,GAAG,IACzCD,SAAS3M,EAAE,GAAG4M,OAAO,GAAK5M,EAAE,GAAG4M,OAAO,GAAG,IACzCD,SAAS3M,EAAE,GAAG4M,OAAO,GAAK5M,EAAE,GAAG4M,OAAO,GAAG,IACzC,MAOF,OAAOJ,EAGR,GAAIxM,EAAIiB,EAAIV,MAAM,6BAA8B,CAG/C,IAEIsM,EAAIC,EAAIC,EAAIC,EAFZC,EAAMjN,EAAE,GAAG0G,MAAM,KACjBwG,EAAK,kCAET,GACCD,EAAInN,QAAU,IACb+M,EAAKI,EAAI,GAAG1M,MAAM2M,MAClBJ,EAAKG,EAAI,GAAG1M,MAAM2M,MAClBH,EAAKE,EAAI,GAAG1M,MAAM2M,IAiBnB,OAfAV,EAAIE,OAAS,MACbF,EAAIC,KAAO,CACVU,WAAWN,EAAG,KAAO,EACrBM,WAAWL,EAAG,KAAO,EACrBK,WAAWJ,EAAG,KAAO,EACrB,MAIAE,EAAInN,QAAU,IACbkN,EAAKC,EAAI,GAAG1M,MAAM2M,MAEnBV,EAAIE,OAAS,OACbF,EAAIC,KAAK,GAAKU,WAAWH,EAAG,KAAO,GAE7BR,EAIT,OAAO,GAIRY,kBAAoB,SAAUC,GAC7B,IAAIC,EAAO,GAEU,iBAAVD,EAEVA,EAAM5G,QAAQ,iDAAiD,SAAUpE,GACxEiL,EAAK3L,KAAKU,MAEDgH,MAAMkE,QAAQF,KACxBC,EAAOD,GAOR,IAFA,IAAIG,EAAS,GAEJ3N,EAAI,EAAGA,EAAIyN,EAAKxN,OAAQD,IAAK,CACrC,IAAI4N,EAAQ9O,EAAI4N,iBAAiBe,EAAKzN,IAClC4N,GACHD,EAAO7L,KAAK8L,GAId,OAAOD,GAIRE,wBAA0B,SAAUF,GACnC,IAAK,IAAI3N,EAAI,EAAGA,EAAI2N,EAAO1N,OAAQD,IAAK,CACvC,IAAI6I,EAAI8E,EAAO3N,GAAG4M,KAAK,GACvB,GAAU,OAAN/D,GAAcA,EAAI,EACrB,OAAO,EAGT,OAAO,GAIRiF,cAAgB,SAAUjB,GACzB,OAAQA,EAAOvM,eACf,IAAK,OACL,IAAK,OACJ,OAAO,EAER,OAAO,GAQRyN,sBAAwB,SAAUC,GACjC,IAAIC,EAAMxP,EAAOyP,kBAAoB,EACrCF,EAAOG,OAASF,EAChBD,EAAOI,QAAUH,EACPD,EAAOK,WAAW,MACxBC,MAAML,EAAKA,IAIhBM,sBAAwB,SAAUX,EAAOY,EAAcC,EAAWC,GAEjE,IAAIC,EAAOpG,KAAKC,MAAM1J,EAAIO,IAAIuP,iBAAiB3O,QAC3C4O,EAAS/P,EAAIO,IAAIyP,eACjBC,EAAWjQ,EAAIO,IAAI2P,iBACnBC,EAAWnQ,EAAIO,IAAI6P,iBAEnBC,EAASV,GAAiC,EAATI,EACjCO,EAAmB,EAATP,EAEVb,EAASlP,EAAIiD,SAAS,UACtBsN,EAAMrB,EAAOK,WAAW,MAE5BL,EAAOG,MAAQgB,EACfnB,EAAOI,OAASgB,EACZV,GACH5P,EAAIiP,sBAAsBC,GAI3BqB,EAAIC,UAAYP,EAChBM,EAAIE,SAAS,EAAG,EAAGJ,EAAQC,GAG3BC,EAAIC,UAAYL,EAChB,IAAK,IAAI/E,EAAI,EAAGA,EAAIiF,EAAQjF,GAAc,EAAT2E,EAChCQ,EAAIE,SAASrF,EAAG,EAAG2E,EAAQA,GAC3BQ,EAAIE,SAASrF,EAAI2E,EAAQA,EAAQA,EAAQA,GAGtCjB,IAEHyB,EAAIC,UAAY1B,EAChByB,EAAIE,SAAS,EAAG,EAAGJ,EAAQC,IAG5B,IAAII,EAAQ,KACZ,OAAQhB,GACP,IAAK,OACJgB,EAAQ,EACRH,EAAII,UAAU,EAAG,EAAGd,EAAK,EAAGS,GAC5B,MACD,IAAK,QACJI,EAAQL,EAASR,EACjBU,EAAII,UAAUN,EAAUR,EAAK,EAAI,EAAGA,EAAK,EAAGS,GAG9C,GAAc,OAAVI,EAAgB,CACnBH,EAAIK,UAAY,EAChB,IAAK,IAAI1P,EAAI,EAAGA,EAAIlB,EAAIO,IAAIuP,iBAAiB3O,OAAQD,GAAK,EACzDqP,EAAIM,YACJN,EAAIO,YAAc9Q,EAAIO,IAAIuP,iBAAiB5O,GAC3CqP,EAAIQ,OAAO,GAAML,EAAQxP,EAAG,GAC5BqP,EAAIS,OAAO,GAAMN,EAAQxP,EAAGoP,GAC5BC,EAAIU,SAIN,MAAO,CACN/B,OAAQA,EACRG,MAAOgB,EACPf,OAAQgB,IAMVY,wBAA0B,SAAUpC,EAAOqC,EAAU9B,GACpD,IAAI+B,EAkBJ,OAfCA,EADGD,GAAY9B,EACN,CACR,MAAQ,CAAC7D,KAAO,QAAS6F,MAAQ,QAAQF,GACzCrC,EAAQ,MACRA,EAAQ,IAAMO,EAAQ,KACtB,kBAAoBA,EAAQ,GAAK,KACjC,sBAGQ,CACR,WACAP,EAAQ,MACRA,EAAQ,SAIH9O,EAAIkK,eAAeoH,MAAM1R,KAAMwR,IAIvCG,eAAiB,WAEhB,GAAKvR,EAAIwR,QAAWxR,EAAIwR,OAAOC,MAA/B,CAIA,IAEIC,EAAIC,EAFJC,EAAU5R,EAAIwR,OAAOC,MAIrBG,EAAQC,OAGXH,EAAK1R,EAAIkL,cAAc0G,EAAQ7O,eAAe,GAC9C4O,EAAK,CAAC,EAAG,KAETD,EAAK1R,EAAIkL,cAAc0G,EAAQ7O,eAC/B4O,EAAK3R,EAAI2L,cAGV,IAII5B,EAAGP,EAAGsI,EAJNC,EAAK/R,EAAI4L,eAAegG,EAAQ7O,eAChCiP,EAAKhS,EAAI8M,cACTmF,EAAKjS,EAAIkS,cAAcN,GACvBO,EAAK,CAACF,EAAGG,QAASH,EAAGI,SAEzB,OAAQT,EAAQT,SAAS3P,eACxB,IAAK,OAAQuI,EAAE,EAAGP,EAAE,EAAGsI,GAAG,EAAG,MAC7B,IAAK,QAAQ/H,EAAE,EAAGP,EAAE,EAAGsI,EAAE,EAAG,MAC5B,IAAK,MAAQ/H,EAAE,EAAGP,EAAE,EAAGsI,GAAG,EAAG,MAC7B,QAAa/H,EAAE,EAAGP,EAAE,EAAGsI,EAAE,EAE1B,IAAIQ,GAAKP,EAAGvI,GAAG2I,EAAG3I,IAAI,EAGtB,GAAKoI,EAAQW,cAMRC,EAAK,EACPb,EAAG5H,GAAG2H,EAAG3H,GAAGoI,EAAGpI,GAAKiI,EAAGjI,KACrB4H,EAAG5H,GAAG2H,EAAG3H,GAAGgI,EAAGhI,GAAG,EAAIiI,EAAGjI,GAAG,GAAK2H,EAAG3H,GAAGgI,EAAGhI,GAAGoI,EAAGpI,IAAM,EAAI2H,EAAG3H,GAAGgI,EAAGhI,GAAGoI,EAAGpI,GAC3E2H,EAAG3H,IACH4H,EAAGnI,GAAGkI,EAAGlI,GAAGuI,EAAGvI,GAAG2I,EAAG3I,GAAG8I,EAAEA,EAAER,EAAIE,EAAGxI,IACjCmI,EAAGnI,GAAGkI,EAAGlI,GAAGuI,EAAGvI,GAAG,EAAIwI,EAAGxI,GAAG,GAAKkI,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,GAAK,EAAIJ,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,EAAIJ,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,EAC/FJ,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,GAAK,EAAIJ,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,EAAIJ,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,QAXhE,IAAIU,EAAK,CACRd,EAAG3H,GACH2H,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,GAalB,IAAI1G,EAAIoH,EAAGzI,GACPsB,EAAImH,EAAGhJ,GACPiJ,EAAgBb,EAAQC,MAAQ,QAAU,WAC1Ca,GACFF,EAAG,GAAKL,EAAG,GAAKT,EAAG,IAAMc,EAAG,GAAKd,EAAG,GAAKK,EAAG,KAC5CS,EAAG,GAAKL,EAAG,GAAKT,EAAG,GAAKK,EAAG,GAE7B/R,EAAI2S,cAAcf,EAASxG,EAAGC,EAAGoH,EAAeC,KAIjDC,cAAgB,SAAUf,EAASxG,EAAGC,EAAGoH,EAAeC,GACvD,IAAIE,EAAUF,EAAiB,EAAId,EAAQiB,WAE3C7S,EAAIwR,OAAOsB,KAAK3J,MAAMgI,SAAWsB,EACjCzS,EAAIwR,OAAOsB,KAAK3J,MAAMqC,KAAOJ,EAAI,KACjCpL,EAAIwR,OAAOsB,KAAK3J,MAAMsC,IAAMJ,EAAI,KAEhCrL,EAAIgL,aACHhL,EAAIwR,OAAOuB,KACXnB,EAAQoB,OACP,IAAIhT,EAAIH,UAAU,EAAG+S,EAAShB,EAAQiB,WAAY,EAAGjB,EAAQqB,aAC7D,OAIHf,cAAgB,SAAUN,GACzB,IAAIsB,EAAI,EAAItB,EAAQuB,mBAAqBvB,EAAQvC,MAC7C9B,EAAI,EAAIqE,EAAQuB,mBAAqBvB,EAAQtC,OAE7C8D,EAAc,EAAIxB,EAAQuB,mBAAqB,EAAInT,EAAIqT,kBAAkBzB,GAAWA,EAAQ0B,WAE5FtT,EAAIuT,iBAAiB3B,KACxBsB,GAAKE,GAEFxB,EAAQ4B,oBACXN,GAAKE,GAGN,IAAIK,EAAMzT,EAAI0T,eAAe9B,EAASsB,GAElCO,EAAInE,SACP/B,GAAKkG,EAAInE,OAASsC,EAAQ+B,SAEvB/B,EAAQgC,cACXrG,GAAK,EAAIqE,EAAQuB,mBAAqBvB,EAAQ+B,QAAU/B,EAAQiC,cAGjE,IAAIC,EAAKZ,EAAK,EAAItB,EAAQ+B,QACtBI,EAAKxG,EAAK,EAAIqE,EAAQ+B,QAE1B,MAAO,CACNK,SAAUd,EACVe,SAAU1G,EACV2G,QAASJ,EACTK,QAASJ,EACT3B,QAAS0B,EAAM,EAAIlC,EAAQwC,YAC3B/B,QAAS0B,EAAM,EAAInC,EAAQwC,YAC3BC,QAASZ,IAKXC,eAAiB,SAAU9B,EAASvC,GACnC,IAAIiF,EAAO,EAAGC,EAAO,EAAGC,EAAQ,EAAGC,EAAQ,EAAGnF,EAAS,EACnDoF,EAAc9C,EAAQ+C,SAAW/C,EAAQ+C,SAASxT,OAAS,EAiB/D,OAfIuT,IAEHH,GADAD,EAAO1C,EAAQgD,aACD,EAAInL,KAAKoL,KAAKH,EAAcJ,GAAQ,EAGlDE,EAAQ/K,KAAK6D,IAAI,EAAG7D,KAAKkE,OAAO0B,GAAUiF,EAAO,GAAK1C,EAAQkD,gBAAmBR,IACjFG,EAAQ7C,EAAQmD,cAAgBtL,KAAK2D,IAAIwE,EAAQmD,cAAeP,GAASA,GAGtED,IACHjF,EACCiF,EAAOE,GACNF,EAAO,GAAK3C,EAAQkD,gBAGhB,CACNR,KAAMA,EACNC,KAAMA,EACNC,MAAOA,EACPC,MAAOA,EACPpF,MAAOA,EACPC,OAAQA,IAKV+D,kBAAoB,SAAUzB,GAC7B,OAAOnI,KAAK6D,IACXsE,EAAQ+B,QAAU,EACjB,EAAI/B,EAAQoD,mBAAqBpD,EAAQqD,iBAAoBrD,EAAQuB,qBAKxE+B,eAAiB,SAAUtD,GAC1B,OAAQA,EAAQuD,KAAKlH,OAAO,GAAGzM,eAC9B,IAAK,IAAK,MAAO,IAElB,MAAO,KAIR+R,iBAAmB,SAAU3B,GAC5B,GAAIA,EAAQuD,KAAKhU,OAAS,EACzB,OAAQyQ,EAAQuD,KAAKlH,OAAO,GAAGzM,eAC9B,IAAK,IAAK,MAAO,IACjB,IAAK,IAAK,MAAO,IAGnB,OAAO,MAKR4T,gBAAkB,SAAUxD,EAASxM,GACpC,GAAKwM,EAAQxM,GAAb,CAGA,IAAIiQ,EAAW,KAEf,GAA6B,iBAAlBzD,EAAQxM,GAElB,IACCiQ,EAAW,IAAI1S,SAAUiP,EAAQxM,IAChC,MAAO/C,GACRN,QAAQuT,MAAMjT,QAIfgT,EAAWzD,EAAQxM,GAGhBiQ,GACHA,EAASxK,KAAK+G,KAOhB2D,cAAgB,SAAUC,GAEzB,IADA,IAAI1S,EAAO9C,EAAI6C,eACN3B,EAAI,EAAGA,EAAI4B,EAAK3B,OAAQD,GAAK,EACrC4B,EAAK5B,GAAGuU,QAAQD,IAKlBE,kBAAoB,CACnBC,MAAO,YACPC,MAAO,aAERC,iBAAmB,CAClBF,MAAO,UACPC,MAAO,YAIRE,eAAiB,KACjBrP,gBAAkB,KAGlBsP,gBAAkB,SAAU1T,IACyB,IAAhD,CAAC,MAAO,UAAU+B,QAAQpE,EAAIsH,SAASjF,KACtCrC,EAAIwR,QAAUxR,EAAIwR,OAAOC,OAC5BzR,EAAIwR,OAAOC,MAAMuE,WAMpBC,eAAiB,SAAU5T,GAC1BrC,EAAIuR,kBAIL2E,eAAiB,SAAU7T,GAC1BrC,EAAIuR,kBAIL4E,eAAiB,SAAU9T,GAEtBrC,EAAIwR,QAAUxR,EAAIwR,OAAOC,OAC5BzR,EAAIwR,OAAOC,MAAMuE,WAKnBI,oBAAsB,SAAU/T,GAC/B,IAAIkE,EAASlE,EAAEkE,QAAUlE,EAAEgK,WAEvB9F,EAAOtG,SAAWsG,EAAOtG,mBAAmBD,EAAIO,IAC/CgG,EAAOtG,QAAQoW,cAAgB9P,EAAO+P,UACzC/P,EAAOtG,QAAQsW,OAENvW,EAAIuF,QAAQgB,EAAQ,OAChBvG,EAAIuF,QAAQgB,EAAQ,YAGjCvG,EAAIwW,sBAAsBnU,EAAGkE,EAAQvG,EAAIuF,QAAQgB,EAAQ,WAAY,SAIlEvG,EAAIwR,QAAUxR,EAAIwR,OAAOC,OAC5BzR,EAAIwR,OAAOC,MAAMuE,WAMpBS,mBAAqB,SAAUpU,GAC9B,IAAIkE,EAASlE,EAAEkE,QAAUlE,EAAEgK,WAEvBrM,EAAIuF,QAAQgB,EAAQ,YACvBvG,EAAIwW,sBAAsBnU,EAAGkE,EAAQvG,EAAIuF,QAAQgB,EAAQ,WAAY,UAKvEiQ,sBAAwB,SAAUnU,EAAGkE,EAAQmQ,EAAaC,GACzD,IAAI/E,EAAU5R,EAAIuF,QAAQgB,EAAQ,YAElCvG,EAAIoG,eAAe/D,GACnBrC,EAAIsG,cAAcC,GAElB,IAAIqQ,EAAqB,SAAUtK,EAAKuK,GACvC7W,EAAI8F,iBAAiB,OAAQwG,EAAKtM,EAAI0V,kBAAkBiB,GACvD3W,EAAI8W,sBAAsBzU,EAAGkE,EAAQmQ,EAAaC,EAAaE,IAChE7W,EAAI8F,iBAAiB,OAAQwG,EAAKtM,EAAI6V,iBAAiBc,GACtD3W,EAAI+W,qBAAqB1U,EAAGkE,EAAQmQ,EAAaC,KAKnD,GAFAC,EAAmBjX,EAAOH,SAAU,CAAC,EAAG,IAEpCG,EAAOqX,QAAUrX,EAAOsX,aAAc,CACzC,IAAI3L,EAAO3L,EAAOsX,aAAa1L,wBAC3B2L,EAAM,EAAE5L,EAAKE,MAAOF,EAAKG,KAC7BmL,EAAmBjX,EAAOqX,OAAOrX,OAAOH,SAAU0X,GAGnD,IAAIC,EAAMnX,EAAI+L,iBAAiB1J,GAC3B+U,EAAMpX,EAAImM,iBAAiB9J,GAM/B,OALArC,EAAI8V,eAAiB,CACpB1K,EAAG+L,EAAI/L,EAAIgM,EAAIhM,EACfC,EAAG8L,EAAI9L,EAAI+L,EAAI/L,GAGRqL,GACR,IAAK,MAEkC,MAAlC1W,EAAIuT,iBAAiB3B,IAA2C,IAAvBA,EAAQyF,SAAShK,GAC7DuE,EAAQ0F,SAAS,KAAM,KAAM,IAAK,MAEnCtX,EAAIuX,OAAO3F,EAASvP,EAAG,EAAG,GAC1B,MAED,IAAK,MACJrC,EAAIwX,OAAO5F,EAASvP,EAAG,GACvB,MAED,IAAK,OACJrC,EAAIyX,QAAQ7F,EAASvP,EAAG,GAGzBuP,EAAQ6D,QAAQ,UAIjBqB,sBAAwB,SAAUzU,EAAGkE,EAAQmQ,EAAaC,EAAaE,GACtE,OAAO,SAAUxU,GAChB,IAAIuP,EAAU5R,EAAIuF,QAAQgB,EAAQ,YAClC,OAAQmQ,GACR,IAAK,MACJ1W,EAAIuX,OAAO3F,EAASvP,EAAGwU,EAAO,GAAIA,EAAO,IACzC,MAED,IAAK,MACJ7W,EAAIwX,OAAO5F,EAASvP,EAAGwU,EAAO,IAC9B,MAED,IAAK,OACJ7W,EAAIyX,QAAQ7F,EAASvP,EAAGwU,EAAO,IAGhCjF,EAAQ6D,QAAQ,WAKlBsB,qBAAuB,SAAU1U,EAAGkE,EAAQmQ,EAAaC,GACxD,OAAO,SAAUtU,GAChB,IAAIuP,EAAU5R,EAAIuF,QAAQgB,EAAQ,YAClCvG,EAAIkG,kBAAkB,QACtBlG,EAAI0G,gBAKJkL,EAAQ6D,QAAQ,SAChB7D,EAAQ6D,QAAQ,YAKlBiC,qBAAuB,SAAUrV,GAChC,IAAIkE,EAASlE,EAAEsV,cACX/F,EAAU5R,EAAIuF,QAAQgB,EAAQ,YAC9BuI,EAAQ9O,EAAIuF,QAAQgB,EAAQ,SAGK,QAAjCqL,EAAQ7D,OAAOvM,gBAClBoQ,EAAQgG,WAAW9I,EAAMf,QACpB/N,EAAIgP,cAAc4C,EAAQiG,eAC9B/I,EAAMhB,KAAK,GAAK,IAKI,OAAlBgB,EAAMhB,KAAK,MACmB,IAA7B8D,EAAQkG,kBAA2D,SAA7BlG,EAAQkG,kBAA+BlG,EAAQmG,2BACxFjJ,EAAMhB,KAAK,GAAK,GAIlB8D,EAAQoG,SAAS1G,MAAMM,EAAS9C,EAAMhB,MAEtC8D,EAAQ6D,QAAQ,SAChB7D,EAAQ6D,QAAQ,UAEZ7D,EAAQqG,oBACXrG,EAAQsG,QAKVX,OAAS,SAAU3F,EAASvP,EAAG8V,EAAMC,GACpC,IAAIC,EAAarY,EAAI+L,iBAAiB1J,GAClC+I,EAAI+M,EAAOE,EAAWjN,EAAIpL,EAAI8V,eAAe1K,EAAIwG,EAAQ+B,QAAU/B,EAAQuB,mBAC3E9H,EAAI+M,EAAOC,EAAWhN,EAAIrL,EAAI8V,eAAezK,EAAIuG,EAAQ+B,QAAU/B,EAAQuB,mBAE3EmF,EAAOlN,GAAK,KAAOwG,EAAQvC,MAAQ,IACnCkJ,EAAO,IAAOlN,GAAK,KAAOuG,EAAQtC,OAAS,IAE/C,OAAQtP,EAAIkV,eAAetD,IAC3B,IAAK,IAAKA,EAAQ0F,SAASgB,EAAMC,EAAM,KAAM,MAAO,MACpD,IAAK,IAAK3G,EAAQ0F,SAASgB,EAAM,KAAMC,EAAM,QAK9Cf,OAAS,SAAU5F,EAASvP,EAAG+V,GAC9B,IAEIG,EAAO,KADHH,EADSpY,EAAI+L,iBAAiB1J,GACZgJ,EAAIrL,EAAI8V,eAAezK,EAAIuG,EAAQ+B,QAAU/B,EAAQuB,qBACxD,KAAOvB,EAAQtC,OAAS,IAE/C,OAAQtP,EAAIuT,iBAAiB3B,IAC7B,IAAK,IAAKA,EAAQ0F,SAAS,KAAMiB,EAAM,KAAM,MAAO,MACpD,IAAK,IAAK3G,EAAQ0F,SAAS,KAAM,KAAMiB,EAAM,QAK9Cd,QAAU,SAAU7F,EAASvP,EAAG+V,GAC/B,IAEIG,EAAO,GADHH,EADSpY,EAAI+L,iBAAiB1J,GACZgJ,EAAIrL,EAAI8V,eAAezK,EAAIuG,EAAQ+B,QAAU/B,EAAQuB,qBACxD,GAAOvB,EAAQtC,OAAS,IAE/C,GAAIiJ,EAAO,EAAK,CAEf,IAAIC,EAAM5G,EAAQiG,YACmB,QAAjCjG,EAAQ7D,OAAOvM,eAA4BxB,EAAIgP,cAAcwJ,IAChE5G,EAAQgG,WAAmB,QAARY,EAAgB,OAAS,QAI9C5G,EAAQ0F,SAAS,KAAM,KAAM,KAAMiB,IAIpCE,gBAAkB,WAEjB,IAAI5K,EAAM,CACT9N,IAAK,KACL2Y,KAAM,MAGHxJ,EAASlP,EAAIiD,SAAS,UACtBsN,EAAMrB,EAAOK,WAAW,MAsC5B,OAHA1B,EAAI9N,IAAMmP,EACVrB,EAAI6K,KAlCW,SAAUrJ,EAAOC,EAAQ/N,GACvC2N,EAAOG,MAAQA,EACfH,EAAOI,OAASA,EAEhBiB,EAAII,UAAU,EAAG,EAAGzB,EAAOG,MAAOH,EAAOI,QAEzC,IAAIqJ,EAAQpI,EAAIqI,qBAAqB,EAAG,EAAG1J,EAAOG,MAAO,GACzDsJ,EAAME,aAAa,EAAO,QAC1BF,EAAME,aAAa,EAAI,EAAG,QAC1BF,EAAME,aAAa,EAAI,EAAG,QAC1BF,EAAME,aAAa,GAAO,QAC1BF,EAAME,aAAa,EAAI,EAAG,QAC1BF,EAAME,aAAa,EAAI,EAAG,QAC1BF,EAAME,aAAa,EAAO,QAE1BtI,EAAIC,UAAYmI,EAChBpI,EAAIE,SAAS,EAAG,EAAGvB,EAAOG,MAAOH,EAAOI,QAExC,IAAIwJ,EAAQvI,EAAIqI,qBAAqB,EAAG,EAAG,EAAG1J,EAAOI,QACrD,OAAQ/N,EAAKC,eACb,IAAK,IACJsX,EAAMD,aAAa,EAAG,uBACtBC,EAAMD,aAAa,EAAG,uBACtB,MACD,IAAK,IACJC,EAAMD,aAAa,EAAG,iBACtBC,EAAMD,aAAa,EAAG,iBAGvBtI,EAAIC,UAAYsI,EAChBvI,EAAIE,SAAS,EAAG,EAAGvB,EAAOG,MAAOH,EAAOI,SAMlCzB,GAIRkL,qBAAuB,WAEtB,IAAIlL,EAAM,CACT9N,IAAK,KACL2Y,KAAM,MAGHxJ,EAASlP,EAAIiD,SAAS,UACtBsN,EAAMrB,EAAOK,WAAW,MAmB5B,OAHA1B,EAAI9N,IAAMmP,EACVrB,EAAI6K,KAfW,SAAUrJ,EAAOC,EAAQ0J,EAAQC,GAC/C/J,EAAOG,MAAQA,EACfH,EAAOI,OAASA,EAEhBiB,EAAII,UAAU,EAAG,EAAGzB,EAAOG,MAAOH,EAAOI,QAEzC,IAAI4J,EAAO3I,EAAIqI,qBAAqB,EAAG,EAAG,EAAG1J,EAAOI,QACpD4J,EAAKL,aAAa,EAAGG,GACrBE,EAAKL,aAAa,EAAGI,GAErB1I,EAAIC,UAAY0I,EAChB3I,EAAIE,SAAS,EAAG,EAAGvB,EAAOG,MAAOH,EAAOI,SAMlCzB,GAIRsL,sBAAwB,WAEvB,IAAItL,EAAM,CACT9N,IAAK,KACL2Y,KAAM,MAGHxJ,EAASlP,EAAIiD,SAAS,UACtBsN,EAAMrB,EAAOK,WAAW,MAoC5B,OAHA1B,EAAI9N,IAAMmP,EACVrB,EAAI6K,KAhCW,SAAUrJ,EAAOC,EAAQR,GACvCI,EAAOG,MAAQA,EACfH,EAAOI,OAASA,EAEhBiB,EAAII,UAAU,EAAG,EAAGzB,EAAOG,MAAOH,EAAOI,QAEzC,IAAIS,EAASb,EAAOG,MAAQ,EACxBY,EAAWjQ,EAAIO,IAAI2P,iBACnBC,EAAWnQ,EAAIO,IAAI6P,iBAMvB,GAHAG,EAAIC,UAAYP,EAChBM,EAAIE,SAAS,EAAG,EAAGvB,EAAOG,MAAOH,EAAOI,QAEpCS,EAAS,EACZ,IAAK,IAAI1E,EAAI,EAAGA,EAAI6D,EAAOI,OAAQjE,GAAc,EAAT0E,EAEvCQ,EAAIC,UAAYL,EAChBI,EAAIE,SAAS,EAAGpF,EAAG0E,EAAQA,GAC3BQ,EAAIE,SAASV,EAAQ1E,EAAI0E,EAAQA,EAAQA,GAI3C,IAAImJ,EAAO3I,EAAIqI,qBAAqB,EAAG,EAAG,EAAG1J,EAAOI,QACpD4J,EAAKL,aAAa,EAAG/J,GACrBoK,EAAKL,aAAa,EAAG,iBAErBtI,EAAIC,UAAY0I,EAChB3I,EAAIE,SAAS,EAAG,EAAGvB,EAAOG,MAAOH,EAAOI,SAMlCzB,GAIRhO,WACKA,EAAY,SAAUuZ,EAASxG,EAASyG,EAAMC,EAAQxK,EAAOyK,GAChE3Z,KAAKwZ,QAAUA,EACfxZ,KAAKgT,QAAUA,EACfhT,KAAKyZ,KAAOA,EACZzZ,KAAK0Z,OAASA,EACd1Z,KAAKkP,MAAQA,EACblP,KAAK2Z,QAAUA,GAGhB1Z,EAAU8K,UAAUhB,SAAW,WAC9B,IAAIgF,EAAO,CACVlF,KAAKC,MAAM9J,KAAKwZ,SAAW,KAC3B3P,KAAKC,MAAM9J,KAAKgT,SAAW,KAC3BnJ,KAAKC,MAAM9J,KAAKyZ,MAAQ,KACxB5P,KAAKC,MAAM9J,KAAK0Z,QAAU,KAC1B1Z,KAAKkP,OAKN,OAHIlP,KAAK2Z,OACR5K,EAAK3L,KAAK,SAEJ2L,EAAK/D,KAAK,MAGX/K,GAIR2Z,MAAQ,CACPC,WAAa,EACbC,WAAa,EACbC,aAAe,GAIhBC,SAAW,CACV7L,OAAQ,CAAC,OAAQ,MAAO,MAAO,OAAQ,MAAO,QAC9C8L,gBAAiB,CAAC,OAAQ,SAC1B1E,KAAM,CAAC,MAAO,MAAO,KAAM,MAC3BhE,SAAU,CAAC,OAAQ,QAAS,MAAO,UACnC2I,aAAc,CAAC,QAAQ,GAAM,GAC7BhC,iBAAkB,CAAC,QAAQ,GAAM,IAIlCiC,eAAiB,CAEhBC,aAAgB,iBAChBC,aAAgB,UAChBC,mBAAsB,aACtBC,SAAY,cACZC,WAAc,qBACdC,WAAc,qBACdC,OAAU,MAIXrY,QAAU,iCAUV1B,IAAM,SAAUwC,EAAeb,GAE9B,IAAIqY,EAAO3a,KAurBX,SAAS4a,EAAWC,EAAQnW,GAC3B,GAAsB,iBAAXmW,EACV,MAAM,IAAI/a,MAAM,kCAAoC+a,GAIrD,GAAIza,EAAI4Z,SAASzU,eAAesV,KACV,iBAAVnW,IACVA,EAAQA,EAAM9C,gBAE8B,IAAzCxB,EAAI4Z,SAASa,GAAQrW,QAAQE,IAChC,MAAM,IAAI5E,MAAM,WAAc+a,EAAS,wBAA2BnW,GAKpE,GAAItE,EAAI+Z,eAAe5U,eAAesV,GAAS,CAC9C,IAAIC,EAASD,EACTE,EAAS3a,EAAI+Z,eAAeU,GAChC,IAAIE,EAMH,MAAM,IAAIjb,MAAM,WAAc+a,EAAS,mBAJvC1Y,QAAQC,KAAK,iDAAuDhC,EAAIiC,QAASyY,EAAQC,GACzFF,EAASE,EAOX,IAAIC,EAAS,QAAUH,EAEvB,GAA4B,mBAAjBF,EAAKK,GAEf,OADAL,EAAKK,GAAQtW,IACN,EAED,GAAImW,KAAUF,EAEpB,OADAA,EAAKE,GAAUnW,GACR,EAGR,MAAM,IAAI5E,MAAM,sCAAwC+a,GAIzD,SAASI,EAAWJ,GACnB,GAAsB,iBAAXA,EACV,MAAM,IAAI/a,MAAM,kCAAoC+a,GAIrD,GAAIza,EAAI+Z,eAAe5U,eAAesV,GAAS,CAC9C,IAAIC,EAASD,EACTE,EAAS3a,EAAI+Z,eAAeU,GAChC,IAAIE,EAMH,MAAM,IAAIjb,MAAM,WAAc+a,EAAS,mBAJvC1Y,QAAQC,KAAK,iDAAuDhC,EAAIiC,QAASyY,EAAQC,GACzFF,EAASE,EAOX,IAAIG,EAAS,QAAUL,EAEvB,GAA4B,mBAAjBF,EAAKO,GACf,OAAOP,EAAKO,GAAQxW,OAEd,GAAImW,KAAUF,EACpB,OAAOA,EAAKE,GAGb,MAAM,IAAI/a,MAAM,sCAAwC+a,GAWzD,SAASM,IAKRR,EAAKS,8BAEAhb,EAAIwR,SACRxR,EAAIwR,OAAS,CACZC,MAAO,KACPqB,KAAO9S,EAAIiD,SAAS,OACpBgY,IAAMjb,EAAIiD,SAAS,OACnB8P,KAAO/S,EAAIiD,SAAS,OACpBiY,KAAOlb,EAAIiD,SAAS,OACpBkY,IAAMnb,EAAIiD,SAAS,OACnBmY,KAAOpb,EAAIiD,SAAS,OACpBoY,KAAOrb,EAAIiD,SAAS,OACpBqY,UAAYtb,EAAIyY,kBAChB8C,MAAQvb,EAAIiD,SAAS,OACrBuY,QAAUxb,EAAIiD,SAAS,OACvBwY,QAAUzb,EAAIiD,SAAS,OACvByY,QAAU1b,EAAIiD,SAAS,OACvB0Y,QAAU3b,EAAIiD,SAAS,OACvB2Y,IAAM5b,EAAIiD,SAAS,OACnB4Y,KAAO7b,EAAIiD,SAAS,OACpB6Y,KAAO9b,EAAIiD,SAAS,OACpB8Y,QAAU/b,EAAI+Y,uBACdiD,QAAUhc,EAAIiD,SAAS,OACvBgZ,SAAWjc,EAAIiD,SAAS,OACxBiZ,SAAWlc,EAAIiD,SAAS,OACxBkZ,SAAWnc,EAAIiD,SAAS,OACxBmZ,KAAOpc,EAAIiD,SAAS,OACpBoZ,MAAQrc,EAAIiD,SAAS,OACrBqZ,MAAQtc,EAAIiD,SAAS,OACrBsZ,SAAWvc,EAAImZ,wBACfqD,SAAWxc,EAAIiD,SAAS,OACxBwZ,UAAYzc,EAAIiD,SAAS,OACzByZ,UAAY1c,EAAIiD,SAAS,OACzB0Z,UAAY3c,EAAIiD,SAAS,OACzBwQ,IAAMzT,EAAIiD,SAAS,OACnB2Z,IAAM5c,EAAIiD,SAAS,OACnB4Z,KAAO7c,EAAIiD,SAAS,SAGrBjD,EAAIwR,OAAO2J,IAAI2B,YAAY9c,EAAIwR,OAAO8J,UAAUvb,KAChDC,EAAIwR,OAAO4J,KAAK0B,YAAY9c,EAAIwR,OAAO2J,KACvCnb,EAAIwR,OAAO+J,MAAMuB,YAAY9c,EAAIwR,OAAOgK,SACxCxb,EAAIwR,OAAO+J,MAAMuB,YAAY9c,EAAIwR,OAAOiK,SACxCzb,EAAIwR,OAAO+J,MAAMuB,YAAY9c,EAAIwR,OAAOkK,SACxC1b,EAAIwR,OAAO+J,MAAMuB,YAAY9c,EAAIwR,OAAOmK,SACxC3b,EAAIwR,OAAO4J,KAAK0B,YAAY9c,EAAIwR,OAAO+J,OACvCvb,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAO4J,MACtCpb,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAO6J,MAEtCrb,EAAIwR,OAAOoK,IAAIkB,YAAY9c,EAAIwR,OAAOuK,QAAQhc,KAC9CC,EAAIwR,OAAOqK,KAAKiB,YAAY9c,EAAIwR,OAAOoK,KACvC5b,EAAIwR,OAAOqK,KAAKiB,YAAY9c,EAAIwR,OAAO2K,UACvCnc,EAAIwR,OAAO2K,SAASW,YAAY9c,EAAIwR,OAAO0K,UAC3Clc,EAAIwR,OAAO0K,SAASY,YAAY9c,EAAIwR,OAAOyK,UAC3Cjc,EAAIwR,OAAOyK,SAASa,YAAY9c,EAAIwR,OAAOwK,SAC3Chc,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAOqK,MACtC7b,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAOsK,MAEtC9b,EAAIwR,OAAO4K,KAAKU,YAAY9c,EAAIwR,OAAO+K,SAASxc,KAChDC,EAAIwR,OAAO6K,MAAMS,YAAY9c,EAAIwR,OAAO4K,MACxCpc,EAAIwR,OAAO6K,MAAMS,YAAY9c,EAAIwR,OAAOmL,WACxC3c,EAAIwR,OAAOmL,UAAUG,YAAY9c,EAAIwR,OAAOkL,WAC5C1c,EAAIwR,OAAOkL,UAAUI,YAAY9c,EAAIwR,OAAOiL,WAC5Czc,EAAIwR,OAAOiL,UAAUK,YAAY9c,EAAIwR,OAAOgL,UAC5Cxc,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAO6K,OACtCrc,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAO8K,OAEtCtc,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAOiC,KAEtCzT,EAAIwR,OAAOoL,IAAIE,YAAY9c,EAAIwR,OAAOqL,MACtC7c,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAOoL,KAEtC5c,EAAIwR,OAAO0J,KAAK4B,YAAY9c,EAAIwR,OAAOyJ,KACvCjb,EAAIwR,OAAOsB,KAAKgK,YAAY9c,EAAIwR,OAAOuB,MACvC/S,EAAIwR,OAAOsB,KAAKgK,YAAY9c,EAAIwR,OAAO0J,MAEvClb,EAAIwR,OAAOsB,KAAKxS,iBAAiB,aAAcN,EAAIyW,qBAClDzW,EAAIwE,yBAA0B,CAACuY,SAAS,KAG1C,IAoSKC,EACAC,EArSDC,EAAIld,EAAIwR,OAER2L,IAAkBnd,EAAIuT,iBAAiBgH,GACvC6C,EAAqB7C,EAAK/G,kBAC1B6J,EAAard,EAAIkS,cAAcqI,GAC/B+C,EAAkB,EAAI/C,EAAKvF,mBAAqBuF,EAAKtF,iBAAmB,EAAIsF,EAAKgD,UACjFC,EAAiBxd,EAAIqT,kBAAkBkH,GACvCkD,EAAehU,KAAK2D,IACvBmN,EAAKkD,aACLhU,KAAKC,MAAM6Q,EAAK5G,QAAUlK,KAAKiU,KAIhCR,EAAEpK,KAAKnR,UAAY,sBACnBub,EAAEpK,KAAK3J,MAAMwU,MAAQ,OACrBT,EAAEpK,KAAK3J,MAAMkG,MAAQgO,EAAWjL,QAAU,KAC1C8K,EAAEpK,KAAK3J,MAAMmG,OAAS+N,EAAWhL,QAAU,KAC3C6K,EAAEpK,KAAK3J,MAAMyU,OAASrD,EAAKqD,OAG3BV,EAAEjC,IAAItZ,UAAY,iBAClBub,EAAEjC,IAAI9R,MAAMkG,MAAQgO,EAAWnJ,QAAU,KACzCgJ,EAAEjC,IAAI9R,MAAMmG,OAAS+N,EAAWlJ,QAAU,KAC1C+I,EAAEjC,IAAI9R,MAAMgI,SAAW,WAGvB+L,EAAEnK,KAAKpR,UAAY,wBACnBub,EAAEnK,KAAK5J,MAAMgI,SAAW,WACxB+L,EAAEnK,KAAK5J,MAAMqC,KAAO,IACpB0R,EAAEnK,KAAK5J,MAAMsC,IAAM,IACnByR,EAAEnK,KAAK5J,MAAMkG,MAAQ,OACrB6N,EAAEnK,KAAK5J,MAAMmG,OAAS,OACtBtP,EAAI8K,gBAAgBoS,EAAEnK,KAAM0K,EAAe,MAG3CP,EAAEhC,KAAKvZ,UAAY,wBACnBub,EAAEhC,KAAK/R,MAAMgI,SAAW,WACxB+L,EAAEhC,KAAK/R,MAAM0U,OAAStD,EAAKnG,YAAc,WACzC8I,EAAEhC,KAAK/R,MAAM2U,YAAcvD,EAAKuD,YAChCZ,EAAEhC,KAAK/R,MAAMqB,WAAa+P,EAAKwD,gBAC/B/d,EAAI8K,gBAAgBoS,EAAEhC,KAAMuC,EAAe,MAK3CP,EAAE7B,KAAKlS,MAAMqB,WAAa,mBAC1B0S,EAAEpB,KAAK3S,MAAMqB,WAAa,mBAC1B0S,EAAEZ,MAAMnT,MAAMqB,WAAa,mBAE3B0S,EAAE7B,KAAKlS,MAAM6U,QACbd,EAAEpB,KAAK3S,MAAM6U,QACbd,EAAEZ,MAAMnT,MAAM6U,QACb,IAGDd,EAAE/B,IAAIhS,MAAMgI,SAAW,WACvB+L,EAAE/B,IAAIhS,MAAMkG,MAAQkL,EAAKlL,MAAQ,KACjC6N,EAAE/B,IAAIhS,MAAMmG,OAASiL,EAAKjL,OAAS,KAGnC4N,EAAE5B,UAAU5C,KAAK6B,EAAKlL,MAAOkL,EAAKjL,OAAQtP,EAAIkV,eAAeqF,IAG7D2C,EAAE9B,KAAKjS,MAAMgI,SAAW,WACxB+L,EAAE9B,KAAKjS,MAAMqC,KAAO+O,EAAK5G,QAAU,KACnCuJ,EAAE9B,KAAKjS,MAAMsC,IAAM8O,EAAK5G,QAAU,KAClCuJ,EAAE9B,KAAKjS,MAAM0U,OAAStD,EAAKpH,mBAAqB,WAChD+J,EAAE9B,KAAKjS,MAAM2U,YAAcvD,EAAK0D,mBAGhCf,EAAE7B,KAAKlS,MAAMgI,SAAW,WACxB+L,EAAE7B,KAAKlS,MAAMqC,KAAO,MACpB0R,EAAE7B,KAAKlS,MAAMsC,IAAM,MACnByR,EAAE7B,KAAKlS,MAAMkG,MAASkL,EAAK5G,QAAU,EAAI4G,EAAKpH,mBAAqBoH,EAAKlL,MAAQmO,EAAkB,KAClGN,EAAE7B,KAAKlS,MAAMmG,OAAU,EAAIiL,EAAKpH,mBAAqB,EAAIoH,EAAK5G,QAAU4G,EAAKjL,OAAU,KACvF4N,EAAE7B,KAAKlS,MAAM+U,OAjEG,YAkEhBle,EAAIqD,QAAQ6Z,EAAE7B,KAAM,CACnB8C,SAAU5D,EACV6D,QAAS,QAIVlB,EAAE3B,MAAMpS,MAAMgI,SAAW,WACzB+L,EAAE3B,MAAMpS,MAAMqC,KACd0R,EAAE3B,MAAMpS,MAAMsC,IACb,IACDyR,EAAE3B,MAAMpS,MAAMkG,MACd6N,EAAE3B,MAAMpS,MAAMmG,OACbgO,EAAiB,KAGlBJ,EAAE1B,QAAQrS,MAAMgI,SAChB+L,EAAEzB,QAAQtS,MAAMgI,SACf,WACD+L,EAAE1B,QAAQrS,MAAMqB,WAChB0S,EAAEzB,QAAQtS,MAAMqB,WACf+P,EAAK8D,mBACNnB,EAAE1B,QAAQrS,MAAMkG,MAChB6N,EAAEzB,QAAQtS,MAAMmG,OACd,EAAIiL,EAAKvF,mBAAqBuF,EAAKtF,iBAAoB,KACzDiI,EAAE1B,QAAQrS,MAAMmG,OAChB4N,EAAEzB,QAAQtS,MAAMkG,MACfiO,EAAiB,KAClBJ,EAAE1B,QAAQrS,MAAMqC,KAChB0R,EAAEzB,QAAQtS,MAAMsC,IACdhC,KAAKkE,MAAM2P,EAAiB,GAAK7T,KAAKkE,MAAM4M,EAAKtF,iBAAmB,GAAKsF,EAAKvF,mBAAsB,KACtGkI,EAAE1B,QAAQrS,MAAMsC,IAChByR,EAAEzB,QAAQtS,MAAMqC,KACf,IAGD0R,EAAExB,QAAQvS,MAAMgI,SAChB+L,EAAEvB,QAAQxS,MAAMgI,SACf,WACD+L,EAAExB,QAAQvS,MAAMqB,WAChB0S,EAAEvB,QAAQxS,MAAMqB,WACf+P,EAAK+D,aACNpB,EAAExB,QAAQvS,MAAMmG,OAChB4N,EAAEvB,QAAQxS,MAAMkG,MACdiO,EAAiB,EAAI/C,EAAKvF,mBAAsB,KAClDkI,EAAExB,QAAQvS,MAAMkG,MAChB6N,EAAEvB,QAAQxS,MAAMmG,OACfiL,EAAKtF,iBAAmB,KACzBiI,EAAExB,QAAQvS,MAAMqC,KAChB0R,EAAEvB,QAAQxS,MAAMsC,IACdhC,KAAKkE,MAAM2P,EAAiB,GAAK7T,KAAKkE,MAAM4M,EAAKtF,iBAAmB,GAAM,KAC5EiI,EAAExB,QAAQvS,MAAMsC,IAChByR,EAAEvB,QAAQxS,MAAMqC,KACf+O,EAAKvF,mBAAqB,KAI3BkI,EAAEtB,IAAIzS,MAAMoV,SAAW,SACvBrB,EAAEtB,IAAIzS,MAAMkG,MAAQkL,EAAKjH,WAAa,KACtC4J,EAAEtB,IAAIzS,MAAMmG,OAASiL,EAAKjL,OAAS,KAGnC4N,EAAEnB,QAAQrD,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQ,OAAQ,QAGrD4N,EAAErB,KAAK1S,MAAMqV,QAAUrB,EAAgB,QAAU,OACjDD,EAAErB,KAAK1S,MAAMgI,SAAW,WACxB+L,EAAErB,KAAK1S,MAAMqC,KAAQ+O,EAAK5G,QAAU4G,EAAKlL,MAAQ,EAAIkL,EAAKpH,mBAAqB,EAAIqK,EAAkB,KACrGN,EAAErB,KAAK1S,MAAMsC,IAAM8O,EAAK5G,QAAU,KAClCuJ,EAAErB,KAAK1S,MAAM0U,OAAStD,EAAKpH,mBAAqB,WAChD+J,EAAErB,KAAK1S,MAAM2U,YAAcvD,EAAK0D,mBAGhCf,EAAEpB,KAAK3S,MAAMqV,QAAUrB,EAAgB,QAAU,OACjDD,EAAEpB,KAAK3S,MAAMgI,SAAW,WACxB+L,EAAEpB,KAAK3S,MAAMqC,KAAQ+O,EAAK5G,QAAU4G,EAAKlL,MAAQ,EAAIkL,EAAKpH,mBAAqBqK,EAAkB,KACjGN,EAAEpB,KAAK3S,MAAMsC,IAAM,MACnByR,EAAEpB,KAAK3S,MAAMkG,MACVkL,EAAKjH,WAAa,EAAIkK,EAAiB,EAAIjD,EAAKpH,oBAChDiK,EAAqB,EAAI3T,KAAK6D,IAAI,EAAGiN,EAAK5G,QAAU6J,IAClD,KACLN,EAAEpB,KAAK3S,MAAMmG,OAAU,EAAIiL,EAAKpH,mBAAqB,EAAIoH,EAAK5G,QAAU4G,EAAKjL,OAAU,KACvF4N,EAAEpB,KAAK3S,MAAM+U,OAAS,UACtBle,EAAIqD,QAAQ6Z,EAAEpB,KAAM,CACnBqC,SAAU5D,EACV6D,QAAS,QAIVlB,EAAEjB,SAAS9S,MAAM0U,OACjBX,EAAEf,SAAShT,MAAM0U,OAChBtD,EAAKvF,mBAAqB,YAAcuF,EAAK8D,mBAG9CnB,EAAEf,SAAShT,MAAMgI,SAAW,WAC5B+L,EAAEf,SAAShT,MAAMqC,OAAS,EAAI+O,EAAKvF,mBAAqBuF,EAAKtF,kBAAoB,KACjFiI,EAAEf,SAAShT,MAAMsC,IAAM,IAGvByR,EAAEhB,SAAS/S,MAAM0U,OAAStD,EAAKtF,iBAAmB,YAAcsF,EAAK+D,aAGrEpB,EAAElB,QAAQ7S,MAAMkG,MAAQkL,EAAKjH,WAAa,KAC1C4J,EAAElB,QAAQ7S,MAAMmG,OAAStP,EAAIO,IAAIke,iBAAmB,KAIpDvB,EAAEd,KAAKjT,MAAMoV,SAAW,SACxBrB,EAAEd,KAAKjT,MAAMkG,MAAQkL,EAAKjH,WAAa,KACvC4J,EAAEd,KAAKjT,MAAMmG,OAASiL,EAAKjL,OAAS,KAGpC4N,EAAEX,SAAS7D,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQ,QAG9C4N,EAAEb,MAAMlT,MAAMqV,QAAUpB,EAAqB,QAAU,OACvDF,EAAEb,MAAMlT,MAAMgI,SAAW,WACzB+L,EAAEb,MAAMlT,MAAMqC,KACX+O,EAAK5G,QAAU4G,EAAKlL,MAAQ,EAAIkL,EAAKpH,mBAAqBqK,GAC1DL,EAAiB5C,EAAKjH,WAAa,EAAIkK,EAAiB,EAAIjD,EAAKpH,mBAAsB,GACrF,KACL+J,EAAEb,MAAMlT,MAAMsC,IAAM8O,EAAK5G,QAAU,KACnCuJ,EAAEb,MAAMlT,MAAM0U,OAAStD,EAAKpH,mBAAqB,WACjD+J,EAAEb,MAAMlT,MAAM2U,YAAcvD,EAAK0D,mBAGjCf,EAAEZ,MAAMnT,MAAMqV,QAAUpB,EAAqB,QAAU,OACvDF,EAAEZ,MAAMnT,MAAMgI,SAAW,WACzB+L,EAAEZ,MAAMnT,MAAMqC,KACX+O,EAAK5G,QAAU4G,EAAKlL,MAAQ,EAAIkL,EAAKpH,mBAAqBqK,GAC1DL,EAAiB5C,EAAKjH,WAAa,EAAIkK,EAAiB,EAAIjD,EAAKpH,mBAAsB,GACrF,KACL+J,EAAEZ,MAAMnT,MAAMsC,IAAM,MACpByR,EAAEZ,MAAMnT,MAAMkG,MACXkL,EAAKjH,WAAa,EAAIkK,EAAiB,EAAIjD,EAAKpH,mBACjD1J,KAAK6D,IAAI,EAAGiN,EAAK5G,QAAU6J,GACxB,KACLN,EAAEZ,MAAMnT,MAAMmG,OAAU,EAAIiL,EAAKpH,mBAAqB,EAAIoH,EAAK5G,QAAU4G,EAAKjL,OAAU,KACxF4N,EAAEZ,MAAMnT,MAAM+U,OAAS,UACvBle,EAAIqD,QAAQ6Z,EAAEZ,MAAO,CACpB6B,SAAU5D,EACV6D,QAAS,SAIVlB,EAAET,UAAUtT,MAAM0U,OAClBX,EAAEP,UAAUxT,MAAM0U,OACjBtD,EAAKvF,mBAAqB,YAAcuF,EAAK8D,mBAG9CnB,EAAEP,UAAUxT,MAAMgI,SAAW,WAC7B+L,EAAEP,UAAUxT,MAAMqC,OAAS,EAAI+O,EAAKvF,mBAAqBuF,EAAKtF,kBAAoB,KAClFiI,EAAEP,UAAUxT,MAAMsC,IAAM,IAGxByR,EAAER,UAAUvT,MAAM0U,OAAStD,EAAKtF,iBAAmB,YAAcsF,EAAK+D,aAGtEpB,EAAEV,SAASrT,MAAMkG,MAAQkL,EAAKjH,WAAa,KAC3C4J,EAAEV,SAASrT,MAAMmG,OAAStP,EAAIO,IAAIke,iBAAmB,KAIrDvB,EAAEzJ,IAAI9R,UAAY,kBAClBub,EAAEzJ,IAAItK,MAAMqV,QAAUnB,EAAWhJ,QAAQE,KAAO,QAAU,OAC1D2I,EAAEzJ,IAAItK,MAAMgI,SAAW,WACvB+L,EAAEzJ,IAAItK,MAAMqC,KAAO+O,EAAK5G,QAAU,KAClCuJ,EAAEzJ,IAAItK,MAAMsC,IAAO,EAAI8O,EAAKpH,mBAAqB,EAAIoH,EAAK5G,QAAU4G,EAAKjL,OAAU,KAInF4N,EAAEzJ,IAAIiL,UAAY,GAKlB,IAHA,IAAIC,EAAa3e,EAAIyP,sBAAsB,iBAEvCmP,EAAK,EACAtV,EAAI,EAAGA,EAAI+T,EAAWhJ,QAAQE,KAAMjL,IAC5C,IAAK,IAAIwI,EAAI,EAAGA,EAAIuL,EAAWhJ,QAAQC,MAAQsK,EAAKrE,EAAK5F,SAASxT,OAAQ2Q,IAAK8M,IAAM,CACpF,IAAIC,EAActE,EAAK5F,SAASiK,GAC5BE,EAAiB9e,EAAIiK,UAAUqH,MAAM,KAAMuN,EAAY/Q,MAEvDiR,EAAK/e,EAAIiD,SAAS,OACtB8b,EAAG5V,MAAMkG,MAASgO,EAAWhJ,QAAQG,MAAQ,EAAI+F,EAAKpH,mBAAsB,KAC5E4L,EAAG5V,MAAMmG,OAAU+N,EAAWhJ,QAAQI,MAAQ,EAAI8F,EAAKpH,mBAAsB,KAC7E4L,EAAG5V,MAAM4U,gBAAkBe,EAE3B,IAAIE,EAAKhf,EAAIiD,SAAS,OACtB+b,EAAGrd,UAAY,yBACfqd,EAAG7V,MAAMqV,QAAU,QACnBQ,EAAG7V,MAAMgI,SAAW,WACpB6N,EAAG7V,MAAMqC,MACP6R,EAAWhJ,QAAQC,MAAQ,EAAI,EAC/B7K,KAAKC,MAAYoI,IAAMuL,EAAWrJ,SAAWqJ,EAAWhJ,QAAQG,QAAU6I,EAAWhJ,QAAQC,KAAO,IAAzF,IAAiG,IACzG,KACL0K,EAAG7V,MAAMsC,IAAOnC,GAAK+T,EAAWhJ,QAAQI,MAAQ8F,EAAKzF,gBAAmB,KACxEkK,EAAG7V,MAAM0U,OAAStD,EAAKpH,mBAAqB,WAC5C6L,EAAG7V,MAAM2U,YAAcvD,EAAK0D,mBAC5Be,EAAG7V,MAAM+U,OAAS,UACU,OAAxBW,EAAY/Q,KAAK,IAAe+Q,EAAY/Q,KAAK,GAAK,IACzDkR,EAAG7V,MAAM8V,gBAAkB,QAAWN,EAAWzP,OAAOgQ,YAAc,KACtEF,EAAG7V,MAAMgW,iBAAmB,SAC5BH,EAAG7V,MAAMiW,mBAAqB,iBAE/Bpf,EAAIqD,QAAQ2b,EAAI,CACfb,SAAU5D,EACV6D,QAAS,iBACTtP,MAAO+P,IAERG,EAAG1e,iBAAiB,QAASN,EAAI0X,sBAAsB,GACvDsH,EAAGlC,YAAYiC,GACf7B,EAAEzJ,IAAIqJ,YAAYkC,GAYpB9B,EAAEN,IAAIjb,UAAY,oBAClBub,EAAEN,IAAIzT,MAAMqV,QAAUjE,EAAK3G,YAAc,QAAU,OACnDsJ,EAAEN,IAAIzT,MAAMgI,SAAW,WACvB+L,EAAEN,IAAIzT,MAAMqC,KAAO+O,EAAK5G,QAAU,KAClCuJ,EAAEN,IAAIzT,MAAMkW,OAAS9E,EAAK5G,QAAU,KACpCuJ,EAAEN,IAAIzT,MAAMwK,QAAU,SACtBuJ,EAAEN,IAAIzT,MAAMmW,SAAYjC,EAAWrJ,SAAW,EAAIuG,EAAKpH,mBAAqB,GAAkB,KAC9F+J,EAAEN,IAAIzT,MAAMoV,SAAW,SACvBrB,EAAEN,IAAIzT,MAAMmG,OAASiL,EAAK1G,aAAe,KACzCqJ,EAAEN,IAAIzT,MAAMoW,WAAa,SACzBrC,EAAEN,IAAIzT,MAAM0U,OAAStD,EAAKpH,mBAAqB,WAd1C8J,GADAD,EAAczC,EAAK0D,mBAAmBlW,MAAM,QAClB5G,OAAS,EAAI6b,EAAY,GAAKA,EAAY,GAAK,IAAMA,EAAY,GAAK,IAAMA,EAAY,GAAK,IAAMA,EAAY,GAC7IE,EAAEN,IAAIzT,MAAM2U,YAAcb,EAe3BC,EAAEN,IAAIzT,MAAM2F,MAAQyL,EAAKiF,YACzBtC,EAAEN,IAAIzT,MAAMsW,KAAO,kBACnBvC,EAAEN,IAAIzT,MAAMuW,UAAY,SACxBxC,EAAEN,IAAIzT,MAAM+U,OAAS,UACrBhB,EAAEN,IAAI+C,YAAc,WACnBpF,EAAKrC,QAENgF,EAAEL,KAAK1T,MAAMyW,WAAarF,EAAK1G,aAAe,KAC9CqJ,EAAEL,KAAK6B,UAAY,GACnBxB,EAAEL,KAAKC,YAAYnd,EAAOH,SAASqgB,eAAetF,EAAKuF,YAGvDC,IACAC,IACAC,IAIIjgB,EAAIwR,OAAOC,OAASzR,EAAIwR,OAAOC,QAAU8I,GAC5Cva,EAAIsI,YAAYtI,EAAIwR,OAAOC,MAAM1O,cAAe/C,EAAIO,IAAI2f,iBAIzDlgB,EAAIwR,OAAOC,MAAQ8I,EAIfA,EAAK4F,YAAcxgB,EAAOH,SAAS4gB,KACtCpgB,EAAIuR,iBAEJvR,EAAI2S,cAAc4H,EAAM,EAAG,EAAG,YAAY,GAGvC2C,EAAEpK,KAAKuN,aAAe9F,EAAK4F,WAC9B5F,EAAK4F,UAAUrD,YAAYI,EAAEpK,MAG9B9S,EAAImI,SAASoS,EAAKxX,cAAe/C,EAAIO,IAAI2f,iBAI1C,SAASH,IAER,IAAIO,EAAWtgB,EAAIkV,eAAeqF,GAC9BnP,EAAI3B,KAAKC,MAAO6Q,EAAKlD,SAAS9J,EAAI,KAAQgN,EAAKlL,MAAQ,IACvDhE,EAAI5B,KAAKC,OAAO,EAAI6Q,EAAKlD,SAASiJ,GAAY,MAAQ/F,EAAKjL,OAAS,IACpEgO,EAAkB,EAAI/C,EAAKvF,mBAAqBuF,EAAKtF,iBAAmB,EAAIsF,EAAKgD,UACjFrG,GAAOzN,KAAKkE,MAAM2P,EAAiB,GAKvC,OAJAtd,EAAIwR,OAAO+J,MAAMpS,MAAMqC,KAAQJ,EAAI8L,EAAO,KAC1ClX,EAAIwR,OAAO+J,MAAMpS,MAAMsC,IAAOJ,EAAI6L,EAAO,KAGjClX,EAAIuT,iBAAiBgH,IAC7B,IAAK,IACJ,IAAIgG,EAAOvgB,EAAIwN,QAAQ+M,EAAKlD,SAAS9J,EAAG,IAAKgN,EAAKlD,SAAShK,GACvDmT,EAAOxgB,EAAIwN,QAAQ+M,EAAKlD,SAAS9J,EAAG,EAAGgN,EAAKlD,SAAShK,GACrD2L,EAAS,OACZvP,KAAKC,MAAM6W,EAAK,IAAM,IACtB9W,KAAKC,MAAM6W,EAAK,IAAM,IACtB9W,KAAKC,MAAM6W,EAAK,IAAM,IACnBtH,EAAS,OACZxP,KAAKC,MAAM8W,EAAK,IAAM,IACtB/W,KAAKC,MAAM8W,EAAK,IAAM,IACtB/W,KAAKC,MAAM8W,EAAK,IAAM,IACvBxgB,EAAIwR,OAAOuK,QAAQrD,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQ0J,EAAQC,GAC9D,MACD,IAAK,IACJ,IAAIwH,EAAMzgB,EAAIwN,QAAQ+M,EAAKlD,SAAS9J,EAAGgN,EAAKlD,SAAS5J,EAAG,KACpDuL,EAAS,OACZvP,KAAKC,MAAM+W,EAAI,IAAM,IACrBhX,KAAKC,MAAM+W,EAAI,IAAM,IACrBhX,KAAKC,MAAM+W,EAAI,IAAM,IAClBxH,EAAS,OACbjZ,EAAIwR,OAAOuK,QAAQrD,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQ0J,EAAQC,GAK/DjZ,EAAIwR,OAAO+K,SAAS7D,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQiL,EAAKmG,eAI7D,SAASV,IACR,IAAIW,EAAa3gB,EAAIuT,iBAAiBgH,GACtC,GAAIoG,EAAY,CAEf,IAAItV,EAAI5B,KAAKC,OAAO,EAAI6Q,EAAKlD,SAASsJ,GAAc,MAAQpG,EAAKjL,OAAS,IAC1EtP,EAAIwR,OAAO2K,SAAShT,MAAMsC,IAAOJ,GAAK,EAAIkP,EAAKvF,mBAAqBuF,EAAKtF,kBAAoBxL,KAAKkE,MAAM3N,EAAIO,IAAIke,iBAAmB,GAAM,KAI1Ize,EAAIwR,OAAO+K,SAAS7D,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQiL,EAAKmG,eAI7D,SAAST,IACR,IAAI5U,EAAI5B,KAAKC,OAAO,EAAI6Q,EAAKlD,SAAStN,IAAMwQ,EAAKjL,OAAS,IAC1DtP,EAAIwR,OAAOmL,UAAUxT,MAAMsC,IAAOJ,GAAK,EAAIkP,EAAKvF,mBAAqBuF,EAAKtF,kBAAoBxL,KAAKkE,MAAM3N,EAAIO,IAAIke,iBAAmB,GAAM,KAI3I,SAASmC,IACR,OAAO5gB,EAAIwR,QAAUxR,EAAIwR,OAAOC,QAAU8I,EAgG3C,GAx1CKrY,IACJA,EAAO,IAGRtC,KAAKyX,SAAW,CACf/N,EAAG,IACHC,EAAG,IACHC,EAAG,IACH+D,EAAG,EACHE,EAAG,EACHJ,EAAG,IACHtD,EAAG,GAKJnK,KAAKmO,OAAS,OACdnO,KAAK0E,WAAQhD,EACb1B,KAAKihB,WAAQvf,EACb1B,KAAKkhB,cAAWxf,EAChB1B,KAAKmhB,aAAUzf,EACf1B,KAAKohB,kBAAe1f,EACpB1B,KAAKqhB,kBAAe3f,EACpB1B,KAAKshB,oBAAiB5f,EACtB1B,KAAKia,gBAAkB,OACvBja,KAAKuhB,YAAc,GACnBvhB,KAAKwhB,eAAiB,EACtBxhB,KAAKyhB,UAAW,EAChBzhB,KAAK0hB,MAAO,EACZ1hB,KAAK2hB,WAAY,EACjB3hB,KAAK4hB,YAAa,EAIlB5hB,KAAKyP,MAAQ,IACbzP,KAAK0P,OAAS,IACd1P,KAAKuV,KAAO,MACZvV,KAAKka,aAAe,OACpBla,KAAKuR,SAAW,SAChBvR,KAAK2S,eAAgB,EACrB3S,KAAKyW,aAAc,EACnBzW,KAAK6hB,aAAc,EACnB7hB,KAAKyU,QAAU,GACfzU,KAAKgV,YAAc,GACnBhV,KAAKkY,iBAAmB,OACxBlY,KAAKmV,cAAgB,GACrBnV,KAAKkV,eAAiB,EACtBlV,KAAKqY,oBAAqB,EAC1BrY,KAAK0T,WAAa,GAClB1T,KAAK2d,UAAY,EACjB3d,KAAKgU,aAAc,EACnBhU,KAAKkgB,UAAY,QACjBlgB,KAAK4f,YAAc,gBACnB5f,KAAKiU,aAAe,GACpBjU,KAAK+T,QAAU,GACf/T,KAAKme,gBAAkB,sBACvBne,KAAKwU,YAAc,EACnBxU,KAAKke,YAAc,sBACnBle,KAAK6d,aAAe,EACpB7d,KAAKuT,mBAAqB,EAC1BvT,KAAKqe,mBAAqB,sBAC1Bre,KAAKoT,QAAS,EACdpT,KAAKiT,WAAa,GAClBjT,KAAKqT,YAAc,kBACnBrT,KAAK0e,aAAe,mBACpB1e,KAAKoV,mBAAqB,EAC1BpV,KAAKye,mBAAqB,sBAC1Bze,KAAKqV,iBAAmB,EACxBrV,KAAKge,OAAS,IACdhe,KAAKugB,eAAY7e,EAIjB1B,KAAK8hB,KAAO,EACZ9hB,KAAK+hB,KAAO,IACZ/hB,KAAKgiB,KAAO,EACZhiB,KAAKiiB,KAAO,IACZjiB,KAAKkiB,KAAO,EACZliB,KAAKmiB,KAAO,EAOZniB,KAAK6a,OAAS,WACb,IAAKxV,UAAU9D,OACd,MAAM,IAAIzB,MAAM,uBAGjB,GAAyB,IAArBuF,UAAU9D,QAAwC,iBAAjB8D,UAAU,GAAiB,CAE/D,IACC,OAAO4V,EAAU5V,UAAU,IAC1B,MAAO5C,GACRN,QAAQC,KAAKK,GAEd,OAAO,EAED,GAAI4C,UAAU9D,QAAU,GAA6B,iBAAjB8D,UAAU,GAAiB,CAErE,IACC,IAAKuV,EAAUvV,UAAU,GAAIA,UAAU,IACtC,OAAO,EAEP,MAAO5C,GAER,OADAN,QAAQC,KAAKK,IACN,EAIR,OAFAzC,KAAKoiB,SACLpiB,KAAKqiB,eACE,EAED,GAAyB,IAArBhd,UAAU9D,QAAwC,iBAAjB8D,UAAU,GAAiB,CAEtE,IAAI/C,EAAO+C,UAAU,GACjBid,GAAU,EACd,IAAK,IAAIC,KAAOjgB,EACf,GAAIA,EAAKiD,eAAegd,GACvB,IACM3H,EAAU2H,EAAKjgB,EAAKigB,MACxBD,GAAU,GAEV,MAAO7f,GACRN,QAAQC,KAAKK,GACb6f,GAAU,EAMb,OAFAtiB,KAAKoiB,SACLpiB,KAAKqiB,cACEC,EAGR,MAAM,IAAIxiB,MAAM,sBAOjBE,KAAKwiB,QAAU,SAAU3c,EAAMnB,GAC9B,GAAoB,iBAATmB,EACV,MAAM,IAAI/F,MAAM,mCAAqC+F,GAGtD,QAAcnE,IAAVgD,EAEH,OAAK1E,KAAKyX,SAASlS,eAAeM,EAAKjE,eAIhC5B,KAAKyX,SAAS5R,EAAKjE,gBAHzBO,QAAQC,KAAK,4BAA8ByD,IACpC,GAMR,IAAI4c,GAAM,EACV,OAAQ5c,EAAKjE,eACZ,IAAK,IAAK6gB,EAAMziB,KAAKoY,SAAS1T,EAAO,KAAM,KAAM,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAKoY,SAAS,KAAM1T,EAAO,KAAM,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAKoY,SAAS,KAAM,KAAM1T,EAAO,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAK0X,SAAShT,EAAO,KAAM,KAAM,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAK0X,SAAS,KAAMhT,EAAO,KAAM,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAK0X,SAAS,KAAM,KAAMhT,EAAO,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAK0X,SAAS,KAAM,KAAM,KAAMhT,GAAQ,MACxD,QAEC,OADAvC,QAAQC,KAAK,4BAA8ByD,IACpC,EAET,QAAI4c,IACHziB,KAAKoiB,UACE,IAcVpiB,KAAK6V,QAAU,SAAUD,GAExB,IADA,IAAI8M,EAAMtiB,EAAI6H,QAAQ2N,GACbtU,EAAI,EAAGA,EAAIohB,EAAInhB,OAAQD,GAAK,EAAG,CACvC,IAAI8F,EAAKsb,EAAIphB,GAAGM,cAGZ+gB,EAAe,KACnB,OAAQvb,GACP,IAAK,QAASub,EAAe,UAAW,MACxC,IAAK,SAAUA,EAAe,WAE3BA,GACHviB,EAAIoV,gBAAgBxV,KAAM2iB,GAI3BviB,EAAIqH,kBAAkBzH,KAAKohB,aAAcha,GAAI,GAAM,KAUrDpH,KAAK0X,SAAW,SAAU/J,EAAGE,EAAGJ,EAAGtD,EAAGyP,GAMrC,QALUlY,IAANiM,IAAmBA,EAAI,WACjBjM,IAANmM,IAAmBA,EAAI,WACjBnM,IAAN+L,IAAmBA,EAAI,WACjB/L,IAANyI,IAAmBA,EAAI,MAEjB,OAANwD,EAAY,CACf,GAAIiV,MAAMjV,GAAM,OAAO,EACvB3N,KAAKyX,SAAS9J,EAAI9D,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAKG,IAE7C,GAAU,OAANE,EAAY,CACf,GAAI+U,MAAM/U,GAAM,OAAO,EACvB7N,KAAKyX,SAAS5J,EAAIhE,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAKxN,KAAK+hB,KAAMlU,GAAI7N,KAAK8hB,MAEjE,GAAU,OAANrU,EAAY,CACf,GAAImV,MAAMnV,GAAM,OAAO,EACvBzN,KAAKyX,SAAShK,EAAI5D,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAKxN,KAAKiiB,KAAMxU,GAAIzN,KAAKgiB,MAEjE,GAAU,OAAN7X,EAAY,CACf,GAAIyY,MAAMzY,GAAM,OAAO,EACvBnK,KAAKyX,SAAStN,EAAInK,KAAK4T,kBACtB/J,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,EAAGxN,KAAKmiB,KAAMhY,GAAInK,KAAKkiB,MAC5C,EAGF,IAAIrB,EAAMzgB,EAAIwN,QACb5N,KAAKyX,SAAS9J,EACd3N,KAAKyX,SAAS5J,EACd7N,KAAKyX,SAAShK,GAOf,OALAzN,KAAKyX,SAAS/N,EAAImX,EAAI,GACtB7gB,KAAKyX,SAAS9N,EAAIkX,EAAI,GACtB7gB,KAAKyX,SAAS7N,EAAIiX,EAAI,GAEtB7gB,KAAKqiB,YAAYzI,IACV,GASR5Z,KAAKoY,SAAW,SAAU1O,EAAGC,EAAGC,EAAGO,EAAGyP,GAMrC,QALUlY,IAANgI,IAAmBA,EAAI,WACjBhI,IAANiI,IAAmBA,EAAI,WACjBjI,IAANkI,IAAmBA,EAAI,WACjBlI,IAANyI,IAAmBA,EAAI,MAEjB,OAANT,EAAY,CACf,GAAIkZ,MAAMlZ,GAAM,OAAO,EACvBA,EAAIG,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAK9D,IAE/B,GAAU,OAANC,EAAY,CACf,GAAIiZ,MAAMjZ,GAAM,OAAO,EACvBA,EAAIE,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAK7D,IAE/B,GAAU,OAANC,EAAY,CACf,GAAIgZ,MAAMhZ,GAAM,OAAO,EACvBA,EAAIC,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAK5D,IAE/B,GAAU,OAANO,EAAY,CACf,GAAIyY,MAAMzY,GAAM,OAAO,EACvBnK,KAAKyX,SAAStN,EAAInK,KAAK4T,kBACtB/J,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,EAAGxN,KAAKmiB,KAAMhY,GAAInK,KAAKkiB,MAC5C,EAGF,IAAIW,EAAMziB,EAAImN,QACT,OAAJ7D,EAAW1J,KAAKyX,SAAS/N,EAAIA,EACzB,OAAJC,EAAW3J,KAAKyX,SAAS9N,EAAIA,EACzB,OAAJC,EAAW5J,KAAKyX,SAAS7N,EAAIA,GAEf,OAAXiZ,EAAI,KACP7iB,KAAKyX,SAAS9J,EAAI9D,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAKqV,EAAI,MAElC,IAAXA,EAAI,KACP7iB,KAAKyX,SAAS5J,EAAIhE,KAAK6D,IAAI,EAAG1N,KAAK8hB,KAAMjY,KAAK2D,IAAI,IAAKxN,KAAK+hB,KAAMc,EAAI,MAEvE7iB,KAAKyX,SAAShK,EAAI5D,KAAK6D,IAAI,EAAG1N,KAAKgiB,KAAMnY,KAAK2D,IAAI,IAAKxN,KAAKiiB,KAAMY,EAAI,KAGtE,IAAIhC,EAAMzgB,EAAIwN,QAAQ5N,KAAKyX,SAAS9J,EAAG3N,KAAKyX,SAAS5J,EAAG7N,KAAKyX,SAAShK,GAMtE,OALAzN,KAAKyX,SAAS/N,EAAImX,EAAI,GACtB7gB,KAAKyX,SAAS9N,EAAIkX,EAAI,GACtB7gB,KAAKyX,SAAS7N,EAAIiX,EAAI,GAEtB7gB,KAAKqiB,YAAYzI,IACV,GAMR5Z,KAAK8iB,QAAU,SAAUnV,EAAGE,EAAGJ,EAAGmM,GAEjC,OADAzX,QAAQC,KAAK,4DAA8DhC,EAAIiC,SACxErC,KAAK0X,SAAS/J,EAAGE,EAAGJ,EAAG,KAAMmM,IAMrC5Z,KAAK+iB,QAAU,SAAUrZ,EAAGC,EAAGC,EAAGgQ,GAEjC,OADAzX,QAAQC,KAAK,4DAA8DhC,EAAIiC,SACxErC,KAAKoY,SAAS1O,EAAGC,EAAGC,EAAG,KAAMgQ,IAIrC5Z,KAAKgjB,WAAa,SAAUtgB,EAAKkX,GAChC,IAAK5Z,KAAKyhB,UAA2B,KAAf/e,EAAIH,OAIzB,OAFAvC,KAAKijB,oBAAoB,MACzBjjB,KAAKkjB,qBAAqB,KACnB,EAGR,IAAIhU,EAAQ9O,EAAI4N,iBAAiBtL,GACjC,QAAKwM,IAG6B,QAA9BlP,KAAKmO,OAAOvM,gBACf5B,KAAKgY,WAAW9I,EAAMf,QACjB/N,EAAIgP,cAAcpP,KAAKiY,eAC3B/I,EAAMhB,KAAK,GAAK,IAGlBlO,KAAKoY,SACJlJ,EAAMhB,KAAK,GACXgB,EAAMhB,KAAK,GACXgB,EAAMhB,KAAK,GACXgB,EAAMhB,KAAK,GACX0L,IAEM,IAIR5Z,KAAK+J,SAAW,SAAUoE,GAIzB,YAHezM,IAAXyM,IACHA,EAASnO,KAAKiY,aAEP9J,EAAOvM,eACd,IAAK,MAAO,OAAO5B,KAAK8gB,cACxB,IAAK,OAAQ,OAAO9gB,KAAKmjB,eACzB,IAAK,MAAO,OAAOnjB,KAAKojB,cACxB,IAAK,OAAQ,OAAOpjB,KAAKqjB,eAE1B,OAAO,GAIRrjB,KAAK8gB,YAAc,WAClB,OAAO1gB,EAAIqJ,SACVzJ,KAAKyX,SAAS/N,EACd1J,KAAKyX,SAAS9N,EACd3J,KAAKyX,SAAS7N,IAKhB5J,KAAKmjB,aAAe,WACnB,OAAO/iB,EAAI8J,UACVlK,KAAKyX,SAAS/N,EACd1J,KAAKyX,SAAS9N,EACd3J,KAAKyX,SAAS7N,EACd5J,KAAKyX,SAAStN,IAKhBnK,KAAKojB,YAAc,WAClB,OAAOhjB,EAAIgK,SACVpK,KAAKyX,SAAS/N,EACd1J,KAAKyX,SAAS9N,EACd3J,KAAKyX,SAAS7N,IAKhB5J,KAAKqjB,aAAe,WACnB,OAAOjjB,EAAIiK,UACVrK,KAAKyX,SAAS/N,EACd1J,KAAKyX,SAAS9N,EACd3J,KAAKyX,SAAS7N,EACd5J,KAAKyX,SAAStN,IAKhBnK,KAAKsjB,YAAc,WAClB,MACC,KAAQtjB,KAAKyX,SAAS/N,EACtB,KAAQ1J,KAAKyX,SAAS9N,EACtB,KAAQ3J,KAAKyX,SAAS7N,GAKxB5J,KAAKujB,SAAW,WACf,OAAOnjB,EAAIyP,sBAAsB7P,KAAKqjB,gBAAgB/T,QAIvDtP,KAAKsf,UAAY,WAChB,OAAOtf,KAAKujB,WAAWjE,aAIxBtf,KAAKwjB,aAAe,WACnB,OAAOpjB,EAAIO,IAAIiK,WAAW5K,KAAKqjB,iBAIhCrjB,KAAKyjB,QAAU,WACd,OAAOzjB,KAAKsjB,cAAgB,OAI7BtjB,KAAKsY,KAAO,WACP0I,MAmVJ5gB,EAAIsI,YAAYiS,EAAKxX,cAAe/C,EAAIO,IAAI2f,iBAC5ClgB,EAAIwR,OAAOsB,KAAKuN,WAAWrc,YAAYhE,EAAIwR,OAAOsB,aAC3C9S,EAAIwR,OAAOC,QA/UnB7R,KAAK2W,KAAO,WACXwE,KAIDnb,KAAKoiB,OAAS,WACTpB,KACH7F,KAKFnb,KAAKiY,UAAY,WAChB,OAAOjY,KAAK0jB,gBAIb1jB,KAAKgY,WAAa,SAAU7J,GAC3BnO,KAAK0jB,eAAiBvV,EAAOvM,eAI9B5B,KAAK4T,gBAAkB,WACtB,MAA0B,SAAtB5T,KAAKka,aAEuB,QAA9Bla,KAAKmO,OAAOvM,eACZxB,EAAIgP,cAAcpP,KAAKiY,mBACRvW,IAAf1B,KAAKihB,YACiBvf,IAAtB1B,KAAKqhB,aAIArhB,KAAKka,cAIbla,KAAK2jB,kBAAoB,SAAUjhB,GAC7B1C,KAAKgjB,WAAWtgB,IAEpB1C,KAAKqiB,eAKPriB,KAAK4jB,kBAAoB,SAAUlhB,GAC7B1C,KAAK0X,SAAS,KAAM,KAAM,KAAM9I,WAAWlM,KAE/C1C,KAAKqiB,eAKPriB,KAAKqiB,YAAc,SAAUzI,GAC5B,IAAIiK,EAAW7jB,KAAK+J,WAChB6O,EAAM5Y,KAAKiY,YAaf,GAVA7X,EAAI4F,YAAYhG,KAAKmD,cAAe,gBAAiB0gB,GAE/CjK,EAAQxZ,EAAIwZ,MAAMC,aAAe7Z,KAAKohB,eAC/B,QAARxI,GAAyB,SAARA,IACf5Y,KAAK2hB,YAAakC,EAAWA,EAASjiB,eACtC5B,KAAK0hB,OAAQmC,EAAWA,EAAS3b,QAAQ,KAAM,MAErDlI,KAAKkjB,qBAAqBW,MAGrBjK,EAAQxZ,EAAIwZ,MAAME,aAAe9Z,KAAKqhB,aAAc,CACzD,IAAIyC,EAAWja,KAAKC,MAAwB,IAAlB9J,KAAKyX,SAAStN,GAAW,IACnDnK,KAAK+jB,qBAAqBD,GAGrBlK,EAAQxZ,EAAIwZ,MAAMG,eAAiB/Z,KAAKshB,kBAI5ClhB,EAAIiE,YAAYrE,KAAKshB,iBACpBlhB,EAAIkE,SAAStE,KAAKshB,kBAAoBlhB,EAAIqE,cAAczE,KAAKshB,kBAEjDthB,KAAKia,gBAGnBja,KAAKijB,oBAAoBjjB,KAAKqjB,iBAG3BrC,MACHb,IACAC,IACAC,MAKFrgB,KAAKijB,oBAAsB,SAAU/T,GACpC,GAAKlP,KAAKshB,eAAV,CAIA,IAAI/P,EAAW,KACX9B,EAAQ,MAEXrP,EAAIiE,YAAYrE,KAAKshB,iBACpBlhB,EAAIkE,SAAStE,KAAKshB,kBAAoBlhB,EAAIqE,cAAczE,KAAKshB,mBAE9D/P,EAAWvR,KAAKia,gBAChBxK,EAAQzP,KAAKuhB,aAGd,IAAIyC,EAAc,GAElB,GAAK9U,EASE,CAEN8U,EAAY5gB,KAAK,CAChB6gB,MAAO7jB,EAAIkR,wBACVpC,EACAqC,EACA9B,EAAQA,EAAQrP,EAAIO,IAAIuP,iBAAiB3O,OAAS,MAEnDgQ,SAAU,WACV2S,KAAM,OACNC,OAAQ5S,EAAW,WAAa,SAChC6S,OAAQ,gBAIT,IAAIC,EAAUjkB,EAAIyP,sBACjB,gBACA0B,EAAW,CAAC3F,KAAO,QAAS6F,MAAQ,QAAQF,GAAY,KACxD9B,GACA,GAEDuU,EAAY5gB,KAAK,CAChB6gB,MAAO,QAAWI,EAAQ/U,OAAOgQ,YAAc,KAC/C/N,UAAWA,GAAY,QAAU,OACjC2S,KAAMG,EAAQ5U,MAAQ,MAAQ4U,EAAQ3U,OAAS,KAC/CyU,OAAQ5S,EAAW,WAAa,SAChC6S,OAAQ,qBAjCTJ,EAAY5gB,KAAK,CAChB6gB,MAAO,OACP1S,SAAU,WACV2S,KAAM,OACNC,OAAQ,YACRC,OAAQ,gBAuCV,IAPA,IAAIE,EAAK,CACRL,MAAO,GACP1S,SAAU,GACV2S,KAAM,GACNC,OAAQ,GACRC,OAAQ,IAEA9iB,EAAI,EAAGA,EAAI0iB,EAAYziB,OAAQD,GAAK,EAC5CgjB,EAAGL,MAAM7gB,KAAK4gB,EAAY1iB,GAAG2iB,OAC7BK,EAAG/S,SAASnO,KAAK4gB,EAAY1iB,GAAGiQ,UAChC+S,EAAGJ,KAAK9gB,KAAK4gB,EAAY1iB,GAAG4iB,MAC5BI,EAAGH,OAAO/gB,KAAK4gB,EAAY1iB,GAAG6iB,QAC9BG,EAAGF,OAAOhhB,KAAK4gB,EAAY1iB,GAAG8iB,QAI/B,IAAIG,EAAM,CACTC,mBAAoBF,EAAGL,MAAMjZ,KAAK,MAClCyZ,sBAAuBH,EAAG/S,SAASvG,KAAK,MACxC0Z,kBAAmBJ,EAAGJ,KAAKlZ,KAAK,MAChC2Z,oBAAqBL,EAAGH,OAAOnZ,KAAK,MACpC4Z,oBAAqBN,EAAGF,OAAOpZ,KAAK,OAErC5K,EAAI4I,SAAShJ,KAAKshB,eAAgBiD,EAAKvkB,KAAK4hB,YAI5C,IAAI7N,EAAU,CACbnI,KAAM,KACN6F,MAAO,MAEJF,IACHwC,EAAQxC,GAAavR,KAAKuhB,YAAcvhB,KAAKwhB,eAAkB,MAG5D+C,EAAM,CACTM,eAAgB9Q,EAAQnI,KACxBkZ,gBAAiB/Q,EAAQtC,OAE1BrR,EAAI4I,SAAShJ,KAAKshB,eAAgBiD,EAAKvkB,KAAK4hB,YAAY,KAIzD5hB,KAAKkjB,qBAAuB,SAAUxgB,GACjC1C,KAAKohB,eACgC,UAApChhB,EAAI6D,SAASjE,KAAKohB,cACrBphB,KAAKohB,aAAa1c,MAAQhC,EAE1B1C,KAAKohB,aAAatC,UAAYpc,IAMjC1C,KAAK+jB,qBAAuB,SAAUrhB,GACjC1C,KAAKqhB,eACgC,UAApCjhB,EAAI6D,SAASjE,KAAKqhB,cACrBrhB,KAAKqhB,aAAa3c,MAAQhC,EAE1B1C,KAAKqhB,aAAavC,UAAYpc,IAMjC1C,KAAKob,4BAA8B,WAClC,IAAIpb,KAAK+kB,yBAAT,CACA/kB,KAAK+kB,0BAA2B,EAEhC,IAAI5kB,EAAMH,KAAKmD,cACf,EAAG,CAGF,IAAI6hB,EAAY5kB,EAAIyI,aAAa1I,GAC7B6kB,EAAUzT,UAAiD,UAArCyT,EAAUzT,SAAS3P,gBAC5C5B,KAAKiS,OAAQ,GAGV9R,IAAQH,KAAKmD,gBAMX/C,EAAIuF,QAAQxF,EAAK,uBACrBA,EAAIO,iBAAiB,SAAUN,EAAImW,gBAAgB,GACnDnW,EAAIqD,QAAQtD,EAAK,qBAAqB,YAG/BA,EAAMA,EAAIsgB,aAAqC,SAAtBrgB,EAAI6D,SAAS9D,MAIjDH,KAAKoW,QAAU,WACVpW,KAAK6hB,aACR7hB,KAAKsY,QAKPtY,KAAKilB,aAAe,SAAUnhB,GAC7B9D,KAAKyU,QAAU3Q,EACf9D,KAAK+U,SAAW3U,EAAIyO,kBAAkB/K,GACtC9D,KAAKmY,wBAA0B/X,EAAI+O,wBAAwBnP,KAAK+U,WAuqB7D3U,EAAIO,IAAIukB,QAEX,IAAK,IAAI3C,KAAOniB,EAAIO,IAAIukB,QACvB,GAAI9kB,EAAIO,IAAIukB,QAAQ3f,eAAegd,GAClC,IACC3H,EAAU2H,EAAKniB,EAAIO,IAAIukB,QAAQ3C,IAC9B,MAAO9f,GACRN,QAAQC,KAAKK,GASjB,IAAI0iB,EAAa,GAEb7iB,EAAK8iB,SACmB,iBAAhB9iB,EAAK8iB,OACfD,EAAa7iB,EAAK8iB,OAAOjd,MAAM,OACrB2C,MAAMkE,QAAQ1M,EAAK8iB,QAC7BD,EAAa7iB,EAAK8iB,OAAOC,QAEzBljB,QAAQC,KAAK,+BAKwB,IAAnC+iB,EAAW3gB,QAAQ,YACtB2gB,EAAW/hB,KAAK,WAKjB,IAAK,IAAI9B,EAAI6jB,EAAW5jB,OAAS,EAAGD,GAAK,EAAGA,GAAK,EAAG,CACnD,IAAIgkB,EAAOH,EAAW7jB,GACtB,GAAKgkB,EAGL,GAAKllB,EAAIO,IAAI4kB,QAAQhgB,eAAe+f,IAIpC,IAAK,IAAI/C,KAAOniB,EAAIO,IAAI4kB,QAAQD,GAC/B,GAAIllB,EAAIO,IAAI4kB,QAAQD,GAAM/f,eAAegd,GACxC,IACC3H,EAAU2H,EAAKniB,EAAIO,IAAI4kB,QAAQD,GAAM/C,IACpC,MAAO9f,GACRN,QAAQC,KAAKK,SARfN,QAAQC,KAAK,qBAAsBkjB,GAgBrC,IAAIE,EAAgB,CAEnB,UAED,IAAK,IAAIjD,KAAOjgB,EACf,GAAIA,EAAKiD,eAAegd,KACa,IAAhCiD,EAAchhB,QAAQ+d,GACzB,IACC3H,EAAU2H,EAAKjgB,EAAKigB,IACnB,MAAO9f,GACRN,QAAQC,KAAKK,GAoBjB,QAPuBf,IAAnB1B,KAAKugB,UACRvgB,KAAKugB,UAAYxgB,EAAOH,SAAS4gB,KAGjCxgB,KAAKugB,UAAYngB,EAAIY,KAAKhB,KAAKugB,YAG3BvgB,KAAKugB,UACT,MAAM,IAAIzgB,MAAM,+DAOjB,GAFAE,KAAKmD,cAAgB/C,EAAIY,KAAKmC,IAEzBnD,KAAKmD,cAAe,CAExB,GAA6B,iBAAlBA,GAA8B,qBAAqBsiB,KAAKtiB,GAGlE,MAAM,IAAIrD,MAAM,OADCqD,EACsB,2CADtBA,EACkF,gCAGpG,MAAM,IAAIrD,MAAM,4DAGjB,GAAIE,KAAKmD,cAAc9C,SAAWL,KAAKmD,cAAc9C,mBAAmBD,EAAIO,IAC3E,MAAM,IAAIb,MAAM,kDAajB,GARAE,KAAKmD,cAAc9C,QAAUL,KAC7BI,EAAImI,SAASvI,KAAKmD,cAAe/C,EAAIO,IAAIoB,WAGzC3B,EAAIG,UAAU6C,KAAKpD,MAIfI,EAAIkE,SAAStE,KAAKmD,iBAEyB,WAA1CnD,KAAKmD,cAAcxB,KAAKC,gBAG3B5B,KAAKmD,cAAcxB,KAAO,UAGvBvB,EAAIqE,cAAczE,KAAKmD,gBAAgB,CAK1C/C,EAAI8D,eAAelE,KAAKmD,eAGxBnD,KAAKmD,cAAc+Z,YAAYnd,EAAOH,SAASqgB,eAAe,MAG9D,IAAI+E,EAAY5kB,EAAIyI,aAAa7I,KAAKmD,gBACnByL,WAAWoW,EAAU,eAAiB,GACtChlB,KAAKuhB,aACvBnhB,EAAI4I,SAAShJ,KAAKmD,cAAe,CAChCuiB,YAAa1lB,KAAKuhB,YAAc,MAC9BvhB,KAAK4hB,YAsCX,QAhC0BlgB,IAAtB1B,KAAKohB,aACJhhB,EAAIiE,YAAYrE,KAAKmD,iBAExBnD,KAAKohB,aAAephB,KAAKmD,eAKM,OAAtBnD,KAAKohB,eAIfphB,KAAKohB,aAAehhB,EAAIY,KAAKhB,KAAKohB,eAI/BphB,KAAKqhB,eACRrhB,KAAKqhB,aAAejhB,EAAIY,KAAKhB,KAAKqhB,oBAIP3f,IAAxB1B,KAAKshB,eACRthB,KAAKshB,eAAiBthB,KAAKmD,cAEO,OAAxBnD,KAAKshB,iBAIfthB,KAAKshB,eAAiBlhB,EAAIY,KAAKhB,KAAKshB,iBAIjCthB,KAAKohB,cAAgBhhB,EAAIiE,YAAYrE,KAAKohB,cAAe,CAI5D,IAAIuE,EAAyB,CAC5BxE,QAASnhB,KAAKohB,aAAawE,SAE5B5lB,KAAKohB,aAAawE,QAAU,KAE5B5lB,KAAKohB,aAAa1gB,iBAAiB,WA3RpC,SAAyB0G,GACC,UAArBhH,EAAIsH,SAASN,KACZuT,EAAKyG,cACRzG,EAAKgJ,kBAAkBhJ,EAAKyG,aAAa1c,OAE1CiW,EAAKvE,cAsRwD,GAC9DpW,KAAKohB,aAAa1gB,iBAAiB,UAxQpC,SAAwB0G,GACvB,IAAIhH,EAAIuF,QAAQyB,EAAI,YAApB,CAIA,IAAIye,EAASlL,EAAKyG,aAAa1c,MAE/BiW,EAAKgJ,kBAAkBhJ,EAAKyG,aAAa1c,OAEzCtE,EAAIoV,gBAAgBmF,EAAM,YAEtBA,EAAKyG,aAAa1c,QAAUmhB,GAE/BzlB,EAAIqH,kBAAkBkT,EAAKyG,aAAc,UAAU,GAAM,OA2PE,GAC5DphB,KAAKohB,aAAa1gB,iBAAiB,SAlOpC,SAAuB0G,GAClBhH,EAAIuF,QAAQyB,EAAI,cAIhBuT,EAAKyG,cACRzG,EAAKqI,WAAWrI,EAAKyG,aAAa1c,MAAOtE,EAAIwZ,MAAMC,YAGpDzZ,EAAIoV,gBAAgBmF,EAAM,eAyNgC,GAEtDgL,EAAuBxE,SAC1BnhB,KAAKohB,aAAa1gB,iBAAiB,QAASilB,EAAuBxE,SAAS,GAG7EnhB,KAAKohB,aAAalc,aAAa,eAAgB,OAC/ClF,KAAKohB,aAAalc,aAAa,cAAe,OAC9ClF,KAAKohB,aAAalc,aAAa,iBAAkB,OACjDlF,KAAKohB,aAAalc,aAAa,cAAc,GAI1ClF,KAAKqhB,cAAgBjhB,EAAIiE,YAAYrE,KAAKqhB,gBAC7CrhB,KAAKqhB,aAAa3gB,iBAAiB,WAjSpC,SAAyB0G,GACC,UAArBhH,EAAIsH,SAASN,KACZuT,EAAK0G,cACR1G,EAAKiJ,kBAAkBjJ,EAAK0G,aAAa3c,OAE1CiW,EAAKvE,cA4RwD,GAC9DpW,KAAKqhB,aAAa3gB,iBAAiB,UAtQpC,SAAwB0G,GACvB,IAAIhH,EAAIuF,QAAQyB,EAAI,YAApB,CAIA,IAAIye,EAASlL,EAAK0G,aAAa3c,MAE/BiW,EAAKiJ,kBAAkBjJ,EAAK0G,aAAa3c,OAEzCtE,EAAIoV,gBAAgBmF,EAAM,YAG1Bva,EAAIqH,kBAAkBkT,EAAKyG,aAAc,UAAU,GAAM,GAErDzG,EAAK0G,aAAa3c,QAAUmhB,GAE/BzlB,EAAIqH,kBAAkBkT,EAAK0G,aAAc,UAAU,GAAM,OAsPE,GAC5DrhB,KAAKqhB,aAAa3gB,iBAAiB,SAlOpC,SAAuB0G,GAClBhH,EAAIuF,QAAQyB,EAAI,cAIhBuT,EAAK0G,cACR1G,EAAKjD,SAAS,KAAM,KAAM,KAAM9I,WAAW+L,EAAK0G,aAAa3c,OAAQtE,EAAIwZ,MAAME,YAGhF1Z,EAAIoV,gBAAgBmF,EAAM,WAG1Bva,EAAIqH,kBAAkBkT,EAAKyG,aAAc,SAAS,GAAM,OAsNE,GAE1DphB,KAAKqhB,aAAanc,aAAa,eAAgB,OAC/ClF,KAAKqhB,aAAanc,aAAa,cAAe,OAC9ClF,KAAKqhB,aAAanc,aAAa,iBAAkB,OACjDlF,KAAKqhB,aAAanc,aAAa,cAAc,IAK9C,IAAI4gB,EAAY,cAEGpkB,IAAf1B,KAAK0E,MACRohB,EAAY9lB,KAAK0E,MACP1E,KAAKohB,mBAA4C1f,IAA5B1B,KAAKohB,aAAa1c,QACjDohB,EAAY9lB,KAAKohB,aAAa1c,OAK/B,IAAIqhB,OAAYrkB,EAYhB,QAVmBA,IAAf1B,KAAKihB,MACR8E,EAAa,GAAG/lB,KAAKihB,MACXjhB,KAAKqhB,mBAA4C3f,IAA5B1B,KAAKqhB,aAAa3c,QACjDqhB,EAAY/lB,KAAKqhB,aAAa3c,OAK/B1E,KAAK0jB,eAAiB,KAElB,CAAC,OAAQ,OAAOlf,QAAQxE,KAAKmO,OAAOvM,gBAAkB,EAAG,CAE5D,IAAIsN,EAAQ9O,EAAI4N,iBAAiB8X,GACjC9lB,KAAK0jB,eAAiBxU,EAAQA,EAAMf,OAAS,WAG7CnO,KAAK0jB,eAAiB1jB,KAAKmO,OAAOvM,cAKnC5B,KAAK2jB,kBAAkBmC,QAOLpkB,IAAdqkB,GACH/lB,KAAK4jB,kBAAkBmC,MAkBtBplB,IAAIoB,UAAY,UAIpB3B,EAAIO,IAAI2f,gBAAkB,iBAK1BlgB,EAAIO,IAAImC,WAAY,EAIpB1C,EAAIO,IAAI4kB,QAAU,GAGlBnlB,EAAIO,IAAI4kB,QAAiB,QAAI,GAE7BnlB,EAAIO,IAAI4kB,QAAe,MAAI,CAC1BpH,gBAAiB,sBACjBE,mBAAoB,sBACpBuB,YAAa,iBAEdxf,EAAIO,IAAI4kB,QAAc,KAAI,CACzBpH,gBAAiB,mBACjBE,mBAAoB,sBACpBuB,YAAa,uBAGdxf,EAAIO,IAAI4kB,QAAe,MAAI,CAAE9V,MAAM,IAAKC,OAAO,IAAKqE,QAAQ,GAAIL,WAAW,GAAIsB,YAAY,GAC3F5U,EAAIO,IAAI4kB,QAAgB,OAAI,CAAE9V,MAAM,IAAKC,OAAO,IAAKqE,QAAQ,GAAIL,WAAW,GAAIsB,YAAY,IAC5F5U,EAAIO,IAAI4kB,QAAe,MAAI,CAAE9V,MAAM,IAAKC,OAAO,IAAKqE,QAAQ,GAAIL,WAAW,GAAIsB,YAAY,IAE3F5U,EAAIO,IAAI4kB,QAAc,KAAI,CAAE/Q,YAAY,EAAGjB,mBAAmB,EAAG6B,mBAAmB,GACpFhV,EAAIO,IAAI4kB,QAAe,MAAI,CAAE/Q,YAAY,EAAGjB,mBAAmB,EAAG6B,mBAAmB,GAIrFhV,EAAIO,IAAIke,iBAAmB,EAG3Bze,EAAIO,IAAIyP,eAAiB,EACzBhQ,EAAIO,IAAI2P,iBAAmB,UAC3BlQ,EAAIO,IAAI6P,iBAAmB,UAG3BpQ,EAAIO,IAAIuP,iBAAmB,CAAC,wBAAyB,yBAIrD9P,EAAIO,IAAIC,KAAO,WACd,IAAIR,EAAIE,YAgBR,IAXAP,EAAOH,SAASc,iBAAiB,YAAaN,EAAIoW,qBAAqB,GACvEzW,EAAOH,SAASc,iBAAiB,QAASN,EAAI+V,iBAAiB,GAC/DpW,EAAOW,iBAAiB,SAAUN,EAAIiW,gBAAgB,GACtDtW,EAAOW,iBAAiB,SAAUN,EAAIkW,gBAAgB,GAGtDlW,EAAIO,IAAIqlB,UAER5lB,EAAIE,aAAc,EAGXF,EAAII,WAAWe,QACVnB,EAAII,WAAWylB,OAC1B5f,IAMFjG,EAAIO,IAAIqlB,QAAU,SAAUjlB,GAC3B,IAAIuhB,GAAU,EAEd,IACCliB,EAAIS,kBAAkB,iBAAkBE,GACvC,MAAO0B,GACR6f,GAAU,EACVngB,QAAQC,KAAKK,GAId,GAAIrC,EAAIO,IAAIU,YACX,IACCjB,EAAIS,kBAEF,SAAWT,EAAIO,IAAIU,YAAnB,YACYjB,EAAIO,IAAIU,YAErBN,GAEA,MAAO0B,IAGV,OAAO6f,GAMRliB,EAAIO,IAAIulB,MAAQ,SAAU7f,GACzB,MAAoB,mBAATA,GACVlE,QAAQC,KAAK,mCACN,IAGJhC,EAAIE,YACP+F,IAEAjG,EAAII,WAAW4C,KAAKiD,IAEd,IASRjG,EAAIO,IAAIkV,QAAU,SAAUD,GAC3B,IAAIuQ,EAAa,WAChB/lB,EAAIuV,cAAcC,IAGfxV,EAAIE,YACP6lB,IAEA/lB,EAAIO,IAAIulB,MAAMC,IAMhB/lB,EAAIO,IAAI2X,KAAO,WACVlY,EAAIwR,QAAUxR,EAAIwR,OAAOC,OAC5BzR,EAAIwR,OAAOC,MAAMyG,QAMnBlY,EAAIO,IAAIoe,WAAa,SAAU7P,GAK9B,OAJKA,IACJA,EAAQ,iBAEK9O,EAAIyP,sBAAsBX,GACzBI,OAAOgQ,aAKvBlf,EAAIO,IAAIiK,WAAa,SAAUsE,GAC9B,IAAI8U,EAAc,GAGlBA,EAAY5gB,KAAKhD,EAAIkR,wBAAwBpC,IAG7C,IAAImV,EAAUjkB,EAAIyP,wBAOlB,OANAmU,EAAY5gB,KAAK,CAChB,QAAWihB,EAAQ/U,OAAOgQ,YAAc,KACxC,WACA,UACCtU,KAAK,MAEAgZ,EAAYhZ,KAAK,OAYzB5K,EAAIO,IAAIukB,QAAU,GAUlB9kB,EAAIO,IAAIU,YAAc,UAMtBjB,EAAIO,IAAIylB,mBAAqB,WAE5B,OADAjkB,QAAQuT,MAAM,qGAAuGtV,EAAIiC,UAClH,GAIRjC,EAAIK,WAGGL,EAAIO,KAaX,YAP8B,IAAnBZ,EAAOM,UACjBN,EAAOM,QAAUN,EAAOsmB,QAAUhmB,GAM5BA,OAUOimB,EAA2B,GAG/B,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqB9kB,IAAjB+kB,EACH,OAAOA,EAAa9mB,QAGrB,IAAIH,EAAS8mB,EAAyBE,GAAY,CAGjD7mB,QAAS,IAOV,OAHAL,EAAoBknB,GAAUvb,KAAKzL,EAAOG,QAASH,EAAQA,EAAOG,QAAS4mB,GAGpE/mB,EAAOG,QAOd4mB,EAAoBhiB,EAAK/E,IACxB,IAAI0b,EAAS1b,GAAUA,EAAOknB,WAC7B,IAAOlnB,EAAiB,QACxB,IAAM,EAEP,OADA+mB,EAAoBI,EAAEzL,EAAQ,CAAE/Q,EAAG+Q,IAC5BA,GAORqL,EAAoBI,EAAI,CAAChnB,EAASinB,KACjC,IAAI,IAAIC,KAAOD,EACXL,EAAoBO,EAAEF,EAAYC,KAASN,EAAoBO,EAAEnnB,EAASknB,IAC5E/hB,OAAOC,eAAepF,EAASknB,EAAK,CAAEE,YAAY,EAAM/hB,IAAK4hB,EAAWC,MAQ3EN,EAAoBO,EAAI,CAAC1hB,EAAKI,IAAUV,OAAOiG,UAAUxF,eAAe0F,KAAK7F,EAAKI,GAM7F,MACA,aAiDA,IAAIwhB,EAAY,GAUhB,SAASC,IACHD,EAAUE,iBAAmBC,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC,EACAC,EACAC,EACAC,EACAC,EACAE,EACAC,GAUIE,EAAc,CAClB,CAAC,6BAA8B,oCAAqC,SACpE,CACE,2CACA,6EACA,SAEF,CACE,6BACA,qPACA,SAEF,CACE,8BACA,kEACA,SAEF,CACE,kCACA,2PACA,SAEF,CACE,0BACA,gLACA,SAEF,CACE,2BACA,uOACA,SAEF,CACE,4BACA,2CACA,SAEF,CACE,8BACA,uHACA,UAGEC,EAAwB,GAM9B,IAUIC,EACAC,EAXAC,EAAsB,EACtBC,GAAmB,EAOnBC,EAA4B,GAQ5BC,EAAmB,EACnBC,EAAsB,EACtBC,EAA4B,EAMhC,MAAMC,EAAc,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,MAC9CC,EAAa,CAAC,EAAG,EAAG,GAAI,GAAI,IAK5BC,EAAc,CAClBC,OAAQrB,EACRsB,iBAAkBhB,EAClBiB,eAAgBxB,EAChByB,KAAMtB,EACNuB,eAAgB3B,EAChB4B,aAAcrB,GAMhB,IAOIsB,EACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GAdAC,GAAW,GAKXC,GAAQ,GAcRC,GAAoB,GAkBxB,SAASC,GAA4BC,EAAKC,EAAQC,GAChD,MAAMC,EAAW1E,EAAU2E,cAAgB,EAC3C,GAAIJ,IAAQK,IACV,MAAO,WAET,QAAmB,IAARL,EACT,MAAO,IAET,GAAwB,IAApBvE,EAAU6E,MACZ,OAAOjD,EAAgBkD,SAASP,EAAKC,GAEvC,GAAIO,OAAOC,SAAST,GAAM,CACxB,GAAIA,EAAM,EACR,MAAO,IAAID,GAA4BzhB,KAAK0N,IAAIgU,MAElD,IAAIU,EAAS,GACb,GAAY,IAARV,EACF,OAAOA,EAAIxhB,WAEb,GAAIwhB,EAAM,MAASA,EAAMvE,EAAUkF,YAGjC,OAF8BD,EAA1BjF,EAAUmF,eAAyBZ,EAAIa,eAAe,MAC5Cb,EAAIa,eAAe,MAC1BH,EAET,GAAyB,IAApBjF,EAAU6E,QAAgBJ,GAAsB,IAAXA,EAExCQ,EAASV,EAAIc,cAAcX,GAAU3hB,WAAW7B,QAAQ,IAAK,SACxD,CACL,MAAMokB,EAAcf,EAAIc,gBAAgBtiB,WAClCwiB,EAAwB1iB,KAAKkE,MACjCue,EAAYjH,MAAMiH,EAAY9nB,QAAQ,KAAO,GAAK,GAEpDynB,GAAUV,EAAMQ,OAAO,KAA6B,EAAxBQ,IAA8BC,QACxDd,GAGuB,IAApB1E,EAAU6E,QAAgBJ,GAAsB,IAAXA,EAEpCF,GAAO,KAAQA,EAAMQ,OAAO,KAAqB,EAAhB1E,EAAO9lB,QAC1C0qB,GAAU,IAAI5E,EAAOkF,KAChBN,EAASX,GAA4BC,EAAK,EAAG,GACtB,IAApBvE,EAAU6E,QAAgBJ,GAAsB,IAAXA,EAE3CF,GAAO,KAAQA,EAAMQ,OAAO,KAAyB,EAApBzE,EAAW/lB,QAC9C0qB,GAAU,IAAI3E,EAAWiF,KACpBN,EAASX,GAA4BC,EAAK,EAAG,GACtB,IAApBvE,EAAU6E,QAAgBJ,GAAsB,IAAXA,EAG7CF,GAAO,KACPA,EAAMQ,OAAO,KAAoC,EAA/BxE,EAAsBhmB,QAExC0qB,GAAU,IAAI1E,EAAsBgF,KAC/BN,EAASX,GAA4BC,EAAK,EAAG,IACtB,IAApBvE,EAAU6E,QAAgBJ,GAAsB,IAAXA,KAE/CQ,GAAU,IAA4B,EAAxBM,GAUlB,MAPe,KAAXN,IACF9pB,QAAQsqB,IACN,2DAA2DlB,KAE7DU,EAASrD,EAAgBkD,SAASP,EAAKC,IAErCxE,EAAUmF,iBAAgBF,EAASA,EAAO/jB,QAAQ,IAAK,MACpD+jB,EAGT,OADA9pB,QAAQsqB,IAAI,2DAA2DlB,KAChE3C,EAAgBkD,SAASP,EAAKC,GASvC,SAASkB,GAAWC,EAAMC,GACxB,IAAIC,EAAgBF,EACpB,GAAIA,IAASf,IAAU,OAAOe,EAC9B,GAAIA,EAAO,EAAG,MAAO,uBACrBE,EAAgBhjB,KAAKoL,KAAK0X,GAC1B,MAAMlhB,EAAI5B,KAAKkE,MAAM8e,EAAgB,UAC/BlG,EAAI9c,KAAKkE,MAAO8e,EAAgB,SAAY,OAC5Clf,EAAI9D,KAAKkE,MAAO8e,EAAgB,MAAS,MACzCprB,EAAIoI,KAAKkE,MAAO8e,EAAgB,KAAQ,IACxChf,EAAIhE,KAAKkE,MAAM8e,EAAgB,IACrC,IAAInqB,EAAM,GACV,GAAIskB,EAAU8F,WAAY,CACxB,GAAID,EAAgB,SAAY,MAAO,iBACvCnqB,IAAW+I,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACP/I,IAAWikB,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPjkB,IAAWiL,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPjL,IAAWjB,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPiB,IAAQmL,EAAI,GAAK,IAAM,IAAMA,MACxB,CACL,GAAIgf,EAAgB,OAClB,OAAOD,EAAa,kBAAoB,SAC1ClqB,GACE+I,EAAI,EACGA,GAAKmhB,EAAoB,IAANnhB,EAAU,QAAU,SAAY,KAAtD,KACA,GACN/I,GACEikB,EAAI,EAAOA,GAAKiG,EAAoB,IAANjG,EAAU,OAAS,QAAW,KAApD,KAA+D,IACrEjkB,EAAInB,OAAS,GAAKoM,EAAI,KACxBjL,GAAUiL,GAAKif,EAAoB,IAANjf,EAAU,QAAU,SAAY,KAAtD,OACLjL,EAAInB,OAAS,GAAKE,EAAI,KACxBiB,GAAUjB,GAAKmrB,EAAoB,IAANnrB,EAAU,UAAY,WAAc,KAA1D,MACTiB,GAAOmL,GAAK+e,EAAoB,IAAN/e,EAAU,UAAY,WAAc,KAEhE,OAAOnL,EAQT,SAASqqB,GAAcJ,GACrB,IAAIzd,EACA8d,EAWJ,OAVIL,GAAQ,GACgBK,EAAtBhG,EAAU8F,WAAmB,iBACrB,QACZ5d,EAAQ8Z,IAERgE,EAAON,GAAWC,GACFzd,EAAZyd,EAAO,IAAaxD,EACfwD,EAAO,GAAYzD,EACfD,GAER,CAAE+D,OAAM9d,SAMjB,IA0EI+d,GACAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GAEAC,GAEAC,GAwBAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAxIAC,GAAkB,EAClBC,GAAmB,EACnBC,GAAuB,EACvBC,GAAyB,EACzBC,GAAa,EACbC,GAAmB,EACnBC,GAAwB,EACxBC,GAAmB,EACnBC,GAAyB,EACzBC,GAA8B,EAC9BC,GAAe,EACfC,GAAqB,EACrBC,GAAe,EACfC,GAAuB,EACvBC,GAA6B,EAC7BC,GAAoC,EACpCC,GAAyB,EACzBC,GAAwB,EAExBC,GAAmB,EAEnBC,GAAe,EACfC,GAAe,EACfC,GAAkB,EAElBC,GAAgB,GAChBC,GAAiB,GACjBC,GAAkB,GAElBC,GAAsB,EACtBC,GAAuB,EACvBC,GAAwB,CAAC,EAAG,MAE5BC,GAA2B,EAC3BC,GAAyB,EAEzBC,GAAgB,GAEhBC,GAAqB,GAErBC,GAAuB,GACvBC,GAA+B,GAC/BC,GAA8B,GAE9BC,GAAqB,EACrBC,GAAyB,EACzBC,GAAsB,GACtBC,GAA0B,EAC1BC,GAA8B,EAC9BC,GAA2B,GAC3BC,GAA2B,EAC3BC,GAA+B,EAC/BC,GAA4B,GAC5BC,GAAgC,EAChCC,GAAoC,EACpCC,GAAiC,GAEjCC,GAAyB,EACzBC,GAAwB,EAExBC,GAA4B,GAC5BC,GAAwB,GAExBC,GAA4B,EAG5BC,GAAa,EAEbC,GAAe,GAEfC,GAA0B,GAE1BC,GAAqB,EA6BrBC,GAAY,CACdC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVzrB,EAAG,CAAC,EAAG,EAAG,GACV0rB,GAAI,CAAC,EAAG,EAAG,IAOTC,GAAa,GACbC,GAAc,GACdC,GAAkB,GAuBtB,SAASC,GAAYC,GACnB,IAAIpvB,EAAI,EAWR,OATE4iB,KAAKyM,YAAYjF,IAAe9oB,OAAS8tB,GACzCxM,KAAKyM,YAAYhF,IAAgB/oB,OAAS8tB,IAE1CpvB,EAAI,GAEqC,oBAAzC4iB,KAAKyM,YAAYjF,IAAe9oB,MACU,oBAA1CshB,KAAKyM,YAAYhF,IAAgB/oB,OAEjCtB,GAAK,IACAA,EAWT,SAASsvB,KACP,IAAIC,EAAW,IAEf,OADAA,GAAY,EAAIJ,GAAY,mBACrBI,EAST,SAASC,GAAOluB,EAAMmuB,GACpB,YAA6B,IAAlB/E,GAAQppB,QACK,IAARmuB,EAAsB,EAAIA,EAEnC/E,GAAQppB,GASjB,SAASouB,GAAON,GACd,MAAMO,EAAKV,GAAYG,GACvB,OACyB,IAAvBxM,KAAKgN,eACQ,aAAZD,EAAGE,MAAmC,YAAZF,EAAGG,OAGzBH,EAAKA,EAAGI,OADN,EAYX,SAASC,GAAUZ,GACjB,GAAIxM,KAAKqN,OAAQ,MACoB9yB,IAA/B6xB,GAAWkB,OAAOC,WACpBnB,GAAWkB,OAAOC,SAAWvN,KAAKwN,QAAQF,OAAOC,UAEnD,MAAME,EAAMrB,GAAWkB,OAAOC,SAASG,KAAKlB,GAC5C,GAAI9E,KAAY+F,EAAIE,GAClB,OAAO,EAET,GAAIhG,KAAY8F,EAAIE,GAClB,OAAO,EAET,GAAI/F,KAAY6F,EAAIE,GAClB,OAAO,EAGX,OAAO,EAgBT,SAASC,GAAuBC,EAAUC,GACxC,IAAIC,EAAgBD,EAapB,GAZIhB,GAAO,oBAAmBiB,GAAiB,KAC3CjB,GAAO,sBAAqBiB,GAAiB,KAC7CjB,GAAO,iBAAgBiB,GAAiB,KACxCjB,GAAO,qBAAoBiB,GAAiB,KAC5CjB,GAAO,kBAAiBiB,GAAiB,KAE7CA,GAAiB,EAAoC,IAAhCxB,GAAY,kBAC7BvM,KAAKgO,QAAQ,wBAAuBD,GAAiB,KACrD/N,KAAKgO,QAAQ,mBAAkBD,GAAiB,KAChD/N,KAAKgO,QAAQ,mBAAkBD,GAAiB,MAChDF,EAASI,SAAWnB,GAAOe,EAASI,QAAQvvB,QAAOqvB,GAAiB,KACxEA,GAAiBnB,GAAO,gBACpBR,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASf,GAAU,YACV,IAAXe,EAAcJ,GAAiB,IACf,IAAXI,EAAcJ,GAAiB,IACpB,IAAXI,IAAcJ,GAAiB,KAE1C,OAAOA,EAkBT,SAASK,GACPC,EACAC,EACA3kB,EACA4kB,EACAC,EACAC,GAIA,MAAMC,OAA4B,IAAVD,EAAwB,EAAIA,EACpD,IAAIE,EAAWH,EACXI,EAAiBjlB,EACjBklB,EAAO,GACK,IAAZL,IAAeG,EAAWC,GACzBJ,IAAQG,EAAW3O,KAAK8O,SAC7B,IAAK,IAAI30B,EAAI,EAAGA,EAAIw0B,EAAUx0B,IAAK,CACjC,IAAI2zB,EACFQ,EAAYtO,KAAK+O,eAAiBrsB,KAAK6D,IAAI,EAAGqoB,EAAiBL,GACjET,EAAQY,EACJ1O,KAAKgP,oBAAoBX,EAAOP,GAChCF,GAAuBS,EAAOP,GAClCA,EAAQprB,KAAKoL,KAAKggB,GAClB,MAAMnB,EAAW+B,EACbL,EAAMY,oBACNvC,KACJoB,EAAQprB,KAAKkE,MAAMknB,EAAQnB,GACvBiC,EAAiB,IACnBC,GAAQf,EACRc,GAAkB,GAGtB,OAAOC,EAoBT,SAASK,KACP,IAAI1vB,EAASwgB,KAAK8O,QA0ClB,GAzCqB,IAAjB9O,KAAKmP,QACPrM,EAAsBtjB,EAEtBA,EAASsjB,EAEI,IAAXtjB,EAAcA,EAAS+pB,GACP,KAAX/pB,EAAeA,EAASgqB,GACb,MAAXhqB,IAAgBA,EAASiqB,IAEb,IAAjBzJ,KAAKmP,QACuB,IAA1BtP,EAAUuP,YACZzxB,OAAO6C,KAAKhB,GAAQ6vB,SAASl1B,IAC3BoR,EAAE,eAAeyU,KAAKwN,QAAQrzB,GAAGwzB,MAAMvrB,MAAM2F,MAC3C8X,EAAU,SAASrgB,EAAOrF,GAAG4N,YAGjCpK,OAAO6C,KAAKwf,KAAKwN,SAAS6B,SAASl1B,IACjCoR,EAAE,eAAeyU,KAAKwN,QAAQrzB,GAAGwzB,MAAMvrB,MAAMktB,eAAe,aAGrC,IAAlBtP,KAAKmP,SACdxxB,OAAO6C,KAAK+oB,IAAe8F,SAASl1B,IAClC,MAAMwlB,EAAIK,KAAKwN,QAAQrzB,GACvBoR,EAAE,eAAeoU,EAAEgO,MAAMvrB,MAAM2F,MAAQ,GASvCwD,EAAE,eAAeoU,EAAEgO,MAAMhW,UAAYwM,GACnCiK,GAAazO,EAAGA,EAAE2O,UAAW3O,EAAE6O,OAAQ7O,EAAE4O,KAAMvO,KAAK8O,QAAS,OAQ9C,IAAjB9O,KAAKmP,SAAiBtP,EAAU0P,cAAe,CACjD,IAAIC,EAC4B,IAA5B3P,EAAU0P,eACZC,EAAM7xB,OAAO6C,KAAK+oB,IAAejrB,KAAKmxB,IACpC,MAAM9P,EAAI4J,GAAckG,GAGxB,OAFA9P,EAAEjhB,KAAO+wB,EACT9P,EAAEgO,GAAK3N,KAAKwN,QAAQiC,GAAG9B,GAChBhO,KAGT6P,EAAIE,MAAK,SAAU1sB,EAAGP,GACpB,OAAO4f,EAAgBhlB,QAAQ2F,EAAE+E,OAC/Bsa,EAAgBhlB,QAAQoF,EAAEsF,OACxB,EACAsa,EAAgBhlB,QAAQ2F,EAAE+E,OAASsa,EAAgBhlB,QAAQoF,EAAEsF,QAE7D/E,EAAEyI,GAAKhJ,EAAEgJ,IADR,EAGD,MAE+B,IAA5BoU,EAAU0P,gBACnBC,EAAM7xB,OAAO6C,KAAKhB,GAAQlB,KAAKmxB,IAC7B,MAAM9P,EAAIngB,EAAOiwB,GAGjB,OAFA9P,EAAEjhB,KAAO+wB,EACT9P,EAAEgO,GAAK3N,KAAKwN,QAAQiC,GAAG9B,GAChBhO,KAGT6P,EAAIE,MAAK,SAAU1sB,EAAGP,GACpB,OAAO4f,EAAgBhlB,QAAQ2F,EAAE+E,OAC/Bsa,EAAgBhlB,QAAQoF,EAAEsF,OACxB,EACAsa,EAAgBhlB,QAAQ2F,EAAE+E,OAASsa,EAAgBhlB,QAAQoF,EAAEsF,QAE7D/E,EAAEyI,GAAKhJ,EAAEgJ,IADR,EAGD,MAIR,IAAK,IAAIpH,EAAI,EAAGA,EAAImrB,EAAIp1B,OAAQiK,IAC9B2b,KAAKwN,QAAQgC,EAAInrB,GAAG3F,MAAM6M,EAAEnJ,MAAMutB,QAAU,GAAGtrB,EAAI,KAAKA,EAAI,QAEzD,CACL,MAAMmrB,EAAM7xB,OAAO6C,KAAK+oB,IAAejrB,KAAKmxB,IAC1C,MAAM9P,EAAI4J,GAAckG,GAGxB,OAFA9P,EAAEjhB,KAAO+wB,EACT9P,EAAEgO,GAAK3N,KAAKwN,QAAQiC,GAAG9B,GAChBhO,KAET6P,EAAIE,MAAK,CAAC1sB,EAAGP,IAAMO,EAAE2qB,GAAKlrB,EAAEkrB,KAC5B,IAAK,IAAItpB,EAAI,EAAGA,EAAImrB,EAAIp1B,OAAQiK,IAC9B2b,KAAKwN,QAAQgC,EAAInrB,GAAG3F,MAAM6M,EAAEnJ,MAAMutB,QAAU,GAAGtrB,EAAI,KAAKA,EAAI,KAiBlE,SAASurB,KAEP,GAAI/P,EAAUgQ,YAAc,EAAG,CAC7B,IAAIC,EAAO,EACPC,EAAQ,EACRC,EAAS,EACTC,EAAS,EACTC,EAAM,EACNC,EAAS,EACTC,EAAO,EAEXzyB,OAAO6C,KAAKwf,KAAKqQ,iBAAiBhB,SAASl1B,IACzC,MAAMm2B,EAAKtQ,KAAKqQ,gBAAgBl2B,GAChC,IAAIo2B,GAAc,EAClB,IAAK,IAAIC,EAAI,EAAGA,EAAIjlB,EAAE,UAAUpR,KAAKs2B,WAAWr2B,OAAQo2B,GAAK,EAC3D,IACuE,IAArEjlB,EAAE,UAAUpR,KAAKs2B,WAAWD,GAAG51B,UAAUyC,QAAQskB,GACjD,CACApW,EAAE,UAAUpR,KAAKs2B,WAAWD,GAAG51B,UAC7B+mB,EAAgBoI,GAAcuG,EAAG5xB,MAAMqJ,MACzCwoB,GAAc,EACd,MAGJ,IAAKA,EAAa,CAChB,MAAMG,EAAMj4B,SAAS4D,cAAc,OACnCq0B,EAAItuB,MAAMkG,MAAQ,OAClBooB,EAAItuB,MAAMmG,OAAS,OACnBmoB,EAAI91B,UAAY+mB,EAAgBoI,GAAcuG,EAAG5xB,MAAMqJ,MACvDwD,EAAE,UAAUpR,KAAK4b,YAAY2a,GAE3B3G,GAAcuG,EAAG5xB,MAAMqJ,QAAU6Z,EAAYkO,GAAQ,EAChD/F,GAAcuG,EAAG5xB,MAAMqJ,QAAU8Z,EAAakO,GAAS,EACvDhG,GAAcuG,EAAG5xB,MAAMqJ,QAAU+Z,EAAckO,GAAU,EACzDjG,GAAcuG,EAAG5xB,MAAMqJ,QAAUga,EAAckO,GAAU,EACzDlG,GAAcuG,EAAG5xB,MAAMqJ,QAAUia,EAAWkO,GAAO,EACnDnG,GAAcuG,EAAG5xB,MAAMqJ,QAAUka,EAAckO,GAAU,EACzDpG,GAAcuG,EAAG5xB,MAAMqJ,QAAUma,IAAYkO,GAAQ,MAGhE7kB,EAAE,oBAAoB/N,YAAcsyB,EACpCvkB,EAAE,qBAAqB/N,YAAcuyB,EACrCxkB,EAAE,sBAAsB/N,YAAcwyB,EACtCzkB,EAAE,sBAAsB/N,YAAcyyB,EACtC1kB,EAAE,mBAAmB/N,YAAc0yB,EACnC3kB,EAAE,sBAAsB/N,YAAc2yB,EACtC5kB,EAAE,oBAAoB/N,YAAc4yB,EAGtC,MAAMZ,EAAM,GAGZ,IAAK,IAAInrB,EAAI,EAAGA,EAAI2b,KAAKqQ,gBAAgBj2B,OAAQiK,GAAK,EAAG,CACvD,MAAMsb,EAAI,GACVA,EAAEjhB,KAAOshB,KAAKqQ,gBAAgBhsB,GAAG3F,KACjCihB,EAAEmO,MAAQ9N,KAAKqQ,gBAAgBhsB,GAAGiqB,UAClC3O,EAAElU,GAAKse,GAAcpK,EAAEjhB,MAAM+M,GAC7B+jB,EAAIvzB,KAAK0jB,GAGPE,EAAU8Q,aACZnB,EAAIE,MAAK,SAAU1sB,EAAGP,GACpB,OAAO4f,EAAgBhlB,QAAQ2F,EAAE+E,OAASsa,EAAgBhlB,QAAQoF,EAAEsF,OAChE,EACAsa,EAAgBhlB,QAAQ2F,EAAE+E,OAASsa,EAAgBhlB,QAAQoF,EAAEsF,QAE7D/E,EAAEyI,GAAKhJ,EAAEgJ,IADR,EAGD,KAGN+jB,EAAIE,MAAK,CAAC1sB,EAAGP,IAAMO,EAAE8qB,MAAQrrB,EAAEqrB,QAGjC,MAAM8C,EAAc,SAAUC,EAAMC,GAClC,OAAOD,EAAKE,WAAWz1B,GAAMA,EAAEoD,OAASoyB,EAAQpyB,QAElD,IAAK,IAAI2F,EAAI,EAAGA,EAAI2b,KAAKqQ,gBAAgBj2B,OAAQiK,GAAK,EACpDkH,EAAE,UAAUlH,KAAKjC,MAAM4uB,MACrBJ,EAAYpB,EAAKxP,KAAKqQ,gBAAgBhsB,IAAM,EAYlD,SAAS4sB,KACP,OAAIpR,EAAUqR,QACLrK,GAEmB,IAAxBhH,EAAUsR,UACLnR,KAAKoR,WAAa,EAAIpR,KAAKqR,WAER,IAAxBxR,EAAUsR,UAEVnR,KAAKoR,WACJvH,IAA4B,EAA6B,IAAzBC,KAGJ,OAA7BF,GAAsB,IAEE,IAAxB/J,EAAUsR,WACwC,IAAlDnR,KAAKsR,UAAU1H,GAAsB,IAAIpvB,KAGvCwlB,KAAKoR,WACwB,EAA3BvH,GAAgCC,IAC/B,EAA6B,IAAzBA,KAIX9J,KAAKoR,WACJvH,GAA2BC,IACzB,EAA6B,IAAzBA,KAaX,SAASyH,KACP,OAA4B,IAAxB1R,EAAUsR,UACLzH,GAEmB,IAAxB7J,EAAUsR,UACLvH,GAAsB,GAExB,EAcT,SAAS4H,GAAY7D,EAAIjvB,EAAM+yB,GAC7B,MAAMC,EAAWj5B,SAAS4D,cAAc,OACxCq1B,EAAS/D,GAAKA,EACd+D,EAAStvB,MAAMmG,OAAS,OACxBmpB,EAAStvB,MAAMuvB,OAAS,WACxBD,EAAStvB,MAAMgI,SAAW,WAE1B,MAAMsmB,EAAMj4B,SAAS4D,cAAc,OACnCq0B,EAAItuB,MAAMkG,MAAQ,OAClBooB,EAAItuB,MAAMmG,OAAS,OACnBmoB,EAAItuB,MAAMuvB,OAAS,OACnBjB,EAAItuB,MAAMgI,SAAW,WACrBsmB,EAAItuB,MAAMqC,KAAO,MACjBisB,EAAItuB,MAAMsC,IAAM,MAChBgsB,EAAItuB,MAAMkI,MAAQ,MAClBomB,EAAItuB,MAAMkW,OAAS,MAEnB,MAAM9d,EAAO/B,SAAS4D,cAAc,QACpC7B,EAAK4H,MAAMqV,QAAU,eACrBjd,EAAK4H,MAAMuW,UAAY,QACvBne,EAAK4H,MAAMwvB,SAAW,OACtBp3B,EAAK4H,MAAMkG,MAAQ,QACnB9N,EAAK4H,MAAMyvB,YAAc,MACzBr3B,EAAK4H,MAAM0vB,cAAgB,WAC3Bt3B,EAAKgD,YAAckB,EACnBgyB,EAAI3a,YAAYvb,GAEhB,IAAK,IAAIL,EAAI,EAAGA,EAAIs3B,EAAKr3B,OAAQD,IAAK,CACpC,MAAM43B,EAAWt5B,SAAS4D,cAAc,QACxC01B,EAASpE,GAAK8D,EAAKt3B,GAAGwzB,GACtBoE,EAAS3vB,MAAMqV,QAAU,eACzBsa,EAAS3vB,MAAMmG,OAAS,OACxBwpB,EAAS3vB,MAAM0vB,cAAgB,WAC/BC,EAAS3vB,MAAMuW,UAAY,SACvB8Y,EAAKr3B,OAAS,IAAMD,IACtB43B,EAAS3vB,MAAM4vB,qBAAuB,OACtCD,EAAS3vB,MAAM6vB,wBAA0B,aAEd,IAAlBR,EAAKt3B,GAAG4N,QACjBgqB,EAASn3B,UAAY+mB,EAAgB8P,EAAKt3B,GAAG4N,OAE/C2oB,EAAI3a,YAAYgc,GAGlB,MAAMG,EAAQz5B,SAAS4D,cAAc,QAQrC,OAPA61B,EAAMvE,GAAK,GAAGA,QACduE,EAAM9vB,MAAM+vB,WAAa,MACzBD,EAAM9vB,MAAM0vB,cAAgB,WAC5BpB,EAAI3a,YAAYmc,GAEhBR,EAAS3b,YAAY2a,GAEdgB,EAOT,SAASU,GAA2BC,GAClC,GAAsB,OAAlB9mB,EAAE,YAAsB,CAC1B,MAAM/Q,EAAO+Q,EAAE,YAAYvO,WAAWA,WAAWyzB,WAAW,GACtD6B,EAAQ/mB,EAAE,YAAYvO,WAAWA,WAAWyzB,WAAW,GACvDhlB,EAAKF,EAAE,YAAYvO,WAAWA,WAAWyzB,WAAW,GACpDjL,EAAOja,EAAE,YAAYvO,WAAWA,WAAWyzB,WAAW,GAEtDt2B,EAAIk4B,EACJE,EAAS/3B,EAAKub,YAAYtd,SAAS4D,cAAc,OACvDk2B,EAAOxc,YACLtd,SAASqgB,eACP,IAAuB,IAApB3e,EAAEkD,QAAQ,KAAclD,EAAEq4B,UAAU,EAAGr4B,EAAEkD,QAAQ,MAAQlD,QAInDo4B,EAAOxc,YAAYtd,SAAS4D,cAAc,SAClDzB,UAAY8mB,aAEjB6Q,EAAOxc,YAAYtd,SAASqgB,eAAe,MAC3Cte,EAAKi4B,UAAUrwB,MAAMswB,YAAc,MACnCJ,EAAMvc,YAAYtd,SAAS4D,cAAc,OACzCi2B,EAAMG,UAAUrwB,MAAMswB,YAAc,MACpCjnB,EAAGsK,YAAYtd,SAAS4D,cAAc,OACtCoP,EAAGgnB,UAAUrwB,MAAMswB,YAAc,MACjClN,EAAKzP,YAAYtd,SAAS4D,cAAc,OACxCmpB,EAAKiN,UAAUrwB,MAAMswB,YAAc,OAoEvC,SAASC,KACP,GAAyB,IAArB9S,EAAU+S,QAAgBrJ,IAAkC,IAAjBvJ,KAAKmP,QAAe,CACjE,IAAI0D,EAAQ,EACZl1B,OAAO6C,KAAK+oB,IAAe8F,SAASl1B,IAClC,IAmBI24B,EAnBAtzB,EAASwgB,KAAK8O,QACG,IAAjB9O,KAAKmP,QACPtM,EAAmBrjB,EAEnBA,EAASqjB,EAEI,IAAXrjB,IAAcA,EAAS+pB,IACZ,KAAX/pB,IAAeA,EAASgqB,IACb,MAAXhqB,IAAgBA,EAASiqB,IAC7BoJ,GAAS,EACTtnB,EAAE,YAAYvO,WAAWA,WAAWyzB,WAAW,GAAGA,WAChDoC,GACApC,WAAW,GAAGjzB,YAAcwiB,KAAKwN,QAAQrzB,GAAGq0B,OAC9CjjB,EAAE,YAAYvO,WAAWA,WAAWyzB,WAAW,GAAGA,WAChDoC,GACAr1B,YAAc2mB,GAA4B3kB,EAAOrF,GAAGm4B,MAAO,GAC7D/mB,EAAE,YAAYvO,WAAWA,WAAWyzB,WAAW,GAAGA,WAChDoC,GACAj4B,UAAY8mB,EAAgBliB,EAAOrF,GAAG4N,MAGtC+qB,EADEjT,EAAUkT,cACDxN,GAAW7iB,KAAKC,MAAMnD,EAAOrF,GAAGsR,KAC7B0Y,GAA4BzhB,KAAKC,MAAMnD,EAAOrF,GAAGsR,IAAK,GACtEF,EAAE,YAAYvO,WAAWA,WAAWyzB,WAAW,GAAGA,WAChDoC,GACAr1B,YAAcs1B,EAChB,MAAME,EAAapN,IAChB5F,KAAKwN,QAAQrzB,GAAG84B,WAAajT,KAAKkT,QAAU3B,OAC3CN,MAEJ1lB,EAAE,YAAYvO,WAAWA,WAAWyzB,WAAW,GAAGA,WAChDoC,GACAj4B,UAAY8mB,EAAgBsR,EAAWjrB,MAEnB,UAApBirB,EAAWnN,MACX7F,KAAKkT,QAAUlT,KAAKwN,QAAQrzB,GAAG84B,UAE/B1nB,EAAE,YAAYvO,WAAWA,WAAWyzB,WAAW,GAAGA,WAChDoC,GACAr1B,YAAc,GAAGw1B,EAAWnN,oBAE9Bta,EAAE,YAAYvO,WAAWA,WAAWyzB,WAAW,GAAGA,WAChDoC,GACAr1B,YAAcw1B,EAAWnN,SAWnC,SAASsN,KACPnT,KAAKoT,WAAWjrB,OAAOG,MAAQ0X,KAAKoT,WAAWjrB,OAAOmR,WAAWxU,YACjEkb,KAAKoT,WAAWjrB,OAAOI,OACrByX,KAAKoT,WAAWjrB,OAAOmR,WAAWvU,aACpCib,KAAKqT,eAAelrB,OAAOG,MACzB0X,KAAKqT,eAAelrB,OAAOmR,WAAWxU,YACxCkb,KAAKqT,eAAelrB,OAAOI,OACzByX,KAAKqT,eAAelrB,OAAOmR,WAAWvU,aAY1C,SAASuuB,KAEgB,IAArBzT,EAAU+S,QACa,IAAvB/S,EAAU0T,UACgB,IAA1B1T,EAAU2T,aAEVjoB,EAAE,YAAYnJ,MAAMkW,OAAS/M,EAAE,cAAcnJ,MAAMmG,OACnDgD,EAAE,QAAQnJ,MAAMkW,OAAS,GACvBsM,OAAOrZ,EAAE,cAAcnJ,MAAMmG,OAAOxH,QAAQ,KAAM,KAAO,QAE7B,IAArB8e,EAAU+S,QACnBrnB,EAAE,YAAYnJ,MAAMkW,OAAS,MAC7B/M,EAAE,QAAQnJ,MAAMkW,OAAS,QACO,IAAvBuH,EAAU0T,UAA4C,IAA1B1T,EAAU2T,YAC/CjoB,EAAE,QAAQnJ,MAAMkW,OAAS/M,EAAE,cAAcnJ,MAAMmG,OAG/CgD,EAAE,QAAQnJ,MAAMkW,OAAS,MAGA,IAAvBuH,EAAU0T,UAA4C,IAA1B1T,EAAU2T,YACxCjoB,EAAE,eAAenJ,MAAMsC,IAAM6G,EAAE,cAAcnJ,MAAMmG,OAEnDgD,EAAE,eAAenJ,MAAMsC,IAAM,GAG/ByuB,KAMF,SAASM,KACoB,IAAvB5T,EAAU0T,SAAgBhoB,EAAE,cAAcnJ,MAAMqV,QAAU,GACzDlM,EAAE,cAAcnJ,MAAMqV,QAAU,OACrC6b,KAoPF,SAASI,KACPzL,GAAkBjI,KAAK2T,WACvBzL,GAAmBlI,KAAK4T,YAS1B,SAASC,GAAgBC,GACvB,MAAMxD,EAAKtQ,KAAK+T,aAAaD,GACvBE,EAAM,GAEZ,OADAA,EAAIt1B,KAAO4xB,EAAG5xB,KACPs1B,EAUT,SAASC,GAAoB3D,GAC3B,IAAI4D,EAAO,EAoBX,GAnBAv2B,OAAO6C,KAAK8vB,EAAG6D,gBAAgB9E,SAASl1B,KAEnC6lB,KAAKoU,MAAM9D,EAAG6D,eAAeh6B,GAAG+yB,MAAMmH,SACvCvH,GAAOwD,EAAG6D,eAAeh6B,GAAGuE,QAE5Bw1B,GAAQ,MAEZv2B,OAAO6C,KAAK8vB,EAAGgE,WAAWjF,SAASl1B,IACjC,GAAI2yB,GAAOwD,EAAGgE,UAAUn6B,GAAGuE,MAAO,CAChC,MAAM61B,EAAMjE,EAAGgE,UAAUn6B,GACrBo6B,EAAIC,aAAa91B,OAAS4xB,EAAG5xB,KAC/Bw1B,GAAQ,EAAI,IAAOK,EAAIE,aAAajG,OAC7B+F,EAAIE,aAAa/1B,OAAS4xB,EAAG5xB,OACpCw1B,GAAQ,EAAI,KAAQK,EAAIC,aAAahG,YAGvC8B,EAAGrC,SAAWnB,GAAOwD,EAAGrC,QAAQvvB,QAAOw1B,GAAQ,MAC/C5D,EAAGoE,SAAW5H,GAAOwD,EAAGoE,QAAQh2B,QAClCw1B,GAAQ,EAAgC,IAA5B9H,GAAWuI,QAAQnG,QAAiB,GAAK8B,EAAG3C,GAAK,KACnB,iBAAjC2C,EAAG6D,eAAeS,YACR,IAAftE,EAAGuE,SAAiB/H,GAAOwD,EAAG6D,eAAeS,WAAWl2B,MAC1D,OAAQshB,KAAKC,YACX,QACEiU,GAAQ,EACR,MACF,KAAK,EACHA,GAAQ,KACR,MACF,KAAK,EACHA,GAAQ,KACR,MACF,KAAK,EACHA,GAAQ,KAKhB,OAAOA,EAiBT,SAASY,GAAoBzC,GAC3B,MAAM/B,EAAKtQ,KAAKwN,QAAQ6E,GAClB2B,EAAM,GA2FZ,MA1FgB,WAAZ1D,EAAG5xB,KACLs1B,EAAIe,IAAM,SAAUhI,GAClB,IAAIzrB,EAAM,EACNwrB,GAAO,sBAAqBxrB,GAAO,IACnCwrB,GAAO,qBAAoBxrB,GAAO,GAClCwrB,GAAO,qBAAoBxrB,GAAO,IAClCwrB,GAAO,sBAAqBxrB,GAAO,IACnCwrB,GAAO,yBAAwBxrB,GAAO,IACtCwrB,GAAO,yBAAwBxrB,GAAO,IACtCwrB,GAAO,wBAAuBxrB,GAAO,IACrCwrB,GAAO,wBAAuBxrB,GAAO,IACrCwrB,GAAO,uBAAsBxrB,GAAO,IACpCwrB,GAAO,uBAAsBxrB,GAAO,IACxC,IAAI4yB,EAAO,EACP9P,EAAM,EAQV,OAPAzmB,OAAO6C,KAAK4rB,IAAYiD,SAASl1B,IACJ,WAAvBiyB,GAAWjyB,GAAGuE,OAAmB0lB,GAAOgI,GAAWjyB,GAAGq0B,WAE5DltB,GAAO8iB,EACP8P,GAAQD,GAAoBlH,GAC5BmH,GAAQlU,KAAKgV,SAAS,UACtBd,GAAQtH,GAAO,aAEb5M,KAAKiV,WACH,GACAnI,GAAO,2BACLA,GAAO,kCACPA,GAAO,gBACTxrB,GACE4yB,GAGa,YAAZ5D,EAAG5xB,KACZs1B,EAAIe,IAAM,SAAUhI,GAClB,IAAImH,EAAO,EAYX,GAXAv2B,OAAO6C,KAAKwf,KAAKkV,kBAAkB7F,SAASl1B,IACtC2yB,GAAO9M,KAAKkV,iBAAiB/6B,MAAK+5B,GAAQ,MAE5CpH,GAAO,oCAAmCoH,GAAQ,GAClDpH,GAAO,yBAAwBoH,GAAQ,GACvCpH,GAAO,kBAAiBoH,GAAQ,GAEhCpH,GAAO,wBAAuBoH,GAAQ,MAE1CA,GAAQtH,GAAO,cAEXE,GAAO,cACT,IAAK,IAAI3yB,EAAI,EAAGA,EAAI6lB,KAAKmV,eAAeC,OAAOh7B,OAAQD,IACjD2yB,GAAO9M,KAAKmV,eAAeC,OAAOj7B,GAAGuE,QAAOw1B,GAAQ,MAI5DA,GAAQD,GAAoBlH,GAE5B,IAAIzrB,EAAM,EACNwrB,GAAO,cAAaxrB,GAAmC,IAA5B8qB,GAAWuI,QAAQnG,QAC9C1B,GAAO,yBACTxrB,GAAmC,IAA5B8qB,GAAWuI,QAAQnG,QACxB1B,GAAO,gBAAexrB,GAAkC,IAA3B8qB,GAAWiJ,OAAO7G,QAEnD,IAAIpK,EAAM,EASV,OARAzmB,OAAO6C,KAAK4rB,IAAYiD,SAASl1B,IACJ,YAAvBiyB,GAAWjyB,GAAGuE,OAAoB0lB,GAAOgI,GAAWjyB,GAAGq0B,WAG7D0F,GAAQ,EAAqC,IAAjC3H,GAAY,mBAA4BnI,EAEpD8P,GAAQlU,KAAKgV,SAAS1E,EAAG5xB,OAEjB4xB,EAAGgF,QAAUh0B,GAAO4yB,GAG9BF,EAAIe,IAAM,SAAUhI,GAClB,IAAImH,EAAO,EAGX,OAFAA,GAAQD,GAAoBlH,GAC5BmH,GAAQlU,KAAKgV,SAASjI,EAAGruB,MAClBquB,EAAGwI,QAAUrB,GAKxBF,EAAIsB,QAAUhF,EAAGgF,QACjBtB,EAAIt1B,KAAO4xB,EAAG5xB,KACds1B,EAAIG,eAAiB7D,EAAG6D,eACxBH,EAAIM,UAAYhE,EAAGgE,UACnBN,EAAI/F,QAAUqC,EAAGrC,QACjB+F,EAAIU,QAAUpE,EAAGoE,QACjBV,EAAIuB,QAAUjF,EAAGgF,QACjBtB,EAAIrG,GAAK2C,EAAG3C,GACZqG,EAAIa,QAAUvE,EAAGuE,QACVb,EAaT,SAASwB,GAAYC,GACnB,MAAMnF,EAAKtQ,KAAK0V,SAASD,GACnBzB,EAAM,GA4BZ,OA1BAA,EAAI2B,MAAQrF,EAAGqF,MACU,mBAAd3B,EAAI2B,QACG,0BAAZrF,EAAG5xB,KACLs1B,EAAI2B,MAAQ,WACV,IAAIv4B,EAAI,EAIR,OAHAO,OAAO6C,KAAK4rB,IAAYiD,SAASl1B,IAC3BiyB,GAAWjyB,GAAGy7B,OAAS,KAAIx4B,GAAK,MAE/BA,GAGT42B,EAAI2B,MAAQ,WACV,IAAIE,EAAM,EAEV,GADI/I,GAAO,cAAa+I,EAAM,GAC1B7V,KAAKqN,OAAQ,CACf,MAAMc,EAASf,GAAU,WACV,IAAXe,EAAc0H,GAAO,IACL,IAAX1H,EAAc0H,GAAO,IACV,IAAX1H,IAAc0H,GAAO,KAEhC,OAAOA,IAIb7B,EAAI/G,KAAOqD,EAAGrD,KACd+G,EAAIt1B,KAAO4xB,EAAG5xB,KACPs1B,EAiBT,SAAS8B,KAEP3O,GAAmBnH,KAAK+V,cACxB3O,GAAapH,KAAKgW,QAClB3O,GAAuBrH,KAAKiW,kBAC5B3O,GAAmBtH,KAAKkW,cACxB3O,GAAcvH,KAAKmW,SAGnBx4B,OAAO6C,KAAKwf,KAAKwN,SAAS6B,SAASl1B,IACjC,MAAMm2B,EAAKtQ,KAAKwN,QAAQrzB,GACxB,IAAI65B,EAAM5H,GAAWjyB,QACTI,IAARy5B,IAEF5H,GAAWjyB,GAAK26B,GAAoB36B,GACpC65B,EAAM5H,GAAWjyB,GACjBi4B,GAA2Bj4B,IAE7B65B,EAAIxF,OAAS8B,EAAG9B,OAChBwF,EAAI4B,MAAQtF,EAAGsF,MACf5B,EAAIoC,aAAe9F,EAAG8F,aACtBpC,EAAI1F,UAAYgC,EAAGhC,UACnB0F,EAAIzF,KAAO+B,EAAG/B,KACV+B,EAAGpC,iBACW,WAAZoC,EAAG5xB,OACLgpB,GAAU4I,EAAG/C,SAAS8I,KAAK,GAC3B1O,GAAU2I,EAAG/C,SAAS8I,KAAK,GAC3BzO,GAAU0I,EAAG/C,SAAS8I,KAAK,IAE7BrC,EAAI9F,eAAiBoC,EAAGpC,eACxB8F,EAAIzG,SAAW+C,EAAG/C,UAEpBnB,GAAWjyB,GAAK65B,KAIlBr2B,OAAO6C,KAAKwf,KAAK0V,UAAUrG,SAASl1B,IAClC,MAAMm2B,EAAKtQ,KAAK0V,SAASv7B,GACzB,IAAI65B,EAAM3H,GAAYlyB,QACVI,IAARy5B,IACF3H,GAAYlyB,GAAKq7B,GAAYr7B,GAC7B65B,EAAM3H,GAAYlyB,IAEpB65B,EAAI7G,OAASmD,EAAGnD,OAChBd,GAAYlyB,GAAK65B,KAInBr2B,OAAO6C,KAAKwf,KAAK+T,cAAc1E,SAASl1B,IACtC,MAAMm2B,EAAKtQ,KAAK+T,aAAa55B,GAC7B,IAAI65B,EAAM1H,GAAgBnyB,QACdI,IAARy5B,IACF1H,GAAgBnyB,GAAK05B,GAAgB15B,GACrC65B,EAAM1H,GAAgBnyB,IAExB65B,EAAIsC,IAAMhG,EAAGgG,IACbhK,GAAgBnyB,GAAK65B,KAIvBN,KACAlM,GAAgBS,GAChBR,GAAiBS,GA8BnB,SAASqO,GAAoB1Q,GAC3B,MAAM6K,EAAMj4B,SAAS4D,cAAc,OAKnC,OAJAq0B,EAAItuB,MAAMo0B,WAAa,OACvB9F,EAAI/C,GAAK,GAAG9H,SACZ6K,EAAI91B,UAAY8mB,aAChBgP,EAAIlzB,YAAcqoB,EACX6K,EAmHT,SAAS+F,GAAgCC,GACvCA,EAAQ3gB,YAAYwgB,GAAoB,iBACxC,MAAMI,EAASl+B,SAAS4D,cAAc,OACtCs6B,EAAOv0B,MAAMw0B,aAAe,MAC5BD,EAAOv0B,MAAM2F,MAAQ,QACrB4uB,EAAOhJ,GAAK,kBACZ+I,EAAQ3gB,YAAY4gB,GAEpBD,EAAQ3gB,YAAYwgB,GAAoB,4BACxCG,EAAQjE,UAAUrwB,MAAMqV,QAAU,OAClC,MAAMof,EAAQp+B,SAAS4D,cAAc,OACrCw6B,EAAMz0B,MAAMw0B,aAAe,MAC3BC,EAAMz0B,MAAM2F,MAAQ,QACpB8uB,EAAMz0B,MAAMqV,QAAU,OACtBof,EAAMlJ,GAAK,0BACX+I,EAAQ3gB,YAAY8gB,GAEpBH,EAAQ3gB,YAAYwgB,GAAoB,mBACxC,MAAM9qB,EAAKhT,SAAS4D,cAAc,OAClCoP,EAAGrJ,MAAMw0B,aAAe,MACxBnrB,EAAGkiB,GAAK,cACR+I,EAAQ3gB,YAAYtK,GAEpBirB,EAAQ3gB,YAAYwgB,GAAoB,cACxC,MAAM/Q,EAAO/sB,SAAS4D,cAAc,OAIpC,GAHAmpB,EAAKmI,GAAK,gBACV+I,EAAQ3gB,YAAYyP,GAEA,MAAhB7B,GAAqB,CACvB+S,EAAQ3gB,YACNwgB,GAAoB,0CAEtBG,EAAQjE,UAAU9E,GAAK,4BACvB,MAAMmJ,EAAar+B,SAAS4D,cAAc,OAC1Cy6B,EAAWnJ,GAAK,sBAChB+I,EAAQ3gB,YAAY+gB,IA+JxB,SAASC,GACPC,EACAC,EACAC,GAEA,IAAIC,EAAQH,EACRnE,EAAQ,EACZ,KAAOsE,EAAQD,GACbC,GAAqE,KAA5Dz0B,KAAK6D,IAAI,MAAQ4wB,EAAQz0B,KAAK6D,IAAI0wB,EAAU,OAAS,IAC9DpE,GAAS,EAEX,OAAOA,EAAQ7S,KAAKoX,IA0XtB,SAASC,KACP,IAAInD,EAAO,EAKX,OAJAv2B,OAAO6C,KAAKwf,KAAKsX,OAAOjI,SAASl1B,SACM,IAA1B6lB,KAAKsX,MAAMn9B,GAAGo9B,UACvBrD,GAAQlU,KAAKsX,MAAMn9B,GAAGo9B,YAEnBrD,EAWT,SAASsD,KACiC,OAApCjsB,EAAE,gCAC0B,IAA1BsU,EAAU4X,aACZlsB,EAAE,8BAA8BnJ,MAAMsC,IAAM,OAC5C6G,EAAE,8BAA8BnJ,MAAMuvB,OAAS,WAC/CpmB,EAAE,8BAA8BnJ,MAAMwK,QAAU,YAEhDrB,EAAE,8BAA8BnJ,MAAMkI,MAAQ,OAC9CiB,EAAE,8BAA8BnJ,MAAMuvB,OAAS,MAC/CpmB,EAAE,8BAA8BnJ,MAAMwK,QAAU,YA0LtD,SAAS8qB,KAEP,GADA5B,KACyC,SAArCvqB,EAAE,iBAAiBnJ,MAAMqV,SAAsBlM,EAAE,iBAAkB,CACrEA,EAAE,iBAAiBoM,UAAY,GAC/B,MAAMggB,EAx6BV,WACEpsB,EAAE,WAAWvO,WAAWoF,MAAMw1B,cAAgB,MAC9C,MAAMD,EAAal/B,SAAS4D,cAAc,OAM1C,OALAs7B,EAAWv1B,MAAM0U,OAAS,YAC1B6gB,EAAWv1B,MAAMwK,QAAU,MAC3B+qB,EAAWv1B,MAAMuvB,OAAS,WAC1BgG,EAAWhK,GAAK,kBAChBgK,EAAW/8B,UAAY8mB,aAChBiW,EAg6BcE,GACnBtsB,EAAE,iBAAiBwK,YAAY4hB,GAEX,MAAhBhU,GA9uBR,WACE,GAAsC,IAAlC9D,EAAUiY,qBAA8C,IAAjB9X,KAAKmP,QAAe,CAI7D,IAAI3vB,EAaJ,GAfAi3B,GADmBlrB,EAAE,oBAIA,IAAjByU,KAAKmP,QACPpM,EAA4BvjB,EAE5BA,EAASujB,EAEU,IAAjB/C,KAAK8O,QAAetvB,EAAS+pB,GACP,KAAjBvJ,KAAK8O,QAAgBtvB,EAASgqB,GACb,MAAjBxJ,KAAK8O,UAAiBtvB,EAASiqB,IAExChG,EAAezD,KAAKwN,QAAQ5J,IAAaqP,UACzCvP,GAAqBlkB,EAAOokB,IAAa0O,MAEH,IAAlCzS,EAAUiY,qBAA8C,IAAjB9X,KAAKmP,QAAe,CAC7D5jB,EAAE,mBAAmB/N,YAAc2mB,GAA4BT,GAAoB,GACnF,MAAMqU,EAAWr1B,KAAKC,MACnB+gB,GAAqB1D,KAAKoR,UAAa,KAEtCxM,OAAOC,SAASkT,IAA0B,IAAbA,EAC/BxsB,EAAE,mBAAmB/N,aAAe,KAAKu6B,EAAW,kBAEpDxsB,EAAE,mBAAmB/N,aAAe,OAClCqiB,EAAUmF,eAAiB,IAAM,oBAGrCzZ,EAAE,mBAAmB3Q,UACnB8mB,EAAgBliB,EAAOokB,IAAa7b,MAClC8X,EAAUkT,cACZxnB,EAAE,eAAe/N,YAAc+nB,GAAW/lB,EAAOokB,IAAanY,IAC3DF,EAAE,eAAe/N,YAAc2mB,GAA4B3kB,EAAOokB,IAAanY,GAAI,GACxFF,EAAE,eAAe3Q,UAAY8mB,EAAgBliB,EAAOokB,IAAa7b,MACjE,MAAMirB,EAAapN,IAChBnC,GAAgBzD,KAAKkT,QAAU3B,OAAyBN,MAE3D1lB,EAAE,iBAAiB/N,YAAcw1B,EAAWnN,KAEtB,UAApBmN,EAAWnN,MACX7F,KAAKkT,QAAU1zB,EAAOokB,IAAakK,MAEnCviB,EAAE,iBAAiB/N,YAAc,GAAGw1B,EAAWnN,oBAC1Cta,EAAE,iBAAiB/N,YAAcw1B,EAAWnN,KACnDta,EAAE,iBAAiB3Q,UAAY8mB,EAAgBsR,EAAWjrB,MAI5DwD,EAAE,6BAA6BnJ,MAAMqV,QAAU,OAC/ClM,EAAE,iBAAiBnJ,MAAMw0B,aAAe,MAIxC,IAAK,MAAMz8B,KAAKwD,OAAO6C,KAAKwf,KAAKwN,QAAQ5J,IAAaoU,mBACpD,IACGhY,KAAKiY,UACJjY,KAAKwN,QAAQ5J,IAAaoU,kBAAkB79B,GAAG+9B,OAAOx5B,MAExD,CACA,MAAMy5B,EACJnY,KAAKwN,QAAQ5J,IAAaoU,kBAAkB79B,GAC9CoR,EAAE,iBAAiBnJ,MAAMw0B,aAAe,MACxCrrB,EAAE,6BAA6BnJ,MAAMqV,QAAU,GAC/ClM,EAAE,uBAAuB3Q,UAAY,kBAAkBgpB,KACvDrY,EAAE,uBAAuB/N,YAAc2mB,GACrCgU,EAAqBtC,IAAMzJ,GAAWxI,IAAawS,aACnD,IAEF7qB,EAAE,uBAAuBnJ,MAAM2F,MAAQ,QACvC,YAGCwD,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAqqBtC2gB,GACyB,MAAhBzU,GA5Tf,WAYE,GAVA8S,GADmBlrB,EAAE,oBAGrBmY,GACEqG,GAAc/J,KAAKqQ,gBAAgBzM,IAAallB,MAAM4zB,MACxD7O,EAAezD,KAAK0V,SAClB1V,KAAKqQ,gBAAgBzM,IAAallB,MAClC25B,WACFxU,GACEkG,GAAc/J,KAAKqQ,gBAAgBzM,IAAallB,MAAM45B,WAElB,IAAlCzY,EAAUiY,oBAA2B,CACvCvsB,EAAE,mBAAmB/N,YAAc2mB,GAA4BT,GAAoB,GACnF,MAAMqU,EAAWr1B,KAAKC,MAAO+gB,GAAqB1D,KAAKoR,UAAa,KAG7B,MAArC7lB,EAAE,mBAAmB/N,aACJ,MAAhBmmB,IAAuC,MAAhBA,IAOpBiB,OAAOC,SAASkT,IAA0B,IAAbA,EAC/BxsB,EAAE,mBAAmB/N,aAAe,KAAKu6B,EAAW,kBAEpDxsB,EAAE,mBAAmB/N,aAAe,OAClCqiB,EAAUmF,eAAiB,IAAM,oBAGrCzZ,EAAE,mBAAmB3Q,UACnB8mB,EACAqI,GAAc/J,KAAKqQ,gBAAgBzM,IAAallB,MAAMqJ,MAEpD8b,KACFtY,EAAE,2BAA2B/N,YAAc2mB,GAA4BN,IACvEtY,EAAE,2BAA2BnJ,MAAMqV,QAAU,QAC7ClM,EAAE,2BAA2BgtB,gBAAgBn2B,MAAMqV,QAAU,SAGpC,IAAvBiM,IAA4BG,IAC9BtY,EAAE,eAAe/N,YAAc,GAAG2mB,GAChCV,EAAeI,aAEjBtY,EAAE,eAAenJ,MAAM2F,MAAQ,UAE3B8X,EAAUkT,cACZxnB,EAAE,eAAe/N,YAAc+nB,GAC7BwE,GAAc/J,KAAKqQ,gBAAgBzM,IAAallB,MAAM+M,IAGxDF,EAAE,eAAe/N,YAAc2mB,GAC7B4F,GAAc/J,KAAKqQ,gBAAgBzM,IAAallB,MAAM+M,GACtD,GAEJF,EAAE,eAAe3Q,UACf8mB,EACAqI,GAAc/J,KAAKqQ,gBAAgBzM,IAAallB,MAAMqJ,SAvC1DwD,EAAE,qBAAqBnJ,MAAMqV,QAAU,OACvClM,EAAE,mBAAmBnJ,MAAMqV,QAAU,OACrClM,EAAE,uBAAuBnJ,MAAMqV,QAAU,OACzClM,EAAE,eAAenJ,MAAMqV,QAAU,QAuCnC,MAAMub,EAAapN,IAChBnC,GAAgBzD,KAAKkT,QAAU3B,OAAyBN,MAY3D,GAVA1lB,EAAE,iBAAiB/N,YAAcw1B,EAAWnN,KAEtB,UAApBmN,EAAWnN,MACX7F,KAAKkT,QAAUlT,KAAKqQ,gBAAgBzM,IAAayU,WAEjD9sB,EAAE,iBAAiB/N,YAAc,GAAGw1B,EAAWnN,oBAC1Cta,EAAE,iBAAiB/N,YAAcw1B,EAAWnN,KACnDta,EAAE,iBAAiB3Q,UAAY8mB,EAAgBsR,EAAWjrB,MAGX,kBAA3CiY,KAAKqQ,gBAAgBzM,IAAallB,KAA0B,CAC9D6M,EAAE,mBAAmBknB,UAAUrwB,MAAMw0B,aAAe,MACpDrrB,EAAE,mBAAmBwK,YACnBwgB,GAAoB,yCAEtB,MAAMiC,EAAY//B,SAAS4D,cAAc,OACzCm8B,EAAUp2B,MAAM2F,MAAQ,QACxBywB,EAAUh7B,YAAc,GAAG2mB,GAA2C,IAAfnE,KAAKkT,cAAqB/O,GAC/EmF,MAEF/d,EAAE,mBAAmBwK,YAAYyiB,SAE9BjtB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAsOtCghB,GACyB,MAAhB9U,GAzVf,WACE,GAA8B,IAA1B9D,EAAU6Y,YAAmB,CAC/B,MAAMf,EAAapsB,EAAE,mBAErBosB,EAAW5hB,YAAYwgB,GAAoB,uBAE3C,MAAMoC,EAAWlgC,SAAS4D,cAAc,OACxCs8B,EAAShL,GAAK,gBACdgK,EAAW5hB,YAAY4iB,GACvB,MAAMC,EApCK,KADQp+B,EAqCcwlB,KAAK6Y,iBAnC/B,CAAEhT,KAAM,SAAU9d,MAAOma,GAErB,IAAT1nB,EACK,CAAEqrB,KAAM,aAAc9d,MAAO8Z,GAEzB,IAATrnB,EACK,CAAEqrB,KAAM,SAAU9d,MAAO+Z,GAErB,IAATtnB,EACK,CAAEqrB,KAAM,QAAS9d,MAAOga,GAEpB,IAATvnB,EACK,CAAEqrB,KAAM,cAAe9d,MAAOka,GAEhC,CAAE4D,KAAM,qBAAsB9d,MAAOia,GAsB1C2W,EAASn7B,YAAco7B,EAAW/S,KAClC8S,EAAS/9B,UAAY8mB,EAAgBkX,EAAW7wB,WAC3CwD,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAxC5C,IAAuBjd,EAsXjBs+B,GACyB,MAAhBnV,GA3kBf,WACE,MAAM4J,SAAEA,GAAavN,KAAKwN,QAAQ,gBAC5BuL,EAAYxL,EAASyL,aAAazL,EAAS0L,WAAWrV,KAE5D,GAA8B,IAA1B/D,EAAUqZ,aAAqBH,GAAaxL,EAAS4L,OAAQ,CAC/D,MAAMxB,EAAapsB,EAAE,mBAGrBosB,EAAW5hB,YAAYwgB,GAAoB,cAC3C,MAAM/Q,EAAO/sB,SAAS4D,cAAc,OACpCmpB,EAAKmI,GAAK,gBACVgK,EAAW5hB,YAAYyP,GACvB,MAAMwN,EAAapN,GACjBmR,GAA4BxJ,EAAS4J,MAAO5J,EAAS4L,OAAQJ,IAM/D,GAJAvT,EAAKhoB,YAAcw1B,EAAWnN,KAC9BL,EAAK5qB,UAAY8mB,EAAgBsR,EAAWjrB,MAGxCgxB,GAAaxL,EAAS4J,MAAO,CAC/BQ,EAAW5hB,YAAYwgB,GAAoB,iBAC3C,MAAM6C,EAAU3gC,SAAS4D,cAAc,OACvC+8B,EAAQzL,GAAK,mBACbgK,EAAW5hB,YAAYqjB,GACvB,MAAMC,EAAgBzT,GACpBmR,GACEr0B,KAAK6D,IAAI,EAAGgnB,EAAS4J,MAAQ4B,GAC7BxL,EAAS4L,OACT5L,EAAS4J,QAGbiC,EAAQ57B,YAAc67B,EAAcxT,KACpCuT,EAAQx+B,UAAY8mB,EAAgB2X,EAActxB,MAIpD,GAAoB,MAAhB6b,GAAqB,CACvB+T,EAAW5hB,YACTwgB,GAAoB,8BAEtB,MAAM+C,EAAU7gC,SAAS4D,cAAc,OACvCi9B,EAAQ3L,GAAK,IACbgK,EAAW5hB,YAAYujB,GACvB,MAAMC,EAAS9gC,SAAS4D,cAAc,QACtCk9B,EAAOn3B,MAAM2F,MAAQ,UACrBwxB,EAAO/7B,YAAc2mB,GACnBzhB,KAAK2D,IACqC,KAAvC2Z,KAAKkT,QAAU3B,MACa,GAA7BxI,GAAkC,IAEpC,GAEFuQ,EAAQvjB,YAAYwjB,GACpB,MAAMC,EAAY/gC,SAAS4D,cAAc,QACzCm9B,EAAUh8B,YAAc,MACxB87B,EAAQvjB,YAAYyjB,GACpB,MAAMC,EAAOhhC,SAAS4D,cAAc,QACpCo9B,EAAKr3B,MAAM2F,MAAQ,MACnB0xB,EAAKj8B,YAAc2mB,GAAyD,GAA7B4E,GAAkC,GAAI,GACrFuQ,EAAQvjB,YAAY0jB,GAGtBluB,EAAE,iBAAiBwK,YAAY4hB,QAC1BpsB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OA6gBtCiiB,GACyB,MAAhB/V,GA/pBf,WACE,MAAM4J,SAAEA,GAAavN,KAAKwN,QAAQmM,KAClC,GACE9Z,EAAU+Z,cAC2C,IAArDrM,EAASsM,KAAKjW,GAAY,IAAIA,GAAY,IAAI,GAC9C,CACA,MAAMkW,EACJvM,EAASsM,KAAKjW,GAAY,IAAIA,GAAY,IAAI,GAC9C2J,EAASwM,WAAWxM,EAASsM,KAAKjW,GAAY,IAAIA,GAAY,IAAI,GAAK,GACpEkW,OACCE,EACJzM,EAASwM,WAAWxM,EAASsM,KAAKjW,GAAY,IAAIA,GAAY,IAAI,GAAK,GACpEllB,KACL6M,EAAE,mBAAmBwK,YACnBwgB,GAAoB,+BAEtB,MAAMgD,EAAS9gC,SAAS4D,cAAc,OACtCk9B,EAAO5L,GAAK,uBACZpiB,EAAE,mBAAmBwK,YAAYwjB,GACf,cAAdS,EACFzuB,EAAE,wBAAwB/N,YAAc,GACtCs8B,EACI3V,GAA4BzhB,KAAK2D,IAAmB,IAAf2Z,KAAKkT,QAAiC,GAAjBlT,KAAKoR,UAAiB,KAChF,SACAjN,GAA6C,GAAjBnE,KAAKoR,UAAiB,MACjC,cAAd4I,GAA2C,oBAAdA,EACtCzuB,EAAE,wBAAwB/N,YAAc,GACtCs8B,EACI3V,GAA4BzhB,KAAK2D,IAAmB,IAAf2Z,KAAKkT,QAAiC,GAAjBlT,KAAKoR,UAAiB,IAChF,SACAjN,GAA6C,GAAjBnE,KAAKoR,UAAiB,KACjC,cAAd4I,EACTzuB,EAAE,wBAAwB/N,YAAc,GACtCs8B,EACI3V,GAA4BzhB,KAAK2D,IAAmB,IAAf2Z,KAAKkT,QAAiC,GAAjBlT,KAAKoR,UAAiB,KAChF,SACAjN,GAA6C,GAAjBnE,KAAKoR,UAAiB,MACjC,cAAd4I,EACTzuB,EAAE,wBAAwB/N,YAAc,GACtCs8B,EACI3V,GAA4BzhB,KAAK2D,IAAmB,IAAf2Z,KAAKkT,QAAiC,GAAjBlT,KAAKoR,UAAiB,MAChF,SACAjN,GAA6C,GAAjBnE,KAAKoR,UAAiB,OACnD7lB,EAAE,iBAAiBnJ,MAAMqV,QAAU,YACrClM,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAonBtCwiB,GACyB,OAAhBtW,GAngBf,WACE,MAAM4J,SAAEA,GAAavN,KAAKwN,QAAQmM,KAClC,GAAI9Z,EAAU6Y,YAAa,CACzBntB,EAAE,mBAAmBwK,YACnBwgB,GAAoB,oCAEtB,IAAI2D,EAAY,EACZC,EAAS,EACTna,KAAKxf,KAAK,KAAOwf,KAAKxf,KAAK,MAAK25B,EAAS,GAC7C,IAAK,IAAI71B,EAAI,EAAGA,EAAI,EAAGA,IACrB,IAAK,IAAID,EAAI,EAAGA,EAAI,EAAGA,IACrB,GAAIkpB,EAASsM,KAAKv1B,GAAGD,GAAG,IAAM,EAAG,CAC/B,MAAM+1B,EAAO7M,EAASsM,KAAKv1B,GAAGD,GACxBisB,EAAK/C,EAASwM,WAAWK,EAAK,GAAK,GACnCJ,EAAY1J,EAAG5xB,KAErB,IAAIm0B,GAAQ,EACRsH,GAAU7J,EAAG+J,WAAUxH,GAAQ,GAC/BuH,EAAK,GAAK9J,EAAGgK,aAAYzH,GAAQ,GACjCA,GAAuB,cAAdmH,EACXE,GAAax3B,KAAK2D,IACD,IAAf2Z,KAAKkT,QACY,GAAjBlT,KAAKoR,UAAiB,IAGvByB,GAAuB,cAAdmH,GACI,oBAAdA,EAEAE,GAAax3B,KAAK2D,IAAmB,IAAf2Z,KAAKkT,QAAiC,GAAjBlT,KAAKoR,UAAiB,GACxDyB,GAAuB,cAAdmH,EAClBE,GAAax3B,KAAK2D,IACD,IAAf2Z,KAAKkT,QACY,GAAjBlT,KAAKoR,UAAiB,IAEfyB,GAAuB,cAAdmH,IAClBE,GAAax3B,KAAK2D,IACD,IAAf2Z,KAAKkT,QACY,GAAjBlT,KAAKoR,UAAiB,MAMhC7lB,EAAE,mBAAmBwK,YACnBtd,SAASqgB,eAAeqL,GAA4B+V,UAEjD3uB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAsdtC8iB,GACyB,OAAhB5W,GAnDf,WACEpY,EAAE,WAAWoM,UAAY,GACzBpM,EAAE,WAAWwK,YAAYwgB,GAAoB,YAE7C,MAAMiE,EAAiB/hC,SAAS4D,cAAc,OAC9Cm+B,EAAe7M,GAAK,mBACA,WAAhB/J,GACF4W,EAAeh9B,YAAc2mB,GAA4BuF,IAChC,eAAhB9F,KACT4W,EAAeh9B,YAAc2mB,GAA4ByF,GAAsB,KAGjFre,EAAE,WAAWwK,YAAYykB,GAwCrBC,IAEgB,QAAhB9W,IACiB,QAAhBA,KAA6C,IAApBC,GAAY,KA5c5C,WACE,GAAkC,IAA9B/D,EAAU6a,gBAAuB,CACnC,MAAM/C,EAAapsB,EAAE,mBACrB,IAAIovB,EACuBA,EAAP,QAAhBhX,GAA+BC,GAAY,GAClCA,GAGb+T,EAAW5hB,YAAYwgB,GAAoB,0BAC3C,MAAMqE,EAAOniC,SAAS4D,cAAc,OAEpC,GADAu+B,EAAKjN,GAAK,6BACkB,IAAxBlC,GAAUkP,GAAO,GAAU,CAC7BC,EAAKp9B,YAAc2mB,GAA4BsH,GAAUkP,GAAO,IAChE,MAAM5C,EAAWr1B,KAAKC,MACnB8oB,GAAUkP,GAAO,GAAK3a,KAAKoR,UAAa,KAEvCxM,OAAOC,SAASkT,IAA0B,IAAbA,EAC/B6C,EAAKp9B,aAAe,KAAKu6B,EAAW,kBAEpC6C,EAAKp9B,aAAe,OAClBqiB,EAAUmF,eAAiB,IAAM,yBAGhC4V,EAAKp9B,YAAc,mBAC1Bm6B,EAAW5hB,YAAY6kB,GAEvBjD,EAAW5hB,YAAYwgB,GAAoB,0BAC3C,MAAMsE,EAAOpiC,SAAS4D,cAAc,OAEpC,GADAw+B,EAAKlN,GAAK,6BACkB,IAAxBlC,GAAUkP,GAAO,GAAU,CAC7BE,EAAKr9B,YAAc2mB,GAA4BsH,GAAUkP,GAAO,IAChE,MAAM5C,EAAWr1B,KAAKC,MACnB8oB,GAAUkP,GAAO,GAAK3a,KAAKoR,UAAa,KAEvCxM,OAAOC,SAASkT,IAA0B,IAAbA,EAC/B8C,EAAKr9B,aAAe,KAAKu6B,EAAW,kBAEpC8C,EAAKr9B,aAAe,OAClBqiB,EAAUmF,eAAiB,IAAM,yBAGhC6V,EAAKr9B,YAAc,mBAC1Bm6B,EAAW5hB,YAAY8kB,GAEvBlD,EAAW5hB,YAAYwgB,GAAoB,0BAC3C,MAAMuE,EAAOriC,SAAS4D,cAAc,OAEpC,GADAy+B,EAAKnN,GAAK,6BACkB,IAAxBlC,GAAUkP,GAAO,GAAU,CAC7BG,EAAKt9B,YAAc2mB,GAA4BsH,GAAUkP,GAAO,IAChE,MAAM5C,EAAWr1B,KAAKC,MACnB8oB,GAAUkP,GAAO,GAAK3a,KAAKoR,UAAa,KAEvCxM,OAAOC,SAASkT,IAA0B,IAAbA,EAC/B+C,EAAKt9B,aAAe,KAAKu6B,EAAW,kBAEpC+C,EAAKt9B,aAAe,OAClBqiB,EAAUmF,eAAiB,IAAM,yBAGhC8V,EAAKt9B,YAAc,mBAC1Bm6B,EAAW5hB,YAAY+kB,GAEvBvvB,EAAE,iBAAiBwK,YAAY4hB,QAC1BpsB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OA+YtCsjB,GA/LN,WACE,GAAoB,MAAhBpX,IAAuC,MAAhBA,GAAqB,CACgB,OAA1DlrB,SAASuiC,eAAe,gCAC1BzvB,EAAE,iBAAiBwK,YAnuBzB,WACE,MAAMklB,EAAcxiC,SAAS4D,cAAc,OAC3C4+B,EAAY74B,MAAMgI,SAAW,WAC7B6wB,EAAY74B,MAAMqV,QAAU,QAC5BwjB,EAAY74B,MAAMqC,KAAO,OACzBw2B,EAAY74B,MAAMkW,OAAS,OAC3B2iB,EAAYtN,GAAK,6BAEjB,MAAMuN,EAAS,SACbC,EACApzB,EACAqzB,EACAC,EACAC,GAEA,MAAMpnB,EAAMzb,SAAS4D,cAAc,OACnC6X,EAAIyZ,GAAKwN,EACTjnB,EAAI9R,MAAMqV,QAAU,OACpBvD,EAAI9R,MAAMm5B,WAAa,wBACvBrnB,EAAItZ,UAluDgB,WAkuDcmN,EAClCmM,EAAI9R,MAAMwK,QAAU,MACpBsH,EAAI9R,MAAMqB,WAAa,8BACvB,MAAM+3B,EAAW/iC,SAAS4D,cAAc,OACxC6X,EAAI6B,YAAYylB,GAChB,MAAMC,EAAYhjC,SAAS4D,cAAc,QACzCo/B,EAAU7gC,UAAY8mB,EAAgB3Z,EACtC0zB,EAAUr5B,MAAMo0B,WAAa,OAC7BiF,EAAUj+B,YAAc49B,EACxBI,EAASzlB,YAAY0lB,GACrBD,EAASzlB,YAAYtd,SAASqgB,eAAeuiB,IAC7C,MAAMK,EAAajjC,SAAS4D,cAAc,OAC1C6X,EAAI6B,YAAY2lB,GAChB,MAAMC,EAAcljC,SAAS4D,cAAc,QAI3C,OAHAs/B,EAAYhO,GAAK2N,EACjBI,EAAW3lB,YAAYtd,SAASqgB,eAAe,cAC/C4iB,EAAW3lB,YAAY4lB,GAChBznB,GA+DT,OA5DA+mB,EAAYllB,YACVmlB,EACE,yBACAlZ,EACA,YACA,uFACA,+BAGJiZ,EAAYj+B,WAAWoF,MAAMw0B,aAAe,MAC5CqE,EAAYllB,YACVmlB,EACE,+BACApZ,EACA,YACA,gGACA,qCAGJmZ,EAAYxI,UAAUrwB,MAAMw0B,aAAe,MAC3CqE,EAAYllB,YACVmlB,EACE,2BACAjZ,EACA,YACA,oGACA,iCAGJgZ,EAAYxI,UAAUrwB,MAAMw0B,aAAe,MAC3CqE,EAAYllB,YACVmlB,EACE,iCACAjZ,EACA,YACA,6GACA,uCAGJgZ,EAAYxI,UAAUrwB,MAAMw0B,aAAe,MAC3CqE,EAAYllB,YACVmlB,EACE,2BACAjZ,EACA,YACA,qJACA,iCAGJgZ,EAAYxI,UAAUrwB,MAAMw0B,aAAe,MAC3CqE,EAAYllB,YACVmlB,EACE,wBACAlZ,EACA,YACA,2EAA2EnC,EAAU+b,8BACrF,8BAIGX,EAgoB4BY,IAC/BrE,MAG4B,IAA1B3X,EAAU4X,YACZlsB,EAAE,8BAA8BnJ,MAAMkI,MAAQ,MAE9CiB,EAAE,8BAA8BnJ,MAAMsC,IAAM,GAC1C6G,EAAE,WAAWxG,iBAGjBwG,EAAE,8BAA8BnJ,MAAMkG,MACpCiD,EAAE,WAAWzG,YAAc,EADiB,KAI9C,MAAM0pB,EAASxO,KAAKkT,QAAU3B,KAAuB9N,EAC/CqY,EAAkBjc,EAAUkc,YAAcrY,GAAqB,EACrE,IAAIsY,EAAa3T,GACjB,GAA8B,IAA1BxI,EAAUkc,YAAmB,CAC/B,IAAIE,EAAcvY,GAClBuY,GAAe5E,KACf2E,GAA6B,GAAdC,EAAmB,GAAM,IAc1C,GAXgC,IAA5Bpc,EAAUqc,eACR1N,EAASwN,IAA+B,MAAhBrY,IAAwC,IAAjB3D,KAAKmP,UACtD5jB,EAAE,0BAA0BnJ,MAAMqV,QAAU,GAC5ClM,EAAE,8BAA8B/N,YAAc,GAAG2mB,GAC/C6X,EAAaxN,OACTjJ,IACHyW,EAAaxN,IAAWyC,KAAW6K,QAGnCvwB,EAAE,0BAA0BnJ,MAAMqV,QAAU,OAEb,IAAlCoI,EAAUsc,oBAA2B,CACvC,MAAMC,EAAgC,EAAbJ,EAEvBxN,EAAS4N,IACQ,MAAhBzY,IAAwC,IAAjB3D,KAAKmP,UAE7B5jB,EAAE,gCAAgCnJ,MAAMqV,QAAU,GAClDlM,EAAE,oCAAoC/N,YAAc,GAAG2mB,GACrDiY,EAAmB5N,OACfjJ,IACH6W,EAAmB5N,IAAWyC,KAAW6K,QAEvCvwB,EAAE,gCAAgCnJ,MAAMqV,QAAU,YACpDlM,EAAE,gCAAgCnJ,MAAMqV,QAAU,OAEzD,GAAkC,IAA9BoI,EAAUwc,gBAAuB,CACnC,MAAMC,EAA4B,EAAbN,EAEnBxN,EAAS8N,IACQ,MAAhB3Y,IAAwC,IAAjB3D,KAAKmP,UAE7B5jB,EAAE,4BAA4BnJ,MAAMqV,QAAU,GAC9ClM,EAAE,gCAAgC/N,YAAc,GAAG2mB,GACjDmY,EAAe9N,OACXjJ,IACH+W,EAAe9N,IAAWyC,KAAW6K,QAEnCvwB,EAAE,4BAA4BnJ,MAAMqV,QAAU,YAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,OAErD,GAAwC,IAApCoI,EAAU0c,sBAA6B,CACzC,MAAMC,EAAkC,EAAbR,EAAiB,EAE1CxN,EAASgO,IACQ,MAAhB7Y,IAAwC,IAAjB3D,KAAKmP,UAE7B5jB,EAAE,kCAAkCnJ,MAAMqV,QAAU,GACpDlM,EAAE,sCAAsC/N,YAAc,GAAG2mB,GACvDqY,EAAqBhO,OACjBjJ,IACHiX,EAAqBhO,IAAWyC,KAAW6K,QAEzCvwB,EAAE,kCAAkCnJ,MAAMqV,QAAU,YACtDlM,EAAE,kCAAkCnJ,MAAMqV,QAAU,OAG3B,IAA9BoI,EAAU4c,iBACVzc,KAAKwN,QAAQ,gBAAgBU,gBAG3BrF,IACA2F,EAAS3F,KACQ,MAAhBlF,IAAwC,IAAjB3D,KAAKmP,UAE7B5jB,EAAE,4BAA4BnJ,MAAMqV,QAAU,GAC9ClM,EAAE,gCAAgC/N,YAAc,GAAG2mB,GACjD0E,GAAe2F,OACXjJ,IACHsD,GAAe2F,IAAWyC,KAAW6K,QAGrCvwB,EAAE,4BAA4BnJ,MAAMqV,QAAU,OAEjDoI,EAAU+b,aAAe,GAEzBpN,EAAS3O,EAAU+b,aAAe3K,OACjB,MAAhBtN,IAAwC,IAAjB3D,KAAKmP,UAE7B5jB,EAAE,yBAAyBnJ,MAAMqV,QAAU,GAE3ClM,EACE,yBACAmxB,SAAS,GAAGl/B,YAAc,2EAA2EqiB,EAAU+b,8BACjHrwB,EAAE,6BAA6B/N,YAAc,GAAG2mB,GAC9CtE,EAAU+b,aAAe3K,KAAWzC,OAChCjJ,IACH1F,EAAU+b,aAAe3K,KAAWzC,IAClCyC,KAAW6K,QAGbvwB,EAAE,yBAAyBnJ,MAAMqV,QAAU,YACL,OAApClM,EAAE,+BACXA,EAAE,8BAA8B9J,SAyEhCk7B,QACgC,OAAvBpxB,EAAE,kBAE6B,OAApCA,EAAE,+BACJA,EAAE,8BAA8B9J,SA0FtC,SAASm7B,KAEP,GACE5c,KAAK6c,MAAMC,UACX9c,KAAK+c,MAAQ,IAAO,GACJ,UAAhB/c,KAAKgd,QACLnd,EAAUod,MACV,CACA,MAAM/K,EAAQz5B,SAASuiC,eAAe,wBAClC9I,IACFA,EAAMgL,UAAYld,KAAKmd,QACV,GAAXnd,KAAKoX,IAAYpX,KAAKod,GAAgB,GAAXpd,KAAKoX,KAChC,IA6BN,GAvBAlI,KACAU,KA3hDF,WACE,GAA2B,IAAvB/P,EAAU0T,SAAgB,CAE5B,MAAM8J,EAAiB9xB,EAAE,cAAczG,YAAc,IAE/Cw4B,EAAiB/xB,EAAE,cAAczG,YAAc,IACrD,IAAIy4B,EAAiB,EAIkB,IAArCvd,KAAKwd,aAAaC,OAAOC,SACxB1d,KAAK2d,IAAI,uBA+CLpyB,EAAE,gBAAgBnJ,MAAMqV,QAAU,QA7CvClM,EAAE,gBAAgBnJ,MAAMqV,QAAU,GAClClM,EAAE,sBAAsBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MAC3CD,KAAK6D,IACJ,EACAyZ,KAAKwd,aAAaC,OAAOG,QAAU5d,KAAKwd,aAAaC,OAAOjY,MAE5D6X,EACArd,KAAKwd,aAAaC,OAAOI,aAEzBhe,EAAUie,iBAAmB,EAC/BvyB,EAAE,sBAAsB/N,YAAckF,KAAKoL,MACxCkS,KAAKwd,aAAaC,OAAOG,QAAU5d,KAAKwd,aAAaC,OAAOjY,MAC3DxF,KAAKoX,KAEN7rB,EAAE,sBAAsB/N,YAAc,GAEzCwiB,KAAKwd,aAAaC,OAAOG,UAAY5d,KAAKwd,aAAaC,OAAOI,SAE9DtyB,EAAE,sBAAsBnJ,MAAM4vB,qBAAuB,OACrDzmB,EAAE,sBAAsBnJ,MAAM6vB,wBAA0B,SAExD1mB,EAAE,sBAAsBnJ,MAAM4vB,qBAAuB,GACrDzmB,EAAE,sBAAsBnJ,MAAM6vB,wBAA0B,IAE1D1mB,EAAE,mBAAmBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MACxCD,KAAK2D,IACJ2Z,KAAKwd,aAAaC,OAAOI,QAAU7d,KAAKwd,aAAaC,OAAOG,QAC5D5d,KAAKwd,aAAaC,OAAOI,QAAU7d,KAAKwd,aAAaC,OAAOjY,MAE5D6X,EACArd,KAAKwd,aAAaC,OAAOI,aAEzBhe,EAAUie,iBAAmB,EAC/BvyB,EAAE,mBAAmB/N,YAAckF,KAAKoL,KACtCpL,KAAK2D,IACH2Z,KAAKwd,aAAaC,OAAOI,QAAU7d,KAAKwd,aAAaC,OAAOG,QAC5D5d,KAAKwd,aAAaC,OAAOI,QAAU7d,KAAKwd,aAAaC,OAAOjY,MAC1DxF,KAAKoX,KAER7rB,EAAE,mBAAmB/N,YAAc,GACxC+N,EAAE,oBAAoB/N,YAAckF,KAAKoL,MACtCkS,KAAKwd,aAAaC,OAAOI,QAAU7d,KAAKwd,aAAaC,OAAOjY,MAC3DxF,KAAKoX,KAETmG,GAAkB,GAKF,cAAhBvd,KAAK+d,QACkC,IAAvC/d,KAAKwd,aAAaQ,SAASN,SAE3BnyB,EAAE,iBAAiBnJ,MAAMqV,QAAU,GACnClM,EAAE,uBAAuBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MAC5CD,KAAK6D,IACJ,EACAyZ,KAAKwd,aAAaQ,SAASJ,QAAU5d,KAAKwd,aAAaQ,SAASxY,MAEhE6X,EACArd,KAAKwd,aAAaQ,SAASH,aAE3Bhe,EAAUie,iBAAmB,EAC/BvyB,EAAE,uBAAuB/N,YAAckF,KAAKoL,MACzCkS,KAAKwd,aAAaQ,SAASJ,QAC1B5d,KAAKwd,aAAaQ,SAASxY,MAC3BxF,KAAKoX,KAEN7rB,EAAE,uBAAuB/N,YAAc,GAC5C+N,EAAE,oBAAoBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MACzCD,KAAK2D,IACJ2Z,KAAKwd,aAAaQ,SAASH,QACzB7d,KAAKwd,aAAaQ,SAASJ,QAC7B5d,KAAKwd,aAAaQ,SAASH,QAAU7d,KAAKwd,aAAaQ,SAASxY,MAEhE6X,EACArd,KAAKwd,aAAaQ,SAASH,aAE3Bhe,EAAUie,iBAAmB,EAC/BvyB,EAAE,oBAAoB/N,YAAckF,KAAKoL,KACvCpL,KAAK2D,IACH2Z,KAAKwd,aAAaQ,SAASH,QACzB7d,KAAKwd,aAAaQ,SAASJ,QAC7B5d,KAAKwd,aAAaQ,SAASH,QACzB7d,KAAKwd,aAAaQ,SAASxY,MAC3BxF,KAAKoX,KAER7rB,EAAE,oBAAoB/N,YAAc,GACzC+N,EAAE,qBAAqB/N,YAAckF,KAAKoL,MACvCkS,KAAKwd,aAAaQ,SAASH,QAAU7d,KAAKwd,aAAaQ,SAASxY,MAC/DxF,KAAKoX,KAETmG,GAAkB,GAElBhyB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAIrC,MAAMwmB,EAAgB,GACtB1yB,EAAE,wBAAwBoM,UAAY,GACtCha,OAAO6C,KAAKwf,KAAKsX,OAAOjI,SAASl1B,IAC/B,GAAI6lB,KAAKsX,MAAMn9B,GAAI,CACjB,MAAM+3B,EAAQV,GAAYxR,KAAKsX,MAAMn9B,GAAGuE,KAAMshB,KAAKsX,MAAMn9B,GAAGuE,KAAM,CAChE,CAAEivB,GAAI,GAAG3N,KAAKsX,MAAMn9B,GAAGuE,aAEzBwzB,EAAM9vB,MAAMqV,QAAU,GACtB,IAAIymB,EAAc,GAGhBA,OAD6C,IAApChb,EAAYlD,KAAKsX,MAAMn9B,GAAGuE,MACrBwkB,EAAYlD,KAAKsX,MAAMn9B,GAAGuE,MACrBujB,EACrBiQ,EAAMO,UAAUiK,SAAS,GAAG9hC,UAAY+mB,EAAgBuc,EACxDhM,EAAMO,UAAUiK,SAAS,GAAGt6B,MAAM2F,MAAQ,QACR,IAA9B8X,EAAUie,gBACZ5L,EAAMO,UAAUiK,SAAS,GAAGl/B,YAAc,GAAGkF,KAAKC,MACzCqd,KAAKsX,MAAMn9B,GAAGqrB,KAAOxF,KAAKsX,MAAMn9B,GAAG0jC,QAA1C,QAEC3L,EAAMO,UAAUiK,SAAS,GAAGl/B,YAAc,GAC/C00B,EAAMO,UAAUiK,SAAS,GAAGt6B,MAAMkG,MAAQ,GAAG5F,KAAKC,MAC/Cqd,KAAKsX,MAAMn9B,GAAGqrB,MACZ8X,EAC8D,EAA7D56B,KAAKoL,KAAKkS,KAAKsX,MAAMn9B,GAAGqrB,KAAOxF,KAAKoX,KAAKx0B,WAAWxI,QACtD4lB,KAAKsX,MAAMn9B,GAAG0jC,aAElB3L,EAAMO,UAAUiK,SAAS,GAAGl/B,YAAckF,KAAKoL,KAC7CkS,KAAKsX,MAAMn9B,GAAGqrB,KAAOxF,KAAKoX,KAE5BmG,GAAkB,EAClBU,EAAcje,KAAKsX,MAAMn9B,GAAGuE,MAAQwzB,MAGxCv0B,OAAO6C,KAAKy9B,GAAe5O,SAASl1B,IAClCoR,EAAE,wBAAwBwK,YAAYkoB,EAAc9jC,OAG/B,IAAnBojC,IACFhyB,EAAE,cAAcnJ,MAAMmG,OAA6B,GAAjBg1B,EAAsB,EAAzB,MAE7BxZ,KAAuBwZ,IACzBxZ,GAAqBwZ,EACrBjK,OAs4CJ6K,GAGAxL,KAGA+E,KAtGF,WACE,GAA+B,IAA3B7X,EAAUue,cAA8C,IAAxB1b,EAA2B,CAE7D,IAAI2b,GAAiB,EACrB1gC,OAAO6C,KAAKwf,KAAKsR,WAAWjC,SAASl1B,IACnC,MAAMm2B,EAAKtQ,KAAKsR,UAAUn3B,GAC1B,GAAIm2B,EAAGgO,MAAQ,GAAKhO,EAAGiO,UAErB,GADAF,GAAiB,EAEkB,IAAjCzb,EAA0BzoB,SACOI,IAAjCqoB,EAA0BzoB,GAC1B,CACA,MAAMqkC,EAAc/lC,SAAS4D,cAAc,OACrCoiC,EAAWhmC,SAAS4D,cAAc,OACxCoiC,EAASr8B,MAAMs8B,SAAW,QAC1BD,EAASr8B,MAAMw0B,aAAe,MAC9B,MAAMlG,EAAMj4B,SAAS4D,cAAc,OACnCq0B,EAAItuB,MAAMuW,UAAY,SACtB+X,EAAI/C,GAAK,oBACT8Q,EAAS1oB,YAAY2a,GACrB8N,EAAYzoB,YAAY0oB,GACxBze,KAAK0W,QAAQ/kB,KAAK9Y,KAAM8lC,OAAOH,EAAY7mB,YAC3CgL,EAAkBxoB,EAClByoB,EAA0BzoB,GAAK,QAGjCyoB,EAA0BzoB,GAAK,KAG9BkkC,GACHre,KAAK0W,QAAQvlB,QA2EjBytB,GAjEF,WACE,GAA+B,IAA3B/e,EAAUue,cAAiD,OAA3B7yB,EAAE,qBAA+B,CACnE,IAAIszB,OAAEA,GAAW7e,KAAKsR,UAAU3O,GAC5Bmc,EAAS,IAKb,GAJI9e,KAAK2d,IAAI,6BAA4BmB,GAAU,MACN,IAAzC9e,KAAKsR,UAAU3O,GAAiBnoB,OAAYskC,GAAU,GAC1DD,GAAUC,EACN9e,KAAK2d,IAAI,mBAAkBkB,GAAU,MACrCzS,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASnO,KAAKqN,OAAO,SACZ,IAAXc,EAAc0Q,GAAU,KACR,IAAX1Q,EAAc0Q,GAAU,IACb,IAAX1Q,IAAc0Q,GAAU,MAEnCtzB,EAAE,qBAAqB/N,YAAc2mB,GAA4B0a,IAoDnEE,GAl4CElf,EAAUmf,SACM,UAAhBhf,KAAKgd,SACJhd,KAAK+c,MAAQ,IAAiB,EAAX/c,KAAKoX,MAAa,IACrCpX,KAAK+c,MAAQ,GAAK/c,KAAKoX,KAAQ,GAEhCpX,KAAKif,aAm4CPnf,IAGID,EAAU6E,MAAO,CACnB,IAAInpB,EAAMgQ,EAAE,WAAWoM,UAAU5W,QAC/B,cACAojB,GAA4BnE,KAAKkT,UAE/BlT,KAAK6c,MAAMqC,YAAW3jC,EAAM,2BAA2BA,YAC3DgQ,EAAE,WAAWoM,UAAYpc,GAiB7B,MAAM4jC,GACJC,YAAYC,GACVxmC,KAAKwmC,UAAYA,EACjBxmC,KAAKymC,MAAQ,GAGfF,UAAUG,GACJ1mC,KAAKymC,MAAMrjC,KAAKsjC,GAAY1mC,KAAKwmC,WACnCxmC,KAAKymC,MAAMxgB,QASfsgB,YAAYI,GACV,IAAIha,EAAOga,EACPha,EAAO3sB,KAAKwmC,YAAW7Z,EAAO3sB,KAAKwmC,WACnC7Z,EAAO3sB,KAAKymC,MAAMllC,SAAQorB,EAAO3sB,KAAKymC,MAAMllC,QAChD,IAAI0M,EAAM,EACV,IACE,IAAI3M,EAAItB,KAAKymC,MAAMllC,OAAS,EAC5BD,GAAK,GAAKA,EAAItB,KAAKymC,MAAMllC,OAAS,EAAIorB,EACtCrrB,IAEA2M,GAAOjO,KAAKymC,MAAMnlC,GAEpB,OAAY,IAAR2M,EACK,EAEFA,EAAM0e,GA+BjB,SAASia,KACP,MAAMC,EAAWh9B,KAAKkE,MAAM+4B,KAAKC,MAAQ,KAEzC,GAAK5f,KAAKod,EAAIpd,KAAKoX,IAAO,GAAM,EAAG,CACjC,IAAIyI,EAAc7f,KAAKkT,QAAU1H,GAC7BxL,KAAKqR,UAAY,IAAGwO,GAAenW,IACvCsB,GAAyBtoB,KAAK6D,IAAIyZ,KAAK8f,cAAeD,GACtDA,GAAe,IAGf,MAAME,EAAWL,EAAWtZ,GACtB4Z,EAAct9B,KAAK6D,IAAI,EAAGyZ,KAAKkT,QAAU7M,IAAoB0Z,EAC7DE,EACJv9B,KAAK6D,IAAI,EAAGmjB,GAAsBpD,IAAyByZ,EACvDG,EACJx9B,KAAK6D,IAAI,EAAGqjB,GAAsB,GAAKrD,IACvCwZ,EACII,EAAgBz9B,KAAK6D,IAAI,EAAGs5B,EAAcvW,IAAmByW,EAC7DK,GAAiBpgB,KAAKqgB,aAAe7Z,IAAmBuZ,EAC9D,IAAK,IAAI5lC,EAAI,EAAGA,EAAI4lC,EAAU5lC,IAC5B2rB,GAAYwa,UAAUN,GACtBja,GAAUua,UAAUL,GACpBja,GAAiBsa,UAAUJ,GAC3Bja,GAAWqa,UAAUH,GACrBja,GAAWoa,UAAUF,GAIvBha,GAAoBsZ,EACpBrZ,GAAmBrG,KAAKkT,QACxB5M,GAAwBoD,GACxBnD,GAA+BqD,GAAsB,GACrDN,GAAkBuW,EAClBrZ,GAAkBxG,KAAKqgB,aAGvB,MAAME,EAAYvd,EAAYnD,EAAU2gB,YACxC/Z,GAAuBX,GAAY2a,YAAYF,GAC/C7Z,GAAwBX,GAAU0a,YAAYF,GAC9C5Z,GAA+BX,GAAiBya,YAAYF,GAC5D3Z,GAAyBX,GAAWwa,YAAYF,GAChD1Z,GAAkBJ,GACU,IAAxB5G,EAAUsR,YAAiBtK,IAAmBH,IACtB,IAAxB7G,EAAUsR,YACZtK,IAAmBF,IAErB,MAAM+Z,EACJ1gB,KAAK2gB,YAAY,mBAAqB3gB,KAAK2d,IAAI,iBAG/C1S,GADEyV,GAAkC,IAAxB7gB,EAAUsR,UAEpB1K,GACAC,IACCga,EAAS9Z,GAAyB,GACRC,GAE/BmD,GAAqB9D,GAAWua,YAC9Bxd,EAAWpD,EAAU+gB,iBAkB3B,SAASC,GAAWvQ,EAAIxC,GACtB,IAAI/lB,EAAQ,GAmBZ,OAjBsCA,EAAlCuoB,EAAG7kB,IAAM,GAAK6kB,EAAG7kB,KAAOgZ,IAAkBvC,EACrCoO,EAAG7kB,GAAK4f,GAAoBzJ,EAC5B0O,EAAG7kB,KAAO4f,GAAoBxJ,EAC9ByO,EAAG7kB,GAAK6f,GAAa,IAAI,GAAYxJ,EACrCwO,EAAG7kB,GAAK6f,GAAa,IAAI,GAAYvJ,EACrCuO,EAAG7kB,GAAK6f,GAAa,IAAI,GAAYtJ,EACjCC,EAGiC,IAA1C2C,OAAO/E,EAAUihB,sBACfhT,EAAQmD,KAAWrM,OAAO/E,EAAUihB,uBACtC/4B,EAAQ6Z,GAGR/B,EAAUkhB,uBACRjT,EAAQ9N,KAAKkT,QAAU,IAAGnrB,EAAQia,GAEjCja,EAiBT,SAASi5B,GAAYxhC,EAAQgvB,GAC3B7wB,OAAO6C,KAAKhB,GAAQ6vB,SAASl1B,IAC3B,GAAI0lB,EAAUohB,eAA4B,IAAXzS,EAC7BhvB,EAAOrF,GAAG4N,MAAQma,MADpB,CAIA1iB,EAAOrF,GAAG4N,MAAQ84B,GAChBrhC,EAAOrF,GACP6lB,KAAKwN,QAAQrzB,GAAG+mC,YAAY1S,IAG9B,IAAK,IAAIgC,EAAI,EAAGA,EAAI3Q,EAAUshB,aAAc3Q,IACtChxB,EAAOrF,GAAGsR,KAAO6f,GAAakF,GAAG,KAAIhxB,EAAOrF,GAAG4N,MAAQma,OAKjE,SAASkf,GAAQ5hC,EAAQgvB,GACvB7wB,OAAO6C,KAAKhB,GAAQ6vB,SAASl1B,IAC3B,MAAM2zB,EAAQ9N,KAAKwN,QAAQrzB,GAAG+mC,YAAY1S,GACtCxO,KAAKoR,UACP5xB,EAAOrF,GAAGsR,GACR/I,KAAK6D,IAAIunB,GAAS9N,KAAKkT,QAAU3B,MAAuB,GACtDvR,KAAKoR,UACPtD,EAAQtuB,EAAOrF,GAAGm4B,MACf9yB,EAAOrF,GAAGsR,GAAKqiB,EAAQtuB,EAAOrF,GAAGm4B,MAClCzS,EAAUohB,eAA4B,IAAXzS,GAC/BlD,GAAarvB,KAAK,CAACuD,EAAOrF,GAAGsR,GAAI+iB,OA8EvC,SAAS6S,MAtET,WACEhW,GAAa5G,IACb6G,GAAe,QACuB,IAA3BzL,EAAUshB,eAA8BthB,EAAUshB,aAAe,GAG5EC,GAAQ7X,GAAe,GACvB6X,GAAQ5X,GAAgB,IACxB4X,GAAQ3X,GAAiB,KAGzB6B,GAAaoE,MAAK,CAAC1sB,EAAGP,IAAMO,EAAE,GAAKP,EAAE,KACrC,IAAI6+B,EAAa,EACjB,GAAIzhB,EAAUkhB,sBACZ,KAAOzV,GAAagW,GAAY,GAAKthB,KAAKkT,UACxCoO,GAAc,EACVhW,GAAalxB,SAAWknC,EAAa,KAK7CjW,GAAaC,GAAazL,EAAUshB,cAAcG,GAElDN,GAAYzX,GAAe,GAC3ByX,GAAYxX,GAAgB,IAC5BwX,GAAYvX,GAAiB,KA8C7B8X,GAjCA5jC,OAAO6C,KAAKupB,IAAesF,SAASl1B,IAC9B6lB,KAAKoR,UACPrH,GAAc5vB,GAAGsR,GACf/I,KAAK6D,IACHyZ,KAAK0V,SAASv7B,GAAGk+B,YAAcrY,KAAKkT,QAAU3B,MAC9C,GAEAvR,KAAKoR,UACPpR,KAAK0V,SAASv7B,GAAGk+B,WAAatO,GAAc5vB,GAAGm4B,MAEjDvI,GAAc5vB,GAAGsR,GACfuU,KAAK0V,SAASv7B,GAAGk+B,WAAatO,GAAc5vB,GAAGm4B,MAC/C1N,OAAOnJ,MAAMsO,GAAc5vB,GAAGsR,MAAKse,GAAc5vB,GAAGsR,GAAKgZ,KAE7DsF,GAAc5vB,GAAG4N,MAAQ84B,GACvB9W,GAAc5vB,GACd6lB,KAAK0V,SAASv7B,GAAGk+B,eAiCvB,SAASmJ,GACPnT,EACAC,EACA3kB,EACA4kB,EACAwJ,GAEA,IAAInJ,EAAiBjlB,EACjBklB,EAAO,EACX,IAAK,IAAI10B,EAAI,EAAGA,EAAI49B,EAAU59B,GAAK,EAAG,CACpC,IAAI2zB,EACFQ,EAAYtO,KAAK+O,eAAiBrsB,KAAK6D,IAAI,EAAGqoB,EAAiBL,GACjET,EAAQ9N,KAAKgP,oBAAoBX,EAAOP,GACxCA,EAAQprB,KAAKoL,KAAKggB,GAClBe,GAAQf,EACRc,GAAkB,EAEpB,OAAOC,EA0CT,SAAS4S,GAAOjV,GACVF,GAAgBE,IACgB,IAA9BF,GAAgBE,GAAM8J,MACxBhK,GAAgBE,GAAM8J,IAAM,EACS,WAAjCtW,KAAK+T,aAAavH,GAAMS,OAAmB5F,IAAwB,IAuB7E,SAASqa,KACP3Z,GAAe,EACf,IAAImM,EAAO,EAEX,MAAMyN,EAAO,GACbhkC,OAAO6C,KAAKwf,KAAKwN,SAAS6B,SAASl1B,IACjC,GAAI6lB,KAAKwN,QAAQrzB,GAAG+zB,gBAAkBlO,KAAKwN,QAAQrzB,GAAGozB,SAASoU,KAAM,CACnE,MAAMC,EAAS5hB,KAAKwN,QAAQrzB,GAAGozB,SAASoU,KACxChkC,OAAO6C,KAAKohC,GAAQvS,SAASwS,IACvBF,EAAKE,GAAKF,EAAKE,IAAOD,EAAOC,GAC5BF,EAAKE,GAAMD,EAAOC,UAI7B/Z,GAAU6Z,EAEiB,IAAvB3hB,KAAKgN,gBACPkH,GAEE,IADAzsB,WAAW8f,IAEXD,GA9EN,WACE,IAAIwa,EAAe,EAWnB,GAVIhV,GAAO,0BAAyBgV,GAAgB,KAChDhV,GAAO,2BAA0BgV,GAAgB,IACjDhV,GAAO,qBAAoBgV,GAAgB,KAC3ChV,GAAO,4BAA2BgV,GAAgB,KAClDhV,GAAO,kBAAiBgV,GAAgB,KAE5CA,GAAgB,EAAgC,IAA5BvV,GAAY,cAC5BO,GAAO,iBAAgBgV,GAAgB,MACvChV,GAAO,kBAAiBgV,GAAgB,MACxChV,GAAO,kBAAiBgV,GAAgB,MACxC9hB,KAAKqN,OAAQ,CACf,MAAMc,EAASf,GAAU,YACV,IAAXe,EAAc2T,GAAgB,GACd,IAAX3T,EAAc2T,GAAgB,GACnB,IAAX3T,IAAc2T,GAAgB,IAEzC,OAAOA,EA6DHC,IAEJ7N,GAAQtH,GAAO,OAEXE,GAAO,YAAqC,IAAvB9M,KAAKgN,gBAC5BkH,GAAQ,EAAI,IAAOlU,KAAKgiB,SAE1BrkC,OAAO6C,KAAKwf,KAAKiiB,gBAAgB5S,SAASl1B,IACxC,MAAMm2B,EAAKtQ,KAAKiiB,eAAe9nC,GAC3B2yB,GAAOwD,EAAG5xB,QAIY,mBAAb4xB,EAAGqF,MACZzB,GAAQ,EAAuD,IAAnD7H,GAAYiE,EAAG5xB,MAAMi3B,MAAMtJ,GAAYiE,EAAG5xB,OACjDw1B,GAAQ,EAAe,IAAX5D,EAAGqF,UAItB7I,GAAO,iCAAgCoH,GAAQ,MAC/CpH,GAAO,0BAAyBoH,GAAQ,MACxCpH,GAAO,sBAAqBoH,GAAQ,MACpCpH,GAAO,iBAAgBoH,GAAQ,MAC/BpH,GAAO,kBAAiBoH,GAAQ,MAEhCpH,GAAO,yBAAwBoH,GAAQ,MACvCpH,GAAO,wBAAuBoH,GAAQ,MACtCpH,GAAO,oBAAmBoH,GAAQ,MAClCpH,GAAO,sBAAqBoH,GAAQ,MACpCpH,GAAO,sBAAqBoH,GAAQ,KAEpCpH,GAAO,kBAAiBoH,GAAQ,MAChCpH,GAAO,kBAAiBoH,GAAQ,MAEhCpH,GAAO,kBAAiBoH,GAAQ,MAGpC,IAAIgO,EAAY,EAChB,GAAI9U,GAAW,CACb,IAAIe,EAASf,GAAU,cACR,IAAXe,EAAc+F,GAAQ,KACN,IAAX/F,EAAc+F,GAAQ,IACX,IAAX/F,IAAc+F,GAAQ,MAE/B/F,EAASf,GAAU,QACJ,IAAXe,EACF+F,GACE,EAAI,IAAOxxB,KAAKy/B,IAAKxC,KAAKC,MAAQ,IAAO,MAAiBl9B,KAAKiU,GAAK,GACpD,IAAXwX,EACP+F,GACE,EAAI,IAAOxxB,KAAKy/B,IAAKxC,KAAKC,MAAQ,IAAO,MAAkBl9B,KAAKiU,GAAK,GACrD,IAAXwX,IACP+F,GACE,EAAI,IAAOxxB,KAAKy/B,IAAKxC,KAAKC,MAAQ,IAAO,MAAkBl9B,KAAKiU,GAAK,IAEzEwX,EAASf,GAAU,aACJ,IAAXe,EAAc+T,GAAa,IACX,IAAX/T,EAAc+T,GAAa,IAChB,IAAX/T,IAAc+T,GAAa,KAEpC/T,EAASf,GAAU,YACJ,IAAXe,EAAc+T,GAAa,IACX,IAAX/T,EAAc+T,GAAa,KAChB,IAAX/T,IAAc+T,GAAa,MAEpC/T,EAASf,GAAU,SACJ,IAAXe,EAAc+T,GAAa,IACX,IAAX/T,EAAc+T,GAAa,IAChB,IAAX/T,IAAc+T,GAAa,KAGlCpV,GAAO,oBAAmBoH,GAAQ,EAA4B,KAAvBlU,KAAKoiB,WAAa,IAE7D,MAAMC,EAAehb,GAAuB,GAC5C,IAAIib,EAAW,EAIf,GAHIxV,GAAO,8BAA6BwV,GAAY,MAEpDA,GAAY,EAAoC,IAAhC/V,GAAY,kBACxBa,GAAW,CACb,MAAMe,EAASf,GAAU,UACV,IAAXe,EAAcmU,GAAY,IACV,IAAXnU,EAAcmU,GAAY,KACf,IAAXnU,IAAcmU,GAAY,MAErCA,GAAY1V,GAAO,QAEnB,IAAI2V,EAAU,EAEVzV,GAAO,oBAAmByV,GAAW,EAAmB,GAAfF,EAAqBC,GAC9DxV,GAAO,oBAAmByV,GAAW,EAAmB,KAAfF,EAAuBC,GAChExV,GAAO,sBAAqByV,GAAW,EAAmB,IAAfF,EAAsBC,GACjExV,GAAO,sBACTyV,GAAW,EAAmB,KAAfF,EAAuBC,GACpCxV,GAAO,qBAAoByV,GAAW,EAAmB,GAAfF,EAAqBC,GAC/DxV,GAAO,wBACTyV,GAAW,EAAmB,GAAfF,EAAqBC,GAClCxV,GAAO,wBACTyV,GAAW,EAAmB,GAAfF,EAAqBC,GAClCxV,GAAO,oBAAmByV,GAAW,EAAmB,GAAfF,EAAqBC,GAC9DxV,GAAO,wBACTyV,GAAW,EAAmB,GAAfF,EAAqBC,GAClCxV,GAAO,+CACTyV,GAAW,EAAmB,KAAfF,EAAuBC,GACpCxV,GAAO,uBACTyV,GAAW,EAAmB,IAAfF,EAAsBC,GACnCxV,GAAO,qBAAoByV,GAAW,EAAmB,KAAfF,EAAuBC,GACjExV,GAAO,uBACTyV,GAAW,EAAmB,KAAfF,EAAuBC,GACpCxV,GAAO,mBAAkByV,GAAW,EAAmB,GAAfF,EAAqBC,GAC7DxV,GAAO,kBAAiByV,GAAW,EAAmB,IAAfF,EAAsBC,GAEjE3kC,OAAO6C,KAAK4rB,IAAYiD,SAASl1B,IAC/B,MAAMm2B,EAAKlE,GAAWjyB,GACtB,IAAIqoC,EAAYlS,EAAGyE,IAAIzE,GACI,IAAvBtQ,KAAKgN,gBACPwV,IAAc,EAAe,IAAXlS,EAAGsF,OAAgBsM,GAEzB,YAAZ5R,EAAG5xB,MACHouB,GAAO,sDAEP0V,GAAa,EAAI,IAAOH,EAAeC,GACzCva,IAAgBuI,EAAG9B,OAASgU,KAG1B1V,GAAO,WAAU/E,IAAgB,GAErCmM,GAAQqO,EAER,IAAIE,EAAU,EAad,GAZI3V,GAAO,iBAAgB2V,GAAW,MAClC3V,GAAO,cAAa2V,GAAW,MAC/B3V,GAAO,gBAAe2V,GAAW,MACjC3V,GAAO,eAAc2V,GAAW,MAChC3V,GAAO,eAAc2V,GAAW,MAChC3V,GAAO,iBAAgB2V,GAAW,MAClC3V,GAAO,mBAAkB2V,GAAW,MACpC3V,GAAO,gBAAe2V,GAAW,MACjC3V,GAAO,eAAc2V,GAAW,MAChC3V,GAAO,eAAc2V,GAAW,MAChC3V,GAAO,gBAAe2V,GAAW,MACjC3V,GAAO,eAAc2V,GAAW,MAChC3V,GAAO,eAAgB,CAEzB,IAAI4V,EACuD,GAAxDhgC,KAAKkE,OAAO+4B,KAAKC,MAAQ5f,KAAK2iB,WAAa,IAAO,IACnD,GACA,GACA,GACFD,EAAMhgC,KAAK2D,IAAIq8B,EAAK,KAEpBtZ,GAAe,EAAiC,IAA5B,GAAK,EAAIsZ,EAAM,MAAQ,GAC3CD,GAAWrZ,GAEb8K,GAAQuO,EAEJ3V,GAAO,kBAAiBoH,GAAQ,EAAgC,IAA5BxxB,KAAK2D,IAAI,IAAK2Z,KAAK4iB,QAG3D1O,GAAQ,EAAI3H,GAAY,oBAExB,MAAMsW,EAAe9a,GAAemM,EACpCv2B,OAAO6C,KAAKwf,KAAK8iB,iBAAiBzT,SAASl1B,IACrC0oC,GAAgB7iB,KAAK8iB,gBAAgB3oC,GAAG4oC,WAC1CtB,GAAOzhB,KAAK8iB,gBAAgB3oC,GAAGuE,SAGnCspB,GAAkB6a,EAElB,MAAMzlC,EAAEA,GAAM4iB,KAAKwd,aAAaC,OAC1BuF,EAAWzW,GAAY,oBAC7B,IAAK,IAAIpyB,EAAI,EAAGA,EAAIiD,EAAGjD,IACrB+5B,GAAQ,EAAe,KAAX8O,EAGd,MAAMtkC,EAAOshB,KAAKijB,WAAWxoC,cAM7B,GALa,WAATiE,EAAmBw1B,GAAQ,IACb,WAATx1B,IAAmBw1B,GAAQ,KAEhCpH,GAAO,oBAAmBoH,GAAQ,KAElCpH,GAAO,uBAAwB,CACjC,IAAIoW,EAAmB,IACvB,GAAIpW,GAAO,iBAAkB,CAC3B,MAAMqW,EAAWnjB,KAAKojB,qBACtBzlC,OAAO6C,KAAK2iC,GAAU9T,SAASl1B,IACzB2yB,GAAOqW,EAAShpC,MAAK+oC,GAAoB,OAGjDhP,GAAQgP,EAEV,GAAIpW,GAAO,yBAA0B,CACnC,IAAIuW,EAAW,GACXvW,GAAO,yBAAwBuW,GAAY,IAC/CnP,GAAQ,EAAImP,EAGVvW,GAAO,uBAAsBoH,GAAQ,KACrCpH,GAAO,wBAAuBoH,GAAQ,GAE1CnM,GAAe/H,KAAKsjB,kBAAkB,MAAOvb,IAE7CmM,GAAQmD,KAERtP,IAAgBmM,EASlB,MAAMqP,GAAW,CACf,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAIIC,GAAe,CACnB,gBACA,gBACA,cACA,gBACA,kBACA,kBACA,kBAIIC,GAAgB,CACpB,0BACA,qBACA,mBACA,iBACA,sBACA,gBACA,oBAIIC,GAAa,CACjB,sBACA,wBACA,sBACA,yBACA,wBACA,yBACA,wBAIIC,GAAa,CACjB,qBACA,oBACA,oBACA,yBACA,cACA,WACA,eAkCF,SAASC,GAAapX,GACpB,OAAOF,GAAgBE,GAAQF,GAAgBE,GAAM8J,IAAM,EAe7D,SAASuN,KACP,IAAIC,EAAW,EACfnmC,OAAO6C,KAAKwf,KAAKkV,kBAAkB7F,SAASl1B,IACtC2yB,GAAO9M,KAAKkV,iBAAiB/6B,MAAK2pC,GAAY,OAE/CF,GAAa,UAAYE,GAAY,GAAGrC,GAAO,UAC/CmC,GAAa,YAAcE,GAAY,IAAIrC,GAAO,WAEvD,IAAIsC,EAAiB,EACjBC,EAAgB,EAChBC,EAAS,EACTC,EAAY,IAChBvmC,OAAO6C,KAAK4rB,IAAYiD,SAASl1B,IAC/B4pC,GAAkB3X,GAAWjyB,GAAGq0B,OAChC0V,EAAYxhC,KAAK2D,IAAI+lB,GAAWjyB,GAAGq0B,OAAQ0V,GACtCN,GAAa,kBAEdxX,GAAWjyB,GAAGq0B,OACd9rB,KAAK2D,IAAI,IAAK,IAAM2Z,KAAKmkB,YAAY/pC,OAAS4lB,KAAKwN,QAAQrzB,GAAGwzB,GAAK,MAEnEqW,EAAgB,GAEfJ,GAAa,YAEdxX,GAAWjyB,GAAGq0B,OACmC,IAAhDxO,KAAKmkB,YAAY/pC,OAAS4lB,KAAKwN,QAAQrzB,GAAGwzB,MAE3CsW,EAAS,MAGXC,GAAa,GAAGzC,GAAO,uBACL,IAAlBuC,GAAqBvC,GAAO,iBACjB,IAAXwC,GAAcxC,GAAO,WACrByC,GAAa,KAAKzC,GAAO,cACzByC,GAAa,KAAKzC,GAAO,yBACzByC,GAAa,KAAKzC,GAAO,gBACzByC,GAAa,KAAKzC,GAAO,2BACzByC,GAAa,KAAKzC,GAAO,iBACzByC,GAAa,KAAKzC,GAAO,4BACzByC,GAAa,KAAKzC,GAAO,oBACzByC,GAAa,KAAKzC,GAAO,+BACzByC,GAAa,KAAKzC,GAAO,kBACzByC,GAAa,KAAKzC,GAAO,6BACzByC,GAAa,KAAKzC,GAAO,iBAEzBsC,GAAkB,KAAKtC,GAAO,WAC9BsC,GAAkB,KAAKtC,GAAO,aAC9BsC,GAAkB,KAAMtC,GAAO,YAC/BsC,GAAkB,KAAMtC,GAAO,sBAC/BsC,GAAkB,KAAMtC,GAAO,gBAC/BsC,GAAkB,KAAMtC,GAAO,gBAE/Bta,IAAoB,IAAIsa,GAAO,YAC/Bta,IAAoB,IAAIsa,GAAO,aAC/Bta,IAAoB,KAAKsa,GAAO,YAChCta,IAAoB,KAAKsa,GAAO,oBAChCta,IAAoB,KAAKsa,GAAO,oBAChCta,IAAoB,KAAKsa,GAAO,oCAEhCsC,GAAkB,KAAQ5c,IAAoB,KAAKsa,GAAO,YAC1DsC,GAAkB,KAAQ5c,IAAoB,KAChDsa,GAAO,qBAELrV,GAAWgY,OAAO5V,OAASpC,GAAWuI,QAAQnG,QAAU,KAC1DiT,GAAO,qBAET,IAAI4C,GAAkB,EACtB1mC,OAAO6C,KAAKgjC,IAAcnU,SAASl1B,IAC5B2yB,GAAO0W,GAAarpC,MAAKkqC,GAAkB,MAE9CA,GAAiB5C,GAAO,kBAE5B,IAAI6C,GAAmB,EAMvB,GALA3mC,OAAO6C,KAAKijC,IAAepU,SAASl1B,IAC7B2yB,GAAO2W,GAActpC,MAAKmqC,GAAmB,MAEhDA,GAAkB7C,GAAO,eAEzB3U,GAAO,mBAAoB,CAC7B,MAAMyX,EAAOvkB,KAAKoU,MAAMnG,QAAQkV,SAChC,IAAIqB,EAAW,EACf7mC,OAAO6C,KAAK+jC,GAAMlV,SAASl1B,IACrB2yB,GAAOyX,EAAKpqC,GAAGuE,QAAO8lC,GAAY,MAEpCA,GAAYD,EAAKnqC,QAAQqnC,GAAO,cA6OxC,SAASgD,GAAoBjW,GAC3B,MAAMkW,EAAS,GAQf,OAPA/mC,OAAO6C,KAAKwf,KAAKwN,SAAS6B,SAASl1B,IACjCuqC,EAAOvqC,GAAK,GACZuqC,EAAOvqC,GAAGm4B,MA/Nd,SAAiCzE,EAAUW,GACzCsH,KACA1J,GAAWyB,GAAUW,QAAUA,EAC/B,MAAM8B,EAAKlE,GAAWyB,GAEL,WAAbA,GACEyC,EAAG9B,QAAU,GAAGiT,GAAO,SACvBnR,EAAG9B,QAAU,GAAGiT,GAAO,gBACvBnR,EAAG9B,QAAU,IAAIiT,GAAO,eACxBnR,EAAG9B,QAAU,KAAKiT,GAAO,mBACzBnR,EAAG9B,QAAU,KAAKiT,GAAO,eACzBnR,EAAG9B,QAAU,KAAKiT,GAAO,uBACzBnR,EAAG9B,QAAU,KAAKiT,GAAO,SACzBnR,EAAG9B,QAAU,KAAKiT,GAAO,kCACzBnR,EAAG9B,QAAU,KAAKiT,GAAO,iCACzBnR,EAAG9B,QAAU,KAAKiT,GAAO,wBACzBnR,EAAG9B,QAAU,KAAKiT,GAAO,yBAE7B9jC,OAAO6C,KAAKwf,KAAKwN,QAAQ8C,EAAG5xB,MAAMimC,eAAetV,SAASmB,IAEtDF,EAAG9B,QACHxO,KAAKoU,MAAMpU,KAAKwN,QAAQ8C,EAAG5xB,MAAMimC,cAAcnU,GAAGtD,MAAM0X,cAExDnD,GAAOzhB,KAAKwN,QAAQ8C,EAAG5xB,MAAMimC,cAAcnU,GAAG9xB,SAKpD,MAAMmmC,EAAwBxd,GAU9B,OARAqa,KAEAmC,KAEIgB,IAA0Bxd,IAC5Bqa,KAGK3Z,GAAe/H,KAAKoR,UAyLP0T,CAAwB3qC,EAAGq0B,GAC9B,IAAXA,IACFxH,GAA2B,MAGxB0d,EA6BT,SAASK,KACPpnC,OAAO6C,KAAKwf,KAAKwN,SAAS6B,SAASl1B,IACjCovB,GAAcpvB,GAAG2zB,MAAQ0T,GACvBxhB,KAAKwN,QAAQrzB,GACb6lB,KAAKwN,QAAQrzB,GAAGm0B,UAChBtO,KAAKwN,QAAQrzB,GAAGq0B,OAChBxO,KAAKwN,QAAQrzB,GAAGo0B,KAChB,GAEF/E,GAAervB,GAAG2zB,MAAQ0T,GACxBxhB,KAAKwN,QAAQrzB,GACb6lB,KAAKwN,QAAQrzB,GAAGm0B,UAChBtO,KAAKwN,QAAQrzB,GAAGq0B,OAChBxO,KAAKwN,QAAQrzB,GAAGo0B,KAChB,IAEF9E,GAAgBtvB,GAAG2zB,MAAQ0T,GACzBxhB,KAAKwN,QAAQrzB,GACb6lB,KAAKwN,QAAQrzB,GAAGm0B,UAChBtO,KAAKwN,QAAQrzB,GAAGq0B,OAChBxO,KAAKwN,QAAQrzB,GAAGo0B,KAChB,QASN,SAASyW,KAEPzb,GAAgBkb,GAAoB,GACpCjb,GAAiBib,GAAoB,IACrChb,GAAkBgb,GAAoB,KAvDtC1a,GAAgB,GAChBpsB,OAAO6C,KAAKwf,KAAK0V,UAAUrG,SAASl1B,IAClC,MAAM8qC,EAtFV,SAAgCnU,GAC9B,GACkC,WAAhC9Q,KAAK0V,SAAS5E,GAAS7D,MACY,IAAlCjN,KAAK0V,SAAS5E,GAAS3D,QACtBnN,KAAK0V,SAAS5E,GAASoU,UACS,aAAhCllB,KAAK0V,SAAS5E,GAAS7D,KACzB,CACA6I,KACkC,yBAA9BzJ,GAAYyE,GAASpyB,KACvB2tB,GAAY,yBAAyBc,OAAS,EACP,uBAA9Bd,GAAYyE,GAASpyB,KAC9B2tB,GAAY,uBAAuBc,OAAS,EAE5Cd,GAAYyE,GAAS3D,QAAUd,GAAYyE,GAAS3D,OAAS,GAAK,EAEzDd,GAAYyE,GACnB9Q,KAAKmlB,qBAAqBnlB,KAAK0V,SAAS5E,GAAS7D,QACnD9F,IAAoB,GAEN,iBAAZ2J,GACF1J,IAAc,EACVA,GAAa,GAAGqa,GAAO,aACvBra,IAAc,GAAGqa,GAAO,kBACP,mBAAZ3Q,EACT2Q,GAAO,cACc,yBAAZ3Q,EACT2Q,GAAO,kBACc,iBAAZ3Q,GACT2Q,GAAO,aAGT,MAAMoD,EAAwBxd,GAE9Bqa,KAEAmC,KAEIgB,IAA0Bxd,IAC5Bqa,KAGF,MAAM0D,EAvIV,WACE,IAAI9jC,EAAM,EACNwrB,GAAO,sBAAqBxrB,GAAO,IACnCwrB,GAAO,qBAAoBxrB,GAAO,GAClCwrB,GAAO,qBAAoBxrB,GAAO,IAClCwrB,GAAO,sBAAqBxrB,GAAO,IACnCwrB,GAAO,yBAAwBxrB,GAAO,IACtCwrB,GAAO,yBAAwBxrB,GAAO,IACtCwrB,GAAO,wBAAuBxrB,GAAO,IACrCwrB,GAAO,wBAAuBxrB,GAAO,IACrCwrB,GAAO,uBAAsBxrB,GAAO,IACpCwrB,GAAO,uBAAsBxrB,GAAO,IACxC,IAAI8iB,EAAM,EACVzmB,OAAO6C,KAAK4rB,IAAYiD,SAASl1B,IAC/BiqB,GAAOgI,GAAWjyB,GAAGq0B,UAEvBpK,GAAOgI,GAAWgY,OAAO5V,OACzBltB,GAAO8iB,EAGH0I,GAAO,mBAAkBxrB,GAAsB,IAAfymB,IAChC+E,GAAO,gBAAexrB,GAAsB,IAAfymB,IAC7B+E,GAAO,oBAAmBxrB,GAAsB,IAAfymB,IACjC+E,GAAO,sBAAqBxrB,GAAsB,IAAfymB,IACnC+E,GAAO,uBAAsBxrB,GAAsB,IAAfymB,IACpC+E,GAAO,mBAAkBxrB,GAAsB,IAAfymB,IAChC+E,GAAO,qBAAoBxrB,GAAsB,IAAfymB,IAClC+E,GAAO,sBAAqBxrB,GAAsB,IAAfymB,IACnC+E,GAAO,sBAAqBxrB,GAAsB,IAAfymB,IACnC+E,GAAO,qBAAoBxrB,GAAsB,IAAfymB,IAClC+E,GAAO,yBAAwBxrB,GAAsB,IAAfymB,IACtC+E,GAAO,sBAAqBxrB,GAAsB,IAAfymB,IACnC+E,GAAO,sBAAqBxrB,GAAsB,IAAfymB,IAEnC+E,GAAO,kBAAiBxrB,GAAsB,IAAfymB,IAEnC,IAAImM,EAAO,EAiBX,GAhBIpH,GAAO,qBAAoBoH,GAAQ,KACnCpH,GAAO,gBAAeoH,GAAQ,KAC9BpH,GAAO,iBAAgBoH,GAAQ,KAC/BpH,GAAO,iBAAgBoH,GAAQ,MAE/BpH,GAAO,iBACToH,GACE,EACA,IACExxB,KAAK2D,IACH2Z,KAAKwN,QAAQ4W,OAAOxO,MACpB9I,GAAO,mBAAqB,GAAK,KAIzCoH,GAAQtH,GAAO,SACXR,GAAWkB,OAAOY,gBAChBd,GAAW,CACb,MAAMe,EAASf,GAAU,SACV,IAAXe,EAAc+F,GAAQ,KACN,IAAX/F,EAAc+F,GAAQ,IACX,IAAX/F,IAAc+F,GAAQ,MAInCv2B,OAAO6C,KAAKwf,KAAKsX,OAAOjI,SAASl1B,SACQ,IAA5B6lB,KAAKsX,MAAMn9B,GAAGkrC,YACvBnR,GAAQlU,KAAKsX,MAAMn9B,GAAGkrC,cAI1BnR,GAAQ,EAAmC,IAA/B3H,GAAY,iBAGxB,IAAI+Y,EACFpR,EACAlU,KAAKiV,WACH,EACAnI,GAAO,2BACLA,GAAO,kCACPA,GAAO,gBACTxrB,GAOJ,OAJAgkC,EAAMtlB,KAAKsjB,kBAAkB,kBAAmBgC,GAE5CtlB,KAAKgO,QAAQ,mBAAkBsX,EAAMtlB,KAAKsX,MAAM,iBAAiB3B,OAE9D2P,EAkDgBC,GAAavlB,KAAKwlB,iBACvC,OAAIJ,EACK,CAACrd,GAAe/H,KAAKoR,UAAWgU,GAElC,CAACrd,GAAe/H,KAAKoR,WAE9B,MAAO,GAuCeqU,CAAuBtrC,GACjC,iBAANA,GACF4vB,GAAc5vB,GAAK,CAAEm4B,MAAOtS,KAAKoR,UAAY3K,IACjB,IAAxB5G,EAAUsR,UACZpH,GAAc5vB,GAAGm4B,OAAS5L,GACK,IAAxB7G,EAAUsR,YACjBpH,GAAc5vB,GAAGm4B,OAAS3L,IACvB/B,OAAOC,SAASkF,GAAc5vB,GAAGm4B,SAAQvI,GAAc5vB,GAAGm4B,MAAQ,KAEvEvI,GAAc5vB,GAAK,GACf8qC,EAAY,KAAIlb,GAAc5vB,GAAGm4B,MAAQ2S,EAAY,IACrDA,EAAY,KAAIlb,GAAc5vB,GAAGm+B,WAAa2M,EAAY,QA6DpE,SAASS,GAAqBC,EAAOC,EAAW1R,GAC9C,IAAI2R,EAAiB,EACjBhX,EAAO,EACPiX,EAAW,EACXC,EAAe,EACfC,EACF,EAAItjC,KAAK6D,IAAI,EAAG7D,KAAKoL,KAAKpL,KAAK4iB,IAAItF,KAAKkT,SAAWxwB,KAAKujC,MAAQ,IAClE,KAAOH,EAAWF,EAAY1R,GAC5BrF,EAAOnsB,KAAK6D,IACVo/B,EACAjjC,KAAK2D,IACH3D,KAAKkE,MAAO,EAAI,EAAK,IAAMo/B,EAAQL,EAAQzR,GAC3C0R,EAAY1R,IAGhB4R,EAAWpjC,KAAK6D,IACdo/B,EACAjjC,KAAK2D,IACH3D,KAAKkE,MAAO,EAAI,EAAK,KAAOo/B,EAAQ,GAAKL,EAAQzR,GACjD0R,EAAY1R,IAGhB6R,EAAerjC,KAAKkE,MAAO,EAAI,EAAK,KAAOo/B,EAAQ,GAAKL,EAAQzR,GAChE2R,GAAkBhX,EAClBmX,GAAS,EAEX,MAAO,CAACH,EAAgBhX,EAAMkX,GAmBhC,SAASG,KACP,IAAIN,EAEF,GADA7c,GAEA,GACA,EACAC,GAEF,MAAMmd,EAAc9O,KAChB8O,EAAc,EAAGP,GAAaO,EAC7BP,EAAY,EAEjBtb,GAAsBob,GACpB,EACAE,EACA3c,IAEFmB,GAA+C,EAAzBE,GAAoB,GAAUrB,GACpDoB,GACEC,GAAoB,GAAK,GAAK,GAAK,EAAItB,GAEzCyB,GAA2Bib,GACzB,EACAE,EACA1c,IAEFqB,GACiC,EAA9BE,GAAyB,GAAUvB,GACtCsB,GACEC,GAAyB,GACzB,GACA,GACA,EACAzB,GAEF4B,GAA4B8a,GAC1B,EACY,EAAZE,EACA3c,IAEFyB,GACkC,EAA/BE,GAA0B,GAAU3B,GACvC0B,GACEC,GAA0B,GAC1B,GACA,GACA,EACA5B,GAEF+B,GAAiC2a,GAC/B,EACY,EAAZE,EACA1c,IAEF2B,GACuC,EAApCE,GAA+B,GAAU7B,GAC5C4B,GACEC,GAA+B,GAC/B,GACA,GACA,EACA/B,GAYJ,SAASod,KACP,MAAM1G,EAAWh9B,KAAKkE,MAAM+4B,KAAKC,MAAQ,KAEzC,GAAK5f,KAAKod,EAAIpd,KAAKoX,IAAO,GAAM,EAAG,CACjC,MAAMiP,EAAarmB,KAAKsmB,gBAAgBtmB,KAAKumB,cAIvCC,EAHiB9jC,KAAKkE,MAC1BoZ,KAAKsmB,gBAAgBtmB,KAAKumB,aAAevmB,KAAK8f,gBAERp9B,KAAKkE,MAAMy/B,GAG7CtG,EAAWL,EAAW5Y,GACtB2f,EACJ/jC,KAAK6D,IAAI,EAAGigC,EAAiBzf,IAA0BgZ,EACzD,IAAK,IAAI5lC,EAAI,EAAGA,EAAI4lC,EAAU5lC,IAC5BgsB,GAAkBma,UAAUmG,GAI9B3f,GAAyB4Y,EACzB3Y,GAAyByf,EAGzBrd,GAAmBhD,GAAkBsa,YAAY,IA6HrD,SAASiG,KACPzc,GAAuB,GACvBE,GAA8B,GAC9BD,GAA+B,GAC/B,MAAMqa,EAAO,GAEb5mC,OAAO6C,KAAKwf,KAAK0V,UAAUrG,SAASl1B,IAClCoqC,EAAKtoC,KAAK+jB,KAAK0V,SAASv7B,OAO1BoqC,EAAK7U,MALW,SAAU1sB,EAAGP,GAC3B,OAAIO,EAAEguB,MAAQvuB,EAAEuuB,MAAc,EAC1BhuB,EAAEguB,MAAQvuB,EAAEuuB,OAAe,EACxB,KAITrzB,OAAO6C,KAAK+jC,GAAMlV,SAASl1B,IACzB,MAAMm2B,EAAKiU,EAAKpqC,GAEhB,GAAkB,IAAdm2B,EAAGnD,OAAc,CACnB,IAAI5xB,EAAM,GAEVA,GArDN,SAAsB+0B,GACpB,IAAIqW,EAAU,wBACE,aAAZrW,EAAGrD,OAAqB0Z,GAAW,aAEvC,IAAIC,EAAU,EACT5mB,KAAK6c,MAAMgK,SAAQD,EAAU,GAC9BA,IAASD,GAAW,YAExB,IAAIG,KAAEA,GAASxW,EACXA,EAAGyW,eAAcD,EAAOxW,EAAGyW,gBAC/B,MAAMrQ,EAAU,0DAA0DpG,EAAG3C,kBAC7E,MAAO,eAAegZ,SACrB3mB,KAAKgnB,kBAAkBtQ,EAAS,OAAO,kBAEtCoQ,EAAK,GAAK,yBAAyBA,EAAK,OAAS,yBACjB,IAAVA,EAAK,QAAwB,IAAVA,EAAK,oBAsCrCG,CAAa3W,GACJ,aAAZA,EAAGrD,KAAqB/C,IAAgC3uB,EACvC,WAAZ+0B,EAAGrD,KAAmB9C,IAA+B5uB,EAEhD,WAAZ+0B,EAAGrD,MACS,WAAZqD,EAAGrD,MACS,UAAZqD,EAAGrD,OAEHhD,IAAwB1uB,OAchC,SAAS2rC,KACP,GAAoB,cAAhBlnB,KAAK+d,OAAwB,CAC/B,IAAIphC,EAAuB,GAAjBqjB,KAAKoR,UACXpR,KAAKgO,QAAQ,kBAAiBrxB,GAAO,IACrCqjB,KAAKgO,QAAQ,YAAWrxB,GAAO,KACnC0sB,GAAe3mB,KAAK6D,IAAI,GAAI5J,GACxBqjB,KAAK2d,IAAI,gCAA+BtU,IAAgB,IAehE,SAAS8d,KACP9e,GAA2C,IAA7BU,GAAoC,IAClDV,IAAcW,GACd,MAAMmd,EAAc9O,KAChB8O,EAAc,EAAG9d,IAAc8d,EAC9B9d,GAAa,EAClBC,GAAmBW,IAAuC,IAAbZ,IAAqB,GAClEE,GAAwBW,IAAsC,IAAbb,IAAqB,GACtEG,GAAgC,EAAbH,GACnBI,GACEQ,IAA6C,IAAnBT,IAA2B,GACvDE,GACEQ,IAA4C,IAAnBV,IAA2B,GACtDG,GAA4B,EAAbN,GACfO,GAAoC,IAAfD,GAErBE,GAAe,EACf,IAAItiB,EAAM,EACNnJ,EAAI,EACRO,OAAO6C,KAAKwf,KAAKwN,SAAS6B,SAASl1B,IAC7B6lB,KAAKwN,QAAQrzB,GAAGq0B,OAASjoB,IAAKA,EAAMyZ,KAAKwN,QAAQrzB,GAAGq0B,QACpDxO,KAAKwN,QAAQrzB,GAAGq0B,OAAS,IAAGpxB,GAAK,MAEvCO,OAAO6C,KAAKwf,KAAKwN,SAAS6B,SAASl1B,KAE9B6lB,KAAKwN,QAAQrzB,GAAGq0B,OAASjoB,GAAa,IAANnJ,IACjC4iB,KAAKwN,QAAQrzB,GAAGq0B,OAAS,KACD,EAAxBxO,KAAKwN,QAAQrzB,GAAG2zB,MAAYjF,KAE5BA,GAAuC,EAAxB7I,KAAKwN,QAAQrzB,GAAG2zB,MAC/BhF,GAAuB3uB,MAQ7B,SAASitC,KACP,IAAIC,EAAa,EACbC,EAAY,EACZpT,EAAO,EAGPpH,GAAO,4BAA2BoH,GAAQ,MAC1CpH,GAAO,iBAAgBoH,GAAQ,MAEnCmT,GAAc,EAA+C,GAA3CrnB,KAAKgjB,SAAS,2BAChCqE,GAAcrnB,KAAKunB,IAAI,oBACvBD,GAAa,EAAuC,GAAnCtnB,KAAKgjB,SAAS,mBAC/BsE,GAAatnB,KAAKunB,IAAI,mBAGtBte,GAAyBiL,EAAOmT,EAChCne,GAAwBgL,EAAOoT,EAM/Bte,GAAoC,EACD,IAA/BhJ,KAAKwd,aAAaC,OAAOrgC,IAC3B4rB,IACE,EAAwC,KAApChJ,KAAKgjB,SAAS,qBAkBxB,SAASwE,KACP9d,GAAsB,EACtBC,GAAuB,EACvBC,GAAwB,CAAC,EAAG,MAC5B,IAAK,IAAIzvB,EAAI,EAAGA,EAAI6lB,KAAKsR,UAAUl3B,OAAQD,IAAK,CAC9C,IAAI0kC,OAAEA,GAAW7e,KAAKsR,UAAUn3B,GAC5B2kC,EAAS,IAKb,GAJI9e,KAAK2d,IAAI,6BAA4BmB,GAAU,MACpB,IAA3B9e,KAAKsR,UAAUn3B,GAAGK,OAAYskC,GAAU,GAC5CD,GAAUC,EACN9e,KAAK2d,IAAI,mBAAkBkB,GAAU,MACrCzS,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASnO,KAAKqN,OAAO,SACZ,IAAXc,EAAc0Q,GAAU,KACR,IAAX1Q,EAAc0Q,GAAU,IACb,IAAX1Q,IAAc0Q,GAAU,MAEnCnV,IAAuBmV,EACQ,IAA3B7e,KAAKsR,UAAUn3B,GAAGK,OACpBmvB,IAAwBkV,EACpBA,EAASjV,GAAsB,KACjCA,GAAwB,CAACiV,EAAQ1kC,MAuBzC,SAASstC,KACP/T,KACA8T,KACAL,KACAC,KACAlB,KACAQ,KACAQ,KA/hDAphB,GAAc,IAAIqZ,GAAWnc,EAAYA,EAAY5oB,OAAS,IAC9D2rB,GAAY,IAAIoZ,GAAWnc,EAAYA,EAAY5oB,OAAS,IAC5D4rB,GAAmB,IAAImZ,GAAWnc,EAAYA,EAAY5oB,OAAS,IACnE6rB,GAAa,IAAIkZ,GAAWnc,EAAYA,EAAY5oB,OAAS,IAC7D8rB,GAAa,IAAIiZ,GAAWlc,EAAWA,EAAW7oB,OAAS,IA6hD3D+rB,GAAoB,IAAIgZ,GAAW,GACnCiH,KACA3G,KACAuF,KACAD,KACA1D,KAKF,MA6ImCqG,GA7Ib,CACpBxW,QAAS,EACTsP,WAAY,EACZI,cAAe,EACfzP,UAAW,EACXzM,MAAO,EACPF,cAAe,EACfQ,eAAgB,EAChBD,YAAa,OACbY,WAAY,EACZgiB,aAAc,EACd5U,cAAe,EACf3D,YAAa,EACb2R,sBAAuB,EACvBI,aAAc,EACdF,cAAe,EACfH,oBAAqB,EACrBlf,WAAY,UACZC,YAAa,UACbC,aAAc,UACdC,aAAc,UACdC,UAAW,UACXC,aAAc,UACdC,WAAY,UACZC,WAAY,UACZC,YAAa,UACbwQ,OAAQ,EACRW,SAAU,EACVC,YAAa,EACbsK,gBAAiB,EACjBjO,YAAa,EACb+X,mBAAoB,EACpBrY,cAAe,EACfoB,aAAc,EACdkX,eAAgB,EAChBC,YAAa,EACbC,QAAS,EACTC,QAAS,EACTjoB,gBAAiB,EACjBkoB,oBAAqB,EACrBnQ,oBAAqB,EACrBoQ,YAAa,EACbhM,cAAe,EACfC,oBAAqB,EACrBE,gBAAiB,EACjBE,sBAAuB,EACvBE,gBAAiB,EACjBb,aAAc,EACdG,YAAa,EACbtE,YAAa,EACbyB,YAAa,EACbkF,aAAc,EACd1F,YAAa,EACbkB,aAAc,EACdc,gBAAiB,EACjByN,oBAAqB,EACrBlL,MAAO,EACPmL,gBAAiB,EACjBpJ,QAAS,EACTqJ,oBAAqB,EACrBC,aAAc,EACdrkB,MAAO,EACPskB,aAAc,EACdC,eAAgB,EAChBC,QAAS,EACTC,cAAe,UACfC,QAAS,EACTC,SAAU,IACVC,WAAY,6DACZC,oBAAqB,EACrBC,aAAc,EACdC,mBAAoB,UACpBC,aAAc,EACdC,cAAe,IACfC,gBACE,gEACFC,gBAAiB,EACjBC,SAAU,EACVC,eAAgB,UAChBC,SAAU,EACVC,UAAW,IACXC,YACE,oEACFC,UAAW,EACXC,gBAAiB,UACjBC,UAAW,EACXC,WAAY,IACZC,aAAc,+DACdC,kBAAmB,EACnBC,WAAY,EACZC,iBAAkB,UAClBC,WAAY,EACZC,YAAa,IACbC,cACE,gEACFC,qBAAsB,EACtBC,cAAe,EACfC,oBAAqB,UACrBC,cAAe,EACfC,eAAgB,IAChBC,iBACE,6DACFC,wBAAyB,EACzBC,iBAAkB,EAClBC,uBAAwB,UACxBC,iBAAkB,EAClBC,kBAAmB,IACnBC,oBACE,8DACFC,aAAc,EACd/mB,kBAAmB,EACnBgnB,OAAQ,CACNC,UAAW,EACXC,YAAa,EACbC,SAAU,EACVC,QAAS,EACTC,YAAa,EACbC,QAAS,EACTC,WAAY,EACZC,aAAc,EACdC,oBAAqB,EACrBC,eAAgB,EAChBC,eAAgB,EAChBC,gBAAiB,EACjBC,iBAAkB,EAClBC,iBAAkB,EAClBC,kBAAmB,EACnBC,qBAAsB,EACtBC,cAAe,EACfC,MAAO,EACPC,MAAO,EACPC,OAAQ,EACRC,OAAQ,EACRC,SAAU,EACVC,MAAO,EACPC,IAAK,EACLC,KAAM,EACNC,QAAS,IAoCsBC,GAvBnC,SAAsCC,GACpC,GAAoB,IAAhBA,EAAmB,CAErB,MAAMC,EAA2B,WAC/B,IACErB,aAAasB,oBAAoBC,OACjC,MAAO3xC,GACP,OAAO,EAET,OAAO,GAIH,iBAAkB1C,OAEbm0C,IACTrB,aAAasB,oBAAoBC,OAEjCvB,aAAasB,oBAJbhyC,QAAQsqB,IAAI,kDAoBlB,SAAS4nB,KACkB,IAArBrtB,EAAU+S,QACZrnB,EAAE,YAAYnJ,MAAMqV,QAAU,GAC9Bkb,MAEApnB,EAAE,YAAYnJ,MAAMqV,QAAU,OAEhC6b,KAwGF,SAAS6Z,KACPC,cACAptB,KAAKqtB,eACLrtB,KAAKstB,kBAEL3a,KACAzD,KACAU,KAuBF,SAAS2d,KACmB,IAAtB1tB,EAAUmoB,SAAiBhnB,EAAwB,EACjDkK,GAA0BsiB,MAC5BjiC,EAAE,aAAakiC,KACb,mEAEFliC,EAAE,aAAakiC,KACb,oEAEJliC,EAAE,aAAakiC,KACb,uDAQN,MAAMC,GACJtO,YAAY5kC,EAAMmzC,GAChB90C,KAAK2B,KAAOA,EACZ3B,KAAK80C,MAAQA,GAKjB,MAAMC,WAAwBF,GAC5BtO,YAAY5kC,EAAMmzC,EAAOE,EAAOC,EAAMC,EAAQ7uC,EAAO,MACnD8uC,MAAMxzC,EAAMmzC,GACZ90C,KAAKg1C,MAAQA,EACbh1C,KAAKi1C,KAAOA,EACZj1C,KAAKk1C,OAASA,EACV7uC,IACFrG,KAAKqG,KAAOA,IAKlB,MAAM+uC,WAAuBP,GAC3BtO,YAAY5kC,EAAMmzC,EAAOG,GACvBE,MAAMxzC,EAAMmzC,GACZ90C,KAAKi1C,KAAOA,GAKhB,MAAMI,WAAsBR,GAC1BtO,YAAY5kC,EAAMmzC,EAAOE,EAAOC,GAC9BE,MAAMxzC,EAAMmzC,GACZ90C,KAAKg1C,MAAQA,EACbh1C,KAAKi1C,KAAOA,EACZ,IAAK,IAAI3zC,EAAI,EAAGA,EAAI,IAAKA,IACvBtB,KAAKg1C,MAAM1zC,GAAK,GAAGA,MAMzB,MAAMg0C,WAA2BT,GAC/BtO,YAAY5kC,EAAMmzC,EAAOE,EAAOC,EAAMznC,EAAKE,GACzCynC,MAAMxzC,EAAMmzC,GACZ90C,KAAKg1C,MAAQA,EACbh1C,KAAKi1C,KAAOA,EACZj1C,KAAKwN,IAAMA,EACXxN,KAAK0N,IAAMA,GAyBf,MA4yBmC6nC,GA5yBpB,CAEbld,QAAS,IAAI0c,GACX,OACA,cACA,CAAC,6BAA8B,8BAC/B,kFACA,GAEFpN,WAAY,IAAIoN,GACd,OACA,cACA,CACE,0BACA,0BACA,0BACA,yBACA,yBACA,0BACA,0BACA,2BAEF,4DACA,GAEFhN,cAAe,IAAIgN,GACjB,OACA,cACA,CACE,4BACA,4BACA,6BACA,6BACA,8BAEF,uDACA,GAEFzc,UAAW,IAAIyc,GACb,OACA,cACA,CACE,+BACA,8BACA,6CAEF,qGACA,GACA,WACE/lB,IAAY,KAKhBnD,MAAO,IAAIkpB,GACT,OACA,WACA,CACE,uBACA,SACA,cACA,4BACA,sBACA,wBAEF,yCACA,GACA,WACET,QAGJ3oB,cAAe,IAAIopB,GACjB,OACA,WACA,CAAC,aAAc,aAAc,cAC7B,oIACA,GACA,WACET,QAGJnoB,eAAgB,IAAI4oB,GAClB,OACA,WACA,CAAC,4BAA6B,mBAC9B,qDACA,GACA,WACET,QAGJpoB,YAAa,IAAIopB,GACf,WACA,WACA,2BACA,8KACA,EACA,WAEFxoB,WAAY,IAAIioB,GACd,OACA,WACA,CAAC,0BAA2B,uBAC5B,0BACA,GAEFjG,aAAc,IAAIiG,GAChB,OACA,WACA,CAAC,oBAAqB,oBACtB,mEACA,GACA,WAlU6B,IAA3B/tB,EAAU8nB,aAAoB3nB,KAAKmd,QAAU1a,EAC5CzC,KAAKmd,QAAU1b,EAAgB0b,WAqUpCpK,cAAe,IAAI6a,GACjB,OACA,WACA,CAAC,yBAA0B,mBAC3B,sKACA,GAIFxe,YAAa,IAAIwe,GACf,OACA,UACA,CAAC,uBAAwB,uBACzB,yBACA,GACA,WACE1e,QAGJ6R,sBAAuB,IAAI6M,GACzB,OACA,UACA,CAAC,2BAA4B,sBAC7B,0KACA,GAEFzM,aAAc,IAAIyM,GAChB,OACA,UACA,CACE,mBACA,kBACA,0BACA,gCAEF,sGACA,GAEF3M,cAAe,IAAI2M,GACjB,OACA,UACA,CAAC,mBAAoB,mBACrB,sJACA,GAEF9M,oBAAqB,IAAIqN,GACvB,WACA,UACA,oCACA,wMACA,EACA1pB,KAEF7C,WAAY,IAAIqsB,GACd,SACA,UACA,6HAEFpsB,YAAa,IAAIosB,GACf,SACA,UACA,yGAEFnsB,aAAc,IAAImsB,GAChB,SACA,UACA,qHAEFlsB,aAAc,IAAIksB,GAChB,SACA,UACA,4HAEFjsB,UAAW,IAAIisB,GACb,SACA,UACA,gHAEFhsB,aAAc,IAAIgsB,GAChB,SACA,UACA,8HAEF/rB,WAAY,IAAI+rB,GACd,SACA,UACA,w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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file diff --git a/src/Cache/Stats/MissingUpgrades.js b/src/Cache/Stats/MissingUpgrades.js index 6cf42359..73975b88 100644 --- a/src/Cache/Stats/MissingUpgrades.js +++ b/src/Cache/Stats/MissingUpgrades.js @@ -1,5 +1,5 @@ /* eslint-disable no-unused-vars */ -import { crateMissing } from '../../Disp/MenuSections/CreateMissingUpgrades'; +import { crateMissing } from '../../Disp/MenuSections/Statistics/CreateMissingUpgrades'; import { CacheMissingUpgrades, CacheMissingUpgradesCookies, diff --git a/src/Disp/MenuSections/AddMenus.js b/src/Disp/MenuSections/AddMenus.js index 90a5e800..dad9e4ae 100644 --- a/src/Disp/MenuSections/AddMenus.js +++ b/src/Disp/MenuSections/AddMenus.js @@ -1,6 +1,6 @@ import { CMOptions } from '../../Config/VariablesAndData'; -import AddMenuStats from './AddStatsPage'; -import AddMenuInfo from './InfoPage'; +import AddMenuStats from './Statistics/AddStatsPage'; +import AddMenuInfo from './Info/InfoPage'; import AddMenuPref from './Settings/SettingsPage'; /** diff --git a/src/Disp/MenuSections/InfoPage.js b/src/Disp/MenuSections/Info/InfoPage.js similarity index 86% rename from src/Disp/MenuSections/InfoPage.js rename to src/Disp/MenuSections/Info/InfoPage.js index 3c1cd3b3..44f3e255 100644 --- a/src/Disp/MenuSections/InfoPage.js +++ b/src/Disp/MenuSections/Info/InfoPage.js @@ -1,8 +1,8 @@ /** Functions related to the Stats page */ -import { ToggleHeader } from '../../Config/ToggleSetting'; -import { CMOptions } from '../../Config/VariablesAndData'; -import { LatestReleaseNotes, ModDescription } from '../../Data/Moddata'; +import { ToggleHeader } from '../../../Config/ToggleSetting'; +import { CMOptions } from '../../../Config/VariablesAndData'; +import { LatestReleaseNotes, ModDescription } from '../../../Data/Moddata'; /** * This function adds stats created by CookieMonster to the stats page diff --git a/src/Disp/MenuSections/Prompt.js b/src/Disp/MenuSections/Prompt.js index 0c18a29f..b4819904 100644 --- a/src/Disp/MenuSections/Prompt.js +++ b/src/Disp/MenuSections/Prompt.js @@ -1,4 +1,3 @@ -/* eslint-disable no-return-assign */ /** Creates a Prompt similar to the base game without some of the stuff breaking them */ export default function CookieMonsterPrompt(content, options) { Game.promptWrapL.className = 'framed'; diff --git a/src/Disp/MenuSections/AddStatsPage.js b/src/Disp/MenuSections/Statistics/AddStatsPage.js similarity index 92% rename from src/Disp/MenuSections/AddStatsPage.js rename to src/Disp/MenuSections/Statistics/AddStatsPage.js index ddede578..8fc65fa6 100644 --- a/src/Disp/MenuSections/AddStatsPage.js +++ b/src/Disp/MenuSections/Statistics/AddStatsPage.js @@ -3,19 +3,19 @@ import { AddMissingUpgrades } from './CreateMissingUpgrades'; import * as CreateSections from './CreateStatsSections'; import * as CreateElements from './CreateDOMElements'; -import * as GameData from '../../Data/Gamedata'; -import { CMOptions } from '../../Config/VariablesAndData'; +import * as GameData from '../../../Data/Gamedata'; +import { CMOptions } from '../../../Config/VariablesAndData'; import { CacheAverageClicks, CacheWrinklersFattest, CacheWrinklersNormal, CacheWrinklersTotal, -} from '../../Cache/VariablesAndData'; -import PopAllNormalWrinklers from '../HelperFunctions/PopWrinklers'; -import { ClickTimes, CookieTimes } from '../VariablesAndData'; -import GetCPS from '../HelperFunctions/GetCPS'; -import { Beautify } from '../BeautifyAndFormatting/BeautifyFormatting'; +} from '../../../Cache/VariablesAndData'; +import PopAllNormalWrinklers from '../../HelperFunctions/PopWrinklers'; +import { ClickTimes, CookieTimes } from '../../VariablesAndData'; +import GetCPS from '../../HelperFunctions/GetCPS'; +import { Beautify } from '../../BeautifyAndFormatting/BeautifyFormatting'; /** * This function adds stats created by CookieMonster to the stats page diff --git a/src/Disp/MenuSections/CreateDOMElements.js b/src/Disp/MenuSections/Statistics/CreateDOMElements.js similarity index 96% rename from src/Disp/MenuSections/CreateDOMElements.js rename to src/Disp/MenuSections/Statistics/CreateDOMElements.js index bafd0da9..ae367212 100644 --- a/src/Disp/MenuSections/CreateDOMElements.js +++ b/src/Disp/MenuSections/Statistics/CreateDOMElements.js @@ -1,8 +1,8 @@ /** Section: Functions related to the creation of basic DOM elements page */ -import { ToggleHeader } from '../../Config/ToggleSetting'; -import { CMOptions } from '../../Config/VariablesAndData'; -import { SimpleTooltipElements } from '../VariablesAndData'; +import { ToggleHeader } from '../../../Config/ToggleSetting'; +import { CMOptions } from '../../../Config/VariablesAndData'; +import { SimpleTooltipElements } from '../../VariablesAndData'; /** * This function creates a header-object for the stats page diff --git a/src/Disp/MenuSections/CreateMissingUpgrades.js b/src/Disp/MenuSections/Statistics/CreateMissingUpgrades.js similarity index 99% rename from src/Disp/MenuSections/CreateMissingUpgrades.js rename to src/Disp/MenuSections/Statistics/CreateMissingUpgrades.js index ad8785c6..86e32bdd 100644 --- a/src/Disp/MenuSections/CreateMissingUpgrades.js +++ b/src/Disp/MenuSections/Statistics/CreateMissingUpgrades.js @@ -4,7 +4,7 @@ import { CacheMissingUpgrades, CacheMissingUpgradesCookies, CacheMissingUpgradesPrestige, -} from '../../Cache/VariablesAndData'; +} from '../../../Cache/VariablesAndData'; /** * This function creates the missing upgrades sections for prestige, normal and cookie upgrades diff --git a/src/Disp/MenuSections/CreateStatsSections.js b/src/Disp/MenuSections/Statistics/CreateStatsSections.js similarity index 98% rename from src/Disp/MenuSections/CreateStatsSections.js rename to src/Disp/MenuSections/Statistics/CreateStatsSections.js index 8868db8c..273d9c15 100644 --- a/src/Disp/MenuSections/CreateStatsSections.js +++ b/src/Disp/MenuSections/Statistics/CreateStatsSections.js @@ -1,7 +1,7 @@ /** Functions to create the individual sections of the Statistics page */ -import * as GameData from '../../Data/Gamedata'; -import { MaxChainCookieReward } from '../../Cache/Stats/ChainCookies'; +import * as GameData from '../../../Data/Gamedata'; +import { MaxChainCookieReward } from '../../../Cache/Stats/ChainCookies'; import { CacheAvgCPSWithChoEgg, CacheCentEgg, @@ -35,17 +35,17 @@ import { CacheSeaSpec, CacheWrathCookiesMult, CacheWrinklersTotal, -} from '../../Cache/VariablesAndData'; -import { CMOptions } from '../../Config/VariablesAndData'; -import ResetBonus from '../../Sim/SimulationEvents/ResetAscension'; +} from '../../../Cache/VariablesAndData'; +import { CMOptions } from '../../../Config/VariablesAndData'; +import ResetBonus from '../../../Sim/SimulationEvents/ResetAscension'; import { Beautify, FormatTime, -} from '../BeautifyAndFormatting/BeautifyFormatting'; +} from '../../BeautifyAndFormatting/BeautifyFormatting'; -import GetCPS from '../HelperFunctions/GetCPS'; -import GetWrinkConfigBank from '../HelperFunctions/GetWrinkConfigBank'; -import { ColourGreen, ColourRed, ColourTextPre } from '../VariablesAndData'; +import GetCPS from '../../HelperFunctions/GetCPS'; +import GetWrinkConfigBank from '../../HelperFunctions/GetWrinkConfigBank'; +import { ColourGreen, ColourRed, ColourTextPre } from '../../VariablesAndData'; import { StatsListing, StatsHeader, StatsMissDisp } from './CreateDOMElements'; /** From e1c6f6072623ba387ace4fbb74c4a8be2343199f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Sat, 3 Apr 2021 16:00:00 +0200 Subject: [PATCH 17/30] Show cookies from clicking in stats #698 --- CookieMonster.js | 2 +- dist/CookieMonster.js | 2 +- dist/CookieMonster.js.map | 2 +- src/Cache/CPS/AverageQueue.js | 8 ++++++++ src/Cache/CacheInit.js | 9 ++++++++- src/Cache/VariablesAndData.js | 1 + .../SaveLoadReload/SaveLoadReloadSettings.js | 4 ++-- src/Disp/MenuSections/Statistics/AddStatsPage.js | 16 ++++++++++++++++ src/InitSaveLoad/init.js | 6 ++++-- src/Main/ClickHook.js | 6 ++++++ src/Main/{Loop.js => LoopHook.js} | 2 +- 11 files changed, 49 insertions(+), 9 deletions(-) create mode 100644 src/Main/ClickHook.js rename src/Main/{Loop.js => LoopHook.js} (98%) diff --git a/CookieMonster.js b/CookieMonster.js index ef2ced0b..9f179292 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=1,ct=1,dt=1,pt=0,ut=0,mt=0,ht=0,gt={},ft={},Ct={},yt=0,bt=0,kt=[0,null],Gt=0,wt=0,vt={},xt={},Tt={},Mt={},St={},Pt=0,Bt=0,Et=[],Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,Rt=0,$t={},It={},zt=0,Vt=0,_t=[],Xt={},Qt=0,qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Yt=[],Kt=[],Jt=[];function Zt(e){let t=0;return Game.dragonAuras[De].name!==e&&Game.dragonAuras[He].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[De].name&&"Reality Bending"!==Game.dragonAuras[He].name||(t+=.1),t}function eo(){let e=.25;return e*=1+Zt("Earth Shatterer"),e}function to(e,t){return void 0===ze[e]?void 0===t?1:t:ze[e]}function oo(e){const t=Kt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function no(e){if(Game.hasGod){void 0===Yt.Temple.minigame&&(Yt.Temple.minigame=Game.Objects.Temple.minigame);const t=Yt.Temple.minigame.gods[e];if(Ue===t.id)return 1;if(Re===t.id)return 2;if($e===t.id)return 3}return!1}function io(e,t){let o=t;if(oo("Season savings")&&(o*=.99),oo("Santa's dominion")&&(o*=.99),oo("Faberge egg")&&(o*=.99),oo("Divine discount")&&(o*=.99),oo("Fortune #100")&&(o*=.99),o*=1-.02*Zt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&oo(e.fortune.name)&&(o*=.93),o*=to("buildingCost"),Yt.Temple.minigameLoaded){const e=no("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ao(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ro(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=gt:10===t?t=ft:100===t&&(t=Ct),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(gt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ao(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(gt).map((e=>{const t=gt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=gt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=gt),10===i&&(i=ft),100===i&&(i=Ct),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+co()))/so());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&oo(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(oo(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&oo(e.fortune.name)&&(t*=1.07),e.grandma&&oo(e.grandma.name)&&(t*=1+.01*Yt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&oo(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function ko(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;oo("Thousand fingers")&&(t+=.1),oo("Million fingers")&&(t*=5),oo("Billion fingers")&&(t*=10),oo("Trillion fingers")&&(t*=20),oo("Quadrillion fingers")&&(t*=20),oo("Quintillion fingers")&&(t*=20),oo("Sextillion fingers")&&(t*=20),oo("Septillion fingers")&&(t*=20),oo("Octillion fingers")&&(t*=20),oo("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Yt).forEach((e=>{"Cursor"!==Yt[e].name&&(n+=Yt[e].amount)})),t*=n,o*=bo(e),o*=Game.magicCpS("Cursor"),o*=to("cursorCps"),Game.ComputeCps(.1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{oo(Game.GrandmaSynergies[e])&&(o*=2)})),oo("Bingo center/Research facility")&&(o*=4),oo("Ritual rolling pins")&&(o*=2),oo("Naughty list")&&(o*=2),oo("Elderwort biscuits")&&(o*=1.02),o*=to("grandmaCps"),oo("Cat ladies"))for(let e=0;e{"Grandma"!==Yt[e].name&&(i+=Yt[e].amount)})),o*=1+.01*Zt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=bo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function Go(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Yt).forEach((t=>{Yt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(oo("Starlove")&&(e=3),Game.hasGod){const t=no("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function wo(){Fe=Game.UpgradesOwned,We=Game.pledges,Le=Game.AchievementsOwned,Ae=Game.heavenlyPower,je=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e],uo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ue=t.minigame.slot[0],Re=t.minigame.slot[1],$e=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Yt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e]),o.bought=t.bought,Kt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Jt[e];void 0===o&&(Jt[e]=yo(e),o=Jt[e]),o.won=t.won,Jt[e]=o})),Co(),De=Xe,He=Qe}function vo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function xo(e){e.appendChild(vo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(vo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(vo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(vo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(vo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function To(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function So(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Po(){if(wo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(xo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=gt:10===Game.buyBulk?t=ft:100===Game.buyBulk&&(t=Ct),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+co()))/so());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(vo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(vo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=po(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,go())}}(),mo(),Po(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Yt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Eo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function No(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Qt;Game.cpsSucked>0&&(o+=yt),Ut=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-ye,i=Math.max(0,Game.cookies-be)/n,a=Math.max(0,yt-ke)/n,r=Math.max(0,kt[0]-Ge)/n,l=Math.max(0,o-ht)/n,s=(Game.cookieClicks-we)/n;for(let e=0;e0&&(n=W),n}function Fo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Oo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+co()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||_t.push([t[n].pp,o])}))}function Lo(){!function(){Vt=1/0,_t=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Wo(gt,1),Wo(ft,10),Wo(Ct,100),_t.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;_t[t][1]>Game.cookies&&(t+=1,_t.length!==t+1););Vt=_t[e.PPExcludeTop][t],Fo(gt,1),Fo(ft,10),Fo(Ct,100)}(),Object.keys(vt).forEach((e=>{Game.cookiesPs?vt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+co()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/vt[e].bonus:vt[e].pp=Game.Upgrades[e].getPrice()/vt[e].bonus,Number.isNaN(vt[e].pp)&&(vt[e].pp=1/0),vt[e].color=Oo(vt[e],Game.Upgrades[e].getPrice())}))}function Ao(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),ze=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(je)*Ae*function(){let e=0;if(oo("Heavenly chip secret")&&(e+=.05),oo("Heavenly cookie stand")&&(e+=.2),oo("Heavenly bakery")&&(e+=.25),oo("Heavenly confectionery")&&(e+=.25),oo("Heavenly key")&&(e+=.25),e*=1+.05*Zt("Dragon God"),oo("Lucky digit")&&(e*=1.01),oo("Lucky number")&&(e*=1.01),oo("Lucky payout")&&(e*=1.01),Game.hasGod){const t=no("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=to("cps"),oo("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];oo(o.name)&&("function"==typeof o.power?e*=1+.01*Kt[o.name].power(Kt[o.name]):e*=1+.01*o.power)})),oo("Specialized chocolate chips")&&(e*=1.01),oo("Designer cocoa beans")&&(e*=1.02),oo("Underworld ovens")&&(e*=1.03),oo("Exotic nuts")&&(e*=1.04),oo("Arcane sugar")&&(e*=1.05),oo("Increased merriness")&&(e*=1.15),oo("Improved jolliness")&&(e*=1.15),oo("A lump of coal")&&(e*=1.01),oo("An itchy sweater")&&(e*=1.01),oo("Santa's dominion")&&(e*=1.2),oo("Fortune #100")&&(e*=1.01),oo("Fortune #101")&&(e*=1.07),oo("Dragon scale")&&(e*=1.03);let o=1;if(no){let t=no("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=no("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=no("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=no("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=no("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}oo("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Le/25;let i=1;if(oo("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Zt("Breath of Milk"),no){const e=no("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=to("milk");let a=1;oo("Kitten helpers")&&(a*=1+.1*n*i),oo("Kitten workers")&&(a*=1+.125*n*i),oo("Kitten engineers")&&(a*=1+.15*n*i),oo("Kitten overseers")&&(a*=1+.175*n*i),oo("Kitten managers")&&(a*=1+.2*n*i),oo("Kitten accountants")&&(a*=1+.2*n*i),oo("Kitten specialists")&&(a*=1+.2*n*i),oo("Kitten experts")&&(a*=1+.2*n*i),oo("Kitten consultants")&&(a*=1+.2*n*i),oo("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),oo("Kitten marketeers")&&(a*=1+.15*n*i),oo("Kitten analysts")&&(a*=1+.125*n*i),oo("Kitten executives")&&(a*=1+.115*n*i),oo("Kitten angels")&&(a*=1+.1*n*i),oo("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Yt).forEach((e=>{const t=Yt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&oo("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Ve+=t.amount*a})),oo('"egg"')&&(Ve+=9),e*=a;let r=1;if(oo("Chicken egg")&&(r*=1.01),oo("Duck egg")&&(r*=1.01),oo("Turkey egg")&&(r*=1.01),oo("Quail egg")&&(r*=1.01),oo("Robin egg")&&(r*=1.01),oo("Ostrich egg")&&(r*=1.01),oo("Cassowary egg")&&(r*=1.01),oo("Salmon roe")&&(r*=1.01),oo("Frogspawn")&&(r*=1.01),oo("Shark egg")&&(r*=1.01),oo("Turtle egg")&&(r*=1.01),oo("Ant larva")&&(r*=1.01),oo("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),ut=1+.1*(1-(1-e/100)**3),r*=ut}e*=r,oo("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Zt("Radiant Appetite");const l=Ve*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&jo(Game.CpsAchievements[e].name)})),_e=l;const{n:s}=Game.shimmerTypes.golden,c=Zt("Dragon's Fortune");for(let t=0;t{oo(e[o])&&(t+=.1)}))}e*=t}if(oo("Shimmering veil [off]")){let t=.5;oo("Reinforced membrane")&&(t+=.1),e*=1+t}oo("Magic shenanigans")&&(e*=1e3),oo("Occult obstruction")&&(e*=0),Ve=Game.runModHookOnValue("cps",Ve),e*=Mo(),Ve*=e}const Ho=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Uo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ro=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],$o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Io=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function zo(e){return Jt[e]?Jt[e].won:0}function Vo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{oo(Game.GrandmaSynergies[t])&&(e+=1)})),!zo("Elder")&&e>=7&&jo("Elder"),!zo("Veteran")&&e>=14&&jo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Yt).forEach((e=>{t+=Yt[e].amount,i=Math.min(Yt[e].amount,i),zo("Mathematician")||Yt[e].amount=1&&jo("One with everything"),1===o&&jo("Mathematician"),1===n&&jo("Base 10"),i>=100&&jo("Centennial"),i>=150&&jo("Centennial and a half"),i>=200&&jo("Bicentennial"),i>=250&&jo("Bicentennial and a half"),i>=300&&jo("Tricentennial"),i>=350&&jo("Tricentennial and a half"),i>=400&&jo("Quadricentennial"),i>=450&&jo("Quadricentennial and a half"),i>=500&&jo("Quincentennial"),i>=550&&jo("Quincentennial and a half"),i>=600&&jo("Sexcentennial"),t>=100&&jo("Builder"),t>=500&&jo("Architect"),t>=1e3&&jo("Engineer"),t>=2e3&&jo("Lord of Constructs"),t>=4e3&&jo("Grand design"),t>=8e3&&jo("Ecumenopolis"),Fe>=20&&jo("Enhancer"),Fe>=50&&jo("Augmenter"),Fe>=100&&jo("Upgrader"),Fe>=200&&jo("Lord of Progress"),Fe>=300&&jo("The full picture"),Fe>=400&&jo("When there's nothing left to add"),t>=4e3&&Fe>=300&&jo("Polymath"),t>=8e3&&Fe>=400&&jo("Renaissance baker"),Yt.Cursor.amount+Yt.Grandma.amount>=777&&jo("The elder scrolls");let a=!0;Object.keys(Uo).forEach((e=>{oo(Uo[e])||(a=!1)})),a&&jo("Spooky cookies");let r=!0;if(Object.keys(Ro).forEach((e=>{oo(Ro[e])||(r=!1)})),r&&jo("Let it snow"),oo("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{oo(e[o].name)&&(t+=1)})),t>=e.length&&jo("O Fortuna")}}function _o(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){wo(),Yt[e].amount+=t;const o=Yt[e];"Cursor"===e?(o.amount>=1&&jo("Click"),o.amount>=2&&jo("Double-click"),o.amount>=50&&jo("Mouse wheel"),o.amount>=100&&jo("Of Mice and Men"),o.amount>=200&&jo("The Digital"),o.amount>=300&&jo("Extreme polydactyly"),o.amount>=400&&jo("Dr. T"),o.amount>=500&&jo("Thumbs, phalanges, metacarpals"),o.amount>=600&&jo("With her finger and her thumb"),o.amount>=700&&jo("Gotta hand it to you"),o.amount>=800&&jo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&jo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Le;return Do(),Vo(),n!==Le&&Do(),Ve-Game.cookiesPs}(o,e),1!==e&&(Ee=1)})),t}function Xo(){Object.keys(Game.Objects).forEach((e=>{gt[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),ft[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),Ct[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Qo(){gt=_o(1),ft=_o(10),Ct=_o(100),vt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){wo(),"Shimmering veil [on]"===Kt[e].name?Kt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Kt[e].name?Kt["Golden switch [off]"].bought=0:Kt[e].bought=(Kt[e].bought+1)%2,Kt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Fe+=1),"Elder Pledge"===e?(We+=1,We>0&&jo("Elder nap"),We>=5&&jo("Elder slumber")):"Elder Covenant"===e?jo("Elder calm"):"Prism heart biscuits"===e?jo("Lovely cookies"):"Heavenly key"===e&&jo("Wholesome");const t=Le;Do(),Vo(),t!==Le&&Do();const o=function(){let e=0;oo("Thousand fingers")&&(e+=.1),oo("Million fingers")&&(e*=5),oo("Billion fingers")&&(e*=10),oo("Trillion fingers")&&(e*=20),oo("Quadrillion fingers")&&(e*=20),oo("Quintillion fingers")&&(e*=20),oo("Sextillion fingers")&&(e*=20),oo("Septillion fingers")&&(e*=20),oo("Octillion fingers")&&(e*=20),oo("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Yt).forEach((e=>{t+=Yt[e].amount})),t-=Yt.Cursor.amount,e*=t,oo("Plastic mouse")&&(e+=.01*Ve),oo("Iron mouse")&&(e+=.01*Ve),oo("Titanium mouse")&&(e+=.01*Ve),oo("Adamantium mouse")&&(e+=.01*Ve),oo("Unobtainium mouse")&&(e+=.01*Ve),oo("Eludium mouse")&&(e+=.01*Ve),oo("Wishalloy mouse")&&(e+=.01*Ve),oo("Fantasteel mouse")&&(e+=.01*Ve),oo("Nevercrack mouse")&&(e+=.01*Ve),oo("Armythril mouse")&&(e+=.01*Ve),oo("Technobsidian mouse")&&(e+=.01*Ve),oo("Plasmarble mouse")&&(e+=.01*Ve),oo("Miraculite mouse")&&(e+=.01*Ve),oo("Fortune #104")&&(e+=.01*Ve);let o=1;if(oo("Santa's helpers")&&(o*=1.1),oo("Cookie egg")&&(o*=1.1),oo("Halo gloves")&&(o*=1.1),oo("Dragon claw")&&(o*=1.03),oo("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,oo("Luminous gloves")?20:10)),o*=to("click"),Yt.Temple.minigameLoaded&&no){const e=no("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Zt("Dragon Cursor");let n=o*Game.ComputeCps(1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Ve-Game.cookiesPs,o]:[Ve-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(vt[t]={bonus:Game.cookiesPs-ve},1===e.CalcWrink?vt[t].bonus-=xe:2===e.CalcWrink&&(vt[t].bonus-=Te),Number.isFinite(vt[t].bonus)||(vt[t].bonus=0)):(vt[t]={},o[0]&&(vt[t].bonus=o[0]),o[1]&&(vt[t].bonusMouse=o[1]))}))}function qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Et=qo(7,e,ct),Pt=2*Et[1]/ct,Bt=Et[2]/60/60/6/st,Ft=qo(6,e,dt),Nt=2*Ft[1]/dt,Ot=Ft[2]/60/60/6/st,At=qo(7,7*e,ct),Wt=2*At[1]/ct,Lt=At[2]/60/60/6/st,Ht=qo(6,7*e,dt),jt=2*Ht[1]/dt,Dt=Ht[2]/60/60/6/st}function Ko(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Pe,i=Math.max(0,o-Be)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Mt+=e:"cookie"===o.pool?St+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Tt+=e)}}))}function Zo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),mt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(mt*=2)}}function en(){Ke=900*lt/.15,Ke*=st;const e=Mo();e>0?Ke/=e:Ke=0,Je=ct*(.15*Ke)+13,Ze=dt*(.15*Ke)+13,et=7*Ke,tt=ct*(.15*et)+13,ot=dt*(.15*et)+13,nt=2*Ke,it=.15*nt,at=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountat&&(at=2*Game.Objects[e].price,rt=e)}))}function tn(){let e=1,t=1,o=1;oo("Green yeast digestives")&&(o*=1.01),oo("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ct=o*e,dt=o*t,st=1,0===Game.shimmerTypes.golden.n&&(st*=1+1.23*Game.auraMult("Dragon's Fortune"))}function on(){yt=0,bt=0,kt=[0,null];for(let e=0;ekt[0]&&(kt=[t,e]))}}function nn(){Co(),on(),en(),tn(),Yo(),Jo(),Zo(),ue=new Eo(Y[Y.length-1]),me=new Eo(Y[Y.length-1]),he=new Eo(Y[Y.length-1]),ge=new Eo(Y[Y.length-1]),fe=new Eo(K[K.length-1]),Ce=new Eo(5),Ko(),No(),Qo(),Xo(),Lo()}const an={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},rn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function ln(){1===e.BotBar?(l("CMBotBar").style.display="",mo()):l("CMBotBar").style.display="none",go()}function sn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),mo(),ro(),lo()}function cn(){1===e.Favicon&&y>0?$t.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class dn{constructor(e,t){this.type=e,this.group=t}}class pn extends dn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class un extends dn{constructor(e,t,o){super(e,t),this.desc=o}}class mn extends dn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class hn extends dn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const gn={CPSMode:new pn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new pn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new pn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new pn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){Ie=!0})),Scale:new pn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){sn()})),ScaleDecimals:new pn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){sn()})),ScaleSeparator:new pn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){sn()})),ScaleCutoff:new hn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new pn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new pn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new pn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new pn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ro()})),PPOnlyConsiderBuyable:new pn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new pn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new pn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new hn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new un("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new un("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new un("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new un("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new un("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new un("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new un("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new un("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new un("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new pn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){ln()})),TimerBar:new pn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){fo()})),TimerBarPos:new pn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),go()})),TimerBarOverlay:new pn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new pn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",lo()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",lo()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new pn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new pn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ro()})),SortUpgrades:new pn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){lo()})),DragonAuraInfo:new pn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new pn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new pn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Xt[e].l.style.left,re[e].style.top=Xt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new pn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){cn()})),WrinklerButtons:new pn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new pn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new pn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new pn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new pn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new pn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new pn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new pn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new pn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new hn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new pn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new pn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){So()})),TooltipGrim:new pn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new pn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new pn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new pn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new pn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new pn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new pn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new pn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new pn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new hn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new pn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new pn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new pn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new pn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){rn(e.GCNotification)})),GCFlash:new pn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new un("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new pn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new mn("vol","NotificationGC",[],"Volume"),GCSoundURL:new pn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new pn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){rn(e.FortuneNotification)})),FortuneFlash:new pn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new un("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new pn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new mn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new pn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new pn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){rn(e.SeaNotification)})),SeaFlash:new pn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new un("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new pn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new mn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new pn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new pn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new un("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new pn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new mn("vol","NotificationGard",[],"Volume"),GardSoundURL:new pn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new pn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){rn(e.MagicNotification)})),MagicFlash:new pn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new un("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new pn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new mn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new pn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new pn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){rn(e.WrinklerNotification)})),WrinklerFlash:new pn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new un("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new pn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new mn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new pn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new pn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){rn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new pn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new un("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new pn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new mn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new pn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new pn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new pn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function fn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function Cn(){if(qe!==Game.dragonLevel||Ie){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Upgrades).forEach((e=>{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Achievements).forEach((e=>{Jt[e]=yo(e)})),wo()}let kn=!1;function Gn(t,o,n){(1===e[o]||n)&&3===t&&!1===kn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Gn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Gn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Gn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function wn(t,o,n,i){if((1===e[o]||i)&&!1===kn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function vn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===kn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function xn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(ln(),fo()),ho()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(bn(),nn(),r=Object.keys(Game.mods).length),Ie&&(Qo(),Game.Has("Golden switch [off]")?(wo(),Kt["Golden switch [off]"].bought=0,Do(),lt=Ve):lt=Game.cookiesPs,tn(),en(),Jo(),Yo(),Cn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)qt[e][t]=yn(e,t)}(),Zo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;wo();let t=2;5!==De&&18!==De||(t-=1),5!==He&&18!==He||(t-=1),De=5,He=18;for(let e=0;e{Yt[t].amount>0&&(e=t)})),Yt[e].amount-=1,Oe-=1}return Object.keys(Yt).forEach((t=>{const o=Yt[t];e+=ao(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Qt=e}(),Ie=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ne&&t?(Ne=!0,Ee=1):Ne&&!t&&(Ne=!1,Ee=1),Ee&&(Xo(),Ee=0),function(){on(),Lo(),function(){Gt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Yt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}wt=e,Gt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),No(),Ko();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);zt=de(e/so())}(),G=0,Xt={},Object.keys(Game.shimmers).forEach((e=>{Xt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&($t=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Xt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),cn(),b=G,0===G&&($t=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Xt[e].l.style.opacity,re[e].style.transform=Xt[e].l.style.transform,re[e].textContent=Math.ceil(Xt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Gn(3,"FortuneFlash",!1),wn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),vn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(It=Game.shimmers[e])})),Gn(3,"SeaFlash",!1),wn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),vn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Gn(3,"WrinklerMaxFlash",!1):Gn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?wn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):wn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?vn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):vn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function Tn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=an[t]):"Header"===t&&Object.keys(an.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=an[t][n])}))})),o&&Mn(),xn(),Object.keys(an).forEach((e=>{"Header"!==e&&void 0!==gn[e].func&&gn[e].func()}))}else Sn(an);Game.UpdateMenu(),Tn()}function Pn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Bn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Ao(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Po(),l("tooltip").innerHTML}function En(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Nn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Mn()}function Dn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){jn(o),Game.UpdateMenu()},n.appendChild(i),n}function Hn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Un(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Rn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Dn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+co(){Game.HasUnlocked(Io[e])||c.push(Io[e])})),0!==c.length&&e.appendChild(Hn("basic","Rare plant drops left to unlock",Un(c))),e}())),o.appendChild(Dn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ut+Game.cookiesReset+yt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?ht:0)));t.appendChild(Hn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ut+Game.cookiesReset+yt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&ht?ht:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/Rt,1)})`,i.appendChild(a),t.appendChild(Hn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Hn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Hn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(ce(pt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Hn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(ce(e)))),t.appendChild(Hn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(de(e/pt)))))}const l=function(e){let t=Game.cookiesPs;wo(),0===Kt["Heavenly key"].bought&&(Kt["Heavenly chip secret"].bought=1,Kt["Heavenly cookie stand"].bought=1,Kt["Heavenly bakery"].bought=1,Kt["Heavenly confectionery"].bought=1,Kt["Heavenly key"].bought=1,Do(),t=Ve,wo()),Ut>=1e6&&jo("Sacrifice"),Ut>=1e9&&jo("Oblivion"),Ut>=1e12&&jo("From scratch"),Ut>=1e15&&jo("Nihilism"),Ut>=1e18&&jo("Dematerialize"),Ut>=1e21&&jo("Nil zero zilch"),Ut>=1e24&&jo("Transcendence"),Ut>=1e27&&jo("Obliterate"),Ut>=1e30&&jo("Negative void"),Ut>=1e33&&jo("To crumbs, you say?"),Ut>=1e36&&jo("You get nothing"),Ut>=1e39&&jo("Humble rebeginnings"),Ut>=1e42&&jo("The end of the world"),Ut>=1e45&&jo("Oh, you're back"),Ut>=1e48&&jo("Lazarus"),Ut>=1e51&&jo("Smurf account"),Ut>=1e54&&jo("If at first you don't succeed"),Kt["Heavenly chip secret"].bought=1,Kt["Heavenly cookie stand"].bought=1,Kt["Heavenly bakery"].bought=1,Kt["Heavenly confectionery"].bought=1,Kt["Heavenly key"].bought=1,je=e;const o=Le;Do(),Vo(),o!==Le&&Do();const n=Ve-t;return je=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Hn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Dn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(yt)} / ${ce(bt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Pn()},e.appendChild(t),o.appendChild(Hn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(kt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==kt[1]&&(Game.wrinklers[kt[1]].hp=0)},n.appendChild(i),o.appendChild(Hn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==kt[1]?kt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(n.push(Uo[e]),o=!0)}));const i=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(i.push(Ro[e]),o=!0)}));const a=[];Object.keys($o).forEach((e=>{Game.Has($o[e])||(a.push($o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Dn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Hn("basic","Halloween cookies left to buy",Un(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Hn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Hn("basic","Christmas cookies left to buy",Un(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Hn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Hn("basic","Valentine cookies left to buy",Un(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Hn("basic","Normal easter eggs left to unlock",Un(r))),t.appendChild(Hn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Hn("basic","Rare easter eggs left to unlock",Un(l))),t.appendChild(Hn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Hn("basic","Reindeer reward",document.createTextNode(ce(mt)))),s&&t.appendChild(Hn("withTooltip","Chocolate egg cookies",document.createTextNode(ce(ht)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Hn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(ut-1))/100+"%")))}return t}()),o.appendChild(Dn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Hn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(so(),3)))),o.appendChild(Hn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(xt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Ho).forEach((t=>{Game.Has(Ho[t])||e.push(Ho[t])})),0!==e.length&&o.appendChild(Hn("basic","Fortune Upgrades Left to Buy",Un(e)))}if(e.ShowMissedGC&&o.appendChild(Hn("basic","Missed Golden Cookies",document.createTextNode(ce(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Hn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.appendChild(i)}}}))}const $n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},In={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function zn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){jn(t),Game.UpdateMenu()},n.appendChild(i),n}function Vn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return se.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(e),Mn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(R.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===gn[t].type){const n=document.createElement("a");gn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Ln+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===gn[t].label.length?(e[t]=0,gn[t].toggle&&(l(Ln+t).className="option off")):l(Ln+t).className="option",void 0!==gn[t].func&&gn[t].func(),l(Ln+t).innerHTML=gn[t].label[e[t]],Mn()}(t)},n.textContent=gn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=gn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===gn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=gn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){An(t)},r.onchange=function(){An(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){wn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Ln+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Ln+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Mn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=gn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===gn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Fn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Tn(),Mn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=gn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Gn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Wn().init(),o}if("numscale"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Ln+t,i.className="option",i.type="number",i.value=e[t],i.min=gn[t].min,i.max=gn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Mn(),sn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=gn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function _n(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Xn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),Ie=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){_n(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){_n(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){_n(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Yt[Game.ObjectsById[e].name].name;Yt[o].amount-=1,Oe-=1,t=Yt[o].basePrice*Game.priceIncrease**Math.max(0,Yt[o].amount-1-Yt[o].free),t=Game.modifyBuildingPrice(Yt[o],t),t=Math.ceil(t);break}const o=Le;return Do(),Vo(),o!==Le&&Do(),[Ve-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${ce(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ye}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Wn().picker&&void 0!==Wn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys($n).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(zn(t,$n[t])),e.Header[t]))for(let e=0;e{const n=zn(t,In[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(Vn(e))}))})):Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(Vn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Sn(an)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Rn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){jn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=$t?$t.wrath?`[W${Math.ceil($t.life/Game.fps)}]`:`[G${Math.ceil($t.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(It.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;$t&&(t=!0,$t.wrath?e+=`[W${Math.ceil($t.life/Game.fps)}]`:e+=`[G${Math.ceil($t.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(It.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Be<1?"Ascending now would grant you no prestige.":Be<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Be)} prestige levels (+${ce(Be)}% CpS)
and ${ce(Be)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${zt} to reach the next level and you are making ${ce(pt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Qn(){bn(),en(),nn(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{uo(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=po("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=po("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Pn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==kt[1]&&(Game.wrinklers[kt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),En(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),On()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},Xn(),On(),Game.CalculateGains(),Sn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const qn={init:function(){kn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Qn(),Game.registerHook("draw",Bo),Game.registerHook("logic",xn),kn=!1)},load:function(e){const t=JSON.parse(e);bn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Sn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:fn};Game.registerMod("CookieMonster",qn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e,Xe,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=1,dt=1,pt=1,ut=0,mt=0,ht=0,gt=0,ft={},Ct={},yt={},bt=0,kt=0,Gt=[0,null],wt=0,vt=0,xt={},Tt={},Mt={},St={},Pt={},Bt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Dt=0,Ht=0,Ut=[],Rt=0,$t=0,It={},zt={},Vt=0,_t=0,Xt=[],Qt={},qt=0,Yt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Kt=[],Jt=[],Zt=[];function eo(e){let t=0;return Game.dragonAuras[He].name!==e&&Game.dragonAuras[Ue].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[He].name&&"Reality Bending"!==Game.dragonAuras[Ue].name||(t+=.1),t}function to(){let e=.25;return e*=1+eo("Earth Shatterer"),e}function oo(e,t){return void 0===Ve[e]?void 0===t?1:t:Ve[e]}function no(e){const t=Jt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function io(e){if(Game.hasGod){void 0===Kt.Temple.minigame&&(Kt.Temple.minigame=Game.Objects.Temple.minigame);const t=Kt.Temple.minigame.gods[e];if(Re===t.id)return 1;if($e===t.id)return 2;if(Ie===t.id)return 3}return!1}function ao(e,t){let o=t;if(no("Season savings")&&(o*=.99),no("Santa's dominion")&&(o*=.99),no("Faberge egg")&&(o*=.99),no("Divine discount")&&(o*=.99),no("Fortune #100")&&(o*=.99),o*=1-.02*eo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&no(e.fortune.name)&&(o*=.93),o*=oo("buildingCost"),Kt.Temple.minigameLoaded){const e=io("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ro(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function lo(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ft:10===t?t=Ct:100===t&&(t=yt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ft).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ro(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ft).map((e=>{const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ft),10===i&&(i=Ct),100===i&&(i=yt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+po()))/co());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&no(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(no(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&no(e.fortune.name)&&(t*=1.07),e.grandma&&no(e.grandma.name)&&(t*=1+.01*Kt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&no(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function Go(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;no("Thousand fingers")&&(t+=.1),no("Million fingers")&&(t*=5),no("Billion fingers")&&(t*=10),no("Trillion fingers")&&(t*=20),no("Quadrillion fingers")&&(t*=20),no("Quintillion fingers")&&(t*=20),no("Sextillion fingers")&&(t*=20),no("Septillion fingers")&&(t*=20),no("Octillion fingers")&&(t*=20),no("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Kt).forEach((e=>{"Cursor"!==Kt[e].name&&(n+=Kt[e].amount)})),t*=n,o*=ko(e),o*=Game.magicCpS("Cursor"),o*=oo("cursorCps"),Game.ComputeCps(.1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{no(Game.GrandmaSynergies[e])&&(o*=2)})),no("Bingo center/Research facility")&&(o*=4),no("Ritual rolling pins")&&(o*=2),no("Naughty list")&&(o*=2),no("Elderwort biscuits")&&(o*=1.02),o*=oo("grandmaCps"),no("Cat ladies"))for(let e=0;e{"Grandma"!==Kt[e].name&&(i+=Kt[e].amount)})),o*=1+.01*eo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=ko(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function wo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Kt).forEach((t=>{Kt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(no("Starlove")&&(e=3),Game.hasGod){const t=io("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function vo(){We=Game.UpgradesOwned,Le=Game.pledges,Ae=Game.AchievementsOwned,je=Game.heavenlyPower,De=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e],mo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Re=t.minigame.slot[0],$e=t.minigame.slot[1],Ie=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Kt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Jt[e];void 0===o&&(Jt[e]=wo(e),o=Jt[e]),o.bought=t.bought,Jt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Zt[e];void 0===o&&(Zt[e]=bo(e),o=Zt[e]),o.won=t.won,Zt[e]=o})),yo(),He=Qe,Ue=qe}function xo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function To(e){e.appendChild(xo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(xo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(xo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(xo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(xo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Mo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Po(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Bo(){if(vo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(To(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ft:10===Game.buyBulk?t=Ct:100===Game.buyBulk&&(t=yt),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+po()))/co());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(xo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(xo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=uo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,fo())}}(),ho(),Bo(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Kt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function No(){ue.addLatest(Game.computedMouseCps)}class Oo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Fo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+qt;Game.cpsSucked>0&&(o+=bt),Rt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-be,i=Math.max(0,Game.cookies-ke)/n,a=Math.max(0,bt-Ge)/n,r=Math.max(0,Gt[0]-we)/n,l=Math.max(0,o-gt)/n,s=(Game.cookieClicks-ve)/n;for(let e=0;e0&&(n=W),n}function Lo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Wo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+po()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Xt.push([t[n].pp,o])}))}function jo(){!function(){_t=1/0,Xt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Ao(ft,1),Ao(Ct,10),Ao(yt,100),Xt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Xt[t][1]>Game.cookies&&(t+=1,Xt.length!==t+1););_t=Xt[e.PPExcludeTop][t],Lo(ft,1),Lo(Ct,10),Lo(yt,100)}(),Object.keys(xt).forEach((e=>{Game.cookiesPs?xt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+po()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/xt[e].bonus:xt[e].pp=Game.Upgrades[e].getPrice()/xt[e].bonus,Number.isNaN(xt[e].pp)&&(xt[e].pp=1/0),xt[e].color=Wo(xt[e],Game.Upgrades[e].getPrice())}))}function Do(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ve=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(De)*je*function(){let e=0;if(no("Heavenly chip secret")&&(e+=.05),no("Heavenly cookie stand")&&(e+=.2),no("Heavenly bakery")&&(e+=.25),no("Heavenly confectionery")&&(e+=.25),no("Heavenly key")&&(e+=.25),e*=1+.05*eo("Dragon God"),no("Lucky digit")&&(e*=1.01),no("Lucky number")&&(e*=1.01),no("Lucky payout")&&(e*=1.01),Game.hasGod){const t=io("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=oo("cps"),no("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];no(o.name)&&("function"==typeof o.power?e*=1+.01*Jt[o.name].power(Jt[o.name]):e*=1+.01*o.power)})),no("Specialized chocolate chips")&&(e*=1.01),no("Designer cocoa beans")&&(e*=1.02),no("Underworld ovens")&&(e*=1.03),no("Exotic nuts")&&(e*=1.04),no("Arcane sugar")&&(e*=1.05),no("Increased merriness")&&(e*=1.15),no("Improved jolliness")&&(e*=1.15),no("A lump of coal")&&(e*=1.01),no("An itchy sweater")&&(e*=1.01),no("Santa's dominion")&&(e*=1.2),no("Fortune #100")&&(e*=1.01),no("Fortune #101")&&(e*=1.07),no("Dragon scale")&&(e*=1.03);let o=1;if(io){let t=io("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=io("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=io("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=io("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=io("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}no("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Ae/25;let i=1;if(no("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*eo("Breath of Milk"),io){const e=io("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=oo("milk");let a=1;no("Kitten helpers")&&(a*=1+.1*n*i),no("Kitten workers")&&(a*=1+.125*n*i),no("Kitten engineers")&&(a*=1+.15*n*i),no("Kitten overseers")&&(a*=1+.175*n*i),no("Kitten managers")&&(a*=1+.2*n*i),no("Kitten accountants")&&(a*=1+.2*n*i),no("Kitten specialists")&&(a*=1+.2*n*i),no("Kitten experts")&&(a*=1+.2*n*i),no("Kitten consultants")&&(a*=1+.2*n*i),no("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),no("Kitten marketeers")&&(a*=1+.15*n*i),no("Kitten analysts")&&(a*=1+.125*n*i),no("Kitten executives")&&(a*=1+.115*n*i),no("Kitten angels")&&(a*=1+.1*n*i),no("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Kt).forEach((e=>{const t=Kt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&no("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),_e+=t.amount*a})),no('"egg"')&&(_e+=9),e*=a;let r=1;if(no("Chicken egg")&&(r*=1.01),no("Duck egg")&&(r*=1.01),no("Turkey egg")&&(r*=1.01),no("Quail egg")&&(r*=1.01),no("Robin egg")&&(r*=1.01),no("Ostrich egg")&&(r*=1.01),no("Cassowary egg")&&(r*=1.01),no("Salmon roe")&&(r*=1.01),no("Frogspawn")&&(r*=1.01),no("Shark egg")&&(r*=1.01),no("Turtle egg")&&(r*=1.01),no("Ant larva")&&(r*=1.01),no("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),mt=1+.1*(1-(1-e/100)**3),r*=mt}e*=r,no("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+eo("Radiant Appetite");const l=_e*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ho(Game.CpsAchievements[e].name)})),Xe=l;const{n:s}=Game.shimmerTypes.golden,c=eo("Dragon's Fortune");for(let t=0;t{no(e[o])&&(t+=.1)}))}e*=t}if(no("Shimmering veil [off]")){let t=.5;no("Reinforced membrane")&&(t+=.1),e*=1+t}no("Magic shenanigans")&&(e*=1e3),no("Occult obstruction")&&(e*=0),_e=Game.runModHookOnValue("cps",_e),e*=So(),_e*=e}const Ro=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],$o=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Io=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],zo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Vo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function _o(e){return Zt[e]?Zt[e].won:0}function Xo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{no(Game.GrandmaSynergies[t])&&(e+=1)})),!_o("Elder")&&e>=7&&Ho("Elder"),!_o("Veteran")&&e>=14&&Ho("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount,i=Math.min(Kt[e].amount,i),_o("Mathematician")||Kt[e].amount=1&&Ho("One with everything"),1===o&&Ho("Mathematician"),1===n&&Ho("Base 10"),i>=100&&Ho("Centennial"),i>=150&&Ho("Centennial and a half"),i>=200&&Ho("Bicentennial"),i>=250&&Ho("Bicentennial and a half"),i>=300&&Ho("Tricentennial"),i>=350&&Ho("Tricentennial and a half"),i>=400&&Ho("Quadricentennial"),i>=450&&Ho("Quadricentennial and a half"),i>=500&&Ho("Quincentennial"),i>=550&&Ho("Quincentennial and a half"),i>=600&&Ho("Sexcentennial"),t>=100&&Ho("Builder"),t>=500&&Ho("Architect"),t>=1e3&&Ho("Engineer"),t>=2e3&&Ho("Lord of Constructs"),t>=4e3&&Ho("Grand design"),t>=8e3&&Ho("Ecumenopolis"),We>=20&&Ho("Enhancer"),We>=50&&Ho("Augmenter"),We>=100&&Ho("Upgrader"),We>=200&&Ho("Lord of Progress"),We>=300&&Ho("The full picture"),We>=400&&Ho("When there's nothing left to add"),t>=4e3&&We>=300&&Ho("Polymath"),t>=8e3&&We>=400&&Ho("Renaissance baker"),Kt.Cursor.amount+Kt.Grandma.amount>=777&&Ho("The elder scrolls");let a=!0;Object.keys($o).forEach((e=>{no($o[e])||(a=!1)})),a&&Ho("Spooky cookies");let r=!0;if(Object.keys(Io).forEach((e=>{no(Io[e])||(r=!1)})),r&&Ho("Let it snow"),no("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{no(e[o].name)&&(t+=1)})),t>=e.length&&Ho("O Fortuna")}}function Qo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){vo(),Kt[e].amount+=t;const o=Kt[e];"Cursor"===e?(o.amount>=1&&Ho("Click"),o.amount>=2&&Ho("Double-click"),o.amount>=50&&Ho("Mouse wheel"),o.amount>=100&&Ho("Of Mice and Men"),o.amount>=200&&Ho("The Digital"),o.amount>=300&&Ho("Extreme polydactyly"),o.amount>=400&&Ho("Dr. T"),o.amount>=500&&Ho("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ho("With her finger and her thumb"),o.amount>=700&&Ho("Gotta hand it to you"),o.amount>=800&&Ho("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ho(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Ae;return Uo(),Xo(),n!==Ae&&Uo(),_e-Game.cookiesPs}(o,e),1!==e&&(Ne=1)})),t}function qo(){Object.keys(Game.Objects).forEach((e=>{ft[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),Ct[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),yt[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Yo(){ft=Qo(1),Ct=Qo(10),yt=Qo(100),xt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){vo(),"Shimmering veil [on]"===Jt[e].name?Jt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Jt[e].name?Jt["Golden switch [off]"].bought=0:Jt[e].bought=(Jt[e].bought+1)%2,Jt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(We+=1),"Elder Pledge"===e?(Le+=1,Le>0&&Ho("Elder nap"),Le>=5&&Ho("Elder slumber")):"Elder Covenant"===e?Ho("Elder calm"):"Prism heart biscuits"===e?Ho("Lovely cookies"):"Heavenly key"===e&&Ho("Wholesome");const t=Ae;Uo(),Xo(),t!==Ae&&Uo();const o=function(){let e=0;no("Thousand fingers")&&(e+=.1),no("Million fingers")&&(e*=5),no("Billion fingers")&&(e*=10),no("Trillion fingers")&&(e*=20),no("Quadrillion fingers")&&(e*=20),no("Quintillion fingers")&&(e*=20),no("Sextillion fingers")&&(e*=20),no("Septillion fingers")&&(e*=20),no("Octillion fingers")&&(e*=20),no("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount})),t-=Kt.Cursor.amount,e*=t,no("Plastic mouse")&&(e+=.01*_e),no("Iron mouse")&&(e+=.01*_e),no("Titanium mouse")&&(e+=.01*_e),no("Adamantium mouse")&&(e+=.01*_e),no("Unobtainium mouse")&&(e+=.01*_e),no("Eludium mouse")&&(e+=.01*_e),no("Wishalloy mouse")&&(e+=.01*_e),no("Fantasteel mouse")&&(e+=.01*_e),no("Nevercrack mouse")&&(e+=.01*_e),no("Armythril mouse")&&(e+=.01*_e),no("Technobsidian mouse")&&(e+=.01*_e),no("Plasmarble mouse")&&(e+=.01*_e),no("Miraculite mouse")&&(e+=.01*_e),no("Fortune #104")&&(e+=.01*_e);let o=1;if(no("Santa's helpers")&&(o*=1.1),no("Cookie egg")&&(o*=1.1),no("Halo gloves")&&(o*=1.1),no("Dragon claw")&&(o*=1.03),no("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,no("Luminous gloves")?20:10)),o*=oo("click"),Kt.Temple.minigameLoaded&&io){const e=io("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*eo("Dragon Cursor");let n=o*Game.ComputeCps(1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[_e-Game.cookiesPs,o]:[_e-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(xt[t]={bonus:Game.cookiesPs-xe},1===e.CalcWrink?xt[t].bonus-=Te:2===e.CalcWrink&&(xt[t].bonus-=Me),Number.isFinite(xt[t].bonus)||(xt[t].bonus=0)):(xt[t]={},o[0]&&(xt[t].bonus=o[0]),o[1]&&(xt[t].bonusMouse=o[1]))}))}function Ko(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Nt=Ko(7,e,dt),Bt=2*Nt[1]/dt,Et=Nt[2]/60/60/6/ct,Wt=Ko(6,e,pt),Ot=2*Wt[1]/pt,Ft=Wt[2]/60/60/6/ct,jt=Ko(7,7*e,dt),Lt=2*jt[1]/dt,At=jt[2]/60/60/6/ct,Ut=Ko(6,7*e,pt),Dt=2*Ut[1]/pt,Ht=Ut[2]/60/60/6/ct}function Zo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Be,i=Math.max(0,o-Ee)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?St+=e:"cookie"===o.pool?Pt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Mt+=e)}}))}function tn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ht=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ht*=2)}}function on(){Je=900*st/.15,Je*=ct;const e=So();e>0?Je/=e:Je=0,Ze=dt*(.15*Je)+13,et=pt*(.15*Je)+13,tt=7*Je,ot=dt*(.15*tt)+13,nt=pt*(.15*tt)+13,it=2*Je,at=.15*it,rt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountrt&&(rt=2*Game.Objects[e].price,lt=e)}))}function nn(){let e=1,t=1,o=1;no("Green yeast digestives")&&(o*=1.01),no("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),dt=o*e,pt=o*t,ct=1,0===Game.shimmerTypes.golden.n&&(ct*=1+1.23*Game.auraMult("Dragon's Fortune"))}function an(){bt=0,kt=0,Gt=[0,null];for(let e=0;eGt[0]&&(Gt=[t,e]))}}function rn(){yo(),an(),on(),nn(),Jo(),en(),tn(),me=new Oo(Y[Y.length-1]),he=new Oo(Y[Y.length-1]),ge=new Oo(Y[Y.length-1]),fe=new Oo(Y[Y.length-1]),Ce=new Oo(K[K.length-1]),ye=new Oo(5),ue=new Oo(20*K[K.length-1]),Zo(),Fo(),Yo(),qo(),jo()}const ln={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},sn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function cn(){1===e.BotBar?(l("CMBotBar").style.display="",ho()):l("CMBotBar").style.display="none",fo()}function dn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),ho(),lo(),so()}function pn(){1===e.Favicon&&y>0?It.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class un{constructor(e,t){this.type=e,this.group=t}}class mn extends un{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class hn extends un{constructor(e,t,o){super(e,t),this.desc=o}}class gn extends un{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class fn extends un{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const Cn={CPSMode:new mn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new mn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new mn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new mn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){ze=!0})),Scale:new mn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){dn()})),ScaleDecimals:new mn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){dn()})),ScaleSeparator:new mn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){dn()})),ScaleCutoff:new fn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new mn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new mn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new mn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new mn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){lo()})),PPOnlyConsiderBuyable:new mn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new mn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new mn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new fn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new hn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new hn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new hn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new hn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new hn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new hn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new hn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new hn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new hn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new mn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){cn()})),TimerBar:new mn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){Co()})),TimerBarPos:new mn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),fo()})),TimerBarOverlay:new mn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new mn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",so()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",so()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new mn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new mn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){lo()})),SortUpgrades:new mn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){so()})),DragonAuraInfo:new mn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new mn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new mn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Qt[e].l.style.left,re[e].style.top=Qt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new mn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){pn()})),WrinklerButtons:new mn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new mn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new mn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new mn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new mn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new mn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new mn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new mn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new mn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new fn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new mn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new mn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Po()})),TooltipGrim:new mn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new mn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new mn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new mn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new mn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new mn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new mn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new mn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new mn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new fn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new mn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new mn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new mn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new mn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){sn(e.GCNotification)})),GCFlash:new mn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new hn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new mn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new gn("vol","NotificationGC",[],"Volume"),GCSoundURL:new mn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new mn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){sn(e.FortuneNotification)})),FortuneFlash:new mn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new hn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new mn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new gn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new mn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new mn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){sn(e.SeaNotification)})),SeaFlash:new mn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new hn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new mn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new gn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new mn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new mn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new hn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new mn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new gn("vol","NotificationGard",[],"Volume"),GardSoundURL:new mn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new mn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){sn(e.MagicNotification)})),MagicFlash:new mn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new hn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new mn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new gn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new mn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new mn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){sn(e.WrinklerNotification)})),WrinklerFlash:new mn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new hn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new mn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new gn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new mn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new mn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){sn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new mn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new hn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new mn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new gn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new mn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new mn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new mn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function yn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function bn(){if(Ye!==Game.dragonLevel||ze){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Upgrades).forEach((e=>{Jt[e]=wo(e)})),Zt=[],Object.keys(Game.Achievements).forEach((e=>{Zt[e]=bo(e)})),vo()}let wn=!1;function vn(t,o,n){(1===e[o]||n)&&3===t&&!1===wn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){vn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){vn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){vn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function xn(t,o,n,i){if((1===e[o]||i)&&!1===wn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Tn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===wn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Mn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(cn(),Co()),go()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(Gn(),rn(),r=Object.keys(Game.mods).length),ze&&(Yo(),Game.Has("Golden switch [off]")?(vo(),Jt["Golden switch [off]"].bought=0,Uo(),st=_e):st=Game.cookiesPs,nn(),on(),en(),Jo(),bn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Yt[e][t]=kn(e,t)}(),tn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;vo();let t=2;5!==He&&18!==He||(t-=1),5!==Ue&&18!==Ue||(t-=1),He=5,Ue=18;for(let e=0;e{Kt[t].amount>0&&(e=t)})),Kt[e].amount-=1,Fe-=1}return Object.keys(Kt).forEach((t=>{const o=Kt[t];e+=ro(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),qt=e}(),ze=0);const t=Game.auraMult("Fierce Hoarder")>0;!Oe&&t?(Oe=!0,Ne=1):Oe&&!t&&(Oe=!1,Ne=1),Ne&&(qo(),Ne=0),function(){an(),jo(),function(){wt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Kt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}vt=e,wt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Fo(),Zo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Vt=de(e/co())}(),G=0,Qt={},Object.keys(Game.shimmers).forEach((e=>{Qt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(It=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Qt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),pn(),b=G,0===G&&(It=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Qt[e].l.style.opacity,re[e].style.transform=Qt[e].l.style.transform,re[e].textContent=Math.ceil(Qt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(vn(3,"FortuneFlash",!1),xn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Tn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(zt=Game.shimmers[e])})),vn(3,"SeaFlash",!1),xn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Tn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?vn(3,"WrinklerMaxFlash",!1):vn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?xn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):xn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Tn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Tn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function Sn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=ln[t]):"Header"===t&&Object.keys(ln.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=ln[t][n])}))})),o&&Pn(),Mn(),Object.keys(ln).forEach((e=>{"Header"!==e&&void 0!==Cn[e].func&&Cn[e].func()}))}else Bn(ln);Game.UpdateMenu(),Sn()}function En(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Nn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Do(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Bo(),l("tooltip").innerHTML}function On(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Fn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Pn()}function Un(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Hn(o),Game.UpdateMenu()},n.appendChild(i),n}function Rn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function $n(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function In(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Un("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+po(){Game.HasUnlocked(Vo[e])||c.push(Vo[e])})),0!==c.length&&e.appendChild(Rn("basic","Rare plant drops left to unlock",$n(c))),e}())),o.appendChild(Un("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Rt+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?gt:0)));t.appendChild(Rn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Rt+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&>?gt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/$t,1)})`,i.appendChild(a),t.appendChild(Rn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Rn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Rn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(ce(ut,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Rn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(ce(e)))),t.appendChild(Rn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(de(e/ut)))))}const l=function(e){let t=Game.cookiesPs;vo(),0===Jt["Heavenly key"].bought&&(Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,Uo(),t=_e,vo()),Rt>=1e6&&Ho("Sacrifice"),Rt>=1e9&&Ho("Oblivion"),Rt>=1e12&&Ho("From scratch"),Rt>=1e15&&Ho("Nihilism"),Rt>=1e18&&Ho("Dematerialize"),Rt>=1e21&&Ho("Nil zero zilch"),Rt>=1e24&&Ho("Transcendence"),Rt>=1e27&&Ho("Obliterate"),Rt>=1e30&&Ho("Negative void"),Rt>=1e33&&Ho("To crumbs, you say?"),Rt>=1e36&&Ho("You get nothing"),Rt>=1e39&&Ho("Humble rebeginnings"),Rt>=1e42&&Ho("The end of the world"),Rt>=1e45&&Ho("Oh, you're back"),Rt>=1e48&&Ho("Lazarus"),Rt>=1e51&&Ho("Smurf account"),Rt>=1e54&&Ho("If at first you don't succeed"),Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,De=e;const o=Ae;Uo(),Xo(),o!==Ae&&Uo();const n=_e-t;return De=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Rn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Un("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(bt)} / ${ce(kt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){En()},e.appendChild(t),o.appendChild(Rn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(Gt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},n.appendChild(i),o.appendChild(Rn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==Gt[1]?Gt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys($o).forEach((e=>{Game.Has($o[e])||(n.push($o[e]),o=!0)}));const i=[];Object.keys(Io).forEach((e=>{Game.Has(Io[e])||(i.push(Io[e]),o=!0)}));const a=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(a.push(zo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Un("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Rn("basic","Halloween cookies left to buy",$n(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Rn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Rn("basic","Christmas cookies left to buy",$n(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Rn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Rn("basic","Valentine cookies left to buy",$n(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Rn("basic","Normal easter eggs left to unlock",$n(r))),t.appendChild(Rn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Rn("basic","Rare easter eggs left to unlock",$n(l))),t.appendChild(Rn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Rn("basic","Reindeer reward",document.createTextNode(ce(ht)))),s&&t.appendChild(Rn("withTooltip","Chocolate egg cookies",document.createTextNode(ce(gt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Rn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(mt-1))/100+"%")))}return t}()),o.appendChild(Un("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Rn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(co(),3)))),o.appendChild(Rn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(Tt,1)))),o.appendChild(Rn("basic",`Cookies from clicking (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(ue.calcSum(Tt*K[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Ro).forEach((t=>{Game.Has(Ro[t])||e.push(Ro[t])})),0!==e.length&&o.appendChild(Rn("basic","Fortune Upgrades Left to Buy",$n(e)))}if(e.ShowMissedGC&&o.appendChild(Rn("basic","Missed Golden Cookies",document.createTextNode(ce(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Rn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.appendChild(i)}}}))}const zn={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Vn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function _n(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Hn(t),Game.UpdateMenu()},n.appendChild(i),n}function Xn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return se.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(e),Pn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(R.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===Cn[t].type){const n=document.createElement("a");Cn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=jn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===Cn[t].label.length?(e[t]=0,Cn[t].toggle&&(l(jn+t).className="option off")):l(jn+t).className="option",void 0!==Cn[t].func&&Cn[t].func(),l(jn+t).innerHTML=Cn[t].label[e[t]],Pn()}(t)},n.textContent=Cn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=Cn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===Cn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=Cn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Dn(t)},r.onchange=function(){Dn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){xn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${jn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Pn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=Cn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===Cn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Ln(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Sn(),Pn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=Cn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){vn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),An().init(),o}if("numscale"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="number",i.value=e[t],i.min=Cn[t].min,i.max=Cn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Pn(),dn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=Cn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Qn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function qn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),ze=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Qn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Qn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Qn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Kt[Game.ObjectsById[e].name].name;Kt[o].amount-=1,Fe-=1,t=Kt[o].basePrice*Game.priceIncrease**Math.max(0,Kt[o].amount-1-Kt[o].free),t=Game.modifyBuildingPrice(Kt[o],t),t=Math.ceil(t);break}const o=Ae;return Uo(),Xo(),o!==Ae&&Uo(),[_e-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${ce(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ke}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==An().picker&&void 0!==An().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(zn).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(_n(t,zn[t])),e.Header[t]))for(let e=0;e{const n=_n(t,Vn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Xn(e))}))})):Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Xn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Bn(ln)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",In(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Hn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=It?It.wrath?`[W${Math.ceil(It.life/Game.fps)}]`:`[G${Math.ceil(It.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(zt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;It&&(t=!0,It.wrath?e+=`[W${Math.ceil(It.life/Game.fps)}]`:e+=`[G${Math.ceil(It.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(zt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Ee<1?"Ascending now would grant you no prestige.":Ee<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Ee)} prestige levels (+${ce(Ee)}% CpS)
and ${ce(Ee)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Vt} to reach the next level and you are making ${ce(ut,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Yn(){Gn(),on(),rn(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{mo(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=uo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=uo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){En()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),On(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Wn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},qn(),Wn(),Game.CalculateGains(),Bn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Kn={init:function(){wn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Yn(),Game.registerHook("draw",Eo),Game.registerHook("logic",Mn),Game.registerHook("click",No),wn=!1)},load:function(e){const t=JSON.parse(e);Gn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Bn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:yn};Game.registerMod("CookieMonster",Kn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index ef2ced0b..9f179292 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=1,ct=1,dt=1,pt=0,ut=0,mt=0,ht=0,gt={},ft={},Ct={},yt=0,bt=0,kt=[0,null],Gt=0,wt=0,vt={},xt={},Tt={},Mt={},St={},Pt=0,Bt=0,Et=[],Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,Rt=0,$t={},It={},zt=0,Vt=0,_t=[],Xt={},Qt=0,qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Yt=[],Kt=[],Jt=[];function Zt(e){let t=0;return Game.dragonAuras[De].name!==e&&Game.dragonAuras[He].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[De].name&&"Reality Bending"!==Game.dragonAuras[He].name||(t+=.1),t}function eo(){let e=.25;return e*=1+Zt("Earth Shatterer"),e}function to(e,t){return void 0===ze[e]?void 0===t?1:t:ze[e]}function oo(e){const t=Kt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function no(e){if(Game.hasGod){void 0===Yt.Temple.minigame&&(Yt.Temple.minigame=Game.Objects.Temple.minigame);const t=Yt.Temple.minigame.gods[e];if(Ue===t.id)return 1;if(Re===t.id)return 2;if($e===t.id)return 3}return!1}function io(e,t){let o=t;if(oo("Season savings")&&(o*=.99),oo("Santa's dominion")&&(o*=.99),oo("Faberge egg")&&(o*=.99),oo("Divine discount")&&(o*=.99),oo("Fortune #100")&&(o*=.99),o*=1-.02*Zt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&oo(e.fortune.name)&&(o*=.93),o*=to("buildingCost"),Yt.Temple.minigameLoaded){const e=no("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ao(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ro(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=gt:10===t?t=ft:100===t&&(t=Ct),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(gt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ao(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(gt).map((e=>{const t=gt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=gt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=gt),10===i&&(i=ft),100===i&&(i=Ct),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+co()))/so());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&oo(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(oo(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&oo(e.fortune.name)&&(t*=1.07),e.grandma&&oo(e.grandma.name)&&(t*=1+.01*Yt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&oo(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function ko(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;oo("Thousand fingers")&&(t+=.1),oo("Million fingers")&&(t*=5),oo("Billion fingers")&&(t*=10),oo("Trillion fingers")&&(t*=20),oo("Quadrillion fingers")&&(t*=20),oo("Quintillion fingers")&&(t*=20),oo("Sextillion fingers")&&(t*=20),oo("Septillion fingers")&&(t*=20),oo("Octillion fingers")&&(t*=20),oo("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Yt).forEach((e=>{"Cursor"!==Yt[e].name&&(n+=Yt[e].amount)})),t*=n,o*=bo(e),o*=Game.magicCpS("Cursor"),o*=to("cursorCps"),Game.ComputeCps(.1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{oo(Game.GrandmaSynergies[e])&&(o*=2)})),oo("Bingo center/Research facility")&&(o*=4),oo("Ritual rolling pins")&&(o*=2),oo("Naughty list")&&(o*=2),oo("Elderwort biscuits")&&(o*=1.02),o*=to("grandmaCps"),oo("Cat ladies"))for(let e=0;e{"Grandma"!==Yt[e].name&&(i+=Yt[e].amount)})),o*=1+.01*Zt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=bo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function Go(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Yt).forEach((t=>{Yt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(oo("Starlove")&&(e=3),Game.hasGod){const t=no("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function wo(){Fe=Game.UpgradesOwned,We=Game.pledges,Le=Game.AchievementsOwned,Ae=Game.heavenlyPower,je=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Yt[e];void 0===o&&(Yt[e]=ko(e),o=Yt[e],uo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ue=t.minigame.slot[0],Re=t.minigame.slot[1],$e=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Yt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e]),o.bought=t.bought,Kt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Jt[e];void 0===o&&(Jt[e]=yo(e),o=Jt[e]),o.won=t.won,Jt[e]=o})),Co(),De=Xe,He=Qe}function vo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function xo(e){e.appendChild(vo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(vo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(vo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(vo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(vo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function To(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function So(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Po(){if(wo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(xo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=gt:10===Game.buyBulk?t=ft:100===Game.buyBulk&&(t=Ct),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+co()))/so());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(vo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(vo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=po(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,go())}}(),mo(),Po(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Yt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}class Eo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function No(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Qt;Game.cpsSucked>0&&(o+=yt),Ut=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-ye,i=Math.max(0,Game.cookies-be)/n,a=Math.max(0,yt-ke)/n,r=Math.max(0,kt[0]-Ge)/n,l=Math.max(0,o-ht)/n,s=(Game.cookieClicks-we)/n;for(let e=0;e0&&(n=W),n}function Fo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Oo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+co()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||_t.push([t[n].pp,o])}))}function Lo(){!function(){Vt=1/0,_t=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Wo(gt,1),Wo(ft,10),Wo(Ct,100),_t.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;_t[t][1]>Game.cookies&&(t+=1,_t.length!==t+1););Vt=_t[e.PPExcludeTop][t],Fo(gt,1),Fo(ft,10),Fo(Ct,100)}(),Object.keys(vt).forEach((e=>{Game.cookiesPs?vt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+co()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/vt[e].bonus:vt[e].pp=Game.Upgrades[e].getPrice()/vt[e].bonus,Number.isNaN(vt[e].pp)&&(vt[e].pp=1/0),vt[e].color=Oo(vt[e],Game.Upgrades[e].getPrice())}))}function Ao(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),ze=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(je)*Ae*function(){let e=0;if(oo("Heavenly chip secret")&&(e+=.05),oo("Heavenly cookie stand")&&(e+=.2),oo("Heavenly bakery")&&(e+=.25),oo("Heavenly confectionery")&&(e+=.25),oo("Heavenly key")&&(e+=.25),e*=1+.05*Zt("Dragon God"),oo("Lucky digit")&&(e*=1.01),oo("Lucky number")&&(e*=1.01),oo("Lucky payout")&&(e*=1.01),Game.hasGod){const t=no("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=to("cps"),oo("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];oo(o.name)&&("function"==typeof o.power?e*=1+.01*Kt[o.name].power(Kt[o.name]):e*=1+.01*o.power)})),oo("Specialized chocolate chips")&&(e*=1.01),oo("Designer cocoa beans")&&(e*=1.02),oo("Underworld ovens")&&(e*=1.03),oo("Exotic nuts")&&(e*=1.04),oo("Arcane sugar")&&(e*=1.05),oo("Increased merriness")&&(e*=1.15),oo("Improved jolliness")&&(e*=1.15),oo("A lump of coal")&&(e*=1.01),oo("An itchy sweater")&&(e*=1.01),oo("Santa's dominion")&&(e*=1.2),oo("Fortune #100")&&(e*=1.01),oo("Fortune #101")&&(e*=1.07),oo("Dragon scale")&&(e*=1.03);let o=1;if(no){let t=no("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=no("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=no("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=no("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=no("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}oo("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Le/25;let i=1;if(oo("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Zt("Breath of Milk"),no){const e=no("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=to("milk");let a=1;oo("Kitten helpers")&&(a*=1+.1*n*i),oo("Kitten workers")&&(a*=1+.125*n*i),oo("Kitten engineers")&&(a*=1+.15*n*i),oo("Kitten overseers")&&(a*=1+.175*n*i),oo("Kitten managers")&&(a*=1+.2*n*i),oo("Kitten accountants")&&(a*=1+.2*n*i),oo("Kitten specialists")&&(a*=1+.2*n*i),oo("Kitten experts")&&(a*=1+.2*n*i),oo("Kitten consultants")&&(a*=1+.2*n*i),oo("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),oo("Kitten marketeers")&&(a*=1+.15*n*i),oo("Kitten analysts")&&(a*=1+.125*n*i),oo("Kitten executives")&&(a*=1+.115*n*i),oo("Kitten angels")&&(a*=1+.1*n*i),oo("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Yt).forEach((e=>{const t=Yt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&oo("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Ve+=t.amount*a})),oo('"egg"')&&(Ve+=9),e*=a;let r=1;if(oo("Chicken egg")&&(r*=1.01),oo("Duck egg")&&(r*=1.01),oo("Turkey egg")&&(r*=1.01),oo("Quail egg")&&(r*=1.01),oo("Robin egg")&&(r*=1.01),oo("Ostrich egg")&&(r*=1.01),oo("Cassowary egg")&&(r*=1.01),oo("Salmon roe")&&(r*=1.01),oo("Frogspawn")&&(r*=1.01),oo("Shark egg")&&(r*=1.01),oo("Turtle egg")&&(r*=1.01),oo("Ant larva")&&(r*=1.01),oo("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),ut=1+.1*(1-(1-e/100)**3),r*=ut}e*=r,oo("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Zt("Radiant Appetite");const l=Ve*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&jo(Game.CpsAchievements[e].name)})),_e=l;const{n:s}=Game.shimmerTypes.golden,c=Zt("Dragon's Fortune");for(let t=0;t{oo(e[o])&&(t+=.1)}))}e*=t}if(oo("Shimmering veil [off]")){let t=.5;oo("Reinforced membrane")&&(t+=.1),e*=1+t}oo("Magic shenanigans")&&(e*=1e3),oo("Occult obstruction")&&(e*=0),Ve=Game.runModHookOnValue("cps",Ve),e*=Mo(),Ve*=e}const Ho=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Uo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ro=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],$o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Io=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function zo(e){return Jt[e]?Jt[e].won:0}function Vo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{oo(Game.GrandmaSynergies[t])&&(e+=1)})),!zo("Elder")&&e>=7&&jo("Elder"),!zo("Veteran")&&e>=14&&jo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Yt).forEach((e=>{t+=Yt[e].amount,i=Math.min(Yt[e].amount,i),zo("Mathematician")||Yt[e].amount=1&&jo("One with everything"),1===o&&jo("Mathematician"),1===n&&jo("Base 10"),i>=100&&jo("Centennial"),i>=150&&jo("Centennial and a half"),i>=200&&jo("Bicentennial"),i>=250&&jo("Bicentennial and a half"),i>=300&&jo("Tricentennial"),i>=350&&jo("Tricentennial and a half"),i>=400&&jo("Quadricentennial"),i>=450&&jo("Quadricentennial and a half"),i>=500&&jo("Quincentennial"),i>=550&&jo("Quincentennial and a half"),i>=600&&jo("Sexcentennial"),t>=100&&jo("Builder"),t>=500&&jo("Architect"),t>=1e3&&jo("Engineer"),t>=2e3&&jo("Lord of Constructs"),t>=4e3&&jo("Grand design"),t>=8e3&&jo("Ecumenopolis"),Fe>=20&&jo("Enhancer"),Fe>=50&&jo("Augmenter"),Fe>=100&&jo("Upgrader"),Fe>=200&&jo("Lord of Progress"),Fe>=300&&jo("The full picture"),Fe>=400&&jo("When there's nothing left to add"),t>=4e3&&Fe>=300&&jo("Polymath"),t>=8e3&&Fe>=400&&jo("Renaissance baker"),Yt.Cursor.amount+Yt.Grandma.amount>=777&&jo("The elder scrolls");let a=!0;Object.keys(Uo).forEach((e=>{oo(Uo[e])||(a=!1)})),a&&jo("Spooky cookies");let r=!0;if(Object.keys(Ro).forEach((e=>{oo(Ro[e])||(r=!1)})),r&&jo("Let it snow"),oo("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{oo(e[o].name)&&(t+=1)})),t>=e.length&&jo("O Fortuna")}}function _o(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){wo(),Yt[e].amount+=t;const o=Yt[e];"Cursor"===e?(o.amount>=1&&jo("Click"),o.amount>=2&&jo("Double-click"),o.amount>=50&&jo("Mouse wheel"),o.amount>=100&&jo("Of Mice and Men"),o.amount>=200&&jo("The Digital"),o.amount>=300&&jo("Extreme polydactyly"),o.amount>=400&&jo("Dr. T"),o.amount>=500&&jo("Thumbs, phalanges, metacarpals"),o.amount>=600&&jo("With her finger and her thumb"),o.amount>=700&&jo("Gotta hand it to you"),o.amount>=800&&jo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&jo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Le;return Do(),Vo(),n!==Le&&Do(),Ve-Game.cookiesPs}(o,e),1!==e&&(Ee=1)})),t}function Xo(){Object.keys(Game.Objects).forEach((e=>{gt[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),ft[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),Ct[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Qo(){gt=_o(1),ft=_o(10),Ct=_o(100),vt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){wo(),"Shimmering veil [on]"===Kt[e].name?Kt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Kt[e].name?Kt["Golden switch [off]"].bought=0:Kt[e].bought=(Kt[e].bought+1)%2,Kt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Fe+=1),"Elder Pledge"===e?(We+=1,We>0&&jo("Elder nap"),We>=5&&jo("Elder slumber")):"Elder Covenant"===e?jo("Elder calm"):"Prism heart biscuits"===e?jo("Lovely cookies"):"Heavenly key"===e&&jo("Wholesome");const t=Le;Do(),Vo(),t!==Le&&Do();const o=function(){let e=0;oo("Thousand fingers")&&(e+=.1),oo("Million fingers")&&(e*=5),oo("Billion fingers")&&(e*=10),oo("Trillion fingers")&&(e*=20),oo("Quadrillion fingers")&&(e*=20),oo("Quintillion fingers")&&(e*=20),oo("Sextillion fingers")&&(e*=20),oo("Septillion fingers")&&(e*=20),oo("Octillion fingers")&&(e*=20),oo("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Yt).forEach((e=>{t+=Yt[e].amount})),t-=Yt.Cursor.amount,e*=t,oo("Plastic mouse")&&(e+=.01*Ve),oo("Iron mouse")&&(e+=.01*Ve),oo("Titanium mouse")&&(e+=.01*Ve),oo("Adamantium mouse")&&(e+=.01*Ve),oo("Unobtainium mouse")&&(e+=.01*Ve),oo("Eludium mouse")&&(e+=.01*Ve),oo("Wishalloy mouse")&&(e+=.01*Ve),oo("Fantasteel mouse")&&(e+=.01*Ve),oo("Nevercrack mouse")&&(e+=.01*Ve),oo("Armythril mouse")&&(e+=.01*Ve),oo("Technobsidian mouse")&&(e+=.01*Ve),oo("Plasmarble mouse")&&(e+=.01*Ve),oo("Miraculite mouse")&&(e+=.01*Ve),oo("Fortune #104")&&(e+=.01*Ve);let o=1;if(oo("Santa's helpers")&&(o*=1.1),oo("Cookie egg")&&(o*=1.1),oo("Halo gloves")&&(o*=1.1),oo("Dragon claw")&&(o*=1.03),oo("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,oo("Luminous gloves")?20:10)),o*=to("click"),Yt.Temple.minigameLoaded&&no){const e=no("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Zt("Dragon Cursor");let n=o*Game.ComputeCps(1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Ve-Game.cookiesPs,o]:[Ve-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(vt[t]={bonus:Game.cookiesPs-ve},1===e.CalcWrink?vt[t].bonus-=xe:2===e.CalcWrink&&(vt[t].bonus-=Te),Number.isFinite(vt[t].bonus)||(vt[t].bonus=0)):(vt[t]={},o[0]&&(vt[t].bonus=o[0]),o[1]&&(vt[t].bonusMouse=o[1]))}))}function qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Et=qo(7,e,ct),Pt=2*Et[1]/ct,Bt=Et[2]/60/60/6/st,Ft=qo(6,e,dt),Nt=2*Ft[1]/dt,Ot=Ft[2]/60/60/6/st,At=qo(7,7*e,ct),Wt=2*At[1]/ct,Lt=At[2]/60/60/6/st,Ht=qo(6,7*e,dt),jt=2*Ht[1]/dt,Dt=Ht[2]/60/60/6/st}function Ko(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Pe,i=Math.max(0,o-Be)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Mt+=e:"cookie"===o.pool?St+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Tt+=e)}}))}function Zo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),mt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(mt*=2)}}function en(){Ke=900*lt/.15,Ke*=st;const e=Mo();e>0?Ke/=e:Ke=0,Je=ct*(.15*Ke)+13,Ze=dt*(.15*Ke)+13,et=7*Ke,tt=ct*(.15*et)+13,ot=dt*(.15*et)+13,nt=2*Ke,it=.15*nt,at=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountat&&(at=2*Game.Objects[e].price,rt=e)}))}function tn(){let e=1,t=1,o=1;oo("Green yeast digestives")&&(o*=1.01),oo("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ct=o*e,dt=o*t,st=1,0===Game.shimmerTypes.golden.n&&(st*=1+1.23*Game.auraMult("Dragon's Fortune"))}function on(){yt=0,bt=0,kt=[0,null];for(let e=0;ekt[0]&&(kt=[t,e]))}}function nn(){Co(),on(),en(),tn(),Yo(),Jo(),Zo(),ue=new Eo(Y[Y.length-1]),me=new Eo(Y[Y.length-1]),he=new Eo(Y[Y.length-1]),ge=new Eo(Y[Y.length-1]),fe=new Eo(K[K.length-1]),Ce=new Eo(5),Ko(),No(),Qo(),Xo(),Lo()}const an={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},rn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function ln(){1===e.BotBar?(l("CMBotBar").style.display="",mo()):l("CMBotBar").style.display="none",go()}function sn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),mo(),ro(),lo()}function cn(){1===e.Favicon&&y>0?$t.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class dn{constructor(e,t){this.type=e,this.group=t}}class pn extends dn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class un extends dn{constructor(e,t,o){super(e,t),this.desc=o}}class mn extends dn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class hn extends dn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const gn={CPSMode:new pn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new pn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new pn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new pn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){Ie=!0})),Scale:new pn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){sn()})),ScaleDecimals:new pn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){sn()})),ScaleSeparator:new pn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){sn()})),ScaleCutoff:new hn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new pn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new pn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new pn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new pn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){ro()})),PPOnlyConsiderBuyable:new pn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new pn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new pn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new hn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new un("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new un("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new un("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new un("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new un("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new un("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new un("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new un("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new un("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new pn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){ln()})),TimerBar:new pn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){fo()})),TimerBarPos:new pn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),go()})),TimerBarOverlay:new pn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new pn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",lo()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",lo()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new pn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new pn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ro()})),SortUpgrades:new pn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){lo()})),DragonAuraInfo:new pn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new pn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new pn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Xt[e].l.style.left,re[e].style.top=Xt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new pn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){cn()})),WrinklerButtons:new pn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new pn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new pn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new pn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new pn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new pn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new pn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new pn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new pn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new hn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new pn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new pn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){So()})),TooltipGrim:new pn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new pn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new pn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new pn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new pn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new pn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new pn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new pn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new pn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new hn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new pn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new pn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new pn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new pn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){rn(e.GCNotification)})),GCFlash:new pn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new un("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new pn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new mn("vol","NotificationGC",[],"Volume"),GCSoundURL:new pn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new pn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){rn(e.FortuneNotification)})),FortuneFlash:new pn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new un("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new pn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new mn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new pn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new pn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){rn(e.SeaNotification)})),SeaFlash:new pn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new un("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new pn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new mn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new pn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new pn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new un("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new pn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new mn("vol","NotificationGard",[],"Volume"),GardSoundURL:new pn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new pn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){rn(e.MagicNotification)})),MagicFlash:new pn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new un("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new pn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new mn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new pn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new pn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){rn(e.WrinklerNotification)})),WrinklerFlash:new pn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new un("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new pn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new mn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new pn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new pn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){rn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new pn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new un("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new pn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new mn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new pn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new pn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new pn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function fn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function Cn(){if(qe!==Game.dragonLevel||Ie){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Yt[e]=ko(e)})),Kt=[],Object.keys(Game.Upgrades).forEach((e=>{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Achievements).forEach((e=>{Jt[e]=yo(e)})),wo()}let kn=!1;function Gn(t,o,n){(1===e[o]||n)&&3===t&&!1===kn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Gn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Gn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Gn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function wn(t,o,n,i){if((1===e[o]||i)&&!1===kn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function vn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===kn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function xn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(ln(),fo()),ho()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(bn(),nn(),r=Object.keys(Game.mods).length),Ie&&(Qo(),Game.Has("Golden switch [off]")?(wo(),Kt["Golden switch [off]"].bought=0,Do(),lt=Ve):lt=Game.cookiesPs,tn(),en(),Jo(),Yo(),Cn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)qt[e][t]=yn(e,t)}(),Zo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;wo();let t=2;5!==De&&18!==De||(t-=1),5!==He&&18!==He||(t-=1),De=5,He=18;for(let e=0;e{Yt[t].amount>0&&(e=t)})),Yt[e].amount-=1,Oe-=1}return Object.keys(Yt).forEach((t=>{const o=Yt[t];e+=ao(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Qt=e}(),Ie=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ne&&t?(Ne=!0,Ee=1):Ne&&!t&&(Ne=!1,Ee=1),Ee&&(Xo(),Ee=0),function(){on(),Lo(),function(){Gt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Yt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}wt=e,Gt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),No(),Ko();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);zt=de(e/so())}(),G=0,Xt={},Object.keys(Game.shimmers).forEach((e=>{Xt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&($t=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Xt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),cn(),b=G,0===G&&($t=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Xt[e].l.style.opacity,re[e].style.transform=Xt[e].l.style.transform,re[e].textContent=Math.ceil(Xt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Gn(3,"FortuneFlash",!1),wn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),vn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(It=Game.shimmers[e])})),Gn(3,"SeaFlash",!1),wn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),vn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Gn(3,"WrinklerMaxFlash",!1):Gn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?wn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):wn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?vn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):vn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function Tn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=an[t]):"Header"===t&&Object.keys(an.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=an[t][n])}))})),o&&Mn(),xn(),Object.keys(an).forEach((e=>{"Header"!==e&&void 0!==gn[e].func&&gn[e].func()}))}else Sn(an);Game.UpdateMenu(),Tn()}function Pn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Bn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Ao(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Po(),l("tooltip").innerHTML}function En(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Nn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Mn()}function Dn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){jn(o),Game.UpdateMenu()},n.appendChild(i),n}function Hn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Un(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Rn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Dn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+co(){Game.HasUnlocked(Io[e])||c.push(Io[e])})),0!==c.length&&e.appendChild(Hn("basic","Rare plant drops left to unlock",Un(c))),e}())),o.appendChild(Dn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Ut+Game.cookiesReset+yt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?ht:0)));t.appendChild(Hn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Ut+Game.cookiesReset+yt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&ht?ht:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/Rt,1)})`,i.appendChild(a),t.appendChild(Hn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Hn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Hn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(ce(pt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Hn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(ce(e)))),t.appendChild(Hn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(de(e/pt)))))}const l=function(e){let t=Game.cookiesPs;wo(),0===Kt["Heavenly key"].bought&&(Kt["Heavenly chip secret"].bought=1,Kt["Heavenly cookie stand"].bought=1,Kt["Heavenly bakery"].bought=1,Kt["Heavenly confectionery"].bought=1,Kt["Heavenly key"].bought=1,Do(),t=Ve,wo()),Ut>=1e6&&jo("Sacrifice"),Ut>=1e9&&jo("Oblivion"),Ut>=1e12&&jo("From scratch"),Ut>=1e15&&jo("Nihilism"),Ut>=1e18&&jo("Dematerialize"),Ut>=1e21&&jo("Nil zero zilch"),Ut>=1e24&&jo("Transcendence"),Ut>=1e27&&jo("Obliterate"),Ut>=1e30&&jo("Negative void"),Ut>=1e33&&jo("To crumbs, you say?"),Ut>=1e36&&jo("You get nothing"),Ut>=1e39&&jo("Humble rebeginnings"),Ut>=1e42&&jo("The end of the world"),Ut>=1e45&&jo("Oh, you're back"),Ut>=1e48&&jo("Lazarus"),Ut>=1e51&&jo("Smurf account"),Ut>=1e54&&jo("If at first you don't succeed"),Kt["Heavenly chip secret"].bought=1,Kt["Heavenly cookie stand"].bought=1,Kt["Heavenly bakery"].bought=1,Kt["Heavenly confectionery"].bought=1,Kt["Heavenly key"].bought=1,je=e;const o=Le;Do(),Vo(),o!==Le&&Do();const n=Ve-t;return je=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Hn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Hn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Dn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(yt)} / ${ce(bt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Pn()},e.appendChild(t),o.appendChild(Hn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(kt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==kt[1]&&(Game.wrinklers[kt[1]].hp=0)},n.appendChild(i),o.appendChild(Hn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==kt[1]?kt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Uo).forEach((e=>{Game.Has(Uo[e])||(n.push(Uo[e]),o=!0)}));const i=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(i.push(Ro[e]),o=!0)}));const a=[];Object.keys($o).forEach((e=>{Game.Has($o[e])||(a.push($o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Dn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Hn("basic","Halloween cookies left to buy",Un(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Hn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Hn("basic","Christmas cookies left to buy",Un(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Hn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Hn("basic","Valentine cookies left to buy",Un(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Hn("basic","Normal easter eggs left to unlock",Un(r))),t.appendChild(Hn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Hn("basic","Rare easter eggs left to unlock",Un(l))),t.appendChild(Hn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Hn("basic","Reindeer reward",document.createTextNode(ce(mt)))),s&&t.appendChild(Hn("withTooltip","Chocolate egg cookies",document.createTextNode(ce(ht)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Hn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(ut-1))/100+"%")))}return t}()),o.appendChild(Dn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Hn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(so(),3)))),o.appendChild(Hn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(xt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Ho).forEach((t=>{Game.Has(Ho[t])||e.push(Ho[t])})),0!==e.length&&o.appendChild(Hn("basic","Fortune Upgrades Left to Buy",Un(e)))}if(e.ShowMissedGC&&o.appendChild(Hn("basic","Missed Golden Cookies",document.createTextNode(ce(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Hn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.appendChild(i)}}}))}const $n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},In={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function zn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){jn(t),Game.UpdateMenu()},n.appendChild(i),n}function Vn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return se.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(e),Mn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(R.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===gn[t].type){const n=document.createElement("a");gn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Ln+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===gn[t].label.length?(e[t]=0,gn[t].toggle&&(l(Ln+t).className="option off")):l(Ln+t).className="option",void 0!==gn[t].func&&gn[t].func(),l(Ln+t).innerHTML=gn[t].label[e[t]],Mn()}(t)},n.textContent=gn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=gn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===gn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=gn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){An(t)},r.onchange=function(){An(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){wn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Ln+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Ln+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Mn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=gn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===gn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Fn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Tn(),Mn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=gn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Gn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Wn().init(),o}if("numscale"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Ln+t,i.className="option",i.type="number",i.value=e[t],i.min=gn[t].min,i.max=gn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Mn(),sn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=gn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function _n(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Xn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),Ie=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){_n(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){_n(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){_n(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Yt[Game.ObjectsById[e].name].name;Yt[o].amount-=1,Oe-=1,t=Yt[o].basePrice*Game.priceIncrease**Math.max(0,Yt[o].amount-1-Yt[o].free),t=Game.modifyBuildingPrice(Yt[o],t),t=Math.ceil(t);break}const o=Le;return Do(),Vo(),o!==Le&&Do(),[Ve-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${ce(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ye}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Wn().picker&&void 0!==Wn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys($n).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(zn(t,$n[t])),e.Header[t]))for(let e=0;e{const n=zn(t,In[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(Vn(e))}))})):Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(Vn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Sn(an)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Rn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){jn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=$t?$t.wrath?`[W${Math.ceil($t.life/Game.fps)}]`:`[G${Math.ceil($t.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(It.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;$t&&(t=!0,$t.wrath?e+=`[W${Math.ceil($t.life/Game.fps)}]`:e+=`[G${Math.ceil($t.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(It.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Be<1?"Ascending now would grant you no prestige.":Be<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Be)} prestige levels (+${ce(Be)}% CpS)
and ${ce(Be)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${zt} to reach the next level and you are making ${ce(pt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Qn(){bn(),en(),nn(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{uo(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=po("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=po("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Pn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==kt[1]&&(Game.wrinklers[kt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),En(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),On()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},Xn(),On(),Game.CalculateGains(),Sn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const qn={init:function(){kn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Qn(),Game.registerHook("draw",Bo),Game.registerHook("logic",xn),kn=!1)},load:function(e){const t=JSON.parse(e);bn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Sn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:fn};Game.registerMod("CookieMonster",qn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e,Xe,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=1,dt=1,pt=1,ut=0,mt=0,ht=0,gt=0,ft={},Ct={},yt={},bt=0,kt=0,Gt=[0,null],wt=0,vt=0,xt={},Tt={},Mt={},St={},Pt={},Bt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Dt=0,Ht=0,Ut=[],Rt=0,$t=0,It={},zt={},Vt=0,_t=0,Xt=[],Qt={},qt=0,Yt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Kt=[],Jt=[],Zt=[];function eo(e){let t=0;return Game.dragonAuras[He].name!==e&&Game.dragonAuras[Ue].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[He].name&&"Reality Bending"!==Game.dragonAuras[Ue].name||(t+=.1),t}function to(){let e=.25;return e*=1+eo("Earth Shatterer"),e}function oo(e,t){return void 0===Ve[e]?void 0===t?1:t:Ve[e]}function no(e){const t=Jt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function io(e){if(Game.hasGod){void 0===Kt.Temple.minigame&&(Kt.Temple.minigame=Game.Objects.Temple.minigame);const t=Kt.Temple.minigame.gods[e];if(Re===t.id)return 1;if($e===t.id)return 2;if(Ie===t.id)return 3}return!1}function ao(e,t){let o=t;if(no("Season savings")&&(o*=.99),no("Santa's dominion")&&(o*=.99),no("Faberge egg")&&(o*=.99),no("Divine discount")&&(o*=.99),no("Fortune #100")&&(o*=.99),o*=1-.02*eo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&no(e.fortune.name)&&(o*=.93),o*=oo("buildingCost"),Kt.Temple.minigameLoaded){const e=io("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ro(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function lo(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ft:10===t?t=Ct:100===t&&(t=yt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ft).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ro(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ft).map((e=>{const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ft),10===i&&(i=Ct),100===i&&(i=yt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+po()))/co());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&no(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(no(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&no(e.fortune.name)&&(t*=1.07),e.grandma&&no(e.grandma.name)&&(t*=1+.01*Kt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&no(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function Go(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;no("Thousand fingers")&&(t+=.1),no("Million fingers")&&(t*=5),no("Billion fingers")&&(t*=10),no("Trillion fingers")&&(t*=20),no("Quadrillion fingers")&&(t*=20),no("Quintillion fingers")&&(t*=20),no("Sextillion fingers")&&(t*=20),no("Septillion fingers")&&(t*=20),no("Octillion fingers")&&(t*=20),no("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Kt).forEach((e=>{"Cursor"!==Kt[e].name&&(n+=Kt[e].amount)})),t*=n,o*=ko(e),o*=Game.magicCpS("Cursor"),o*=oo("cursorCps"),Game.ComputeCps(.1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{no(Game.GrandmaSynergies[e])&&(o*=2)})),no("Bingo center/Research facility")&&(o*=4),no("Ritual rolling pins")&&(o*=2),no("Naughty list")&&(o*=2),no("Elderwort biscuits")&&(o*=1.02),o*=oo("grandmaCps"),no("Cat ladies"))for(let e=0;e{"Grandma"!==Kt[e].name&&(i+=Kt[e].amount)})),o*=1+.01*eo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=ko(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function wo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Kt).forEach((t=>{Kt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(no("Starlove")&&(e=3),Game.hasGod){const t=io("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function vo(){We=Game.UpgradesOwned,Le=Game.pledges,Ae=Game.AchievementsOwned,je=Game.heavenlyPower,De=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e],mo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Re=t.minigame.slot[0],$e=t.minigame.slot[1],Ie=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Kt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Jt[e];void 0===o&&(Jt[e]=wo(e),o=Jt[e]),o.bought=t.bought,Jt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Zt[e];void 0===o&&(Zt[e]=bo(e),o=Zt[e]),o.won=t.won,Zt[e]=o})),yo(),He=Qe,Ue=qe}function xo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function To(e){e.appendChild(xo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(xo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(xo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(xo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(xo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Mo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Po(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Bo(){if(vo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(To(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ft:10===Game.buyBulk?t=Ct:100===Game.buyBulk&&(t=yt),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+po()))/co());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(xo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(xo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=uo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,fo())}}(),ho(),Bo(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Kt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function No(){ue.addLatest(Game.computedMouseCps)}class Oo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Fo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+qt;Game.cpsSucked>0&&(o+=bt),Rt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-be,i=Math.max(0,Game.cookies-ke)/n,a=Math.max(0,bt-Ge)/n,r=Math.max(0,Gt[0]-we)/n,l=Math.max(0,o-gt)/n,s=(Game.cookieClicks-ve)/n;for(let e=0;e0&&(n=W),n}function Lo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Wo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+po()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Xt.push([t[n].pp,o])}))}function jo(){!function(){_t=1/0,Xt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Ao(ft,1),Ao(Ct,10),Ao(yt,100),Xt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Xt[t][1]>Game.cookies&&(t+=1,Xt.length!==t+1););_t=Xt[e.PPExcludeTop][t],Lo(ft,1),Lo(Ct,10),Lo(yt,100)}(),Object.keys(xt).forEach((e=>{Game.cookiesPs?xt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+po()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/xt[e].bonus:xt[e].pp=Game.Upgrades[e].getPrice()/xt[e].bonus,Number.isNaN(xt[e].pp)&&(xt[e].pp=1/0),xt[e].color=Wo(xt[e],Game.Upgrades[e].getPrice())}))}function Do(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ve=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(De)*je*function(){let e=0;if(no("Heavenly chip secret")&&(e+=.05),no("Heavenly cookie stand")&&(e+=.2),no("Heavenly bakery")&&(e+=.25),no("Heavenly confectionery")&&(e+=.25),no("Heavenly key")&&(e+=.25),e*=1+.05*eo("Dragon God"),no("Lucky digit")&&(e*=1.01),no("Lucky number")&&(e*=1.01),no("Lucky payout")&&(e*=1.01),Game.hasGod){const t=io("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=oo("cps"),no("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];no(o.name)&&("function"==typeof o.power?e*=1+.01*Jt[o.name].power(Jt[o.name]):e*=1+.01*o.power)})),no("Specialized chocolate chips")&&(e*=1.01),no("Designer cocoa beans")&&(e*=1.02),no("Underworld ovens")&&(e*=1.03),no("Exotic nuts")&&(e*=1.04),no("Arcane sugar")&&(e*=1.05),no("Increased merriness")&&(e*=1.15),no("Improved jolliness")&&(e*=1.15),no("A lump of coal")&&(e*=1.01),no("An itchy sweater")&&(e*=1.01),no("Santa's dominion")&&(e*=1.2),no("Fortune #100")&&(e*=1.01),no("Fortune #101")&&(e*=1.07),no("Dragon scale")&&(e*=1.03);let o=1;if(io){let t=io("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=io("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=io("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=io("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=io("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}no("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Ae/25;let i=1;if(no("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*eo("Breath of Milk"),io){const e=io("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=oo("milk");let a=1;no("Kitten helpers")&&(a*=1+.1*n*i),no("Kitten workers")&&(a*=1+.125*n*i),no("Kitten engineers")&&(a*=1+.15*n*i),no("Kitten overseers")&&(a*=1+.175*n*i),no("Kitten managers")&&(a*=1+.2*n*i),no("Kitten accountants")&&(a*=1+.2*n*i),no("Kitten specialists")&&(a*=1+.2*n*i),no("Kitten experts")&&(a*=1+.2*n*i),no("Kitten consultants")&&(a*=1+.2*n*i),no("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),no("Kitten marketeers")&&(a*=1+.15*n*i),no("Kitten analysts")&&(a*=1+.125*n*i),no("Kitten executives")&&(a*=1+.115*n*i),no("Kitten angels")&&(a*=1+.1*n*i),no("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Kt).forEach((e=>{const t=Kt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&no("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),_e+=t.amount*a})),no('"egg"')&&(_e+=9),e*=a;let r=1;if(no("Chicken egg")&&(r*=1.01),no("Duck egg")&&(r*=1.01),no("Turkey egg")&&(r*=1.01),no("Quail egg")&&(r*=1.01),no("Robin egg")&&(r*=1.01),no("Ostrich egg")&&(r*=1.01),no("Cassowary egg")&&(r*=1.01),no("Salmon roe")&&(r*=1.01),no("Frogspawn")&&(r*=1.01),no("Shark egg")&&(r*=1.01),no("Turtle egg")&&(r*=1.01),no("Ant larva")&&(r*=1.01),no("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),mt=1+.1*(1-(1-e/100)**3),r*=mt}e*=r,no("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+eo("Radiant Appetite");const l=_e*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ho(Game.CpsAchievements[e].name)})),Xe=l;const{n:s}=Game.shimmerTypes.golden,c=eo("Dragon's Fortune");for(let t=0;t{no(e[o])&&(t+=.1)}))}e*=t}if(no("Shimmering veil [off]")){let t=.5;no("Reinforced membrane")&&(t+=.1),e*=1+t}no("Magic shenanigans")&&(e*=1e3),no("Occult obstruction")&&(e*=0),_e=Game.runModHookOnValue("cps",_e),e*=So(),_e*=e}const Ro=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],$o=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Io=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],zo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Vo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function _o(e){return Zt[e]?Zt[e].won:0}function Xo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{no(Game.GrandmaSynergies[t])&&(e+=1)})),!_o("Elder")&&e>=7&&Ho("Elder"),!_o("Veteran")&&e>=14&&Ho("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount,i=Math.min(Kt[e].amount,i),_o("Mathematician")||Kt[e].amount=1&&Ho("One with everything"),1===o&&Ho("Mathematician"),1===n&&Ho("Base 10"),i>=100&&Ho("Centennial"),i>=150&&Ho("Centennial and a half"),i>=200&&Ho("Bicentennial"),i>=250&&Ho("Bicentennial and a half"),i>=300&&Ho("Tricentennial"),i>=350&&Ho("Tricentennial and a half"),i>=400&&Ho("Quadricentennial"),i>=450&&Ho("Quadricentennial and a half"),i>=500&&Ho("Quincentennial"),i>=550&&Ho("Quincentennial and a half"),i>=600&&Ho("Sexcentennial"),t>=100&&Ho("Builder"),t>=500&&Ho("Architect"),t>=1e3&&Ho("Engineer"),t>=2e3&&Ho("Lord of Constructs"),t>=4e3&&Ho("Grand design"),t>=8e3&&Ho("Ecumenopolis"),We>=20&&Ho("Enhancer"),We>=50&&Ho("Augmenter"),We>=100&&Ho("Upgrader"),We>=200&&Ho("Lord of Progress"),We>=300&&Ho("The full picture"),We>=400&&Ho("When there's nothing left to add"),t>=4e3&&We>=300&&Ho("Polymath"),t>=8e3&&We>=400&&Ho("Renaissance baker"),Kt.Cursor.amount+Kt.Grandma.amount>=777&&Ho("The elder scrolls");let a=!0;Object.keys($o).forEach((e=>{no($o[e])||(a=!1)})),a&&Ho("Spooky cookies");let r=!0;if(Object.keys(Io).forEach((e=>{no(Io[e])||(r=!1)})),r&&Ho("Let it snow"),no("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{no(e[o].name)&&(t+=1)})),t>=e.length&&Ho("O Fortuna")}}function Qo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){vo(),Kt[e].amount+=t;const o=Kt[e];"Cursor"===e?(o.amount>=1&&Ho("Click"),o.amount>=2&&Ho("Double-click"),o.amount>=50&&Ho("Mouse wheel"),o.amount>=100&&Ho("Of Mice and Men"),o.amount>=200&&Ho("The Digital"),o.amount>=300&&Ho("Extreme polydactyly"),o.amount>=400&&Ho("Dr. T"),o.amount>=500&&Ho("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ho("With her finger and her thumb"),o.amount>=700&&Ho("Gotta hand it to you"),o.amount>=800&&Ho("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ho(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Ae;return Uo(),Xo(),n!==Ae&&Uo(),_e-Game.cookiesPs}(o,e),1!==e&&(Ne=1)})),t}function qo(){Object.keys(Game.Objects).forEach((e=>{ft[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),Ct[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),yt[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Yo(){ft=Qo(1),Ct=Qo(10),yt=Qo(100),xt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){vo(),"Shimmering veil [on]"===Jt[e].name?Jt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Jt[e].name?Jt["Golden switch [off]"].bought=0:Jt[e].bought=(Jt[e].bought+1)%2,Jt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(We+=1),"Elder Pledge"===e?(Le+=1,Le>0&&Ho("Elder nap"),Le>=5&&Ho("Elder slumber")):"Elder Covenant"===e?Ho("Elder calm"):"Prism heart biscuits"===e?Ho("Lovely cookies"):"Heavenly key"===e&&Ho("Wholesome");const t=Ae;Uo(),Xo(),t!==Ae&&Uo();const o=function(){let e=0;no("Thousand fingers")&&(e+=.1),no("Million fingers")&&(e*=5),no("Billion fingers")&&(e*=10),no("Trillion fingers")&&(e*=20),no("Quadrillion fingers")&&(e*=20),no("Quintillion fingers")&&(e*=20),no("Sextillion fingers")&&(e*=20),no("Septillion fingers")&&(e*=20),no("Octillion fingers")&&(e*=20),no("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount})),t-=Kt.Cursor.amount,e*=t,no("Plastic mouse")&&(e+=.01*_e),no("Iron mouse")&&(e+=.01*_e),no("Titanium mouse")&&(e+=.01*_e),no("Adamantium mouse")&&(e+=.01*_e),no("Unobtainium mouse")&&(e+=.01*_e),no("Eludium mouse")&&(e+=.01*_e),no("Wishalloy mouse")&&(e+=.01*_e),no("Fantasteel mouse")&&(e+=.01*_e),no("Nevercrack mouse")&&(e+=.01*_e),no("Armythril mouse")&&(e+=.01*_e),no("Technobsidian mouse")&&(e+=.01*_e),no("Plasmarble mouse")&&(e+=.01*_e),no("Miraculite mouse")&&(e+=.01*_e),no("Fortune #104")&&(e+=.01*_e);let o=1;if(no("Santa's helpers")&&(o*=1.1),no("Cookie egg")&&(o*=1.1),no("Halo gloves")&&(o*=1.1),no("Dragon claw")&&(o*=1.03),no("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,no("Luminous gloves")?20:10)),o*=oo("click"),Kt.Temple.minigameLoaded&&io){const e=io("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*eo("Dragon Cursor");let n=o*Game.ComputeCps(1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[_e-Game.cookiesPs,o]:[_e-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(xt[t]={bonus:Game.cookiesPs-xe},1===e.CalcWrink?xt[t].bonus-=Te:2===e.CalcWrink&&(xt[t].bonus-=Me),Number.isFinite(xt[t].bonus)||(xt[t].bonus=0)):(xt[t]={},o[0]&&(xt[t].bonus=o[0]),o[1]&&(xt[t].bonusMouse=o[1]))}))}function Ko(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Nt=Ko(7,e,dt),Bt=2*Nt[1]/dt,Et=Nt[2]/60/60/6/ct,Wt=Ko(6,e,pt),Ot=2*Wt[1]/pt,Ft=Wt[2]/60/60/6/ct,jt=Ko(7,7*e,dt),Lt=2*jt[1]/dt,At=jt[2]/60/60/6/ct,Ut=Ko(6,7*e,pt),Dt=2*Ut[1]/pt,Ht=Ut[2]/60/60/6/ct}function Zo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Be,i=Math.max(0,o-Ee)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?St+=e:"cookie"===o.pool?Pt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Mt+=e)}}))}function tn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ht=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ht*=2)}}function on(){Je=900*st/.15,Je*=ct;const e=So();e>0?Je/=e:Je=0,Ze=dt*(.15*Je)+13,et=pt*(.15*Je)+13,tt=7*Je,ot=dt*(.15*tt)+13,nt=pt*(.15*tt)+13,it=2*Je,at=.15*it,rt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountrt&&(rt=2*Game.Objects[e].price,lt=e)}))}function nn(){let e=1,t=1,o=1;no("Green yeast digestives")&&(o*=1.01),no("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),dt=o*e,pt=o*t,ct=1,0===Game.shimmerTypes.golden.n&&(ct*=1+1.23*Game.auraMult("Dragon's Fortune"))}function an(){bt=0,kt=0,Gt=[0,null];for(let e=0;eGt[0]&&(Gt=[t,e]))}}function rn(){yo(),an(),on(),nn(),Jo(),en(),tn(),me=new Oo(Y[Y.length-1]),he=new Oo(Y[Y.length-1]),ge=new Oo(Y[Y.length-1]),fe=new Oo(Y[Y.length-1]),Ce=new Oo(K[K.length-1]),ye=new Oo(5),ue=new Oo(20*K[K.length-1]),Zo(),Fo(),Yo(),qo(),jo()}const ln={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},sn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function cn(){1===e.BotBar?(l("CMBotBar").style.display="",ho()):l("CMBotBar").style.display="none",fo()}function dn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),ho(),lo(),so()}function pn(){1===e.Favicon&&y>0?It.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class un{constructor(e,t){this.type=e,this.group=t}}class mn extends un{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class hn extends un{constructor(e,t,o){super(e,t),this.desc=o}}class gn extends un{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class fn extends un{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const Cn={CPSMode:new mn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new mn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new mn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new mn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){ze=!0})),Scale:new mn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){dn()})),ScaleDecimals:new mn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){dn()})),ScaleSeparator:new mn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){dn()})),ScaleCutoff:new fn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new mn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new mn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new mn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new mn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){lo()})),PPOnlyConsiderBuyable:new mn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new mn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new mn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new fn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new hn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new hn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new hn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new hn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new hn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new hn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new hn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new hn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new hn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new mn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){cn()})),TimerBar:new mn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){Co()})),TimerBarPos:new mn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),fo()})),TimerBarOverlay:new mn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new mn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",so()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",so()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new mn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new mn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){lo()})),SortUpgrades:new mn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){so()})),DragonAuraInfo:new mn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new mn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new mn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Qt[e].l.style.left,re[e].style.top=Qt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new mn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){pn()})),WrinklerButtons:new mn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new mn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new mn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new mn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new mn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new mn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new mn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new mn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new mn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new fn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new mn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new mn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Po()})),TooltipGrim:new mn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new mn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new mn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new mn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new mn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new mn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new mn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new mn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new mn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new fn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new mn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new mn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new mn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new mn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){sn(e.GCNotification)})),GCFlash:new mn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new hn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new mn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new gn("vol","NotificationGC",[],"Volume"),GCSoundURL:new mn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new mn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){sn(e.FortuneNotification)})),FortuneFlash:new mn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new hn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new mn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new gn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new mn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new mn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){sn(e.SeaNotification)})),SeaFlash:new mn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new hn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new mn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new gn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new mn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new mn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new hn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new mn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new gn("vol","NotificationGard",[],"Volume"),GardSoundURL:new mn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new mn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){sn(e.MagicNotification)})),MagicFlash:new mn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new hn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new mn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new gn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new mn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new mn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){sn(e.WrinklerNotification)})),WrinklerFlash:new mn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new hn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new mn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new gn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new mn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new mn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){sn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new mn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new hn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new mn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new gn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new mn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new mn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new mn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function yn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function bn(){if(Ye!==Game.dragonLevel||ze){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Upgrades).forEach((e=>{Jt[e]=wo(e)})),Zt=[],Object.keys(Game.Achievements).forEach((e=>{Zt[e]=bo(e)})),vo()}let wn=!1;function vn(t,o,n){(1===e[o]||n)&&3===t&&!1===wn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){vn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){vn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){vn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function xn(t,o,n,i){if((1===e[o]||i)&&!1===wn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Tn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===wn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Mn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(cn(),Co()),go()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(Gn(),rn(),r=Object.keys(Game.mods).length),ze&&(Yo(),Game.Has("Golden switch [off]")?(vo(),Jt["Golden switch [off]"].bought=0,Uo(),st=_e):st=Game.cookiesPs,nn(),on(),en(),Jo(),bn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Yt[e][t]=kn(e,t)}(),tn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;vo();let t=2;5!==He&&18!==He||(t-=1),5!==Ue&&18!==Ue||(t-=1),He=5,Ue=18;for(let e=0;e{Kt[t].amount>0&&(e=t)})),Kt[e].amount-=1,Fe-=1}return Object.keys(Kt).forEach((t=>{const o=Kt[t];e+=ro(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),qt=e}(),ze=0);const t=Game.auraMult("Fierce Hoarder")>0;!Oe&&t?(Oe=!0,Ne=1):Oe&&!t&&(Oe=!1,Ne=1),Ne&&(qo(),Ne=0),function(){an(),jo(),function(){wt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Kt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}vt=e,wt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Fo(),Zo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Vt=de(e/co())}(),G=0,Qt={},Object.keys(Game.shimmers).forEach((e=>{Qt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(It=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Qt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),pn(),b=G,0===G&&(It=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Qt[e].l.style.opacity,re[e].style.transform=Qt[e].l.style.transform,re[e].textContent=Math.ceil(Qt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(vn(3,"FortuneFlash",!1),xn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Tn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(zt=Game.shimmers[e])})),vn(3,"SeaFlash",!1),xn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Tn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?vn(3,"WrinklerMaxFlash",!1):vn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?xn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):xn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Tn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Tn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function Sn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=ln[t]):"Header"===t&&Object.keys(ln.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=ln[t][n])}))})),o&&Pn(),Mn(),Object.keys(ln).forEach((e=>{"Header"!==e&&void 0!==Cn[e].func&&Cn[e].func()}))}else Bn(ln);Game.UpdateMenu(),Sn()}function En(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Nn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Do(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Bo(),l("tooltip").innerHTML}function On(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Fn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Pn()}function Un(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Hn(o),Game.UpdateMenu()},n.appendChild(i),n}function Rn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function $n(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function In(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Un("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+po(){Game.HasUnlocked(Vo[e])||c.push(Vo[e])})),0!==c.length&&e.appendChild(Rn("basic","Rare plant drops left to unlock",$n(c))),e}())),o.appendChild(Un("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Rt+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?gt:0)));t.appendChild(Rn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Rt+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&>?gt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/$t,1)})`,i.appendChild(a),t.appendChild(Rn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Rn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Rn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(ce(ut,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Rn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(ce(e)))),t.appendChild(Rn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(de(e/ut)))))}const l=function(e){let t=Game.cookiesPs;vo(),0===Jt["Heavenly key"].bought&&(Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,Uo(),t=_e,vo()),Rt>=1e6&&Ho("Sacrifice"),Rt>=1e9&&Ho("Oblivion"),Rt>=1e12&&Ho("From scratch"),Rt>=1e15&&Ho("Nihilism"),Rt>=1e18&&Ho("Dematerialize"),Rt>=1e21&&Ho("Nil zero zilch"),Rt>=1e24&&Ho("Transcendence"),Rt>=1e27&&Ho("Obliterate"),Rt>=1e30&&Ho("Negative void"),Rt>=1e33&&Ho("To crumbs, you say?"),Rt>=1e36&&Ho("You get nothing"),Rt>=1e39&&Ho("Humble rebeginnings"),Rt>=1e42&&Ho("The end of the world"),Rt>=1e45&&Ho("Oh, you're back"),Rt>=1e48&&Ho("Lazarus"),Rt>=1e51&&Ho("Smurf account"),Rt>=1e54&&Ho("If at first you don't succeed"),Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,De=e;const o=Ae;Uo(),Xo(),o!==Ae&&Uo();const n=_e-t;return De=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Rn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Un("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(bt)} / ${ce(kt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){En()},e.appendChild(t),o.appendChild(Rn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(Gt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},n.appendChild(i),o.appendChild(Rn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==Gt[1]?Gt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys($o).forEach((e=>{Game.Has($o[e])||(n.push($o[e]),o=!0)}));const i=[];Object.keys(Io).forEach((e=>{Game.Has(Io[e])||(i.push(Io[e]),o=!0)}));const a=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(a.push(zo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Un("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Rn("basic","Halloween cookies left to buy",$n(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Rn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Rn("basic","Christmas cookies left to buy",$n(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Rn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Rn("basic","Valentine cookies left to buy",$n(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Rn("basic","Normal easter eggs left to unlock",$n(r))),t.appendChild(Rn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Rn("basic","Rare easter eggs left to unlock",$n(l))),t.appendChild(Rn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Rn("basic","Reindeer reward",document.createTextNode(ce(ht)))),s&&t.appendChild(Rn("withTooltip","Chocolate egg cookies",document.createTextNode(ce(gt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Rn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(mt-1))/100+"%")))}return t}()),o.appendChild(Un("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Rn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(co(),3)))),o.appendChild(Rn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(Tt,1)))),o.appendChild(Rn("basic",`Cookies from clicking (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(ue.calcSum(Tt*K[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Ro).forEach((t=>{Game.Has(Ro[t])||e.push(Ro[t])})),0!==e.length&&o.appendChild(Rn("basic","Fortune Upgrades Left to Buy",$n(e)))}if(e.ShowMissedGC&&o.appendChild(Rn("basic","Missed Golden Cookies",document.createTextNode(ce(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Rn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.appendChild(i)}}}))}const zn={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Vn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function _n(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Hn(t),Game.UpdateMenu()},n.appendChild(i),n}function Xn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return se.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(e),Pn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(R.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===Cn[t].type){const n=document.createElement("a");Cn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=jn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===Cn[t].label.length?(e[t]=0,Cn[t].toggle&&(l(jn+t).className="option off")):l(jn+t).className="option",void 0!==Cn[t].func&&Cn[t].func(),l(jn+t).innerHTML=Cn[t].label[e[t]],Pn()}(t)},n.textContent=Cn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=Cn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===Cn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=Cn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Dn(t)},r.onchange=function(){Dn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){xn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${jn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Pn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=Cn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===Cn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Ln(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Sn(),Pn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=Cn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){vn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),An().init(),o}if("numscale"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="number",i.value=e[t],i.min=Cn[t].min,i.max=Cn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Pn(),dn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=Cn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Qn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function qn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),ze=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Qn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Qn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Qn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Kt[Game.ObjectsById[e].name].name;Kt[o].amount-=1,Fe-=1,t=Kt[o].basePrice*Game.priceIncrease**Math.max(0,Kt[o].amount-1-Kt[o].free),t=Game.modifyBuildingPrice(Kt[o],t),t=Math.ceil(t);break}const o=Ae;return Uo(),Xo(),o!==Ae&&Uo(),[_e-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${ce(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ke}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==An().picker&&void 0!==An().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(zn).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(_n(t,zn[t])),e.Header[t]))for(let e=0;e{const n=_n(t,Vn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Xn(e))}))})):Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Xn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Bn(ln)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",In(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Hn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=It?It.wrath?`[W${Math.ceil(It.life/Game.fps)}]`:`[G${Math.ceil(It.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(zt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;It&&(t=!0,It.wrath?e+=`[W${Math.ceil(It.life/Game.fps)}]`:e+=`[G${Math.ceil(It.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(zt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Ee<1?"Ascending now would grant you no prestige.":Ee<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Ee)} prestige levels (+${ce(Ee)}% CpS)
and ${ce(Ee)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Vt} to reach the next level and you are making ${ce(ut,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Yn(){Gn(),on(),rn(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{mo(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=uo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=uo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){En()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),On(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Wn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},qn(),Wn(),Game.CalculateGains(),Bn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Kn={init:function(){wn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Yn(),Game.registerHook("draw",Eo),Game.registerHook("logic",Mn),Game.registerHook("click",No),wn=!1)},load:function(e){const t=JSON.parse(e);Gn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Bn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:yn};Game.registerMod("CookieMonster",Kn)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index 56db8f66..dfa5ef37 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC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Cb,OACA,cACA,CACE,+BACA,8BACA,6CAEF,qGACA,GACA,WACE/lB,IAAY,KAKhBnD,MAAO,IAAIkpB,GACT,OACA,WACA,CACE,uBACA,SACA,cACA,4BACA,sBACA,wBAEF,yCACA,GACA,WACET,QAGJ3oB,cAAe,IAAIopB,GACjB,OACA,WACA,CAAC,aAAc,aAAc,cAC7B,oIACA,GACA,WACET,QAGJnoB,eAAgB,IAAI4oB,GAClB,OACA,WACA,CAAC,4BAA6B,mBAC9B,qDACA,GACA,WACET,QAGJpoB,YAAa,IAAIopB,GACf,WACA,WACA,2BACA,8KACA,EACA,WAEFxoB,WAAY,IAAIioB,GACd,OACA,WACA,CAAC,0BAA2B,uBAC5B,0BACA,GAEFjG,aAAc,IAAIiG,GAChB,OACA,WACA,CAAC,oBAAqB,oBACtB,mEACA,GACA,WAlU6B,IAA3B/tB,EAAU8nB,aAAoB3nB,KAAKmd,QAAU1a,EAC5CzC,KAAKmd,QAAU1b,EAAgB0b,WAqUpCpK,cAAe,IAAI6a,GACjB,OACA,WACA,CAAC,yBAA0B,mBAC3B,sKACA,GAIFxe,YAAa,IAAIwe,GACf,OACA,UACA,CAAC,uBAAwB,uBACzB,yBACA,GACA,WACE1e,QAGJ6R,sBAAuB,IAAI6M,GACzB,OACA,UACA,CAAC,2BAA4B,sBAC7B,0KACA,GAEFzM,aAAc,IAAIyM,GAChB,OACA,UACA,CACE,mBACA,kBACA,0BACA,gCAEF,sGACA,GAEF3M,cAAe,IAAI2M,GACjB,OACA,UACA,CAAC,mBAAoB,mBACrB,sJACA,GAEF9M,oBAAqB,IAAIqN,GACvB,WACA,UACA,oCACA,wMACA,EACA1pB,KAEF7C,WAAY,IAAIqsB,GACd,SACA,UACA,6HAEFpsB,YAAa,IAAIosB,GACf,SACA,UACA,yGAEFnsB,aAAc,IAAImsB,GAChB,SACA,UACA,qHAEFlsB,aAAc,IAAIksB,GAChB,SACA,UACA,4HAEFjsB,UAAW,IAAIisB,GACb,SACA,UACA,gHAEFhsB,aAAc,IAAIgsB,GAChB,SACA,UACA,8HAEF/rB,WAAY,IAAI+rB,GACd,SACA,UACA,w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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CacheAverageCookiesFromClicks","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","reduce","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoopHook","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","calcSum","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC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CZj1C,KAAKm1C,MAAQA,EACbn1C,KAAKo1C,KAAOA,EACZp1C,KAAKwN,IAAMA,EACXxN,KAAK0N,IAAMA,GAyBf,MA4yBmCgoC,GA5yBpB,CAEbpd,QAAS,IAAI4c,GACX,OACA,cACA,CAAC,6BAA8B,8BAC/B,kFACA,GAEFnN,WAAY,IAAImN,GACd,OACA,cACA,CACE,0BACA,0BACA,0BACA,yBACA,yBACA,0BACA,0BACA,2BAEF,4DACA,GAEF/M,cAAe,IAAI+M,GACjB,OACA,cACA,CACE,4BACA,4BACA,6BACA,6BACA,8BAEF,uDACA,GAEF3c,UAAW,IAAI2c,GACb,OACA,cACA,CACE,+BACA,8BACA,6CAEF,qGACA,GACA,WACEjmB,IAAY,KAKhBpD,MAAO,IAAIqpB,GACT,OACA,WACA,CACE,uBACA,SACA,cACA,4BACA,sBACA,wBAEF,yCACA,GACA,WACET,QAGJ9oB,cAAe,IAAIupB,GACjB,OACA,WACA,CAAC,aAAc,aAAc,cAC7B,oIACA,GACA,WACET,QAGJtoB,eAAgB,IAAI+oB,GAClB,OACA,WACA,CAAC,4BAA6B,mBAC9B,qDACA,GACA,WACET,QAGJvoB,YAAa,IAAIupB,GACf,WACA,WACA,2BACA,8KACA,EACA,WAEF3oB,WAAY,IAAIooB,GACd,OACA,WACA,CAAC,0BAA2B,uBAC5B,0BACA,GAEFjG,aAAc,IAAIiG,GAChB,OACA,WACA,CAAC,oBAAqB,oBACtB,mEACA,GACA,WAlU6B,IAA3BluB,EAAUioB,aAAoB9nB,KAAKod,QAAU3a,EAC5CzC,KAAKod,QAAU3b,EAAgB2b,WAqUpCpK,cAAe,IAAI+a,GACjB,OACA,WACA,CAAC,yBAA0B,mBAC3B,sKACA,GAIF1e,YAAa,IAAI0e,GACf,OACA,UACA,CAAC,uBAAwB,uBACzB,yBACA,GACA,WACE5e,QAGJgS,sBAAuB,IAAI4M,GACzB,OACA,UACA,CAAC,2BAA4B,sBAC7B,0KACA,GAEFxM,aAAc,IAAIwM,GAChB,OACA,UACA,CACE,mBACA,kBACA,0BACA,gCAEF,sGACA,GAEF1M,cAAe,IAAI0M,GA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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file diff --git a/src/Cache/CPS/AverageQueue.js b/src/Cache/CPS/AverageQueue.js index ec0ae71e..9313becd 100644 --- a/src/Cache/CPS/AverageQueue.js +++ b/src/Cache/CPS/AverageQueue.js @@ -50,6 +50,14 @@ export class CMAvgQueue { } return ret / time; } + + calcSum(timePeriod) { + let time = timePeriod; + if (time > this.maxLength) time = this.maxLength; + if (time > this.queue.length) time = this.queue.length; + if (time === 0) return 0; + return this.queue.slice(-time).reduce((a, b) => a + b, 0); + } } /** diff --git a/src/Cache/CacheInit.js b/src/Cache/CacheInit.js index 728ad759..4a3dfc6c 100644 --- a/src/Cache/CacheInit.js +++ b/src/Cache/CacheInit.js @@ -1,4 +1,5 @@ /* eslint-disable no-unused-vars */ +import { ClickTimes } from '../Disp/VariablesAndData'; import { CMAvgQueue, InitCookiesDiff } from './CPS/AverageQueue'; import CacheAvgCPS from './CPS/CPS'; import CacheDragonAuras from './Dragon/CacheDragonAuras'; @@ -15,7 +16,10 @@ import { CacheGoldenAndWrathCookiesMults, CacheStatsCookies, } from './Stats/Stats'; -import { HeavenlyChipsDiff } from './VariablesAndData'; +import { + CacheAverageCookiesFromClicks, + HeavenlyChipsDiff, +} from './VariablesAndData'; import CacheWrinklers from './Wrinklers/Wrinklers'; /** @@ -31,6 +35,9 @@ export default function InitCache() { CacheSeasonSpec(); InitCookiesDiff(); HeavenlyChipsDiff = new CMAvgQueue(5); // Used by CM.Cache.CacheHeavenlyChipsPS() + CacheAverageCookiesFromClicks = new CMAvgQueue( + ClickTimes[ClickTimes.length - 1] * 20, + ); CacheHeavenlyChipsPS(); CacheAvgCPS(); CacheIncome(); diff --git a/src/Cache/VariablesAndData.js b/src/Cache/VariablesAndData.js index 25df5f6e..81e80a65 100644 --- a/src/Cache/VariablesAndData.js +++ b/src/Cache/VariablesAndData.js @@ -39,6 +39,7 @@ export let CacheCurrWrinklerCount = 0; export let CacheUpgrades = {}; export let CacheAverageClicks = {}; +export let CacheAverageCookiesFromClicks; export let CacheMissingUpgrades = {}; export let CacheMissingUpgradesPrestige = {}; diff --git a/src/Config/SaveLoadReload/SaveLoadReloadSettings.js b/src/Config/SaveLoadReload/SaveLoadReloadSettings.js index b811e0d2..724d263f 100644 --- a/src/Config/SaveLoadReload/SaveLoadReloadSettings.js +++ b/src/Config/SaveLoadReload/SaveLoadReloadSettings.js @@ -2,7 +2,7 @@ import ConfigDefault from '../../Data/SettingsDefault'; import ConfigData from '../../Data/SettingsData'; import { CMOptions } from '../VariablesAndData'; import save from '../../InitSaveLoad/save'; -import CMLoop from '../../Main/Loop'; +import CMLoopHook from '../../Main/LoopHook'; import UpdateColours from '../../Disp/HelperFunctions/UpdateColours'; /** Functions related to saving, loading and restoring all settings */ @@ -68,7 +68,7 @@ export function LoadConfig(settings) { } }); if (mod) SaveConfig(); - CMLoop(); // Do loop once + CMLoopHook(); // Do loop once Object.keys(ConfigDefault).forEach((i) => { if (i !== 'Header' && typeof ConfigData[i].func !== 'undefined') { ConfigData[i].func(); diff --git a/src/Disp/MenuSections/Statistics/AddStatsPage.js b/src/Disp/MenuSections/Statistics/AddStatsPage.js index 8fc65fa6..f68e2840 100644 --- a/src/Disp/MenuSections/Statistics/AddStatsPage.js +++ b/src/Disp/MenuSections/Statistics/AddStatsPage.js @@ -8,6 +8,7 @@ import { CMOptions } from '../../../Config/VariablesAndData'; import { CacheAverageClicks, + CacheAverageCookiesFromClicks, CacheWrinklersFattest, CacheWrinklersNormal, CacheWrinklersTotal, @@ -132,6 +133,21 @@ export default function AddMenuStats(title) { document.createTextNode(Beautify(CacheAverageClicks, 1)), ), ); + stats.appendChild( + CreateElements.StatsListing( + 'basic', + `Cookies from clicking (Past ${ClickTimes[CMOptions.AvgClicksHist]}${ + CMOptions.AvgClicksHist === 0 ? ' second' : ' seconds' + })`, + document.createTextNode( + Beautify( + CacheAverageCookiesFromClicks.calcSum( + CacheAverageClicks * ClickTimes[CMOptions.AvgClicksHist], + ), + ), + ), + ), + ); if (Game.Has('Fortune cookies')) { const fortunes = []; Object.keys(GameData.Fortunes).forEach((i) => { diff --git a/src/InitSaveLoad/init.js b/src/InitSaveLoad/init.js index 3a8fa492..14c27762 100644 --- a/src/InitSaveLoad/init.js +++ b/src/InitSaveLoad/init.js @@ -1,8 +1,9 @@ /* eslint-disable no-unused-vars */ import { VersionMajor, VersionMinor } from '../Data/Moddata'; import Draw from '../Disp/Draw'; +import CMClickHook from '../Main/ClickHook'; import InitializeCookieMonster from '../Main/Initialization'; -import CMLoop from '../Main/Loop'; +import CMLoopHook from '../Main/LoopHook'; import { isInitializing } from './Variables'; /** @@ -22,7 +23,8 @@ export default function init() { if (proceed) { InitializeCookieMonster(); Game.registerHook('draw', Draw); - Game.registerHook('logic', CMLoop); + Game.registerHook('logic', CMLoopHook); + Game.registerHook('click', CMClickHook); isInitializing = false; } } diff --git a/src/Main/ClickHook.js b/src/Main/ClickHook.js new file mode 100644 index 00000000..0bb9d1d3 --- /dev/null +++ b/src/Main/ClickHook.js @@ -0,0 +1,6 @@ +import { CacheAverageCookiesFromClicks } from '../Cache/VariablesAndData'; + +export default function CMClickHook() { + // Add cookies from click to array that stores average + CacheAverageCookiesFromClicks.addLatest(Game.computedMouseCps); +} diff --git a/src/Main/Loop.js b/src/Main/LoopHook.js similarity index 98% rename from src/Main/Loop.js rename to src/Main/LoopHook.js index b16e1c8a..5ce57d77 100644 --- a/src/Main/Loop.js +++ b/src/Main/LoopHook.js @@ -35,7 +35,7 @@ import { LastModCount } from './VariablesAndData'; * Main loop of Cookie Monster * CM.init registers it to the "logic" hook provided by the modding api */ -export default function CMLoop() { +export default function CMLoopHook() { if (LastAscendState !== Game.OnAscend) { LastAscendState = Game.OnAscend; UpdateAscendState(); From e482a62fe848e6f3f0b78ae5e4b160dd7f47b123 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Sat, 3 Apr 2021 16:11:34 +0200 Subject: [PATCH 18/30] Updated npm and dependencies --- package-lock.json | 1873 ++++++++++++++++++++++++++++++++++----------- 1 file changed, 1430 insertions(+), 443 deletions(-) diff --git a/package-lock.json b/package-lock.json index 59d911ed..13a7f4ff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,21 +25,24 @@ }, "node_modules/@babel/code-frame": { "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/highlight": "^7.10.4" } }, "node_modules/@babel/helper-validator-identifier": { "version": "7.12.11", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true }, "node_modules/@babel/highlight": { "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", + "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.12.11", "chalk": "^2.0.0", @@ -48,8 +51,9 @@ }, "node_modules/@babel/highlight/node_modules/ansi-styles": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -59,8 +63,9 @@ }, "node_modules/@babel/highlight/node_modules/chalk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -72,29 +77,33 @@ }, "node_modules/@babel/highlight/node_modules/color-convert": { "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/@babel/highlight/node_modules/color-name": { "version": "1.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true }, "node_modules/@babel/highlight/node_modules/has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@babel/highlight/node_modules/supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -104,20 +113,23 @@ }, "node_modules/@discoveryjs/json-ext": { "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz", + "integrity": "sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==", "dev": true, - "license": "MIT", "engines": { "node": ">=10.0.0" } }, "node_modules/@eastdesire/jscolor": { "version": "2.4.5", - "license": "GPL-3.0-or-later" + "resolved": "https://registry.npmjs.org/@eastdesire/jscolor/-/jscolor-2.4.5.tgz", + "integrity": "sha512-LDCEGN7qKKO3tq6yYtx6cbz/tQlr9LqKNSFaG2GIIn03y67ot3doucpDGoQjCwXG2xUB4pDXRuH2lobjjxhtJA==" }, "node_modules/@eslint/eslintrc": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.0.tgz", + "integrity": "sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog==", "dev": true, - "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.1.1", @@ -135,8 +147,9 @@ }, "node_modules/@eslint/eslintrc/node_modules/globals": { "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", "dev": true, - "license": "MIT", "dependencies": { "type-fest": "^0.8.1" }, @@ -149,16 +162,18 @@ }, "node_modules/@eslint/eslintrc/node_modules/type-fest": { "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } }, "node_modules/@types/eslint": { - "version": "7.2.7", + "version": "7.2.8", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.8.tgz", + "integrity": "sha512-RTKvBsfz0T8CKOGZMfuluDNyMFHnu5lvNr4hWEsQeHXH6FcmIDIozOyWMh36nLGMwVd5UFNXC2xztA8lln22MQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" @@ -166,8 +181,9 @@ }, "node_modules/@types/eslint-scope": { "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.0.tgz", + "integrity": "sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==", "dev": true, - "license": "MIT", "dependencies": { "@types/eslint": "*", "@types/estree": "*" @@ -175,28 +191,33 @@ }, "node_modules/@types/estree": { "version": "0.0.46", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.46.tgz", + "integrity": "sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==", + "dev": true }, "node_modules/@types/json-schema": { "version": "7.0.7", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", + "dev": true }, "node_modules/@types/json5": { "version": "0.0.29", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", + "dev": true }, "node_modules/@types/node": { - "version": "14.14.35", - "dev": true, - "license": "MIT" + "version": "14.14.37", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.37.tgz", + "integrity": "sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==", + "dev": true }, "node_modules/@webassemblyjs/ast": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.0.tgz", + "integrity": "sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/helper-numbers": "1.11.0", "@webassemblyjs/helper-wasm-bytecode": "1.11.0" @@ -204,23 +225,27 @@ }, "node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.11.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz", + "integrity": "sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA==", + "dev": true }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.11.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz", + "integrity": "sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w==", + "dev": true }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.11.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz", + "integrity": "sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA==", + "dev": true }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz", + "integrity": "sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.0", "@webassemblyjs/helper-api-error": "1.11.0", @@ -229,13 +254,15 @@ }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz", + "integrity": "sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA==", + "dev": true }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz", + "integrity": "sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.0", "@webassemblyjs/helper-buffer": "1.11.0", @@ -245,29 +272,33 @@ }, "node_modules/@webassemblyjs/ieee754": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz", + "integrity": "sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA==", "dev": true, - "license": "MIT", "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.0.tgz", + "integrity": "sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { "version": "1.11.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.0.tgz", + "integrity": "sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw==", + "dev": true }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz", + "integrity": "sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.0", "@webassemblyjs/helper-buffer": "1.11.0", @@ -281,8 +312,9 @@ }, "node_modules/@webassemblyjs/wasm-gen": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz", + "integrity": "sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.0", "@webassemblyjs/helper-wasm-bytecode": "1.11.0", @@ -293,8 +325,9 @@ }, "node_modules/@webassemblyjs/wasm-opt": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz", + "integrity": "sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.0", "@webassemblyjs/helper-buffer": "1.11.0", @@ -304,8 +337,9 @@ }, "node_modules/@webassemblyjs/wasm-parser": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz", + "integrity": "sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.0", "@webassemblyjs/helper-api-error": "1.11.0", @@ -317,26 +351,29 @@ }, "node_modules/@webassemblyjs/wast-printer": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz", + "integrity": "sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.0", "@xtuc/long": "4.2.2" } }, "node_modules/@webpack-cli/configtest": { - "version": "1.0.1", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.2.tgz", + "integrity": "sha512-3OBzV2fBGZ5TBfdW50cha1lHDVf9vlvRXnjpVbJBa20pSZQaSkMJZiwA8V2vD9ogyeXn8nU5s5A6mHyf5jhMzA==", "dev": true, - "license": "MIT", "peerDependencies": { "webpack": "4.x.x || 5.x.x", "webpack-cli": "4.x.x" } }, "node_modules/@webpack-cli/info": { - "version": "1.2.2", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.2.3.tgz", + "integrity": "sha512-lLek3/T7u40lTqzCGpC6CAbY6+vXhdhmwFRxZLMnRm6/sIF/7qMpT8MocXCRQfz0JAh63wpbXLMnsQ5162WS7Q==", "dev": true, - "license": "MIT", "dependencies": { "envinfo": "^7.7.3" }, @@ -345,9 +382,10 @@ } }, "node_modules/@webpack-cli/serve": { - "version": "1.3.0", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.3.1.tgz", + "integrity": "sha512-0qXvpeYO6vaNoRBI52/UsbcaBydJCggoBBnIo/ovQQdn6fug0BgwsjorV1hVS7fMqGVTZGcVxv8334gjmbj5hw==", "dev": true, - "license": "MIT", "peerDependencies": { "webpack-cli": "4.x.x" }, @@ -359,18 +397,21 @@ }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true }, "node_modules/@xtuc/long": { "version": "4.2.2", - "dev": true, - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true }, "node_modules/acorn": { "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true, - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -380,16 +421,18 @@ }, "node_modules/acorn-jsx": { "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", "dev": true, - "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "node_modules/ajv": { "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -403,32 +446,36 @@ }, "node_modules/ajv-keywords": { "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, - "license": "MIT", "peerDependencies": { "ajv": "^6.9.1" } }, "node_modules/ansi-colors": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/ansi-regex": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -441,16 +488,18 @@ }, "node_modules/argparse": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, - "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } }, "node_modules/array-includes": { "version": "3.1.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", + "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", @@ -467,8 +516,9 @@ }, "node_modules/array.prototype.flat": { "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", + "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", @@ -483,21 +533,24 @@ }, "node_modules/astral-regex": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/balanced-match": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true }, "node_modules/brace-expansion": { "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -505,8 +558,9 @@ }, "node_modules/browserslist": { "version": "4.16.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", "dev": true, - "license": "MIT", "dependencies": { "caniuse-lite": "^1.0.30001181", "colorette": "^1.2.1", @@ -527,13 +581,15 @@ }, "node_modules/buffer-from": { "version": "1.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true }, "node_modules/call-bind": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, - "license": "MIT", "dependencies": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" @@ -544,21 +600,24 @@ }, "node_modules/callsites": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/caniuse-lite": { - "version": "1.0.30001202", - "dev": true, - "license": "CC-BY-4.0" + "version": "1.0.30001205", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001205.tgz", + "integrity": "sha512-TL1GrS5V6LElbitPazidkBMD9sa448bQDDLrumDqaggmKFcuU2JW1wTOHJPukAcOMtEmLcmDJEzfRrf+GjM0Og==", + "dev": true }, "node_modules/chalk": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -572,8 +631,9 @@ }, "node_modules/chrome-trace-event": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", "dev": true, - "license": "MIT", "dependencies": { "tslib": "^1.9.0" }, @@ -583,8 +643,9 @@ }, "node_modules/clone-deep": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, - "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", @@ -596,8 +657,9 @@ }, "node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -607,41 +669,48 @@ }, "node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/colorette": { "version": "1.2.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", + "dev": true }, "node_modules/commander": { "version": "2.20.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true }, "node_modules/concat-map": { "version": "0.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true }, "node_modules/confusing-browser-globals": { "version": "1.0.10", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz", + "integrity": "sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==", + "dev": true }, "node_modules/contains-path": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/cross-spawn": { "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, - "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -653,8 +722,9 @@ }, "node_modules/debug": { "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -669,13 +739,15 @@ }, "node_modules/deep-is": { "version": "0.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true }, "node_modules/define-properties": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, - "license": "MIT", "dependencies": { "object-keys": "^1.0.12" }, @@ -685,8 +757,9 @@ }, "node_modules/doctrine": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, - "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -695,19 +768,22 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.3.690", - "dev": true, - "license": "ISC" + "version": "1.3.707", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.707.tgz", + "integrity": "sha512-BqddgxNPrcWnbDdJw7SzXVzPmp+oiyjVrc7tkQVaznPGSS9SKZatw6qxoP857M+HbOyyqJQwYQtsuFIMSTNSZA==", + "dev": true }, "node_modules/emoji-regex": { "version": "8.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, "node_modules/enhanced-resolve": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz", + "integrity": "sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw==", "dev": true, - "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -718,8 +794,9 @@ }, "node_modules/enquirer": { "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dev": true, - "license": "MIT", "dependencies": { "ansi-colors": "^4.1.1" }, @@ -729,8 +806,9 @@ }, "node_modules/envinfo": { "version": "7.7.4", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.4.tgz", + "integrity": "sha512-TQXTYFVVwwluWSFis6K2XKxgrD22jEv0FTuLCQI+OjH7rn93+iY0fSSFM5lrSxFY+H1+B0/cvvlamr3UsBivdQ==", "dev": true, - "license": "MIT", "bin": { "envinfo": "dist/cli.js" }, @@ -740,16 +818,18 @@ }, "node_modules/error-ex": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, - "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } }, "node_modules/es-abstract": { "version": "1.18.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", + "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", @@ -777,13 +857,15 @@ }, "node_modules/es-module-lexer": { "version": "0.4.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.4.1.tgz", + "integrity": "sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==", + "dev": true }, "node_modules/es-to-primitive": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, - "license": "MIT", "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -798,24 +880,27 @@ }, "node_modules/escalade": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/escape-string-regexp": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/eslint": { - "version": "7.22.0", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.23.0.tgz", + "integrity": "sha512-kqvNVbdkjzpFy0XOszNwjkKzZ+6TcwCQ/h+ozlcIWwaimBBuhlQ4nN6kbiM2L+OjDcznkTJxzYfRFH92sx4a0Q==", "dev": true, - "license": "MIT", "dependencies": { "@babel/code-frame": "7.12.11", "@eslint/eslintrc": "^0.4.0", @@ -867,8 +952,9 @@ }, "node_modules/eslint-config-airbnb-base": { "version": "14.2.1", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.1.tgz", + "integrity": "sha512-GOrQyDtVEc1Xy20U7vsB2yAoB4nBlfH5HZJeatRXHleO+OS5Ot+MWij4Dpltw4/DyIkqUfqz1epfhVR5XWWQPA==", "dev": true, - "license": "MIT", "dependencies": { "confusing-browser-globals": "^1.0.10", "object.assign": "^4.1.2", @@ -884,8 +970,9 @@ }, "node_modules/eslint-config-prettier": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.1.0.tgz", + "integrity": "sha512-oKMhGv3ihGbCIimCAjqkdzx2Q+jthoqnXSP+d86M9tptwugycmTFdVR4IpLgq2c4SHifbwO90z2fQ8/Aio73yw==", "dev": true, - "license": "MIT", "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -895,8 +982,9 @@ }, "node_modules/eslint-import-resolver-node": { "version": "0.3.4", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", + "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", "dev": true, - "license": "MIT", "dependencies": { "debug": "^2.6.9", "resolve": "^1.13.1" @@ -904,21 +992,24 @@ }, "node_modules/eslint-import-resolver-node/node_modules/debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/eslint-import-resolver-node/node_modules/ms": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true }, "node_modules/eslint-module-utils": { "version": "2.6.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", + "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", "dev": true, - "license": "MIT", "dependencies": { "debug": "^2.6.9", "pkg-dir": "^2.0.0" @@ -929,21 +1020,24 @@ }, "node_modules/eslint-module-utils/node_modules/debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/eslint-module-utils/node_modules/ms": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true }, "node_modules/eslint-plugin-import": { "version": "2.22.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", + "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", "dev": true, - "license": "MIT", "dependencies": { "array-includes": "^3.1.1", "array.prototype.flat": "^1.2.3", @@ -968,14 +1062,17 @@ }, "node_modules/eslint-plugin-import/node_modules/debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/eslint-plugin-import/node_modules/doctrine": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", "dev": true, "dependencies": { "esutils": "^2.0.2", @@ -987,13 +1084,15 @@ }, "node_modules/eslint-plugin-import/node_modules/ms": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true }, "node_modules/eslint-plugin-prettier": { "version": "3.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.3.1.tgz", + "integrity": "sha512-Rq3jkcFY8RYeQLgk2cCwuc0P7SEFwDravPhsJZOQ5N4YI4DSg50NyqJ/9gdZHzQlHf8MvafSesbNJCcP/FF6pQ==", "dev": true, - "license": "MIT", "dependencies": { "prettier-linter-helpers": "^1.0.0" }, @@ -1012,8 +1111,9 @@ }, "node_modules/eslint-scope": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -1024,8 +1124,9 @@ }, "node_modules/eslint-utils": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, - "license": "MIT", "dependencies": { "eslint-visitor-keys": "^1.1.0" }, @@ -1038,24 +1139,27 @@ }, "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=4" } }, "node_modules/eslint-visitor-keys": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=10" } }, "node_modules/espree": { "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "acorn": "^7.4.0", "acorn-jsx": "^5.3.1", @@ -1067,16 +1171,18 @@ }, "node_modules/espree/node_modules/eslint-visitor-keys": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=4" } }, "node_modules/esprima": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, - "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -1087,8 +1193,9 @@ }, "node_modules/esquery": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -1098,16 +1205,18 @@ }, "node_modules/esquery/node_modules/estraverse": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/esrecurse": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -1117,40 +1226,45 @@ }, "node_modules/esrecurse/node_modules/estraverse": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/estraverse": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/esutils": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/events": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.x" } }, "node_modules/execa": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", + "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", "dev": true, - "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -1171,33 +1285,39 @@ }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true }, "node_modules/fast-diff": { "version": "1.2.0", - "dev": true, - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true }, "node_modules/fast-levenshtein": { "version": "2.0.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true }, "node_modules/fastest-levenshtein": { "version": "1.0.12", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", + "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", + "dev": true }, "node_modules/file-entry-cache": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, - "license": "MIT", "dependencies": { "flat-cache": "^3.0.4" }, @@ -1207,8 +1327,9 @@ }, "node_modules/find-up": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^2.0.0" }, @@ -1218,8 +1339,9 @@ }, "node_modules/flat-cache": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, - "license": "MIT", "dependencies": { "flatted": "^3.1.0", "rimraf": "^3.0.2" @@ -1230,28 +1352,33 @@ }, "node_modules/flatted": { "version": "3.1.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", + "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", + "dev": true }, "node_modules/fs.realpath": { "version": "1.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true }, "node_modules/function-bind": { "version": "1.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true }, "node_modules/functional-red-black-tree": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true }, "node_modules/get-intrinsic": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", "dev": true, - "license": "MIT", "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -1263,8 +1390,9 @@ }, "node_modules/get-stream": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz", + "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -1274,8 +1402,9 @@ }, "node_modules/glob": { "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -1293,8 +1422,9 @@ }, "node_modules/glob-parent": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -1304,13 +1434,15 @@ }, "node_modules/glob-to-regexp": { "version": "0.4.1", - "dev": true, - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true }, "node_modules/globals": { - "version": "13.6.0", + "version": "13.7.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.7.0.tgz", + "integrity": "sha512-Aipsz6ZKRxa/xQkZhNg0qIWXT6x6rD46f6x/PCnBomlttdIyAPak4YD9jTmKpZ72uROSMU87qJtcgpgHaVchiA==", "dev": true, - "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -1323,13 +1455,15 @@ }, "node_modules/graceful-fs": { "version": "4.2.6", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "dev": true }, "node_modules/has": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, - "license": "MIT", "dependencies": { "function-bind": "^1.1.1" }, @@ -1339,24 +1473,27 @@ }, "node_modules/has-bigints": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/has-symbols": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -1366,29 +1503,33 @@ }, "node_modules/hosted-git-info": { "version": "2.8.8", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "dev": true }, "node_modules/human-signals": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } }, "node_modules/ignore": { "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/import-fresh": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, - "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -1402,8 +1543,9 @@ }, "node_modules/import-local": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", "dev": true, - "license": "MIT", "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -1417,8 +1559,9 @@ }, "node_modules/import-local/node_modules/find-up": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -1429,8 +1572,9 @@ }, "node_modules/import-local/node_modules/locate-path": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -1440,8 +1584,9 @@ }, "node_modules/import-local/node_modules/p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, - "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -1454,8 +1599,9 @@ }, "node_modules/import-local/node_modules/p-locate": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -1465,24 +1611,27 @@ }, "node_modules/import-local/node_modules/p-try": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/import-local/node_modules/path-exists": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/import-local/node_modules/pkg-dir": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -1492,16 +1641,18 @@ }, "node_modules/imurmurhash": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.19" } }, "node_modules/inflight": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, - "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -1509,34 +1660,39 @@ }, "node_modules/inherits": { "version": "2.0.4", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "node_modules/interpret": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.10" } }, "node_modules/is-arrayish": { "version": "0.2.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true }, "node_modules/is-bigint": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz", + "integrity": "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-boolean-object": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz", + "integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.0" }, @@ -1549,8 +1705,9 @@ }, "node_modules/is-callable": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -1560,8 +1717,9 @@ }, "node_modules/is-core-module": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", "dev": true, - "license": "MIT", "dependencies": { "has": "^1.0.3" }, @@ -1571,8 +1729,9 @@ }, "node_modules/is-date-object": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -1582,24 +1741,27 @@ }, "node_modules/is-extglob": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-glob": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "dev": true, - "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -1609,8 +1771,9 @@ }, "node_modules/is-negative-zero": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -1620,8 +1783,9 @@ }, "node_modules/is-number-object": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", + "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -1631,8 +1795,9 @@ }, "node_modules/is-plain-object": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, - "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -1642,8 +1807,9 @@ }, "node_modules/is-regex": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-symbols": "^1.0.1" @@ -1657,16 +1823,18 @@ }, "node_modules/is-stream": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-string": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -1676,8 +1844,9 @@ }, "node_modules/is-symbol": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", "dev": true, - "license": "MIT", "dependencies": { "has-symbols": "^1.0.1" }, @@ -1690,26 +1859,30 @@ }, "node_modules/isarray": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true }, "node_modules/isexe": { "version": "2.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true }, "node_modules/isobject": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/jest-worker": { "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -1721,13 +1894,15 @@ }, "node_modules/js-tokens": { "version": "4.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true }, "node_modules/js-yaml": { "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, - "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -1738,23 +1913,27 @@ }, "node_modules/json-parse-better-errors": { "version": "1.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true }, "node_modules/json-schema-traverse": { "version": "0.4.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true }, "node_modules/json5": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", "dev": true, - "license": "MIT", "dependencies": { "minimist": "^1.2.0" }, @@ -1764,16 +1943,18 @@ }, "node_modules/kind-of": { "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/levn": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, - "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -1784,8 +1965,9 @@ }, "node_modules/load-json-file": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, - "license": "MIT", "dependencies": { "graceful-fs": "^4.1.2", "parse-json": "^4.0.0", @@ -1798,16 +1980,18 @@ }, "node_modules/loader-runner": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", + "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.11.5" } }, "node_modules/locate-path": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" @@ -1818,13 +2002,33 @@ }, "node_modules/lodash": { "version": "4.17.21", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "node_modules/lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", + "dev": true + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true }, "node_modules/lru-cache": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -1834,6 +2038,8 @@ }, "node_modules/memorystream": { "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", "dev": true, "engines": { "node": ">= 0.10.0" @@ -1841,23 +2047,26 @@ }, "node_modules/merge-stream": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true }, "node_modules/mime-db": { - "version": "1.46.0", + "version": "1.47.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", + "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.29", + "version": "2.1.30", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", + "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", "dev": true, - "license": "MIT", "dependencies": { - "mime-db": "1.46.0" + "mime-db": "1.47.0" }, "engines": { "node": ">= 0.6" @@ -1865,16 +2074,18 @@ }, "node_modules/mimic-fn": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/minimatch": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -1884,38 +2095,45 @@ }, "node_modules/minimist": { "version": "1.2.5", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true }, "node_modules/ms": { "version": "2.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "node_modules/natural-compare": { "version": "1.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true }, "node_modules/neo-async": { "version": "2.6.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true }, "node_modules/nice-try": { "version": "1.0.5", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true }, "node_modules/node-releases": { "version": "1.1.71", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", + "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", + "dev": true }, "node_modules/normalize-package-data": { "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -1925,16 +2143,18 @@ }, "node_modules/normalize-package-data/node_modules/semver": { "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/npm-run-all": { "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "chalk": "^2.4.1", @@ -1957,8 +2177,9 @@ }, "node_modules/npm-run-all/node_modules/ansi-styles": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -1968,8 +2189,9 @@ }, "node_modules/npm-run-all/node_modules/chalk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -1981,21 +2203,24 @@ }, "node_modules/npm-run-all/node_modules/color-convert": { "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/npm-run-all/node_modules/color-name": { "version": "1.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true }, "node_modules/npm-run-all/node_modules/cross-spawn": { "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, - "license": "MIT", "dependencies": { "nice-try": "^1.0.4", "path-key": "^2.0.1", @@ -2009,32 +2234,36 @@ }, "node_modules/npm-run-all/node_modules/has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/npm-run-all/node_modules/path-key": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/npm-run-all/node_modules/semver": { "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/npm-run-all/node_modules/shebang-command": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, - "license": "MIT", "dependencies": { "shebang-regex": "^1.0.0" }, @@ -2044,16 +2273,18 @@ }, "node_modules/npm-run-all/node_modules/shebang-regex": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/npm-run-all/node_modules/supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -2063,8 +2294,9 @@ }, "node_modules/npm-run-all/node_modules/which": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, - "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -2074,8 +2306,9 @@ }, "node_modules/npm-run-path": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, - "license": "MIT", "dependencies": { "path-key": "^3.0.0" }, @@ -2085,24 +2318,27 @@ }, "node_modules/object-inspect": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object-keys": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/object.assign": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", @@ -2118,8 +2354,9 @@ }, "node_modules/object.entries": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.3.tgz", + "integrity": "sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", @@ -2132,8 +2369,9 @@ }, "node_modules/object.values": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.3.tgz", + "integrity": "sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", @@ -2149,16 +2387,18 @@ }, "node_modules/once": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, - "license": "ISC", "dependencies": { "wrappy": "1" } }, "node_modules/onetime": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, - "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -2171,8 +2411,9 @@ }, "node_modules/optionator": { "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", "dev": true, - "license": "MIT", "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", @@ -2187,8 +2428,9 @@ }, "node_modules/p-limit": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, - "license": "MIT", "dependencies": { "p-try": "^1.0.0" }, @@ -2198,8 +2440,9 @@ }, "node_modules/p-locate": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^1.1.0" }, @@ -2209,16 +2452,18 @@ }, "node_modules/p-try": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/parent-module": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, - "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -2228,8 +2473,9 @@ }, "node_modules/parse-json": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, - "license": "MIT", "dependencies": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" @@ -2240,37 +2486,42 @@ }, "node_modules/path-exists": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/path-is-absolute": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/path-key": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-parse": { "version": "1.0.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true }, "node_modules/path-type": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, - "license": "MIT", "dependencies": { "pify": "^3.0.0" }, @@ -2280,8 +2531,9 @@ }, "node_modules/pidtree": { "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", + "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", "dev": true, - "license": "MIT", "bin": { "pidtree": "bin/pidtree.js" }, @@ -2291,16 +2543,18 @@ }, "node_modules/pify": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/pkg-dir": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^2.1.0" }, @@ -2310,16 +2564,18 @@ }, "node_modules/prelude-ls": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8.0" } }, "node_modules/prettier": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", + "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", "dev": true, - "license": "MIT", "bin": { "prettier": "bin-prettier.js" }, @@ -2329,8 +2585,9 @@ }, "node_modules/prettier-linter-helpers": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", "dev": true, - "license": "MIT", "dependencies": { "fast-diff": "^1.1.2" }, @@ -2340,32 +2597,36 @@ }, "node_modules/progress": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/punycode": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/randombytes": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, - "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } }, "node_modules/read-pkg": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", "dev": true, - "license": "MIT", "dependencies": { "load-json-file": "^4.0.0", "normalize-package-data": "^2.3.2", @@ -2377,8 +2638,9 @@ }, "node_modules/read-pkg-up": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^2.0.0", "read-pkg": "^2.0.0" @@ -2389,8 +2651,9 @@ }, "node_modules/read-pkg-up/node_modules/load-json-file": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, - "license": "MIT", "dependencies": { "graceful-fs": "^4.1.2", "parse-json": "^2.2.0", @@ -2403,8 +2666,9 @@ }, "node_modules/read-pkg-up/node_modules/parse-json": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, - "license": "MIT", "dependencies": { "error-ex": "^1.2.0" }, @@ -2414,8 +2678,9 @@ }, "node_modules/read-pkg-up/node_modules/path-type": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, - "license": "MIT", "dependencies": { "pify": "^2.0.0" }, @@ -2425,16 +2690,18 @@ }, "node_modules/read-pkg-up/node_modules/pify": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/read-pkg-up/node_modules/read-pkg": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, - "license": "MIT", "dependencies": { "load-json-file": "^2.0.0", "normalize-package-data": "^2.3.2", @@ -2446,8 +2713,9 @@ }, "node_modules/rechoir": { "version": "0.7.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz", + "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==", "dev": true, - "license": "MIT", "dependencies": { "resolve": "^1.9.0" }, @@ -2457,8 +2725,9 @@ }, "node_modules/regexpp": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" }, @@ -2468,16 +2737,18 @@ }, "node_modules/require-from-string": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/resolve": { "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "dev": true, - "license": "MIT", "dependencies": { "is-core-module": "^2.2.0", "path-parse": "^1.0.6" @@ -2488,8 +2759,9 @@ }, "node_modules/resolve-cwd": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, - "license": "MIT", "dependencies": { "resolve-from": "^5.0.0" }, @@ -2499,24 +2771,27 @@ }, "node_modules/resolve-cwd/node_modules/resolve-from": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/resolve-from": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/rimraf": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, - "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -2529,6 +2804,8 @@ }, "node_modules/safe-buffer": { "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, "funding": [ { @@ -2543,13 +2820,13 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/schema-utils": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", "dev": true, - "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.6", "ajv": "^6.12.5", @@ -2564,9 +2841,10 @@ } }, "node_modules/semver": { - "version": "7.3.4", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, - "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -2579,16 +2857,18 @@ }, "node_modules/serialize-javascript": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } }, "node_modules/shallow-clone": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^6.0.2" }, @@ -2598,8 +2878,9 @@ }, "node_modules/shebang-command": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -2609,26 +2890,30 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/shell-quote": { "version": "1.7.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", + "dev": true }, "node_modules/signal-exit": { "version": "3.0.3", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true }, "node_modules/slice-ansi": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", @@ -2643,21 +2928,24 @@ }, "node_modules/source-list-map": { "version": "2.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true }, "node_modules/source-map": { "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-support": { "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", "dev": true, - "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -2665,8 +2953,9 @@ }, "node_modules/spdx-correct": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "dev": true, - "license": "Apache-2.0", "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" @@ -2674,13 +2963,15 @@ }, "node_modules/spdx-exceptions": { "version": "2.3.0", - "dev": true, - "license": "CC-BY-3.0" + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true }, "node_modules/spdx-expression-parse": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, - "license": "MIT", "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -2688,18 +2979,21 @@ }, "node_modules/spdx-license-ids": { "version": "3.0.7", - "dev": true, - "license": "CC0-1.0" + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", + "dev": true }, "node_modules/sprintf-js": { "version": "1.0.3", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true }, "node_modules/string-width": { "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", "dev": true, - "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -2711,8 +3005,9 @@ }, "node_modules/string.prototype.padend": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz", + "integrity": "sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", @@ -2727,8 +3022,9 @@ }, "node_modules/string.prototype.trimend": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" @@ -2739,8 +3035,9 @@ }, "node_modules/string.prototype.trimstart": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" @@ -2751,8 +3048,9 @@ }, "node_modules/strip-ansi": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, - "license": "MIT", "dependencies": { "ansi-regex": "^5.0.0" }, @@ -2762,24 +3060,27 @@ }, "node_modules/strip-bom": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/strip-final-newline": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/strip-json-comments": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" }, @@ -2789,8 +3090,9 @@ }, "node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -2799,12 +3101,18 @@ } }, "node_modules/table": { - "version": "6.0.7", + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/table/-/table-6.0.9.tgz", + "integrity": "sha512-F3cLs9a3hL1Z7N4+EkSscsel3z55XT950AvB05bwayrNg5T1/gykXtigioTAjbltvbMSJvvhFCbnf6mX+ntnJQ==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { - "ajv": "^7.0.2", - "lodash": "^4.17.20", + "ajv": "^8.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "lodash.clonedeep": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.truncate": "^4.4.2", "slice-ansi": "^4.0.0", "string-width": "^4.2.0" }, @@ -2813,9 +3121,10 @@ } }, "node_modules/table/node_modules/ajv": { - "version": "7.2.1", + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.0.5.tgz", + "integrity": "sha512-RkiLa/AeJx7+9OvniQ/qeWu0w74A8DiPPBclQ6ji3ZQkv5KamO+QGpqmi7O4JIw3rHGUXZ6CoP9tsAkn3gyazg==", "dev": true, - "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -2829,21 +3138,24 @@ }, "node_modules/table/node_modules/json-schema-traverse": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true }, "node_modules/tapable": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", + "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/terser": { - "version": "5.6.0", + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.6.1.tgz", + "integrity": "sha512-yv9YLFQQ+3ZqgWCUk+pvNJwgUTdlIxUk1WTN+RnaFJe2L7ipG2csPT0ra2XRm7Cs8cxN7QXmK1rFzEwYEQkzXw==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "commander": "^2.20.0", "source-map": "~0.7.2", @@ -2858,8 +3170,9 @@ }, "node_modules/terser-webpack-plugin": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.1.tgz", + "integrity": "sha512-5XNNXZiR8YO6X6KhSGXfY0QrGrCRlSwAEjIIrlRQR4W8nP69TaJUlh3bkuac6zzgspiGPfKEHcY295MMVExl5Q==", "dev": true, - "license": "MIT", "dependencies": { "jest-worker": "^26.6.2", "p-limit": "^3.1.0", @@ -2881,8 +3194,9 @@ }, "node_modules/terser-webpack-plugin/node_modules/p-limit": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, - "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -2895,21 +3209,24 @@ }, "node_modules/terser/node_modules/source-map": { "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">= 8" } }, "node_modules/text-table": { "version": "0.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true }, "node_modules/tsconfig-paths": { "version": "3.9.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", + "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", "dev": true, - "license": "MIT", "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.1", @@ -2919,13 +3236,15 @@ }, "node_modules/tslib": { "version": "1.14.1", - "dev": true, - "license": "0BSD" + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true }, "node_modules/type-check": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, - "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -2935,8 +3254,9 @@ }, "node_modules/type-fest": { "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -2945,33 +3265,40 @@ } }, "node_modules/unbox-primitive": { - "version": "1.0.0", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", "dev": true, - "license": "MIT", "dependencies": { "function-bind": "^1.1.1", - "has-bigints": "^1.0.0", - "has-symbols": "^1.0.0", - "which-boxed-primitive": "^1.0.1" + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/uri-js": { "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } }, "node_modules/v8-compile-cache": { "version": "2.3.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true }, "node_modules/validate-npm-package-license": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, - "license": "Apache-2.0", "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" @@ -2979,8 +3306,9 @@ }, "node_modules/watchpack": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.1.tgz", + "integrity": "sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw==", "dev": true, - "license": "MIT", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -2990,9 +3318,10 @@ } }, "node_modules/webpack": { - "version": "5.26.2", + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.30.0.tgz", + "integrity": "sha512-Zr9NIri5yzpfmaMea2lSMV1UygbW0zQsSlGLMgKUm63ACXg6alhd1u4v5UBSBjzYKXJN6BNMGVM7w165e7NxYA==", "dev": true, - "license": "MIT", "dependencies": { "@types/eslint-scope": "^3.7.0", "@types/estree": "^0.0.46", @@ -3035,14 +3364,15 @@ } }, "node_modules/webpack-cli": { - "version": "4.5.0", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.6.0.tgz", + "integrity": "sha512-9YV+qTcGMjQFiY7Nb1kmnupvb1x40lfpj8pwdO/bom+sQiP4OBMKjHq29YQrlDWDPZO9r/qWaRRywKaRDKqBTA==", "dev": true, - "license": "MIT", "dependencies": { "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.0.1", - "@webpack-cli/info": "^1.2.2", - "@webpack-cli/serve": "^1.3.0", + "@webpack-cli/configtest": "^1.0.2", + "@webpack-cli/info": "^1.2.3", + "@webpack-cli/serve": "^1.3.1", "colorette": "^1.2.1", "commander": "^7.0.0", "enquirer": "^2.3.6", @@ -3067,9 +3397,6 @@ "@webpack-cli/generators": { "optional": true }, - "@webpack-cli/init": { - "optional": true - }, "@webpack-cli/migrate": { "optional": true }, @@ -3082,17 +3409,19 @@ } }, "node_modules/webpack-cli/node_modules/commander": { - "version": "7.1.0", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 10" } }, "node_modules/webpack-merge": { "version": "5.7.3", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.7.3.tgz", + "integrity": "sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==", "dev": true, - "license": "MIT", "dependencies": { "clone-deep": "^4.0.1", "wildcard": "^2.0.0" @@ -3103,8 +3432,9 @@ }, "node_modules/webpack-sources": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", + "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==", "dev": true, - "license": "MIT", "dependencies": { "source-list-map": "^2.0.1", "source-map": "^0.6.1" @@ -3115,8 +3445,9 @@ }, "node_modules/webpack/node_modules/acorn": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.1.0.tgz", + "integrity": "sha512-LWCF/Wn0nfHOmJ9rzQApGnxnvgfROzGilS8936rqN/lfcYkY9MYZzdMqN+2NJ4SlTc+m5HiSa+kNfDtI64dwUA==", "dev": true, - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -3126,8 +3457,9 @@ }, "node_modules/which": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -3140,8 +3472,9 @@ }, "node_modules/which-boxed-primitive": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, - "license": "MIT", "dependencies": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -3155,31 +3488,36 @@ }, "node_modules/wildcard": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true }, "node_modules/word-wrap": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/wrappy": { "version": "1.0.2", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true }, "node_modules/yallist": { "version": "4.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, "node_modules/yocto-queue": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -3191,6 +3529,8 @@ "dependencies": { "@babel/code-frame": { "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", "dev": true, "requires": { "@babel/highlight": "^7.10.4" @@ -3198,10 +3538,14 @@ }, "@babel/helper-validator-identifier": { "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", "dev": true }, "@babel/highlight": { "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", + "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.12.11", @@ -3211,6 +3555,8 @@ "dependencies": { "ansi-styles": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" @@ -3218,6 +3564,8 @@ }, "chalk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -3227,6 +3575,8 @@ }, "color-convert": { "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" @@ -3234,14 +3584,20 @@ }, "color-name": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -3251,13 +3607,19 @@ }, "@discoveryjs/json-ext": { "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz", + "integrity": "sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==", "dev": true }, "@eastdesire/jscolor": { - "version": "2.4.5" + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/@eastdesire/jscolor/-/jscolor-2.4.5.tgz", + "integrity": "sha512-LDCEGN7qKKO3tq6yYtx6cbz/tQlr9LqKNSFaG2GIIn03y67ot3doucpDGoQjCwXG2xUB4pDXRuH2lobjjxhtJA==" }, "@eslint/eslintrc": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.0.tgz", + "integrity": "sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog==", "dev": true, "requires": { "ajv": "^6.12.4", @@ -3273,6 +3635,8 @@ "dependencies": { "globals": { "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", "dev": true, "requires": { "type-fest": "^0.8.1" @@ -3280,12 +3644,16 @@ }, "type-fest": { "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true } } }, "@types/eslint": { - "version": "7.2.7", + "version": "7.2.8", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.8.tgz", + "integrity": "sha512-RTKvBsfz0T8CKOGZMfuluDNyMFHnu5lvNr4hWEsQeHXH6FcmIDIozOyWMh36nLGMwVd5UFNXC2xztA8lln22MQ==", "dev": true, "requires": { "@types/estree": "*", @@ -3294,6 +3662,8 @@ }, "@types/eslint-scope": { "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.0.tgz", + "integrity": "sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==", "dev": true, "requires": { "@types/eslint": "*", @@ -3302,22 +3672,32 @@ }, "@types/estree": { "version": "0.0.46", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.46.tgz", + "integrity": "sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==", "dev": true }, "@types/json-schema": { "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", "dev": true }, "@types/json5": { "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", "dev": true }, "@types/node": { - "version": "14.14.35", + "version": "14.14.37", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.37.tgz", + "integrity": "sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==", "dev": true }, "@webassemblyjs/ast": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.0.tgz", + "integrity": "sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg==", "dev": true, "requires": { "@webassemblyjs/helper-numbers": "1.11.0", @@ -3326,18 +3706,26 @@ }, "@webassemblyjs/floating-point-hex-parser": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz", + "integrity": "sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA==", "dev": true }, "@webassemblyjs/helper-api-error": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz", + "integrity": "sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w==", "dev": true }, "@webassemblyjs/helper-buffer": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz", + "integrity": "sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA==", "dev": true }, "@webassemblyjs/helper-numbers": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz", + "integrity": "sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ==", "dev": true, "requires": { "@webassemblyjs/floating-point-hex-parser": "1.11.0", @@ -3347,10 +3735,14 @@ }, "@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz", + "integrity": "sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA==", "dev": true }, "@webassemblyjs/helper-wasm-section": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz", + "integrity": "sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.0", @@ -3361,6 +3753,8 @@ }, "@webassemblyjs/ieee754": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz", + "integrity": "sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" @@ -3368,6 +3762,8 @@ }, "@webassemblyjs/leb128": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.0.tgz", + "integrity": "sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g==", "dev": true, "requires": { "@xtuc/long": "4.2.2" @@ -3375,10 +3771,14 @@ }, "@webassemblyjs/utf8": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.0.tgz", + "integrity": "sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw==", "dev": true }, "@webassemblyjs/wasm-edit": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz", + "integrity": "sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.0", @@ -3393,6 +3793,8 @@ }, "@webassemblyjs/wasm-gen": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz", + "integrity": "sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.0", @@ -3404,6 +3806,8 @@ }, "@webassemblyjs/wasm-opt": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz", + "integrity": "sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.0", @@ -3414,6 +3818,8 @@ }, "@webassemblyjs/wasm-parser": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz", + "integrity": "sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.0", @@ -3426,6 +3832,8 @@ }, "@webassemblyjs/wast-printer": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz", + "integrity": "sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.0", @@ -3433,41 +3841,57 @@ } }, "@webpack-cli/configtest": { - "version": "1.0.1", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.2.tgz", + "integrity": "sha512-3OBzV2fBGZ5TBfdW50cha1lHDVf9vlvRXnjpVbJBa20pSZQaSkMJZiwA8V2vD9ogyeXn8nU5s5A6mHyf5jhMzA==", "dev": true, "requires": {} }, "@webpack-cli/info": { - "version": "1.2.2", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.2.3.tgz", + "integrity": "sha512-lLek3/T7u40lTqzCGpC6CAbY6+vXhdhmwFRxZLMnRm6/sIF/7qMpT8MocXCRQfz0JAh63wpbXLMnsQ5162WS7Q==", "dev": true, "requires": { "envinfo": "^7.7.3" } }, "@webpack-cli/serve": { - "version": "1.3.0", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.3.1.tgz", + "integrity": "sha512-0qXvpeYO6vaNoRBI52/UsbcaBydJCggoBBnIo/ovQQdn6fug0BgwsjorV1hVS7fMqGVTZGcVxv8334gjmbj5hw==", "dev": true, "requires": {} }, "@xtuc/ieee754": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", "dev": true }, "@xtuc/long": { "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, "acorn": { "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true }, "acorn-jsx": { "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", "dev": true, "requires": {} }, "ajv": { "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -3478,19 +3902,27 @@ }, "ajv-keywords": { "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, "requires": {} }, "ansi-colors": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true }, "ansi-regex": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, "ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { "color-convert": "^2.0.1" @@ -3498,6 +3930,8 @@ }, "argparse": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { "sprintf-js": "~1.0.2" @@ -3505,6 +3939,8 @@ }, "array-includes": { "version": "3.1.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", + "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -3516,6 +3952,8 @@ }, "array.prototype.flat": { "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", + "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", "dev": true, "requires": { "call-bind": "^1.0.0", @@ -3525,14 +3963,20 @@ }, "astral-regex": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true }, "balanced-match": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, "brace-expansion": { "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -3541,6 +3985,8 @@ }, "browserslist": { "version": "4.16.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", "dev": true, "requires": { "caniuse-lite": "^1.0.30001181", @@ -3552,10 +3998,14 @@ }, "buffer-from": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, "call-bind": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, "requires": { "function-bind": "^1.1.1", @@ -3564,14 +4014,20 @@ }, "callsites": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, "caniuse-lite": { - "version": "1.0.30001202", + "version": "1.0.30001205", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001205.tgz", + "integrity": "sha512-TL1GrS5V6LElbitPazidkBMD9sa448bQDDLrumDqaggmKFcuU2JW1wTOHJPukAcOMtEmLcmDJEzfRrf+GjM0Og==", "dev": true }, "chalk": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -3580,6 +4036,8 @@ }, "chrome-trace-event": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", "dev": true, "requires": { "tslib": "^1.9.0" @@ -3587,6 +4045,8 @@ }, "clone-deep": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, "requires": { "is-plain-object": "^2.0.4", @@ -3596,6 +4056,8 @@ }, "color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { "color-name": "~1.1.4" @@ -3603,30 +4065,44 @@ }, "color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, "colorette": { "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", "dev": true }, "commander": { "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, "concat-map": { "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "confusing-browser-globals": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz", + "integrity": "sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==", "dev": true }, "contains-path": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", "dev": true }, "cross-spawn": { "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "requires": { "path-key": "^3.1.0", @@ -3636,6 +4112,8 @@ }, "debug": { "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { "ms": "2.1.2" @@ -3643,10 +4121,14 @@ }, "deep-is": { "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, "define-properties": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, "requires": { "object-keys": "^1.0.12" @@ -3654,21 +4136,29 @@ }, "doctrine": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "requires": { "esutils": "^2.0.2" } }, "electron-to-chromium": { - "version": "1.3.690", + "version": "1.3.707", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.707.tgz", + "integrity": "sha512-BqddgxNPrcWnbDdJw7SzXVzPmp+oiyjVrc7tkQVaznPGSS9SKZatw6qxoP857M+HbOyyqJQwYQtsuFIMSTNSZA==", "dev": true }, "emoji-regex": { "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "enhanced-resolve": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz", + "integrity": "sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw==", "dev": true, "requires": { "graceful-fs": "^4.2.4", @@ -3677,6 +4167,8 @@ }, "enquirer": { "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dev": true, "requires": { "ansi-colors": "^4.1.1" @@ -3684,10 +4176,14 @@ }, "envinfo": { "version": "7.7.4", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.4.tgz", + "integrity": "sha512-TQXTYFVVwwluWSFis6K2XKxgrD22jEv0FTuLCQI+OjH7rn93+iY0fSSFM5lrSxFY+H1+B0/cvvlamr3UsBivdQ==", "dev": true }, "error-ex": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { "is-arrayish": "^0.2.1" @@ -3695,6 +4191,8 @@ }, "es-abstract": { "version": "1.18.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", + "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -3717,10 +4215,14 @@ }, "es-module-lexer": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.4.1.tgz", + "integrity": "sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==", "dev": true }, "es-to-primitive": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, "requires": { "is-callable": "^1.1.4", @@ -3730,14 +4232,20 @@ }, "escalade": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true }, "escape-string-regexp": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "eslint": { - "version": "7.22.0", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.23.0.tgz", + "integrity": "sha512-kqvNVbdkjzpFy0XOszNwjkKzZ+6TcwCQ/h+ozlcIWwaimBBuhlQ4nN6kbiM2L+OjDcznkTJxzYfRFH92sx4a0Q==", "dev": true, "requires": { "@babel/code-frame": "7.12.11", @@ -3781,6 +4289,8 @@ }, "eslint-config-airbnb-base": { "version": "14.2.1", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.1.tgz", + "integrity": "sha512-GOrQyDtVEc1Xy20U7vsB2yAoB4nBlfH5HZJeatRXHleO+OS5Ot+MWij4Dpltw4/DyIkqUfqz1epfhVR5XWWQPA==", "dev": true, "requires": { "confusing-browser-globals": "^1.0.10", @@ -3790,11 +4300,15 @@ }, "eslint-config-prettier": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.1.0.tgz", + "integrity": "sha512-oKMhGv3ihGbCIimCAjqkdzx2Q+jthoqnXSP+d86M9tptwugycmTFdVR4IpLgq2c4SHifbwO90z2fQ8/Aio73yw==", "dev": true, "requires": {} }, "eslint-import-resolver-node": { "version": "0.3.4", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", + "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", "dev": true, "requires": { "debug": "^2.6.9", @@ -3803,6 +4317,8 @@ "dependencies": { "debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -3810,12 +4326,16 @@ }, "ms": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } }, "eslint-module-utils": { "version": "2.6.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", + "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", "dev": true, "requires": { "debug": "^2.6.9", @@ -3824,6 +4344,8 @@ "dependencies": { "debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -3831,12 +4353,16 @@ }, "ms": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } }, "eslint-plugin-import": { "version": "2.22.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", + "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", "dev": true, "requires": { "array-includes": "^3.1.1", @@ -3856,6 +4382,8 @@ "dependencies": { "debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -3863,6 +4391,8 @@ }, "doctrine": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", "dev": true, "requires": { "esutils": "^2.0.2", @@ -3871,12 +4401,16 @@ }, "ms": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } }, "eslint-plugin-prettier": { "version": "3.3.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.3.1.tgz", + "integrity": "sha512-Rq3jkcFY8RYeQLgk2cCwuc0P7SEFwDravPhsJZOQ5N4YI4DSg50NyqJ/9gdZHzQlHf8MvafSesbNJCcP/FF6pQ==", "dev": true, "requires": { "prettier-linter-helpers": "^1.0.0" @@ -3884,6 +4418,8 @@ }, "eslint-scope": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "requires": { "esrecurse": "^4.3.0", @@ -3892,6 +4428,8 @@ }, "eslint-utils": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, "requires": { "eslint-visitor-keys": "^1.1.0" @@ -3899,16 +4437,22 @@ "dependencies": { "eslint-visitor-keys": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true } } }, "eslint-visitor-keys": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", "dev": true }, "espree": { "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", "dev": true, "requires": { "acorn": "^7.4.0", @@ -3918,16 +4462,22 @@ "dependencies": { "eslint-visitor-keys": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true } } }, "esprima": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true }, "esquery": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, "requires": { "estraverse": "^5.1.0" @@ -3935,12 +4485,16 @@ "dependencies": { "estraverse": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true } } }, "esrecurse": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "requires": { "estraverse": "^5.2.0" @@ -3948,24 +4502,34 @@ "dependencies": { "estraverse": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true } } }, "estraverse": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true }, "esutils": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, "events": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true }, "execa": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", + "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", "dev": true, "requires": { "cross-spawn": "^7.0.3", @@ -3981,26 +4545,38 @@ }, "fast-deep-equal": { "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, "fast-diff": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", "dev": true }, "fast-json-stable-stringify": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, "fast-levenshtein": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, "fastest-levenshtein": { "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", + "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", "dev": true }, "file-entry-cache": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "requires": { "flat-cache": "^3.0.4" @@ -4008,6 +4584,8 @@ }, "find-up": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { "locate-path": "^2.0.0" @@ -4015,6 +4593,8 @@ }, "flat-cache": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, "requires": { "flatted": "^3.1.0", @@ -4023,22 +4603,32 @@ }, "flatted": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", + "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", "dev": true }, "fs.realpath": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "function-bind": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, "functional-red-black-tree": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, "get-intrinsic": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", "dev": true, "requires": { "function-bind": "^1.1.1", @@ -4048,10 +4638,14 @@ }, "get-stream": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz", + "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==", "dev": true }, "glob": { "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -4064,6 +4658,8 @@ }, "glob-parent": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "requires": { "is-glob": "^4.0.1" @@ -4071,10 +4667,14 @@ }, "glob-to-regexp": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", "dev": true }, "globals": { - "version": "13.6.0", + "version": "13.7.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.7.0.tgz", + "integrity": "sha512-Aipsz6ZKRxa/xQkZhNg0qIWXT6x6rD46f6x/PCnBomlttdIyAPak4YD9jTmKpZ72uROSMU87qJtcgpgHaVchiA==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -4082,10 +4682,14 @@ }, "graceful-fs": { "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", "dev": true }, "has": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { "function-bind": "^1.1.1" @@ -4093,30 +4697,44 @@ }, "has-bigints": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", "dev": true }, "has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "has-symbols": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", "dev": true }, "hosted-git-info": { "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", "dev": true }, "human-signals": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true }, "ignore": { "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, "import-fresh": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "requires": { "parent-module": "^1.0.0", @@ -4125,6 +4743,8 @@ }, "import-local": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", "dev": true, "requires": { "pkg-dir": "^4.2.0", @@ -4133,6 +4753,8 @@ "dependencies": { "find-up": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { "locate-path": "^5.0.0", @@ -4141,6 +4763,8 @@ }, "locate-path": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { "p-locate": "^4.1.0" @@ -4148,6 +4772,8 @@ }, "p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -4155,6 +4781,8 @@ }, "p-locate": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { "p-limit": "^2.2.0" @@ -4162,14 +4790,20 @@ }, "p-try": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "path-exists": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "pkg-dir": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "requires": { "find-up": "^4.0.0" @@ -4179,10 +4813,14 @@ }, "imurmurhash": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, "inflight": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { "once": "^1.3.0", @@ -4191,22 +4829,32 @@ }, "inherits": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "interpret": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", "dev": true }, "is-arrayish": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, "is-bigint": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz", + "integrity": "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==", "dev": true }, "is-boolean-object": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz", + "integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==", "dev": true, "requires": { "call-bind": "^1.0.0" @@ -4214,10 +4862,14 @@ }, "is-callable": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", "dev": true }, "is-core-module": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", "dev": true, "requires": { "has": "^1.0.3" @@ -4225,18 +4877,26 @@ }, "is-date-object": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", "dev": true }, "is-extglob": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, "is-fullwidth-code-point": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, "is-glob": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "dev": true, "requires": { "is-extglob": "^2.1.1" @@ -4244,14 +4904,20 @@ }, "is-negative-zero": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", "dev": true }, "is-number-object": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", + "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==", "dev": true }, "is-plain-object": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { "isobject": "^3.0.1" @@ -4259,6 +4925,8 @@ }, "is-regex": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -4267,14 +4935,20 @@ }, "is-stream": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", "dev": true }, "is-string": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", "dev": true }, "is-symbol": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", "dev": true, "requires": { "has-symbols": "^1.0.1" @@ -4282,18 +4956,26 @@ }, "isarray": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "isexe": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, "isobject": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, "jest-worker": { "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", "dev": true, "requires": { "@types/node": "*", @@ -4303,10 +4985,14 @@ }, "js-tokens": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, "js-yaml": { "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -4315,18 +5001,26 @@ }, "json-parse-better-errors": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true }, "json-schema-traverse": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, "json5": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", "dev": true, "requires": { "minimist": "^1.2.0" @@ -4334,10 +5028,14 @@ }, "kind-of": { "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, "levn": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "requires": { "prelude-ls": "^1.2.1", @@ -4346,6 +5044,8 @@ }, "load-json-file": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -4356,10 +5056,14 @@ }, "loader-runner": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", + "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", "dev": true }, "locate-path": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { "p-locate": "^2.0.0", @@ -4368,10 +5072,32 @@ }, "lodash": { "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=", + "dev": true + }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", "dev": true }, "lru-cache": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "requires": { "yallist": "^4.0.0" @@ -4379,29 +5105,41 @@ }, "memorystream": { "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", "dev": true }, "merge-stream": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, "mime-db": { - "version": "1.46.0", + "version": "1.47.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", + "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==", "dev": true }, "mime-types": { - "version": "2.1.29", + "version": "2.1.30", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", + "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", "dev": true, "requires": { - "mime-db": "1.46.0" + "mime-db": "1.47.0" } }, "mimic-fn": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, "minimatch": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -4409,30 +5147,44 @@ }, "minimist": { "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, "ms": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "natural-compare": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, "neo-async": { "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, "nice-try": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, "node-releases": { "version": "1.1.71", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", + "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", "dev": true }, "normalize-package-data": { "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, "requires": { "hosted-git-info": "^2.1.4", @@ -4443,12 +5195,16 @@ "dependencies": { "semver": { "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true } } }, "npm-run-all": { "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -4464,6 +5220,8 @@ "dependencies": { "ansi-styles": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" @@ -4471,6 +5229,8 @@ }, "chalk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -4480,6 +5240,8 @@ }, "color-convert": { "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" @@ -4487,10 +5249,14 @@ }, "color-name": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "cross-spawn": { "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { "nice-try": "^1.0.4", @@ -4502,18 +5268,26 @@ }, "has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "path-key": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, "semver": { "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true }, "shebang-command": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { "shebang-regex": "^1.0.0" @@ -4521,10 +5295,14 @@ }, "shebang-regex": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, "supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -4532,6 +5310,8 @@ }, "which": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -4541,6 +5321,8 @@ }, "npm-run-path": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "requires": { "path-key": "^3.0.0" @@ -4548,14 +5330,20 @@ }, "object-inspect": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", "dev": true }, "object-keys": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true }, "object.assign": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, "requires": { "call-bind": "^1.0.0", @@ -4566,6 +5354,8 @@ }, "object.entries": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.3.tgz", + "integrity": "sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg==", "dev": true, "requires": { "call-bind": "^1.0.0", @@ -4576,6 +5366,8 @@ }, "object.values": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.3.tgz", + "integrity": "sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -4586,6 +5378,8 @@ }, "once": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { "wrappy": "1" @@ -4593,6 +5387,8 @@ }, "onetime": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "requires": { "mimic-fn": "^2.1.0" @@ -4600,6 +5396,8 @@ }, "optionator": { "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", "dev": true, "requires": { "deep-is": "^0.1.3", @@ -4612,6 +5410,8 @@ }, "p-limit": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { "p-try": "^1.0.0" @@ -4619,6 +5419,8 @@ }, "p-locate": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { "p-limit": "^1.1.0" @@ -4626,10 +5428,14 @@ }, "p-try": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, "parent-module": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "requires": { "callsites": "^3.0.0" @@ -4637,6 +5443,8 @@ }, "parse-json": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { "error-ex": "^1.3.1", @@ -4645,22 +5453,32 @@ }, "path-exists": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true }, "path-is-absolute": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, "path-key": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, "path-parse": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", "dev": true }, "path-type": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, "requires": { "pify": "^3.0.0" @@ -4668,14 +5486,20 @@ }, "pidtree": { "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", + "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", "dev": true }, "pify": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true }, "pkg-dir": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { "find-up": "^2.1.0" @@ -4683,14 +5507,20 @@ }, "prelude-ls": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, "prettier": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz", + "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==", "dev": true }, "prettier-linter-helpers": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", "dev": true, "requires": { "fast-diff": "^1.1.2" @@ -4698,14 +5528,20 @@ }, "progress": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, "punycode": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true }, "randombytes": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, "requires": { "safe-buffer": "^5.1.0" @@ -4713,6 +5549,8 @@ }, "read-pkg": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", "dev": true, "requires": { "load-json-file": "^4.0.0", @@ -4722,6 +5560,8 @@ }, "read-pkg-up": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { "find-up": "^2.0.0", @@ -4730,6 +5570,8 @@ "dependencies": { "load-json-file": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -4740,6 +5582,8 @@ }, "parse-json": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { "error-ex": "^1.2.0" @@ -4747,6 +5591,8 @@ }, "path-type": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { "pify": "^2.0.0" @@ -4754,10 +5600,14 @@ }, "pify": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, "read-pkg": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { "load-json-file": "^2.0.0", @@ -4769,6 +5619,8 @@ }, "rechoir": { "version": "0.7.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz", + "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==", "dev": true, "requires": { "resolve": "^1.9.0" @@ -4776,14 +5628,20 @@ }, "regexpp": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", "dev": true }, "require-from-string": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true }, "resolve": { "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "dev": true, "requires": { "is-core-module": "^2.2.0", @@ -4792,6 +5650,8 @@ }, "resolve-cwd": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, "requires": { "resolve-from": "^5.0.0" @@ -4799,16 +5659,22 @@ "dependencies": { "resolve-from": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true } } }, "resolve-from": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, "rimraf": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { "glob": "^7.1.3" @@ -4816,10 +5682,14 @@ }, "safe-buffer": { "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true }, "schema-utils": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", "dev": true, "requires": { "@types/json-schema": "^7.0.6", @@ -4828,7 +5698,9 @@ } }, "semver": { - "version": "7.3.4", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -4836,6 +5708,8 @@ }, "serialize-javascript": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -4843,6 +5717,8 @@ }, "shallow-clone": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, "requires": { "kind-of": "^6.0.2" @@ -4850,6 +5726,8 @@ }, "shebang-command": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "requires": { "shebang-regex": "^3.0.0" @@ -4857,18 +5735,26 @@ }, "shebang-regex": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, "shell-quote": { "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", "dev": true }, "signal-exit": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", "dev": true }, "slice-ansi": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, "requires": { "ansi-styles": "^4.0.0", @@ -4878,14 +5764,20 @@ }, "source-list-map": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", "dev": true }, "source-map": { "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, "source-map-support": { "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -4894,6 +5786,8 @@ }, "spdx-correct": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -4902,10 +5796,14 @@ }, "spdx-exceptions": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", "dev": true }, "spdx-expression-parse": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, "requires": { "spdx-exceptions": "^2.1.0", @@ -4914,14 +5812,20 @@ }, "spdx-license-ids": { "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", "dev": true }, "sprintf-js": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, "string-width": { "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", "dev": true, "requires": { "emoji-regex": "^8.0.0", @@ -4931,6 +5835,8 @@ }, "string.prototype.padend": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz", + "integrity": "sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -4940,6 +5846,8 @@ }, "string.prototype.trimend": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -4948,6 +5856,8 @@ }, "string.prototype.trimstart": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -4956,6 +5866,8 @@ }, "strip-ansi": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { "ansi-regex": "^5.0.0" @@ -4963,35 +5875,52 @@ }, "strip-bom": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true }, "strip-final-newline": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true }, "strip-json-comments": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, "supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { "has-flag": "^4.0.0" } }, "table": { - "version": "6.0.7", + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/table/-/table-6.0.9.tgz", + "integrity": "sha512-F3cLs9a3hL1Z7N4+EkSscsel3z55XT950AvB05bwayrNg5T1/gykXtigioTAjbltvbMSJvvhFCbnf6mX+ntnJQ==", "dev": true, "requires": { - "ajv": "^7.0.2", - "lodash": "^4.17.20", + "ajv": "^8.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "lodash.clonedeep": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.truncate": "^4.4.2", "slice-ansi": "^4.0.0", "string-width": "^4.2.0" }, "dependencies": { "ajv": { - "version": "7.2.1", + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.0.5.tgz", + "integrity": "sha512-RkiLa/AeJx7+9OvniQ/qeWu0w74A8DiPPBclQ6ji3ZQkv5KamO+QGpqmi7O4JIw3rHGUXZ6CoP9tsAkn3gyazg==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -5002,16 +5931,22 @@ }, "json-schema-traverse": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true } } }, "tapable": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", + "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", "dev": true }, "terser": { - "version": "5.6.0", + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.6.1.tgz", + "integrity": "sha512-yv9YLFQQ+3ZqgWCUk+pvNJwgUTdlIxUk1WTN+RnaFJe2L7ipG2csPT0ra2XRm7Cs8cxN7QXmK1rFzEwYEQkzXw==", "dev": true, "requires": { "commander": "^2.20.0", @@ -5021,12 +5956,16 @@ "dependencies": { "source-map": { "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", "dev": true } } }, "terser-webpack-plugin": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.1.tgz", + "integrity": "sha512-5XNNXZiR8YO6X6KhSGXfY0QrGrCRlSwAEjIIrlRQR4W8nP69TaJUlh3bkuac6zzgspiGPfKEHcY295MMVExl5Q==", "dev": true, "requires": { "jest-worker": "^26.6.2", @@ -5039,6 +5978,8 @@ "dependencies": { "p-limit": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "requires": { "yocto-queue": "^0.1.0" @@ -5048,10 +5989,14 @@ }, "text-table": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, "tsconfig-paths": { "version": "3.9.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", + "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", "dev": true, "requires": { "@types/json5": "^0.0.29", @@ -5062,10 +6007,14 @@ }, "tslib": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, "type-check": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "requires": { "prelude-ls": "^1.2.1" @@ -5073,20 +6022,26 @@ }, "type-fest": { "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true }, "unbox-primitive": { - "version": "1.0.0", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", "dev": true, "requires": { "function-bind": "^1.1.1", - "has-bigints": "^1.0.0", - "has-symbols": "^1.0.0", - "which-boxed-primitive": "^1.0.1" + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" } }, "uri-js": { "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "requires": { "punycode": "^2.1.0" @@ -5094,10 +6049,14 @@ }, "v8-compile-cache": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, "validate-npm-package-license": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, "requires": { "spdx-correct": "^3.0.0", @@ -5106,6 +6065,8 @@ }, "watchpack": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.1.tgz", + "integrity": "sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -5113,7 +6074,9 @@ } }, "webpack": { - "version": "5.26.2", + "version": "5.30.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.30.0.tgz", + "integrity": "sha512-Zr9NIri5yzpfmaMea2lSMV1UygbW0zQsSlGLMgKUm63ACXg6alhd1u4v5UBSBjzYKXJN6BNMGVM7w165e7NxYA==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.0", @@ -5143,18 +6106,22 @@ "dependencies": { "acorn": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.1.0.tgz", + "integrity": "sha512-LWCF/Wn0nfHOmJ9rzQApGnxnvgfROzGilS8936rqN/lfcYkY9MYZzdMqN+2NJ4SlTc+m5HiSa+kNfDtI64dwUA==", "dev": true } } }, "webpack-cli": { - "version": "4.5.0", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.6.0.tgz", + "integrity": "sha512-9YV+qTcGMjQFiY7Nb1kmnupvb1x40lfpj8pwdO/bom+sQiP4OBMKjHq29YQrlDWDPZO9r/qWaRRywKaRDKqBTA==", "dev": true, "requires": { "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.0.1", - "@webpack-cli/info": "^1.2.2", - "@webpack-cli/serve": "^1.3.0", + "@webpack-cli/configtest": "^1.0.2", + "@webpack-cli/info": "^1.2.3", + "@webpack-cli/serve": "^1.3.1", "colorette": "^1.2.1", "commander": "^7.0.0", "enquirer": "^2.3.6", @@ -5168,13 +6135,17 @@ }, "dependencies": { "commander": { - "version": "7.1.0", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true } } }, "webpack-merge": { "version": "5.7.3", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.7.3.tgz", + "integrity": "sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==", "dev": true, "requires": { "clone-deep": "^4.0.1", @@ -5183,6 +6154,8 @@ }, "webpack-sources": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", + "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==", "dev": true, "requires": { "source-list-map": "^2.0.1", @@ -5191,6 +6164,8 @@ }, "which": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -5198,6 +6173,8 @@ }, "which-boxed-primitive": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, "requires": { "is-bigint": "^1.0.1", @@ -5209,22 +6186,32 @@ }, "wildcard": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", "dev": true }, "word-wrap": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true }, "wrappy": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "yallist": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, "yocto-queue": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true } } From 66ede34b9276486a19f04c01242779f0a7cb6659 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Sat, 3 Apr 2021 16:11:42 +0200 Subject: [PATCH 19/30] Fixed some typos --- CookieMonster.js | 2 +- dist/CookieMonster.js | 2 +- dist/CookieMonster.js.map | 2 +- src/Data/SettingsData.js | 2 +- .../MenuSections/Statistics/AddStatsPage.js | 8 +-- .../Statistics/CreateStatsSections.js | 54 +++++++++---------- src/Disp/Tooltips/AscendButton.js | 2 +- src/InitSaveLoad/init.js | 2 +- 8 files changed, 37 insertions(+), 37 deletions(-) diff --git a/CookieMonster.js b/CookieMonster.js index 9f179292..bf9f8db8 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e,Xe,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=1,dt=1,pt=1,ut=0,mt=0,ht=0,gt=0,ft={},Ct={},yt={},bt=0,kt=0,Gt=[0,null],wt=0,vt=0,xt={},Tt={},Mt={},St={},Pt={},Bt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Dt=0,Ht=0,Ut=[],Rt=0,$t=0,It={},zt={},Vt=0,_t=0,Xt=[],Qt={},qt=0,Yt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Kt=[],Jt=[],Zt=[];function eo(e){let t=0;return Game.dragonAuras[He].name!==e&&Game.dragonAuras[Ue].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[He].name&&"Reality Bending"!==Game.dragonAuras[Ue].name||(t+=.1),t}function to(){let e=.25;return e*=1+eo("Earth Shatterer"),e}function oo(e,t){return void 0===Ve[e]?void 0===t?1:t:Ve[e]}function no(e){const t=Jt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function io(e){if(Game.hasGod){void 0===Kt.Temple.minigame&&(Kt.Temple.minigame=Game.Objects.Temple.minigame);const t=Kt.Temple.minigame.gods[e];if(Re===t.id)return 1;if($e===t.id)return 2;if(Ie===t.id)return 3}return!1}function ao(e,t){let o=t;if(no("Season savings")&&(o*=.99),no("Santa's dominion")&&(o*=.99),no("Faberge egg")&&(o*=.99),no("Divine discount")&&(o*=.99),no("Fortune #100")&&(o*=.99),o*=1-.02*eo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&no(e.fortune.name)&&(o*=.93),o*=oo("buildingCost"),Kt.Temple.minigameLoaded){const e=io("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ro(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function lo(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ft:10===t?t=Ct:100===t&&(t=yt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ft).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ro(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ft).map((e=>{const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ft),10===i&&(i=Ct),100===i&&(i=yt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+po()))/co());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&no(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(no(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&no(e.fortune.name)&&(t*=1.07),e.grandma&&no(e.grandma.name)&&(t*=1+.01*Kt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&no(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function Go(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;no("Thousand fingers")&&(t+=.1),no("Million fingers")&&(t*=5),no("Billion fingers")&&(t*=10),no("Trillion fingers")&&(t*=20),no("Quadrillion fingers")&&(t*=20),no("Quintillion fingers")&&(t*=20),no("Sextillion fingers")&&(t*=20),no("Septillion fingers")&&(t*=20),no("Octillion fingers")&&(t*=20),no("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Kt).forEach((e=>{"Cursor"!==Kt[e].name&&(n+=Kt[e].amount)})),t*=n,o*=ko(e),o*=Game.magicCpS("Cursor"),o*=oo("cursorCps"),Game.ComputeCps(.1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{no(Game.GrandmaSynergies[e])&&(o*=2)})),no("Bingo center/Research facility")&&(o*=4),no("Ritual rolling pins")&&(o*=2),no("Naughty list")&&(o*=2),no("Elderwort biscuits")&&(o*=1.02),o*=oo("grandmaCps"),no("Cat ladies"))for(let e=0;e{"Grandma"!==Kt[e].name&&(i+=Kt[e].amount)})),o*=1+.01*eo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=ko(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function wo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Kt).forEach((t=>{Kt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(no("Starlove")&&(e=3),Game.hasGod){const t=io("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function vo(){We=Game.UpgradesOwned,Le=Game.pledges,Ae=Game.AchievementsOwned,je=Game.heavenlyPower,De=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e],mo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Re=t.minigame.slot[0],$e=t.minigame.slot[1],Ie=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Kt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Jt[e];void 0===o&&(Jt[e]=wo(e),o=Jt[e]),o.bought=t.bought,Jt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Zt[e];void 0===o&&(Zt[e]=bo(e),o=Zt[e]),o.won=t.won,Zt[e]=o})),yo(),He=Qe,Ue=qe}function xo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function To(e){e.appendChild(xo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(xo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(xo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(xo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(xo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Mo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Po(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Bo(){if(vo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(To(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ft:10===Game.buyBulk?t=Ct:100===Game.buyBulk&&(t=yt),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+po()))/co());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(xo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(xo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=uo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,fo())}}(),ho(),Bo(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Kt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function No(){ue.addLatest(Game.computedMouseCps)}class Oo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Fo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+qt;Game.cpsSucked>0&&(o+=bt),Rt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-be,i=Math.max(0,Game.cookies-ke)/n,a=Math.max(0,bt-Ge)/n,r=Math.max(0,Gt[0]-we)/n,l=Math.max(0,o-gt)/n,s=(Game.cookieClicks-ve)/n;for(let e=0;e0&&(n=W),n}function Lo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Wo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+po()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Xt.push([t[n].pp,o])}))}function jo(){!function(){_t=1/0,Xt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Ao(ft,1),Ao(Ct,10),Ao(yt,100),Xt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Xt[t][1]>Game.cookies&&(t+=1,Xt.length!==t+1););_t=Xt[e.PPExcludeTop][t],Lo(ft,1),Lo(Ct,10),Lo(yt,100)}(),Object.keys(xt).forEach((e=>{Game.cookiesPs?xt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+po()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/xt[e].bonus:xt[e].pp=Game.Upgrades[e].getPrice()/xt[e].bonus,Number.isNaN(xt[e].pp)&&(xt[e].pp=1/0),xt[e].color=Wo(xt[e],Game.Upgrades[e].getPrice())}))}function Do(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ve=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(De)*je*function(){let e=0;if(no("Heavenly chip secret")&&(e+=.05),no("Heavenly cookie stand")&&(e+=.2),no("Heavenly bakery")&&(e+=.25),no("Heavenly confectionery")&&(e+=.25),no("Heavenly key")&&(e+=.25),e*=1+.05*eo("Dragon God"),no("Lucky digit")&&(e*=1.01),no("Lucky number")&&(e*=1.01),no("Lucky payout")&&(e*=1.01),Game.hasGod){const t=io("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=oo("cps"),no("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];no(o.name)&&("function"==typeof o.power?e*=1+.01*Jt[o.name].power(Jt[o.name]):e*=1+.01*o.power)})),no("Specialized chocolate chips")&&(e*=1.01),no("Designer cocoa beans")&&(e*=1.02),no("Underworld ovens")&&(e*=1.03),no("Exotic nuts")&&(e*=1.04),no("Arcane sugar")&&(e*=1.05),no("Increased merriness")&&(e*=1.15),no("Improved jolliness")&&(e*=1.15),no("A lump of coal")&&(e*=1.01),no("An itchy sweater")&&(e*=1.01),no("Santa's dominion")&&(e*=1.2),no("Fortune #100")&&(e*=1.01),no("Fortune #101")&&(e*=1.07),no("Dragon scale")&&(e*=1.03);let o=1;if(io){let t=io("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=io("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=io("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=io("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=io("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}no("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Ae/25;let i=1;if(no("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*eo("Breath of Milk"),io){const e=io("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=oo("milk");let a=1;no("Kitten helpers")&&(a*=1+.1*n*i),no("Kitten workers")&&(a*=1+.125*n*i),no("Kitten engineers")&&(a*=1+.15*n*i),no("Kitten overseers")&&(a*=1+.175*n*i),no("Kitten managers")&&(a*=1+.2*n*i),no("Kitten accountants")&&(a*=1+.2*n*i),no("Kitten specialists")&&(a*=1+.2*n*i),no("Kitten experts")&&(a*=1+.2*n*i),no("Kitten consultants")&&(a*=1+.2*n*i),no("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),no("Kitten marketeers")&&(a*=1+.15*n*i),no("Kitten analysts")&&(a*=1+.125*n*i),no("Kitten executives")&&(a*=1+.115*n*i),no("Kitten angels")&&(a*=1+.1*n*i),no("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Kt).forEach((e=>{const t=Kt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&no("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),_e+=t.amount*a})),no('"egg"')&&(_e+=9),e*=a;let r=1;if(no("Chicken egg")&&(r*=1.01),no("Duck egg")&&(r*=1.01),no("Turkey egg")&&(r*=1.01),no("Quail egg")&&(r*=1.01),no("Robin egg")&&(r*=1.01),no("Ostrich egg")&&(r*=1.01),no("Cassowary egg")&&(r*=1.01),no("Salmon roe")&&(r*=1.01),no("Frogspawn")&&(r*=1.01),no("Shark egg")&&(r*=1.01),no("Turtle egg")&&(r*=1.01),no("Ant larva")&&(r*=1.01),no("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),mt=1+.1*(1-(1-e/100)**3),r*=mt}e*=r,no("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+eo("Radiant Appetite");const l=_e*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ho(Game.CpsAchievements[e].name)})),Xe=l;const{n:s}=Game.shimmerTypes.golden,c=eo("Dragon's Fortune");for(let t=0;t{no(e[o])&&(t+=.1)}))}e*=t}if(no("Shimmering veil [off]")){let t=.5;no("Reinforced membrane")&&(t+=.1),e*=1+t}no("Magic shenanigans")&&(e*=1e3),no("Occult obstruction")&&(e*=0),_e=Game.runModHookOnValue("cps",_e),e*=So(),_e*=e}const Ro=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],$o=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Io=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],zo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Vo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function _o(e){return Zt[e]?Zt[e].won:0}function Xo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{no(Game.GrandmaSynergies[t])&&(e+=1)})),!_o("Elder")&&e>=7&&Ho("Elder"),!_o("Veteran")&&e>=14&&Ho("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount,i=Math.min(Kt[e].amount,i),_o("Mathematician")||Kt[e].amount=1&&Ho("One with everything"),1===o&&Ho("Mathematician"),1===n&&Ho("Base 10"),i>=100&&Ho("Centennial"),i>=150&&Ho("Centennial and a half"),i>=200&&Ho("Bicentennial"),i>=250&&Ho("Bicentennial and a half"),i>=300&&Ho("Tricentennial"),i>=350&&Ho("Tricentennial and a half"),i>=400&&Ho("Quadricentennial"),i>=450&&Ho("Quadricentennial and a half"),i>=500&&Ho("Quincentennial"),i>=550&&Ho("Quincentennial and a half"),i>=600&&Ho("Sexcentennial"),t>=100&&Ho("Builder"),t>=500&&Ho("Architect"),t>=1e3&&Ho("Engineer"),t>=2e3&&Ho("Lord of Constructs"),t>=4e3&&Ho("Grand design"),t>=8e3&&Ho("Ecumenopolis"),We>=20&&Ho("Enhancer"),We>=50&&Ho("Augmenter"),We>=100&&Ho("Upgrader"),We>=200&&Ho("Lord of Progress"),We>=300&&Ho("The full picture"),We>=400&&Ho("When there's nothing left to add"),t>=4e3&&We>=300&&Ho("Polymath"),t>=8e3&&We>=400&&Ho("Renaissance baker"),Kt.Cursor.amount+Kt.Grandma.amount>=777&&Ho("The elder scrolls");let a=!0;Object.keys($o).forEach((e=>{no($o[e])||(a=!1)})),a&&Ho("Spooky cookies");let r=!0;if(Object.keys(Io).forEach((e=>{no(Io[e])||(r=!1)})),r&&Ho("Let it snow"),no("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{no(e[o].name)&&(t+=1)})),t>=e.length&&Ho("O Fortuna")}}function Qo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){vo(),Kt[e].amount+=t;const o=Kt[e];"Cursor"===e?(o.amount>=1&&Ho("Click"),o.amount>=2&&Ho("Double-click"),o.amount>=50&&Ho("Mouse wheel"),o.amount>=100&&Ho("Of Mice and Men"),o.amount>=200&&Ho("The Digital"),o.amount>=300&&Ho("Extreme polydactyly"),o.amount>=400&&Ho("Dr. T"),o.amount>=500&&Ho("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ho("With her finger and her thumb"),o.amount>=700&&Ho("Gotta hand it to you"),o.amount>=800&&Ho("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ho(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Ae;return Uo(),Xo(),n!==Ae&&Uo(),_e-Game.cookiesPs}(o,e),1!==e&&(Ne=1)})),t}function qo(){Object.keys(Game.Objects).forEach((e=>{ft[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),Ct[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),yt[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Yo(){ft=Qo(1),Ct=Qo(10),yt=Qo(100),xt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){vo(),"Shimmering veil [on]"===Jt[e].name?Jt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Jt[e].name?Jt["Golden switch [off]"].bought=0:Jt[e].bought=(Jt[e].bought+1)%2,Jt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(We+=1),"Elder Pledge"===e?(Le+=1,Le>0&&Ho("Elder nap"),Le>=5&&Ho("Elder slumber")):"Elder Covenant"===e?Ho("Elder calm"):"Prism heart biscuits"===e?Ho("Lovely cookies"):"Heavenly key"===e&&Ho("Wholesome");const t=Ae;Uo(),Xo(),t!==Ae&&Uo();const o=function(){let e=0;no("Thousand fingers")&&(e+=.1),no("Million fingers")&&(e*=5),no("Billion fingers")&&(e*=10),no("Trillion fingers")&&(e*=20),no("Quadrillion fingers")&&(e*=20),no("Quintillion fingers")&&(e*=20),no("Sextillion fingers")&&(e*=20),no("Septillion fingers")&&(e*=20),no("Octillion fingers")&&(e*=20),no("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount})),t-=Kt.Cursor.amount,e*=t,no("Plastic mouse")&&(e+=.01*_e),no("Iron mouse")&&(e+=.01*_e),no("Titanium mouse")&&(e+=.01*_e),no("Adamantium mouse")&&(e+=.01*_e),no("Unobtainium mouse")&&(e+=.01*_e),no("Eludium mouse")&&(e+=.01*_e),no("Wishalloy mouse")&&(e+=.01*_e),no("Fantasteel mouse")&&(e+=.01*_e),no("Nevercrack mouse")&&(e+=.01*_e),no("Armythril mouse")&&(e+=.01*_e),no("Technobsidian mouse")&&(e+=.01*_e),no("Plasmarble mouse")&&(e+=.01*_e),no("Miraculite mouse")&&(e+=.01*_e),no("Fortune #104")&&(e+=.01*_e);let o=1;if(no("Santa's helpers")&&(o*=1.1),no("Cookie egg")&&(o*=1.1),no("Halo gloves")&&(o*=1.1),no("Dragon claw")&&(o*=1.03),no("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,no("Luminous gloves")?20:10)),o*=oo("click"),Kt.Temple.minigameLoaded&&io){const e=io("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*eo("Dragon Cursor");let n=o*Game.ComputeCps(1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[_e-Game.cookiesPs,o]:[_e-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(xt[t]={bonus:Game.cookiesPs-xe},1===e.CalcWrink?xt[t].bonus-=Te:2===e.CalcWrink&&(xt[t].bonus-=Me),Number.isFinite(xt[t].bonus)||(xt[t].bonus=0)):(xt[t]={},o[0]&&(xt[t].bonus=o[0]),o[1]&&(xt[t].bonusMouse=o[1]))}))}function Ko(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Nt=Ko(7,e,dt),Bt=2*Nt[1]/dt,Et=Nt[2]/60/60/6/ct,Wt=Ko(6,e,pt),Ot=2*Wt[1]/pt,Ft=Wt[2]/60/60/6/ct,jt=Ko(7,7*e,dt),Lt=2*jt[1]/dt,At=jt[2]/60/60/6/ct,Ut=Ko(6,7*e,pt),Dt=2*Ut[1]/pt,Ht=Ut[2]/60/60/6/ct}function Zo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Be,i=Math.max(0,o-Ee)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?St+=e:"cookie"===o.pool?Pt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Mt+=e)}}))}function tn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ht=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ht*=2)}}function on(){Je=900*st/.15,Je*=ct;const e=So();e>0?Je/=e:Je=0,Ze=dt*(.15*Je)+13,et=pt*(.15*Je)+13,tt=7*Je,ot=dt*(.15*tt)+13,nt=pt*(.15*tt)+13,it=2*Je,at=.15*it,rt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountrt&&(rt=2*Game.Objects[e].price,lt=e)}))}function nn(){let e=1,t=1,o=1;no("Green yeast digestives")&&(o*=1.01),no("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),dt=o*e,pt=o*t,ct=1,0===Game.shimmerTypes.golden.n&&(ct*=1+1.23*Game.auraMult("Dragon's Fortune"))}function an(){bt=0,kt=0,Gt=[0,null];for(let e=0;eGt[0]&&(Gt=[t,e]))}}function rn(){yo(),an(),on(),nn(),Jo(),en(),tn(),me=new Oo(Y[Y.length-1]),he=new Oo(Y[Y.length-1]),ge=new Oo(Y[Y.length-1]),fe=new Oo(Y[Y.length-1]),Ce=new Oo(K[K.length-1]),ye=new Oo(5),ue=new Oo(20*K[K.length-1]),Zo(),Fo(),Yo(),qo(),jo()}const ln={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},sn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function cn(){1===e.BotBar?(l("CMBotBar").style.display="",ho()):l("CMBotBar").style.display="none",fo()}function dn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),ho(),lo(),so()}function pn(){1===e.Favicon&&y>0?It.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class un{constructor(e,t){this.type=e,this.group=t}}class mn extends un{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class hn extends un{constructor(e,t,o){super(e,t),this.desc=o}}class gn extends un{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class fn extends un{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const Cn={CPSMode:new mn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new mn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new mn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new mn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){ze=!0})),Scale:new mn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){dn()})),ScaleDecimals:new mn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){dn()})),ScaleSeparator:new mn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){dn()})),ScaleCutoff:new fn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new mn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new mn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new mn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new mn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){lo()})),PPOnlyConsiderBuyable:new mn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new mn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new mn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new fn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new hn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new hn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new hn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new hn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new hn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new hn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new hn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new hn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new hn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new mn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){cn()})),TimerBar:new mn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){Co()})),TimerBarPos:new mn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),fo()})),TimerBarOverlay:new mn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new mn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",so()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",so()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new mn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new mn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){lo()})),SortUpgrades:new mn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){so()})),DragonAuraInfo:new mn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new mn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new mn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Qt[e].l.style.left,re[e].style.top=Qt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new mn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){pn()})),WrinklerButtons:new mn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new mn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new mn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new mn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new mn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new mn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new mn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new mn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new mn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new fn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new mn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new mn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Po()})),TooltipGrim:new mn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new mn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new mn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new mn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new mn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new mn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new mn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new mn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new mn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new fn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new mn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new mn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new mn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new mn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){sn(e.GCNotification)})),GCFlash:new mn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new hn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new mn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new gn("vol","NotificationGC",[],"Volume"),GCSoundURL:new mn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new mn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){sn(e.FortuneNotification)})),FortuneFlash:new mn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new hn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new mn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new gn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new mn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new mn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){sn(e.SeaNotification)})),SeaFlash:new mn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new hn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new mn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new gn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new mn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new mn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new hn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new mn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new gn("vol","NotificationGard",[],"Volume"),GardSoundURL:new mn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new mn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){sn(e.MagicNotification)})),MagicFlash:new mn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new hn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new mn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new gn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new mn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new mn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){sn(e.WrinklerNotification)})),WrinklerFlash:new mn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new hn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new mn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new gn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new mn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new mn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){sn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new mn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new hn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new mn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new gn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new mn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new mn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new mn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function yn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function bn(){if(Ye!==Game.dragonLevel||ze){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Upgrades).forEach((e=>{Jt[e]=wo(e)})),Zt=[],Object.keys(Game.Achievements).forEach((e=>{Zt[e]=bo(e)})),vo()}let wn=!1;function vn(t,o,n){(1===e[o]||n)&&3===t&&!1===wn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){vn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){vn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){vn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function xn(t,o,n,i){if((1===e[o]||i)&&!1===wn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Tn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===wn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Mn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(cn(),Co()),go()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(Gn(),rn(),r=Object.keys(Game.mods).length),ze&&(Yo(),Game.Has("Golden switch [off]")?(vo(),Jt["Golden switch [off]"].bought=0,Uo(),st=_e):st=Game.cookiesPs,nn(),on(),en(),Jo(),bn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Yt[e][t]=kn(e,t)}(),tn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;vo();let t=2;5!==He&&18!==He||(t-=1),5!==Ue&&18!==Ue||(t-=1),He=5,Ue=18;for(let e=0;e{Kt[t].amount>0&&(e=t)})),Kt[e].amount-=1,Fe-=1}return Object.keys(Kt).forEach((t=>{const o=Kt[t];e+=ro(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),qt=e}(),ze=0);const t=Game.auraMult("Fierce Hoarder")>0;!Oe&&t?(Oe=!0,Ne=1):Oe&&!t&&(Oe=!1,Ne=1),Ne&&(qo(),Ne=0),function(){an(),jo(),function(){wt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Kt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}vt=e,wt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Fo(),Zo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Vt=de(e/co())}(),G=0,Qt={},Object.keys(Game.shimmers).forEach((e=>{Qt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(It=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Qt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),pn(),b=G,0===G&&(It=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Qt[e].l.style.opacity,re[e].style.transform=Qt[e].l.style.transform,re[e].textContent=Math.ceil(Qt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(vn(3,"FortuneFlash",!1),xn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Tn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(zt=Game.shimmers[e])})),vn(3,"SeaFlash",!1),xn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Tn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?vn(3,"WrinklerMaxFlash",!1):vn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?xn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):xn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Tn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Tn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function Sn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=ln[t]):"Header"===t&&Object.keys(ln.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=ln[t][n])}))})),o&&Pn(),Mn(),Object.keys(ln).forEach((e=>{"Header"!==e&&void 0!==Cn[e].func&&Cn[e].func()}))}else Bn(ln);Game.UpdateMenu(),Sn()}function En(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Nn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Do(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Bo(),l("tooltip").innerHTML}function On(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Fn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Pn()}function Un(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Hn(o),Game.UpdateMenu()},n.appendChild(i),n}function Rn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function $n(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function In(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Un("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+po(){Game.HasUnlocked(Vo[e])||c.push(Vo[e])})),0!==c.length&&e.appendChild(Rn("basic","Rare plant drops left to unlock",$n(c))),e}())),o.appendChild(Un("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Rt+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?gt:0)));t.appendChild(Rn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Rt+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&>?gt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/$t,1)})`,i.appendChild(a),t.appendChild(Rn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Rn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Rn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(ce(ut,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Rn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(ce(e)))),t.appendChild(Rn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(de(e/ut)))))}const l=function(e){let t=Game.cookiesPs;vo(),0===Jt["Heavenly key"].bought&&(Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,Uo(),t=_e,vo()),Rt>=1e6&&Ho("Sacrifice"),Rt>=1e9&&Ho("Oblivion"),Rt>=1e12&&Ho("From scratch"),Rt>=1e15&&Ho("Nihilism"),Rt>=1e18&&Ho("Dematerialize"),Rt>=1e21&&Ho("Nil zero zilch"),Rt>=1e24&&Ho("Transcendence"),Rt>=1e27&&Ho("Obliterate"),Rt>=1e30&&Ho("Negative void"),Rt>=1e33&&Ho("To crumbs, you say?"),Rt>=1e36&&Ho("You get nothing"),Rt>=1e39&&Ho("Humble rebeginnings"),Rt>=1e42&&Ho("The end of the world"),Rt>=1e45&&Ho("Oh, you're back"),Rt>=1e48&&Ho("Lazarus"),Rt>=1e51&&Ho("Smurf account"),Rt>=1e54&&Ho("If at first you don't succeed"),Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,De=e;const o=Ae;Uo(),Xo(),o!==Ae&&Uo();const n=_e-t;return De=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Rn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Un("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(bt)} / ${ce(kt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){En()},e.appendChild(t),o.appendChild(Rn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(Gt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},n.appendChild(i),o.appendChild(Rn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==Gt[1]?Gt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys($o).forEach((e=>{Game.Has($o[e])||(n.push($o[e]),o=!0)}));const i=[];Object.keys(Io).forEach((e=>{Game.Has(Io[e])||(i.push(Io[e]),o=!0)}));const a=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(a.push(zo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Un("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Rn("basic","Halloween cookies left to buy",$n(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Rn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Rn("basic","Christmas cookies left to buy",$n(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Rn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Rn("basic","Valentine cookies left to buy",$n(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Rn("basic","Normal easter eggs left to unlock",$n(r))),t.appendChild(Rn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Rn("basic","Rare easter eggs left to unlock",$n(l))),t.appendChild(Rn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Rn("basic","Reindeer reward",document.createTextNode(ce(ht)))),s&&t.appendChild(Rn("withTooltip","Chocolate egg cookies",document.createTextNode(ce(gt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Rn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(mt-1))/100+"%")))}return t}()),o.appendChild(Un("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Rn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(co(),3)))),o.appendChild(Rn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(Tt,1)))),o.appendChild(Rn("basic",`Cookies from clicking (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(ue.calcSum(Tt*K[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Ro).forEach((t=>{Game.Has(Ro[t])||e.push(Ro[t])})),0!==e.length&&o.appendChild(Rn("basic","Fortune Upgrades Left to Buy",$n(e)))}if(e.ShowMissedGC&&o.appendChild(Rn("basic","Missed Golden Cookies",document.createTextNode(ce(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Rn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.appendChild(i)}}}))}const zn={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Vn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function _n(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Hn(t),Game.UpdateMenu()},n.appendChild(i),n}function Xn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return se.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(e),Pn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(R.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===Cn[t].type){const n=document.createElement("a");Cn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=jn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===Cn[t].label.length?(e[t]=0,Cn[t].toggle&&(l(jn+t).className="option off")):l(jn+t).className="option",void 0!==Cn[t].func&&Cn[t].func(),l(jn+t).innerHTML=Cn[t].label[e[t]],Pn()}(t)},n.textContent=Cn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=Cn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===Cn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=Cn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Dn(t)},r.onchange=function(){Dn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){xn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${jn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Pn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=Cn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===Cn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Ln(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Sn(),Pn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=Cn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){vn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),An().init(),o}if("numscale"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="number",i.value=e[t],i.min=Cn[t].min,i.max=Cn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Pn(),dn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=Cn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Qn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function qn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),ze=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Qn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Qn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Qn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Kt[Game.ObjectsById[e].name].name;Kt[o].amount-=1,Fe-=1,t=Kt[o].basePrice*Game.priceIncrease**Math.max(0,Kt[o].amount-1-Kt[o].free),t=Game.modifyBuildingPrice(Kt[o],t),t=Math.ceil(t);break}const o=Ae;return Uo(),Xo(),o!==Ae&&Uo(),[_e-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${ce(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ke}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==An().picker&&void 0!==An().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(zn).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(_n(t,zn[t])),e.Header[t]))for(let e=0;e{const n=_n(t,Vn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Xn(e))}))})):Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Xn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Bn(ln)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",In(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Hn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=It?It.wrath?`[W${Math.ceil(It.life/Game.fps)}]`:`[G${Math.ceil(It.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(zt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;It&&(t=!0,It.wrath?e+=`[W${Math.ceil(It.life/Game.fps)}]`:e+=`[G${Math.ceil(It.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(zt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Ee<1?"Ascending now would grant you no prestige.":Ee<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Ee)} prestige levels (+${ce(Ee)}% CpS)
and ${ce(Ee)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Vt} to reach the next level and you are making ${ce(ut,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Yn(){Gn(),on(),rn(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{mo(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=uo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=uo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){En()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),On(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Wn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},qn(),Wn(),Game.CalculateGains(),Bn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Kn={init:function(){wn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Yn(),Game.registerHook("draw",Eo),Game.registerHook("logic",Mn),Game.registerHook("click",No),wn=!1)},load:function(e){const t=JSON.parse(e);Gn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Bn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:yn};Game.registerMod("CookieMonster",Kn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],$={};let R,I,z=0,V=-1,_=[],Q=1,X=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=1,dt=1,pt=1,ut=0,mt=0,ht=0,gt=0,ft={},Ct={},yt={},bt=0,kt=0,Gt=[0,null],wt=0,vt=0,xt={},Tt={},Mt={},St={},Pt={},Bt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Dt=0,Ht=0,Ut=[],$t=0,Rt=0,It={},zt={},Vt=0,_t=0,Qt=[],Xt={},qt=0,Yt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Kt=[],Jt=[],Zt=[];function eo(e){let t=0;return Game.dragonAuras[He].name!==e&&Game.dragonAuras[Ue].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[He].name&&"Reality Bending"!==Game.dragonAuras[Ue].name||(t+=.1),t}function to(){let e=.25;return e*=1+eo("Earth Shatterer"),e}function oo(e,t){return void 0===Ve[e]?void 0===t?1:t:Ve[e]}function no(e){const t=Jt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function io(e){if(Game.hasGod){void 0===Kt.Temple.minigame&&(Kt.Temple.minigame=Game.Objects.Temple.minigame);const t=Kt.Temple.minigame.gods[e];if($e===t.id)return 1;if(Re===t.id)return 2;if(Ie===t.id)return 3}return!1}function ao(e,t){let o=t;if(no("Season savings")&&(o*=.99),no("Santa's dominion")&&(o*=.99),no("Faberge egg")&&(o*=.99),no("Divine discount")&&(o*=.99),no("Fortune #100")&&(o*=.99),o*=1-.02*eo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&no(e.fortune.name)&&(o*=.93),o*=oo("buildingCost"),Kt.Temple.minigameLoaded){const e=io("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ro(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function lo(){let t=Game.buyBulk;if(1===Game.buyMode?X=t:t=X,1===t?t=ft:10===t?t=Ct:100===t&&(t=yt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ft).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ro(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ft).map((e=>{const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?Q=i:i=Q,1===i&&(i=ft),10===i&&(i=Ct),100===i&&(i=yt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+po()))/co());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&no(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(no(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&no(e.fortune.name)&&(t*=1.07),e.grandma&&no(e.grandma.name)&&(t*=1+.01*Kt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&no(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function Go(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;no("Thousand fingers")&&(t+=.1),no("Million fingers")&&(t*=5),no("Billion fingers")&&(t*=10),no("Trillion fingers")&&(t*=20),no("Quadrillion fingers")&&(t*=20),no("Quintillion fingers")&&(t*=20),no("Sextillion fingers")&&(t*=20),no("Septillion fingers")&&(t*=20),no("Octillion fingers")&&(t*=20),no("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Kt).forEach((e=>{"Cursor"!==Kt[e].name&&(n+=Kt[e].amount)})),t*=n,o*=ko(e),o*=Game.magicCpS("Cursor"),o*=oo("cursorCps"),Game.ComputeCps(.1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{no(Game.GrandmaSynergies[e])&&(o*=2)})),no("Bingo center/Research facility")&&(o*=4),no("Ritual rolling pins")&&(o*=2),no("Naughty list")&&(o*=2),no("Elderwort biscuits")&&(o*=1.02),o*=oo("grandmaCps"),no("Cat ladies"))for(let e=0;e{"Grandma"!==Kt[e].name&&(i+=Kt[e].amount)})),o*=1+.01*eo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=ko(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function wo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Kt).forEach((t=>{Kt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(no("Starlove")&&(e=3),Game.hasGod){const t=io("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function vo(){We=Game.UpgradesOwned,Le=Game.pledges,Ae=Game.AchievementsOwned,je=Game.heavenlyPower,De=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e],mo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&($e=t.minigame.slot[0],Re=t.minigame.slot[1],Ie=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Kt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Jt[e];void 0===o&&(Jt[e]=wo(e),o=Jt[e]),o.bought=t.bought,Jt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Zt[e];void 0===o&&(Zt[e]=bo(e),o=Zt[e]),o.won=t.won,Zt[e]=o})),yo(),He=Xe,Ue=qe}function xo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function To(e){e.appendChild(xo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(xo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(xo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(xo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(xo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Mo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Po(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Bo(){if(vo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(To(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ft:10===Game.buyBulk?t=Ct:100===Game.buyBulk&&(t=yt),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+po()))/co());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(xo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(xo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=uo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,fo())}}(),ho(),Bo(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Kt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function No(){ue.addLatest(Game.computedMouseCps)}class Oo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Fo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+qt;Game.cpsSucked>0&&(o+=bt),$t=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-be,i=Math.max(0,Game.cookies-ke)/n,a=Math.max(0,bt-Ge)/n,r=Math.max(0,Gt[0]-we)/n,l=Math.max(0,o-gt)/n,s=(Game.cookieClicks-ve)/n;for(let e=0;e0&&(n=W),n}function Lo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Wo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+po()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Qt.push([t[n].pp,o])}))}function jo(){!function(){_t=1/0,Qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Ao(ft,1),Ao(Ct,10),Ao(yt,100),Qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Qt[t][1]>Game.cookies&&(t+=1,Qt.length!==t+1););_t=Qt[e.PPExcludeTop][t],Lo(ft,1),Lo(Ct,10),Lo(yt,100)}(),Object.keys(xt).forEach((e=>{Game.cookiesPs?xt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+po()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/xt[e].bonus:xt[e].pp=Game.Upgrades[e].getPrice()/xt[e].bonus,Number.isNaN(xt[e].pp)&&(xt[e].pp=1/0),xt[e].color=Wo(xt[e],Game.Upgrades[e].getPrice())}))}function Do(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ve=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(De)*je*function(){let e=0;if(no("Heavenly chip secret")&&(e+=.05),no("Heavenly cookie stand")&&(e+=.2),no("Heavenly bakery")&&(e+=.25),no("Heavenly confectionery")&&(e+=.25),no("Heavenly key")&&(e+=.25),e*=1+.05*eo("Dragon God"),no("Lucky digit")&&(e*=1.01),no("Lucky number")&&(e*=1.01),no("Lucky payout")&&(e*=1.01),Game.hasGod){const t=io("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=oo("cps"),no("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];no(o.name)&&("function"==typeof o.power?e*=1+.01*Jt[o.name].power(Jt[o.name]):e*=1+.01*o.power)})),no("Specialized chocolate chips")&&(e*=1.01),no("Designer cocoa beans")&&(e*=1.02),no("Underworld ovens")&&(e*=1.03),no("Exotic nuts")&&(e*=1.04),no("Arcane sugar")&&(e*=1.05),no("Increased merriness")&&(e*=1.15),no("Improved jolliness")&&(e*=1.15),no("A lump of coal")&&(e*=1.01),no("An itchy sweater")&&(e*=1.01),no("Santa's dominion")&&(e*=1.2),no("Fortune #100")&&(e*=1.01),no("Fortune #101")&&(e*=1.07),no("Dragon scale")&&(e*=1.03);let o=1;if(io){let t=io("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=io("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=io("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=io("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=io("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}no("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Ae/25;let i=1;if(no("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*eo("Breath of Milk"),io){const e=io("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=oo("milk");let a=1;no("Kitten helpers")&&(a*=1+.1*n*i),no("Kitten workers")&&(a*=1+.125*n*i),no("Kitten engineers")&&(a*=1+.15*n*i),no("Kitten overseers")&&(a*=1+.175*n*i),no("Kitten managers")&&(a*=1+.2*n*i),no("Kitten accountants")&&(a*=1+.2*n*i),no("Kitten specialists")&&(a*=1+.2*n*i),no("Kitten experts")&&(a*=1+.2*n*i),no("Kitten consultants")&&(a*=1+.2*n*i),no("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),no("Kitten marketeers")&&(a*=1+.15*n*i),no("Kitten analysts")&&(a*=1+.125*n*i),no("Kitten executives")&&(a*=1+.115*n*i),no("Kitten angels")&&(a*=1+.1*n*i),no("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Kt).forEach((e=>{const t=Kt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&no("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),_e+=t.amount*a})),no('"egg"')&&(_e+=9),e*=a;let r=1;if(no("Chicken egg")&&(r*=1.01),no("Duck egg")&&(r*=1.01),no("Turkey egg")&&(r*=1.01),no("Quail egg")&&(r*=1.01),no("Robin egg")&&(r*=1.01),no("Ostrich egg")&&(r*=1.01),no("Cassowary egg")&&(r*=1.01),no("Salmon roe")&&(r*=1.01),no("Frogspawn")&&(r*=1.01),no("Shark egg")&&(r*=1.01),no("Turtle egg")&&(r*=1.01),no("Ant larva")&&(r*=1.01),no("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),mt=1+.1*(1-(1-e/100)**3),r*=mt}e*=r,no("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+eo("Radiant Appetite");const l=_e*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ho(Game.CpsAchievements[e].name)})),Qe=l;const{n:s}=Game.shimmerTypes.golden,c=eo("Dragon's Fortune");for(let t=0;t{no(e[o])&&(t+=.1)}))}e*=t}if(no("Shimmering veil [off]")){let t=.5;no("Reinforced membrane")&&(t+=.1),e*=1+t}no("Magic shenanigans")&&(e*=1e3),no("Occult obstruction")&&(e*=0),_e=Game.runModHookOnValue("cps",_e),e*=So(),_e*=e}const $o=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ro=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Io=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],zo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Vo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function _o(e){return Zt[e]?Zt[e].won:0}function Qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{no(Game.GrandmaSynergies[t])&&(e+=1)})),!_o("Elder")&&e>=7&&Ho("Elder"),!_o("Veteran")&&e>=14&&Ho("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount,i=Math.min(Kt[e].amount,i),_o("Mathematician")||Kt[e].amount=1&&Ho("One with everything"),1===o&&Ho("Mathematician"),1===n&&Ho("Base 10"),i>=100&&Ho("Centennial"),i>=150&&Ho("Centennial and a half"),i>=200&&Ho("Bicentennial"),i>=250&&Ho("Bicentennial and a half"),i>=300&&Ho("Tricentennial"),i>=350&&Ho("Tricentennial and a half"),i>=400&&Ho("Quadricentennial"),i>=450&&Ho("Quadricentennial and a half"),i>=500&&Ho("Quincentennial"),i>=550&&Ho("Quincentennial and a half"),i>=600&&Ho("Sexcentennial"),t>=100&&Ho("Builder"),t>=500&&Ho("Architect"),t>=1e3&&Ho("Engineer"),t>=2e3&&Ho("Lord of Constructs"),t>=4e3&&Ho("Grand design"),t>=8e3&&Ho("Ecumenopolis"),We>=20&&Ho("Enhancer"),We>=50&&Ho("Augmenter"),We>=100&&Ho("Upgrader"),We>=200&&Ho("Lord of Progress"),We>=300&&Ho("The full picture"),We>=400&&Ho("When there's nothing left to add"),t>=4e3&&We>=300&&Ho("Polymath"),t>=8e3&&We>=400&&Ho("Renaissance baker"),Kt.Cursor.amount+Kt.Grandma.amount>=777&&Ho("The elder scrolls");let a=!0;Object.keys(Ro).forEach((e=>{no(Ro[e])||(a=!1)})),a&&Ho("Spooky cookies");let r=!0;if(Object.keys(Io).forEach((e=>{no(Io[e])||(r=!1)})),r&&Ho("Let it snow"),no("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{no(e[o].name)&&(t+=1)})),t>=e.length&&Ho("O Fortuna")}}function Xo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){vo(),Kt[e].amount+=t;const o=Kt[e];"Cursor"===e?(o.amount>=1&&Ho("Click"),o.amount>=2&&Ho("Double-click"),o.amount>=50&&Ho("Mouse wheel"),o.amount>=100&&Ho("Of Mice and Men"),o.amount>=200&&Ho("The Digital"),o.amount>=300&&Ho("Extreme polydactyly"),o.amount>=400&&Ho("Dr. T"),o.amount>=500&&Ho("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ho("With her finger and her thumb"),o.amount>=700&&Ho("Gotta hand it to you"),o.amount>=800&&Ho("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ho(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Ae;return Uo(),Qo(),n!==Ae&&Uo(),_e-Game.cookiesPs}(o,e),1!==e&&(Ne=1)})),t}function qo(){Object.keys(Game.Objects).forEach((e=>{ft[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),Ct[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),yt[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Yo(){ft=Xo(1),Ct=Xo(10),yt=Xo(100),xt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){vo(),"Shimmering veil [on]"===Jt[e].name?Jt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Jt[e].name?Jt["Golden switch [off]"].bought=0:Jt[e].bought=(Jt[e].bought+1)%2,Jt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(We+=1),"Elder Pledge"===e?(Le+=1,Le>0&&Ho("Elder nap"),Le>=5&&Ho("Elder slumber")):"Elder Covenant"===e?Ho("Elder calm"):"Prism heart biscuits"===e?Ho("Lovely cookies"):"Heavenly key"===e&&Ho("Wholesome");const t=Ae;Uo(),Qo(),t!==Ae&&Uo();const o=function(){let e=0;no("Thousand fingers")&&(e+=.1),no("Million fingers")&&(e*=5),no("Billion fingers")&&(e*=10),no("Trillion fingers")&&(e*=20),no("Quadrillion fingers")&&(e*=20),no("Quintillion fingers")&&(e*=20),no("Sextillion fingers")&&(e*=20),no("Septillion fingers")&&(e*=20),no("Octillion fingers")&&(e*=20),no("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount})),t-=Kt.Cursor.amount,e*=t,no("Plastic mouse")&&(e+=.01*_e),no("Iron mouse")&&(e+=.01*_e),no("Titanium mouse")&&(e+=.01*_e),no("Adamantium mouse")&&(e+=.01*_e),no("Unobtainium mouse")&&(e+=.01*_e),no("Eludium mouse")&&(e+=.01*_e),no("Wishalloy mouse")&&(e+=.01*_e),no("Fantasteel mouse")&&(e+=.01*_e),no("Nevercrack mouse")&&(e+=.01*_e),no("Armythril mouse")&&(e+=.01*_e),no("Technobsidian mouse")&&(e+=.01*_e),no("Plasmarble mouse")&&(e+=.01*_e),no("Miraculite mouse")&&(e+=.01*_e),no("Fortune #104")&&(e+=.01*_e);let o=1;if(no("Santa's helpers")&&(o*=1.1),no("Cookie egg")&&(o*=1.1),no("Halo gloves")&&(o*=1.1),no("Dragon claw")&&(o*=1.03),no("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,no("Luminous gloves")?20:10)),o*=oo("click"),Kt.Temple.minigameLoaded&&io){const e=io("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*eo("Dragon Cursor");let n=o*Game.ComputeCps(1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[_e-Game.cookiesPs,o]:[_e-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(xt[t]={bonus:Game.cookiesPs-xe},1===e.CalcWrink?xt[t].bonus-=Te:2===e.CalcWrink&&(xt[t].bonus-=Me),Number.isFinite(xt[t].bonus)||(xt[t].bonus=0)):(xt[t]={},o[0]&&(xt[t].bonus=o[0]),o[1]&&(xt[t].bonusMouse=o[1]))}))}function Ko(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Nt=Ko(7,e,dt),Bt=2*Nt[1]/dt,Et=Nt[2]/60/60/6/ct,Wt=Ko(6,e,pt),Ot=2*Wt[1]/pt,Ft=Wt[2]/60/60/6/ct,jt=Ko(7,7*e,dt),Lt=2*jt[1]/dt,At=jt[2]/60/60/6/ct,Ut=Ko(6,7*e,pt),Dt=2*Ut[1]/pt,Ht=Ut[2]/60/60/6/ct}function Zo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Be,i=Math.max(0,o-Ee)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?St+=e:"cookie"===o.pool?Pt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Mt+=e)}}))}function tn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ht=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ht*=2)}}function on(){Je=900*st/.15,Je*=ct;const e=So();e>0?Je/=e:Je=0,Ze=dt*(.15*Je)+13,et=pt*(.15*Je)+13,tt=7*Je,ot=dt*(.15*tt)+13,nt=pt*(.15*tt)+13,it=2*Je,at=.15*it,rt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountrt&&(rt=2*Game.Objects[e].price,lt=e)}))}function nn(){let e=1,t=1,o=1;no("Green yeast digestives")&&(o*=1.01),no("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),dt=o*e,pt=o*t,ct=1,0===Game.shimmerTypes.golden.n&&(ct*=1+1.23*Game.auraMult("Dragon's Fortune"))}function an(){bt=0,kt=0,Gt=[0,null];for(let e=0;eGt[0]&&(Gt=[t,e]))}}function rn(){yo(),an(),on(),nn(),Jo(),en(),tn(),me=new Oo(Y[Y.length-1]),he=new Oo(Y[Y.length-1]),ge=new Oo(Y[Y.length-1]),fe=new Oo(Y[Y.length-1]),Ce=new Oo(K[K.length-1]),ye=new Oo(5),ue=new Oo(20*K[K.length-1]),Zo(),Fo(),Yo(),qo(),jo()}const ln={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},sn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function cn(){1===e.BotBar?(l("CMBotBar").style.display="",ho()):l("CMBotBar").style.display="none",fo()}function dn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),ho(),lo(),so()}function pn(){1===e.Favicon&&y>0?It.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class un{constructor(e,t){this.type=e,this.group=t}}class mn extends un{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class hn extends un{constructor(e,t,o){super(e,t),this.desc=o}}class gn extends un{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class fn extends un{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const Cn={CPSMode:new mn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new mn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new mn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new mn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){ze=!0})),Scale:new mn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){dn()})),ScaleDecimals:new mn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){dn()})),ScaleSeparator:new mn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){dn()})),ScaleCutoff:new fn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new mn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new mn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new mn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new mn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){lo()})),PPOnlyConsiderBuyable:new mn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new mn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new mn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new fn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new hn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new hn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new hn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new hn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new hn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new hn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new hn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new hn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new hn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new mn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){cn()})),TimerBar:new mn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){Co()})),TimerBarPos:new mn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),fo()})),TimerBarOverlay:new mn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new mn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",so()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",so()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new mn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new mn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){lo()})),SortUpgrades:new mn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){so()})),DragonAuraInfo:new mn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new mn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new mn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Xt[e].l.style.left,re[e].style.top=Xt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new mn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){pn()})),WrinklerButtons:new mn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new mn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new mn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new mn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new mn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new mn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new mn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new mn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new mn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new fn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new mn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new mn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Po()})),TooltipGrim:new mn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new mn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new mn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new mn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new mn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new mn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new mn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new mn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new mn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new fn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new mn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new mn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new mn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new mn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){sn(e.GCNotification)})),GCFlash:new mn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new hn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new mn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new gn("vol","NotificationGC",[],"Volume"),GCSoundURL:new mn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new mn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){sn(e.FortuneNotification)})),FortuneFlash:new mn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new hn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new mn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new gn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new mn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new mn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){sn(e.SeaNotification)})),SeaFlash:new mn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new hn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new mn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new gn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new mn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new mn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new hn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new mn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new gn("vol","NotificationGard",[],"Volume"),GardSoundURL:new mn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new mn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){sn(e.MagicNotification)})),MagicFlash:new mn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new hn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new mn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new gn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new mn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new mn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){sn(e.WrinklerNotification)})),WrinklerFlash:new mn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new hn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new mn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new gn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new mn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new mn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){sn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new mn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new hn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new mn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new gn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new mn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new mn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new mn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function yn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function bn(){if(Ye!==Game.dragonLevel||ze){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Upgrades).forEach((e=>{Jt[e]=wo(e)})),Zt=[],Object.keys(Game.Achievements).forEach((e=>{Zt[e]=bo(e)})),vo()}let wn=!1;function vn(t,o,n){(1===e[o]||n)&&3===t&&!1===wn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){vn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){vn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){vn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function xn(t,o,n,i){if((1===e[o]||i)&&!1===wn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Tn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===wn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Mn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(cn(),Co()),go()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(Gn(),rn(),r=Object.keys(Game.mods).length),ze&&(Yo(),Game.Has("Golden switch [off]")?(vo(),Jt["Golden switch [off]"].bought=0,Uo(),st=_e):st=Game.cookiesPs,nn(),on(),en(),Jo(),bn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Yt[e][t]=kn(e,t)}(),tn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;vo();let t=2;5!==He&&18!==He||(t-=1),5!==Ue&&18!==Ue||(t-=1),He=5,Ue=18;for(let e=0;e{Kt[t].amount>0&&(e=t)})),Kt[e].amount-=1,Fe-=1}return Object.keys(Kt).forEach((t=>{const o=Kt[t];e+=ro(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),qt=e}(),ze=0);const t=Game.auraMult("Fierce Hoarder")>0;!Oe&&t?(Oe=!0,Ne=1):Oe&&!t&&(Oe=!1,Ne=1),Ne&&(qo(),Ne=0),function(){an(),jo(),function(){wt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Kt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}vt=e,wt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Fo(),Zo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Vt=de(e/co())}(),G=0,Xt={},Object.keys(Game.shimmers).forEach((e=>{Xt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(It=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Xt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),pn(),b=G,0===G&&(It=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Xt[e].l.style.opacity,re[e].style.transform=Xt[e].l.style.transform,re[e].textContent=Math.ceil(Xt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(vn(3,"FortuneFlash",!1),xn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Tn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(zt=Game.shimmers[e])})),vn(3,"SeaFlash",!1),xn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Tn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?vn(3,"WrinklerMaxFlash",!1):vn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?xn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):xn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Tn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Tn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function Sn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=ln[t]):"Header"===t&&Object.keys(ln.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=ln[t][n])}))})),o&&Pn(),Mn(),Object.keys(ln).forEach((e=>{"Header"!==e&&void 0!==Cn[e].func&&Cn[e].func()}))}else Bn(ln);Game.UpdateMenu(),Sn()}function En(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Nn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Do(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Bo(),l("tooltip").innerHTML}function On(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Fn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Pn()}function Un(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Hn(o),Game.UpdateMenu()},n.appendChild(i),n}function $n(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape($[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Rn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function In(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Un("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+po(){Game.HasUnlocked(Vo[e])||c.push(Vo[e])})),0!==c.length&&e.appendChild($n("basic","Rare plant drops left to unlock",Rn(c))),e}())),o.appendChild(Un("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?gt:0)));t.appendChild($n("withTooltip","Prestige level (cur / max)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&>?gt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/Rt,1)})`,i.appendChild(a),t.appendChild($n("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild($n("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild($n("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(ce(ut,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild($n("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(ce(e)))),t.appendChild($n("basic","Time till target (cur, current 5 second average)",document.createTextNode(de(e/ut)))))}const l=function(e){let t=Game.cookiesPs;vo(),0===Jt["Heavenly key"].bought&&(Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,Uo(),t=_e,vo()),$t>=1e6&&Ho("Sacrifice"),$t>=1e9&&Ho("Oblivion"),$t>=1e12&&Ho("From scratch"),$t>=1e15&&Ho("Nihilism"),$t>=1e18&&Ho("Dematerialize"),$t>=1e21&&Ho("Nil zero zilch"),$t>=1e24&&Ho("Transcendence"),$t>=1e27&&Ho("Obliterate"),$t>=1e30&&Ho("Negative void"),$t>=1e33&&Ho("To crumbs, you say?"),$t>=1e36&&Ho("You get nothing"),$t>=1e39&&Ho("Humble rebeginnings"),$t>=1e42&&Ho("The end of the world"),$t>=1e45&&Ho("Oh, you're back"),$t>=1e48&&Ho("Lazarus"),$t>=1e51&&Ho("Smurf account"),$t>=1e54&&Ho("If at first you don't succeed"),Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,De=e;const o=Ae;Uo(),Qo(),o!==Ae&&Uo();const n=_e-t;return De=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild($n("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Un("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(bt)} / ${ce(kt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){En()},e.appendChild(t),o.appendChild($n("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(Gt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},n.appendChild(i),o.appendChild($n("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==Gt[1]?Gt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(n.push(Ro[e]),o=!0)}));const i=[];Object.keys(Io).forEach((e=>{Game.Has(Io[e])||(i.push(Io[e]),o=!0)}));const a=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(a.push(zo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Un("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild($n("basic","Halloween cookies left to buy",Rn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild($n("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild($n("basic","Christmas cookies left to buy",Rn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild($n("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild($n("basic","Valentine cookies left to buy",Rn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild($n("basic","Normal easter eggs left to unlock",Rn(r))),t.appendChild($n("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild($n("basic","Rare easter eggs left to unlock",Rn(l))),t.appendChild($n("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild($n("basic","Reindeer reward",document.createTextNode(ce(ht)))),s&&t.appendChild($n("withTooltip","Chocolate egg cookies",document.createTextNode(ce(gt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild($n("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(mt-1))/100+"%")))}return t}()),o.appendChild(Un("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild($n("basic",`Average cookies per second (past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(co(),3)))),o.appendChild($n("basic",`Average cookie clicks per second (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(Tt,1)))),o.appendChild($n("basic",`Cookies from clicking (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(ue.calcSum(Tt*K[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys($o).forEach((t=>{Game.Has($o[t])||e.push($o[t])})),0!==e.length&&o.appendChild($n("basic","Fortune Upgrades Left to Buy",Rn(e)))}if(e.ShowMissedGC&&o.appendChild($n("basic","Missed golden cookies",document.createTextNode(ce(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild($n("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.appendChild(i)}}}))}const zn={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Vn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function _n(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Hn(t),Game.UpdateMenu()},n.appendChild(i),n}function Qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return se.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(e),Pn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape($.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===Cn[t].type){const n=document.createElement("a");Cn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=jn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===Cn[t].label.length?(e[t]=0,Cn[t].toggle&&(l(jn+t).className="option off")):l(jn+t).className="option",void 0!==Cn[t].func&&Cn[t].func(),l(jn+t).innerHTML=Cn[t].label[e[t]],Pn()}(t)},n.textContent=Cn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=Cn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===Cn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=Cn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Dn(t)},r.onchange=function(){Dn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){xn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${jn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Pn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=Cn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===Cn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Ln(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Sn(),Pn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=Cn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){vn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),An().init(),o}if("numscale"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="number",i.value=e[t],i.min=Cn[t].min,i.max=Cn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Pn(),dn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=Cn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Xn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function qn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),ze=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Xn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Xn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Xn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Kt[Game.ObjectsById[e].name].name;Kt[o].amount-=1,Fe-=1,t=Kt[o].basePrice*Game.priceIncrease**Math.max(0,Kt[o].amount-1-Kt[o].free),t=Game.modifyBuildingPrice(Kt[o],t),t=Math.ceil(t);break}const o=Ae;return Uo(),Qo(),o!==Ae&&Uo(),[_e-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${ce(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ke}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==An().picker&&void 0!==An().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(zn).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(_n(t,zn[t])),e.Header[t]))for(let e=0;e{const n=_n(t,Vn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Qn(e))}))})):Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Bn(ln)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",In(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Hn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=It?It.wrath?`[W${Math.ceil(It.life/Game.fps)}]`:`[G${Math.ceil(It.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(zt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;It&&(t=!0,It.wrath?e+=`[W${Math.ceil(It.life/Game.fps)}]`:e+=`[G${Math.ceil(It.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(zt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Ee<1?"Ascending now would grant you no prestige.":Ee<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Ee)} prestige levels (+${ce(Ee)}% CpS)
and ${ce(Ee)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Vt} to reach the next level and you were making ${ce(ut,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Yn(){Gn(),on(),rn(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{mo(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=uo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=uo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),$[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){En()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),On(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Wn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},qn(),Wn(),Game.CalculateGains(),Bn(),R=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Kn={init:function(){wn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Yn(),Game.registerHook("draw",Eo),Game.registerHook("logic",Mn),Game.registerHook("click",No),wn=!1)},load:function(e){const t=JSON.parse(e);Gn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Bn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:yn};Game.registerMod("CookieMonster",Kn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index 9f179292..bf9f8db8 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],R={};let $,I,z=0,V=-1,_=[],X=1,Q=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,Re,$e,Ie,ze,Ve,_e,Xe,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=1,dt=1,pt=1,ut=0,mt=0,ht=0,gt=0,ft={},Ct={},yt={},bt=0,kt=0,Gt=[0,null],wt=0,vt=0,xt={},Tt={},Mt={},St={},Pt={},Bt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Dt=0,Ht=0,Ut=[],Rt=0,$t=0,It={},zt={},Vt=0,_t=0,Xt=[],Qt={},qt=0,Yt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Kt=[],Jt=[],Zt=[];function eo(e){let t=0;return Game.dragonAuras[He].name!==e&&Game.dragonAuras[Ue].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[He].name&&"Reality Bending"!==Game.dragonAuras[Ue].name||(t+=.1),t}function to(){let e=.25;return e*=1+eo("Earth Shatterer"),e}function oo(e,t){return void 0===Ve[e]?void 0===t?1:t:Ve[e]}function no(e){const t=Jt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function io(e){if(Game.hasGod){void 0===Kt.Temple.minigame&&(Kt.Temple.minigame=Game.Objects.Temple.minigame);const t=Kt.Temple.minigame.gods[e];if(Re===t.id)return 1;if($e===t.id)return 2;if(Ie===t.id)return 3}return!1}function ao(e,t){let o=t;if(no("Season savings")&&(o*=.99),no("Santa's dominion")&&(o*=.99),no("Faberge egg")&&(o*=.99),no("Divine discount")&&(o*=.99),no("Fortune #100")&&(o*=.99),o*=1-.02*eo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&no(e.fortune.name)&&(o*=.93),o*=oo("buildingCost"),Kt.Temple.minigameLoaded){const e=io("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ro(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function lo(){let t=Game.buyBulk;if(1===Game.buyMode?Q=t:t=Q,1===t?t=ft:10===t?t=Ct:100===t&&(t=yt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ft).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ro(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ft).map((e=>{const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=ft),10===i&&(i=Ct),100===i&&(i=yt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+po()))/co());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&no(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(no(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&no(e.fortune.name)&&(t*=1.07),e.grandma&&no(e.grandma.name)&&(t*=1+.01*Kt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&no(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function Go(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;no("Thousand fingers")&&(t+=.1),no("Million fingers")&&(t*=5),no("Billion fingers")&&(t*=10),no("Trillion fingers")&&(t*=20),no("Quadrillion fingers")&&(t*=20),no("Quintillion fingers")&&(t*=20),no("Sextillion fingers")&&(t*=20),no("Septillion fingers")&&(t*=20),no("Octillion fingers")&&(t*=20),no("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Kt).forEach((e=>{"Cursor"!==Kt[e].name&&(n+=Kt[e].amount)})),t*=n,o*=ko(e),o*=Game.magicCpS("Cursor"),o*=oo("cursorCps"),Game.ComputeCps(.1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{no(Game.GrandmaSynergies[e])&&(o*=2)})),no("Bingo center/Research facility")&&(o*=4),no("Ritual rolling pins")&&(o*=2),no("Naughty list")&&(o*=2),no("Elderwort biscuits")&&(o*=1.02),o*=oo("grandmaCps"),no("Cat ladies"))for(let e=0;e{"Grandma"!==Kt[e].name&&(i+=Kt[e].amount)})),o*=1+.01*eo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=ko(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function wo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Kt).forEach((t=>{Kt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(no("Starlove")&&(e=3),Game.hasGod){const t=io("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function vo(){We=Game.UpgradesOwned,Le=Game.pledges,Ae=Game.AchievementsOwned,je=Game.heavenlyPower,De=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e],mo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Re=t.minigame.slot[0],$e=t.minigame.slot[1],Ie=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Kt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Jt[e];void 0===o&&(Jt[e]=wo(e),o=Jt[e]),o.bought=t.bought,Jt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Zt[e];void 0===o&&(Zt[e]=bo(e),o=Zt[e]),o.won=t.won,Zt[e]=o})),yo(),He=Qe,Ue=qe}function xo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function To(e){e.appendChild(xo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(xo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(xo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(xo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(xo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Mo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Po(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Bo(){if(vo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(To(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ft:10===Game.buyBulk?t=Ct:100===Game.buyBulk&&(t=yt),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+po()))/co());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(xo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(xo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=uo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,fo())}}(),ho(),Bo(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Kt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function No(){ue.addLatest(Game.computedMouseCps)}class Oo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Fo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+qt;Game.cpsSucked>0&&(o+=bt),Rt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-be,i=Math.max(0,Game.cookies-ke)/n,a=Math.max(0,bt-Ge)/n,r=Math.max(0,Gt[0]-we)/n,l=Math.max(0,o-gt)/n,s=(Game.cookieClicks-ve)/n;for(let e=0;e0&&(n=W),n}function Lo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Wo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+po()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Xt.push([t[n].pp,o])}))}function jo(){!function(){_t=1/0,Xt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Ao(ft,1),Ao(Ct,10),Ao(yt,100),Xt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Xt[t][1]>Game.cookies&&(t+=1,Xt.length!==t+1););_t=Xt[e.PPExcludeTop][t],Lo(ft,1),Lo(Ct,10),Lo(yt,100)}(),Object.keys(xt).forEach((e=>{Game.cookiesPs?xt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+po()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/xt[e].bonus:xt[e].pp=Game.Upgrades[e].getPrice()/xt[e].bonus,Number.isNaN(xt[e].pp)&&(xt[e].pp=1/0),xt[e].color=Wo(xt[e],Game.Upgrades[e].getPrice())}))}function Do(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ve=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(De)*je*function(){let e=0;if(no("Heavenly chip secret")&&(e+=.05),no("Heavenly cookie stand")&&(e+=.2),no("Heavenly bakery")&&(e+=.25),no("Heavenly confectionery")&&(e+=.25),no("Heavenly key")&&(e+=.25),e*=1+.05*eo("Dragon God"),no("Lucky digit")&&(e*=1.01),no("Lucky number")&&(e*=1.01),no("Lucky payout")&&(e*=1.01),Game.hasGod){const t=io("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=oo("cps"),no("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];no(o.name)&&("function"==typeof o.power?e*=1+.01*Jt[o.name].power(Jt[o.name]):e*=1+.01*o.power)})),no("Specialized chocolate chips")&&(e*=1.01),no("Designer cocoa beans")&&(e*=1.02),no("Underworld ovens")&&(e*=1.03),no("Exotic nuts")&&(e*=1.04),no("Arcane sugar")&&(e*=1.05),no("Increased merriness")&&(e*=1.15),no("Improved jolliness")&&(e*=1.15),no("A lump of coal")&&(e*=1.01),no("An itchy sweater")&&(e*=1.01),no("Santa's dominion")&&(e*=1.2),no("Fortune #100")&&(e*=1.01),no("Fortune #101")&&(e*=1.07),no("Dragon scale")&&(e*=1.03);let o=1;if(io){let t=io("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=io("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=io("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=io("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=io("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}no("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Ae/25;let i=1;if(no("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*eo("Breath of Milk"),io){const e=io("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=oo("milk");let a=1;no("Kitten helpers")&&(a*=1+.1*n*i),no("Kitten workers")&&(a*=1+.125*n*i),no("Kitten engineers")&&(a*=1+.15*n*i),no("Kitten overseers")&&(a*=1+.175*n*i),no("Kitten managers")&&(a*=1+.2*n*i),no("Kitten accountants")&&(a*=1+.2*n*i),no("Kitten specialists")&&(a*=1+.2*n*i),no("Kitten experts")&&(a*=1+.2*n*i),no("Kitten consultants")&&(a*=1+.2*n*i),no("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),no("Kitten marketeers")&&(a*=1+.15*n*i),no("Kitten analysts")&&(a*=1+.125*n*i),no("Kitten executives")&&(a*=1+.115*n*i),no("Kitten angels")&&(a*=1+.1*n*i),no("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Kt).forEach((e=>{const t=Kt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&no("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),_e+=t.amount*a})),no('"egg"')&&(_e+=9),e*=a;let r=1;if(no("Chicken egg")&&(r*=1.01),no("Duck egg")&&(r*=1.01),no("Turkey egg")&&(r*=1.01),no("Quail egg")&&(r*=1.01),no("Robin egg")&&(r*=1.01),no("Ostrich egg")&&(r*=1.01),no("Cassowary egg")&&(r*=1.01),no("Salmon roe")&&(r*=1.01),no("Frogspawn")&&(r*=1.01),no("Shark egg")&&(r*=1.01),no("Turtle egg")&&(r*=1.01),no("Ant larva")&&(r*=1.01),no("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),mt=1+.1*(1-(1-e/100)**3),r*=mt}e*=r,no("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+eo("Radiant Appetite");const l=_e*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ho(Game.CpsAchievements[e].name)})),Xe=l;const{n:s}=Game.shimmerTypes.golden,c=eo("Dragon's Fortune");for(let t=0;t{no(e[o])&&(t+=.1)}))}e*=t}if(no("Shimmering veil [off]")){let t=.5;no("Reinforced membrane")&&(t+=.1),e*=1+t}no("Magic shenanigans")&&(e*=1e3),no("Occult obstruction")&&(e*=0),_e=Game.runModHookOnValue("cps",_e),e*=So(),_e*=e}const Ro=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],$o=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Io=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],zo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Vo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function _o(e){return Zt[e]?Zt[e].won:0}function Xo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{no(Game.GrandmaSynergies[t])&&(e+=1)})),!_o("Elder")&&e>=7&&Ho("Elder"),!_o("Veteran")&&e>=14&&Ho("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount,i=Math.min(Kt[e].amount,i),_o("Mathematician")||Kt[e].amount=1&&Ho("One with everything"),1===o&&Ho("Mathematician"),1===n&&Ho("Base 10"),i>=100&&Ho("Centennial"),i>=150&&Ho("Centennial and a half"),i>=200&&Ho("Bicentennial"),i>=250&&Ho("Bicentennial and a half"),i>=300&&Ho("Tricentennial"),i>=350&&Ho("Tricentennial and a half"),i>=400&&Ho("Quadricentennial"),i>=450&&Ho("Quadricentennial and a half"),i>=500&&Ho("Quincentennial"),i>=550&&Ho("Quincentennial and a half"),i>=600&&Ho("Sexcentennial"),t>=100&&Ho("Builder"),t>=500&&Ho("Architect"),t>=1e3&&Ho("Engineer"),t>=2e3&&Ho("Lord of Constructs"),t>=4e3&&Ho("Grand design"),t>=8e3&&Ho("Ecumenopolis"),We>=20&&Ho("Enhancer"),We>=50&&Ho("Augmenter"),We>=100&&Ho("Upgrader"),We>=200&&Ho("Lord of Progress"),We>=300&&Ho("The full picture"),We>=400&&Ho("When there's nothing left to add"),t>=4e3&&We>=300&&Ho("Polymath"),t>=8e3&&We>=400&&Ho("Renaissance baker"),Kt.Cursor.amount+Kt.Grandma.amount>=777&&Ho("The elder scrolls");let a=!0;Object.keys($o).forEach((e=>{no($o[e])||(a=!1)})),a&&Ho("Spooky cookies");let r=!0;if(Object.keys(Io).forEach((e=>{no(Io[e])||(r=!1)})),r&&Ho("Let it snow"),no("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{no(e[o].name)&&(t+=1)})),t>=e.length&&Ho("O Fortuna")}}function Qo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){vo(),Kt[e].amount+=t;const o=Kt[e];"Cursor"===e?(o.amount>=1&&Ho("Click"),o.amount>=2&&Ho("Double-click"),o.amount>=50&&Ho("Mouse wheel"),o.amount>=100&&Ho("Of Mice and Men"),o.amount>=200&&Ho("The Digital"),o.amount>=300&&Ho("Extreme polydactyly"),o.amount>=400&&Ho("Dr. T"),o.amount>=500&&Ho("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ho("With her finger and her thumb"),o.amount>=700&&Ho("Gotta hand it to you"),o.amount>=800&&Ho("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ho(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Ae;return Uo(),Xo(),n!==Ae&&Uo(),_e-Game.cookiesPs}(o,e),1!==e&&(Ne=1)})),t}function qo(){Object.keys(Game.Objects).forEach((e=>{ft[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),Ct[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),yt[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Yo(){ft=Qo(1),Ct=Qo(10),yt=Qo(100),xt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){vo(),"Shimmering veil [on]"===Jt[e].name?Jt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Jt[e].name?Jt["Golden switch [off]"].bought=0:Jt[e].bought=(Jt[e].bought+1)%2,Jt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(We+=1),"Elder Pledge"===e?(Le+=1,Le>0&&Ho("Elder nap"),Le>=5&&Ho("Elder slumber")):"Elder Covenant"===e?Ho("Elder calm"):"Prism heart biscuits"===e?Ho("Lovely cookies"):"Heavenly key"===e&&Ho("Wholesome");const t=Ae;Uo(),Xo(),t!==Ae&&Uo();const o=function(){let e=0;no("Thousand fingers")&&(e+=.1),no("Million fingers")&&(e*=5),no("Billion fingers")&&(e*=10),no("Trillion fingers")&&(e*=20),no("Quadrillion fingers")&&(e*=20),no("Quintillion fingers")&&(e*=20),no("Sextillion fingers")&&(e*=20),no("Septillion fingers")&&(e*=20),no("Octillion fingers")&&(e*=20),no("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount})),t-=Kt.Cursor.amount,e*=t,no("Plastic mouse")&&(e+=.01*_e),no("Iron mouse")&&(e+=.01*_e),no("Titanium mouse")&&(e+=.01*_e),no("Adamantium mouse")&&(e+=.01*_e),no("Unobtainium mouse")&&(e+=.01*_e),no("Eludium mouse")&&(e+=.01*_e),no("Wishalloy mouse")&&(e+=.01*_e),no("Fantasteel mouse")&&(e+=.01*_e),no("Nevercrack mouse")&&(e+=.01*_e),no("Armythril mouse")&&(e+=.01*_e),no("Technobsidian mouse")&&(e+=.01*_e),no("Plasmarble mouse")&&(e+=.01*_e),no("Miraculite mouse")&&(e+=.01*_e),no("Fortune #104")&&(e+=.01*_e);let o=1;if(no("Santa's helpers")&&(o*=1.1),no("Cookie egg")&&(o*=1.1),no("Halo gloves")&&(o*=1.1),no("Dragon claw")&&(o*=1.03),no("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,no("Luminous gloves")?20:10)),o*=oo("click"),Kt.Temple.minigameLoaded&&io){const e=io("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*eo("Dragon Cursor");let n=o*Game.ComputeCps(1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[_e-Game.cookiesPs,o]:[_e-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(xt[t]={bonus:Game.cookiesPs-xe},1===e.CalcWrink?xt[t].bonus-=Te:2===e.CalcWrink&&(xt[t].bonus-=Me),Number.isFinite(xt[t].bonus)||(xt[t].bonus=0)):(xt[t]={},o[0]&&(xt[t].bonus=o[0]),o[1]&&(xt[t].bonusMouse=o[1]))}))}function Ko(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Nt=Ko(7,e,dt),Bt=2*Nt[1]/dt,Et=Nt[2]/60/60/6/ct,Wt=Ko(6,e,pt),Ot=2*Wt[1]/pt,Ft=Wt[2]/60/60/6/ct,jt=Ko(7,7*e,dt),Lt=2*jt[1]/dt,At=jt[2]/60/60/6/ct,Ut=Ko(6,7*e,pt),Dt=2*Ut[1]/pt,Ht=Ut[2]/60/60/6/ct}function Zo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Be,i=Math.max(0,o-Ee)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?St+=e:"cookie"===o.pool?Pt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Mt+=e)}}))}function tn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ht=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ht*=2)}}function on(){Je=900*st/.15,Je*=ct;const e=So();e>0?Je/=e:Je=0,Ze=dt*(.15*Je)+13,et=pt*(.15*Je)+13,tt=7*Je,ot=dt*(.15*tt)+13,nt=pt*(.15*tt)+13,it=2*Je,at=.15*it,rt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountrt&&(rt=2*Game.Objects[e].price,lt=e)}))}function nn(){let e=1,t=1,o=1;no("Green yeast digestives")&&(o*=1.01),no("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),dt=o*e,pt=o*t,ct=1,0===Game.shimmerTypes.golden.n&&(ct*=1+1.23*Game.auraMult("Dragon's Fortune"))}function an(){bt=0,kt=0,Gt=[0,null];for(let e=0;eGt[0]&&(Gt=[t,e]))}}function rn(){yo(),an(),on(),nn(),Jo(),en(),tn(),me=new Oo(Y[Y.length-1]),he=new Oo(Y[Y.length-1]),ge=new Oo(Y[Y.length-1]),fe=new Oo(Y[Y.length-1]),Ce=new Oo(K[K.length-1]),ye=new Oo(5),ue=new Oo(20*K[K.length-1]),Zo(),Fo(),Yo(),qo(),jo()}const ln={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},sn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function cn(){1===e.BotBar?(l("CMBotBar").style.display="",ho()):l("CMBotBar").style.display="none",fo()}function dn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),ho(),lo(),so()}function pn(){1===e.Favicon&&y>0?It.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class un{constructor(e,t){this.type=e,this.group=t}}class mn extends un{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class hn extends un{constructor(e,t,o){super(e,t),this.desc=o}}class gn extends un{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class fn extends un{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const Cn={CPSMode:new mn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new mn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new mn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new mn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){ze=!0})),Scale:new mn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){dn()})),ScaleDecimals:new mn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){dn()})),ScaleSeparator:new mn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){dn()})),ScaleCutoff:new fn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new mn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new mn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new mn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new mn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){lo()})),PPOnlyConsiderBuyable:new mn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new mn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new mn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new fn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new hn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new hn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new hn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new hn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new hn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new hn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new hn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new hn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new hn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new mn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){cn()})),TimerBar:new mn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){Co()})),TimerBarPos:new mn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),fo()})),TimerBarOverlay:new mn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new mn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",so()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",so()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new mn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new mn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){lo()})),SortUpgrades:new mn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){so()})),DragonAuraInfo:new mn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new mn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new mn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Qt[e].l.style.left,re[e].style.top=Qt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new mn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){pn()})),WrinklerButtons:new mn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new mn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new mn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new mn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new mn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new mn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new mn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new mn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new mn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new fn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new mn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new mn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Po()})),TooltipGrim:new mn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new mn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new mn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new mn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new mn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new mn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new mn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new mn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new mn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new fn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new mn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new mn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new mn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new mn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){sn(e.GCNotification)})),GCFlash:new mn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new hn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new mn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new gn("vol","NotificationGC",[],"Volume"),GCSoundURL:new mn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new mn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){sn(e.FortuneNotification)})),FortuneFlash:new mn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new hn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new mn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new gn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new mn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new mn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){sn(e.SeaNotification)})),SeaFlash:new mn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new hn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new mn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new gn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new mn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new mn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new hn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new mn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new gn("vol","NotificationGard",[],"Volume"),GardSoundURL:new mn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new mn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){sn(e.MagicNotification)})),MagicFlash:new mn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new hn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new mn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new gn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new mn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new mn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){sn(e.WrinklerNotification)})),WrinklerFlash:new mn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new hn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new mn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new gn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new mn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new mn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){sn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new mn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new hn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new mn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new gn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new mn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new mn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new mn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function yn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function bn(){if(Ye!==Game.dragonLevel||ze){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Upgrades).forEach((e=>{Jt[e]=wo(e)})),Zt=[],Object.keys(Game.Achievements).forEach((e=>{Zt[e]=bo(e)})),vo()}let wn=!1;function vn(t,o,n){(1===e[o]||n)&&3===t&&!1===wn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){vn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){vn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){vn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function xn(t,o,n,i){if((1===e[o]||i)&&!1===wn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Tn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===wn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Mn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(cn(),Co()),go()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(Gn(),rn(),r=Object.keys(Game.mods).length),ze&&(Yo(),Game.Has("Golden switch [off]")?(vo(),Jt["Golden switch [off]"].bought=0,Uo(),st=_e):st=Game.cookiesPs,nn(),on(),en(),Jo(),bn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Yt[e][t]=kn(e,t)}(),tn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;vo();let t=2;5!==He&&18!==He||(t-=1),5!==Ue&&18!==Ue||(t-=1),He=5,Ue=18;for(let e=0;e{Kt[t].amount>0&&(e=t)})),Kt[e].amount-=1,Fe-=1}return Object.keys(Kt).forEach((t=>{const o=Kt[t];e+=ro(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),qt=e}(),ze=0);const t=Game.auraMult("Fierce Hoarder")>0;!Oe&&t?(Oe=!0,Ne=1):Oe&&!t&&(Oe=!1,Ne=1),Ne&&(qo(),Ne=0),function(){an(),jo(),function(){wt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Kt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}vt=e,wt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Fo(),Zo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Vt=de(e/co())}(),G=0,Qt={},Object.keys(Game.shimmers).forEach((e=>{Qt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(It=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Qt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),pn(),b=G,0===G&&(It=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Qt[e].l.style.opacity,re[e].style.transform=Qt[e].l.style.transform,re[e].textContent=Math.ceil(Qt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(vn(3,"FortuneFlash",!1),xn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Tn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(zt=Game.shimmers[e])})),vn(3,"SeaFlash",!1),xn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Tn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?vn(3,"WrinklerMaxFlash",!1):vn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?xn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):xn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Tn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Tn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function Sn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=ln[t]):"Header"===t&&Object.keys(ln.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=ln[t][n])}))})),o&&Pn(),Mn(),Object.keys(ln).forEach((e=>{"Header"!==e&&void 0!==Cn[e].func&&Cn[e].func()}))}else Bn(ln);Game.UpdateMenu(),Sn()}function En(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Nn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Do(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Bo(),l("tooltip").innerHTML}function On(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Fn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Pn()}function Un(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Hn(o),Game.UpdateMenu()},n.appendChild(i),n}function Rn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function $n(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function In(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Un("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+po(){Game.HasUnlocked(Vo[e])||c.push(Vo[e])})),0!==c.length&&e.appendChild(Rn("basic","Rare plant drops left to unlock",$n(c))),e}())),o.appendChild(Un("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Rt+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?gt:0)));t.appendChild(Rn("withTooltip","Prestige Level (CUR / MAX)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Rt+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&>?gt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/$t,1)})`,i.appendChild(a),t.appendChild(Rn("withTooltip","Cookies To Next Level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Rn("withTooltip","Heavenly Chips (CUR / MAX)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Rn("basic","Heavenly Chips Per Second (last 5 seconds)",document.createTextNode(ce(ut,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Rn("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(ce(e)))),t.appendChild(Rn("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(de(e/ut)))))}const l=function(e){let t=Game.cookiesPs;vo(),0===Jt["Heavenly key"].bought&&(Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,Uo(),t=_e,vo()),Rt>=1e6&&Ho("Sacrifice"),Rt>=1e9&&Ho("Oblivion"),Rt>=1e12&&Ho("From scratch"),Rt>=1e15&&Ho("Nihilism"),Rt>=1e18&&Ho("Dematerialize"),Rt>=1e21&&Ho("Nil zero zilch"),Rt>=1e24&&Ho("Transcendence"),Rt>=1e27&&Ho("Obliterate"),Rt>=1e30&&Ho("Negative void"),Rt>=1e33&&Ho("To crumbs, you say?"),Rt>=1e36&&Ho("You get nothing"),Rt>=1e39&&Ho("Humble rebeginnings"),Rt>=1e42&&Ho("The end of the world"),Rt>=1e45&&Ho("Oh, you're back"),Rt>=1e48&&Ho("Lazarus"),Rt>=1e51&&Ho("Smurf account"),Rt>=1e54&&Ho("If at first you don't succeed"),Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,De=e;const o=Ae;Uo(),Xo(),o!==Ae&&Uo();const n=_e-t;return De=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Rn("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Un("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(bt)} / ${ce(kt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){En()},e.appendChild(t),o.appendChild(Rn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(Gt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},n.appendChild(i),o.appendChild(Rn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==Gt[1]?Gt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys($o).forEach((e=>{Game.Has($o[e])||(n.push($o[e]),o=!0)}));const i=[];Object.keys(Io).forEach((e=>{Game.Has(Io[e])||(i.push(Io[e]),o=!0)}));const a=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(a.push(zo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Un("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Rn("basic","Halloween cookies left to buy",$n(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Rn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Rn("basic","Christmas cookies left to buy",$n(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Rn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Rn("basic","Valentine cookies left to buy",$n(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Rn("basic","Normal easter eggs left to unlock",$n(r))),t.appendChild(Rn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Rn("basic","Rare easter eggs left to unlock",$n(l))),t.appendChild(Rn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Rn("basic","Reindeer reward",document.createTextNode(ce(ht)))),s&&t.appendChild(Rn("withTooltip","Chocolate egg cookies",document.createTextNode(ce(gt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Rn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(mt-1))/100+"%")))}return t}()),o.appendChild(Un("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Rn("basic",`Average Cookies Per Second (Past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(co(),3)))),o.appendChild(Rn("basic",`Average Cookie Clicks Per Second (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(Tt,1)))),o.appendChild(Rn("basic",`Cookies from clicking (Past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(ue.calcSum(Tt*K[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Ro).forEach((t=>{Game.Has(Ro[t])||e.push(Ro[t])})),0!==e.length&&o.appendChild(Rn("basic","Fortune Upgrades Left to Buy",$n(e)))}if(e.ShowMissedGC&&o.appendChild(Rn("basic","Missed Golden Cookies",document.createTextNode(ce(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Rn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.appendChild(i)}}}))}const zn={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Vn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function _n(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Hn(t),Game.UpdateMenu()},n.appendChild(i),n}function Xn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return se.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(e),Pn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(R.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===Cn[t].type){const n=document.createElement("a");Cn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=jn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===Cn[t].label.length?(e[t]=0,Cn[t].toggle&&(l(jn+t).className="option off")):l(jn+t).className="option",void 0!==Cn[t].func&&Cn[t].func(),l(jn+t).innerHTML=Cn[t].label[e[t]],Pn()}(t)},n.textContent=Cn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=Cn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===Cn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=Cn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Dn(t)},r.onchange=function(){Dn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){xn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${jn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Pn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=Cn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===Cn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Ln(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Sn(),Pn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=Cn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){vn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),An().init(),o}if("numscale"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="number",i.value=e[t],i.min=Cn[t].min,i.max=Cn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Pn(),dn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=Cn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Qn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function qn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),ze=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Qn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Qn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Qn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Kt[Game.ObjectsById[e].name].name;Kt[o].amount-=1,Fe-=1,t=Kt[o].basePrice*Game.priceIncrease**Math.max(0,Kt[o].amount-1-Kt[o].free),t=Game.modifyBuildingPrice(Kt[o],t),t=Math.ceil(t);break}const o=Ae;return Uo(),Xo(),o!==Ae&&Uo(),[_e-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${ce(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ke}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==An().picker&&void 0!==An().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(zn).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(_n(t,zn[t])),e.Header[t]))for(let e=0;e{const n=_n(t,Vn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Xn(e))}))})):Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Xn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Bn(ln)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",In(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Hn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=It?It.wrath?`[W${Math.ceil(It.life/Game.fps)}]`:`[G${Math.ceil(It.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(zt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;It&&(t=!0,It.wrath?e+=`[W${Math.ceil(It.life/Game.fps)}]`:e+=`[G${Math.ceil(It.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(zt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Ee<1?"Ascending now would grant you no prestige.":Ee<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Ee)} prestige levels (+${ce(Ee)}% CpS)
and ${ce(Ee)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Vt} to reach the next level and you are making ${ce(ut,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Yn(){Gn(),on(),rn(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{mo(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=uo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=uo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){En()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),On(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Wn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},qn(),Wn(),Game.CalculateGains(),Bn(),$=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Kn={init:function(){wn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Yn(),Game.registerHook("draw",Eo),Game.registerHook("logic",Mn),Game.registerHook("click",No),wn=!1)},load:function(e){const t=JSON.parse(e);Gn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Bn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:yn};Game.registerMod("CookieMonster",Kn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],$={};let R,I,z=0,V=-1,_=[],Q=1,X=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=1,dt=1,pt=1,ut=0,mt=0,ht=0,gt=0,ft={},Ct={},yt={},bt=0,kt=0,Gt=[0,null],wt=0,vt=0,xt={},Tt={},Mt={},St={},Pt={},Bt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Dt=0,Ht=0,Ut=[],$t=0,Rt=0,It={},zt={},Vt=0,_t=0,Qt=[],Xt={},qt=0,Yt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Kt=[],Jt=[],Zt=[];function eo(e){let t=0;return Game.dragonAuras[He].name!==e&&Game.dragonAuras[Ue].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[He].name&&"Reality Bending"!==Game.dragonAuras[Ue].name||(t+=.1),t}function to(){let e=.25;return e*=1+eo("Earth Shatterer"),e}function oo(e,t){return void 0===Ve[e]?void 0===t?1:t:Ve[e]}function no(e){const t=Jt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function io(e){if(Game.hasGod){void 0===Kt.Temple.minigame&&(Kt.Temple.minigame=Game.Objects.Temple.minigame);const t=Kt.Temple.minigame.gods[e];if($e===t.id)return 1;if(Re===t.id)return 2;if(Ie===t.id)return 3}return!1}function ao(e,t){let o=t;if(no("Season savings")&&(o*=.99),no("Santa's dominion")&&(o*=.99),no("Faberge egg")&&(o*=.99),no("Divine discount")&&(o*=.99),no("Fortune #100")&&(o*=.99),o*=1-.02*eo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&no(e.fortune.name)&&(o*=.93),o*=oo("buildingCost"),Kt.Temple.minigameLoaded){const e=io("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ro(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function lo(){let t=Game.buyBulk;if(1===Game.buyMode?X=t:t=X,1===t?t=ft:10===t?t=Ct:100===t&&(t=yt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ft).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ro(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ft).map((e=>{const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?Q=i:i=Q,1===i&&(i=ft),10===i&&(i=Ct),100===i&&(i=yt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+po()))/co());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&no(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(no(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&no(e.fortune.name)&&(t*=1.07),e.grandma&&no(e.grandma.name)&&(t*=1+.01*Kt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&no(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function Go(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;no("Thousand fingers")&&(t+=.1),no("Million fingers")&&(t*=5),no("Billion fingers")&&(t*=10),no("Trillion fingers")&&(t*=20),no("Quadrillion fingers")&&(t*=20),no("Quintillion fingers")&&(t*=20),no("Sextillion fingers")&&(t*=20),no("Septillion fingers")&&(t*=20),no("Octillion fingers")&&(t*=20),no("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Kt).forEach((e=>{"Cursor"!==Kt[e].name&&(n+=Kt[e].amount)})),t*=n,o*=ko(e),o*=Game.magicCpS("Cursor"),o*=oo("cursorCps"),Game.ComputeCps(.1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{no(Game.GrandmaSynergies[e])&&(o*=2)})),no("Bingo center/Research facility")&&(o*=4),no("Ritual rolling pins")&&(o*=2),no("Naughty list")&&(o*=2),no("Elderwort biscuits")&&(o*=1.02),o*=oo("grandmaCps"),no("Cat ladies"))for(let e=0;e{"Grandma"!==Kt[e].name&&(i+=Kt[e].amount)})),o*=1+.01*eo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=ko(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function wo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Kt).forEach((t=>{Kt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(no("Starlove")&&(e=3),Game.hasGod){const t=io("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function vo(){We=Game.UpgradesOwned,Le=Game.pledges,Ae=Game.AchievementsOwned,je=Game.heavenlyPower,De=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e],mo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&($e=t.minigame.slot[0],Re=t.minigame.slot[1],Ie=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Kt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Jt[e];void 0===o&&(Jt[e]=wo(e),o=Jt[e]),o.bought=t.bought,Jt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Zt[e];void 0===o&&(Zt[e]=bo(e),o=Zt[e]),o.won=t.won,Zt[e]=o})),yo(),He=Xe,Ue=qe}function xo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function To(e){e.appendChild(xo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(xo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(xo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(xo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(xo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Mo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Po(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Bo(){if(vo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(To(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ft:10===Game.buyBulk?t=Ct:100===Game.buyBulk&&(t=yt),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+po()))/co());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(xo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(xo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=uo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,fo())}}(),ho(),Bo(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Kt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function No(){ue.addLatest(Game.computedMouseCps)}class Oo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Fo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+qt;Game.cpsSucked>0&&(o+=bt),$t=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-be,i=Math.max(0,Game.cookies-ke)/n,a=Math.max(0,bt-Ge)/n,r=Math.max(0,Gt[0]-we)/n,l=Math.max(0,o-gt)/n,s=(Game.cookieClicks-ve)/n;for(let e=0;e0&&(n=W),n}function Lo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Wo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+po()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Qt.push([t[n].pp,o])}))}function jo(){!function(){_t=1/0,Qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Ao(ft,1),Ao(Ct,10),Ao(yt,100),Qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Qt[t][1]>Game.cookies&&(t+=1,Qt.length!==t+1););_t=Qt[e.PPExcludeTop][t],Lo(ft,1),Lo(Ct,10),Lo(yt,100)}(),Object.keys(xt).forEach((e=>{Game.cookiesPs?xt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+po()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/xt[e].bonus:xt[e].pp=Game.Upgrades[e].getPrice()/xt[e].bonus,Number.isNaN(xt[e].pp)&&(xt[e].pp=1/0),xt[e].color=Wo(xt[e],Game.Upgrades[e].getPrice())}))}function Do(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ve=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(De)*je*function(){let e=0;if(no("Heavenly chip secret")&&(e+=.05),no("Heavenly cookie stand")&&(e+=.2),no("Heavenly bakery")&&(e+=.25),no("Heavenly confectionery")&&(e+=.25),no("Heavenly key")&&(e+=.25),e*=1+.05*eo("Dragon God"),no("Lucky digit")&&(e*=1.01),no("Lucky number")&&(e*=1.01),no("Lucky payout")&&(e*=1.01),Game.hasGod){const t=io("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=oo("cps"),no("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];no(o.name)&&("function"==typeof o.power?e*=1+.01*Jt[o.name].power(Jt[o.name]):e*=1+.01*o.power)})),no("Specialized chocolate chips")&&(e*=1.01),no("Designer cocoa beans")&&(e*=1.02),no("Underworld ovens")&&(e*=1.03),no("Exotic nuts")&&(e*=1.04),no("Arcane sugar")&&(e*=1.05),no("Increased merriness")&&(e*=1.15),no("Improved jolliness")&&(e*=1.15),no("A lump of coal")&&(e*=1.01),no("An itchy sweater")&&(e*=1.01),no("Santa's dominion")&&(e*=1.2),no("Fortune #100")&&(e*=1.01),no("Fortune #101")&&(e*=1.07),no("Dragon scale")&&(e*=1.03);let o=1;if(io){let t=io("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=io("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=io("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=io("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=io("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}no("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Ae/25;let i=1;if(no("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*eo("Breath of Milk"),io){const e=io("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=oo("milk");let a=1;no("Kitten helpers")&&(a*=1+.1*n*i),no("Kitten workers")&&(a*=1+.125*n*i),no("Kitten engineers")&&(a*=1+.15*n*i),no("Kitten overseers")&&(a*=1+.175*n*i),no("Kitten managers")&&(a*=1+.2*n*i),no("Kitten accountants")&&(a*=1+.2*n*i),no("Kitten specialists")&&(a*=1+.2*n*i),no("Kitten experts")&&(a*=1+.2*n*i),no("Kitten consultants")&&(a*=1+.2*n*i),no("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),no("Kitten marketeers")&&(a*=1+.15*n*i),no("Kitten analysts")&&(a*=1+.125*n*i),no("Kitten executives")&&(a*=1+.115*n*i),no("Kitten angels")&&(a*=1+.1*n*i),no("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Kt).forEach((e=>{const t=Kt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&no("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),_e+=t.amount*a})),no('"egg"')&&(_e+=9),e*=a;let r=1;if(no("Chicken egg")&&(r*=1.01),no("Duck egg")&&(r*=1.01),no("Turkey egg")&&(r*=1.01),no("Quail egg")&&(r*=1.01),no("Robin egg")&&(r*=1.01),no("Ostrich egg")&&(r*=1.01),no("Cassowary egg")&&(r*=1.01),no("Salmon roe")&&(r*=1.01),no("Frogspawn")&&(r*=1.01),no("Shark egg")&&(r*=1.01),no("Turtle egg")&&(r*=1.01),no("Ant larva")&&(r*=1.01),no("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),mt=1+.1*(1-(1-e/100)**3),r*=mt}e*=r,no("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+eo("Radiant Appetite");const l=_e*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ho(Game.CpsAchievements[e].name)})),Qe=l;const{n:s}=Game.shimmerTypes.golden,c=eo("Dragon's Fortune");for(let t=0;t{no(e[o])&&(t+=.1)}))}e*=t}if(no("Shimmering veil [off]")){let t=.5;no("Reinforced membrane")&&(t+=.1),e*=1+t}no("Magic shenanigans")&&(e*=1e3),no("Occult obstruction")&&(e*=0),_e=Game.runModHookOnValue("cps",_e),e*=So(),_e*=e}const $o=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ro=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Io=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],zo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Vo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function _o(e){return Zt[e]?Zt[e].won:0}function Qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{no(Game.GrandmaSynergies[t])&&(e+=1)})),!_o("Elder")&&e>=7&&Ho("Elder"),!_o("Veteran")&&e>=14&&Ho("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount,i=Math.min(Kt[e].amount,i),_o("Mathematician")||Kt[e].amount=1&&Ho("One with everything"),1===o&&Ho("Mathematician"),1===n&&Ho("Base 10"),i>=100&&Ho("Centennial"),i>=150&&Ho("Centennial and a half"),i>=200&&Ho("Bicentennial"),i>=250&&Ho("Bicentennial and a half"),i>=300&&Ho("Tricentennial"),i>=350&&Ho("Tricentennial and a half"),i>=400&&Ho("Quadricentennial"),i>=450&&Ho("Quadricentennial and a half"),i>=500&&Ho("Quincentennial"),i>=550&&Ho("Quincentennial and a half"),i>=600&&Ho("Sexcentennial"),t>=100&&Ho("Builder"),t>=500&&Ho("Architect"),t>=1e3&&Ho("Engineer"),t>=2e3&&Ho("Lord of Constructs"),t>=4e3&&Ho("Grand design"),t>=8e3&&Ho("Ecumenopolis"),We>=20&&Ho("Enhancer"),We>=50&&Ho("Augmenter"),We>=100&&Ho("Upgrader"),We>=200&&Ho("Lord of Progress"),We>=300&&Ho("The full picture"),We>=400&&Ho("When there's nothing left to add"),t>=4e3&&We>=300&&Ho("Polymath"),t>=8e3&&We>=400&&Ho("Renaissance baker"),Kt.Cursor.amount+Kt.Grandma.amount>=777&&Ho("The elder scrolls");let a=!0;Object.keys(Ro).forEach((e=>{no(Ro[e])||(a=!1)})),a&&Ho("Spooky cookies");let r=!0;if(Object.keys(Io).forEach((e=>{no(Io[e])||(r=!1)})),r&&Ho("Let it snow"),no("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{no(e[o].name)&&(t+=1)})),t>=e.length&&Ho("O Fortuna")}}function Xo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){vo(),Kt[e].amount+=t;const o=Kt[e];"Cursor"===e?(o.amount>=1&&Ho("Click"),o.amount>=2&&Ho("Double-click"),o.amount>=50&&Ho("Mouse wheel"),o.amount>=100&&Ho("Of Mice and Men"),o.amount>=200&&Ho("The Digital"),o.amount>=300&&Ho("Extreme polydactyly"),o.amount>=400&&Ho("Dr. T"),o.amount>=500&&Ho("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ho("With her finger and her thumb"),o.amount>=700&&Ho("Gotta hand it to you"),o.amount>=800&&Ho("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ho(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Ae;return Uo(),Qo(),n!==Ae&&Uo(),_e-Game.cookiesPs}(o,e),1!==e&&(Ne=1)})),t}function qo(){Object.keys(Game.Objects).forEach((e=>{ft[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),Ct[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),yt[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Yo(){ft=Xo(1),Ct=Xo(10),yt=Xo(100),xt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){vo(),"Shimmering veil [on]"===Jt[e].name?Jt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Jt[e].name?Jt["Golden switch [off]"].bought=0:Jt[e].bought=(Jt[e].bought+1)%2,Jt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(We+=1),"Elder Pledge"===e?(Le+=1,Le>0&&Ho("Elder nap"),Le>=5&&Ho("Elder slumber")):"Elder Covenant"===e?Ho("Elder calm"):"Prism heart biscuits"===e?Ho("Lovely cookies"):"Heavenly key"===e&&Ho("Wholesome");const t=Ae;Uo(),Qo(),t!==Ae&&Uo();const o=function(){let e=0;no("Thousand fingers")&&(e+=.1),no("Million fingers")&&(e*=5),no("Billion fingers")&&(e*=10),no("Trillion fingers")&&(e*=20),no("Quadrillion fingers")&&(e*=20),no("Quintillion fingers")&&(e*=20),no("Sextillion fingers")&&(e*=20),no("Septillion fingers")&&(e*=20),no("Octillion fingers")&&(e*=20),no("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount})),t-=Kt.Cursor.amount,e*=t,no("Plastic mouse")&&(e+=.01*_e),no("Iron mouse")&&(e+=.01*_e),no("Titanium mouse")&&(e+=.01*_e),no("Adamantium mouse")&&(e+=.01*_e),no("Unobtainium mouse")&&(e+=.01*_e),no("Eludium mouse")&&(e+=.01*_e),no("Wishalloy mouse")&&(e+=.01*_e),no("Fantasteel mouse")&&(e+=.01*_e),no("Nevercrack mouse")&&(e+=.01*_e),no("Armythril mouse")&&(e+=.01*_e),no("Technobsidian mouse")&&(e+=.01*_e),no("Plasmarble mouse")&&(e+=.01*_e),no("Miraculite mouse")&&(e+=.01*_e),no("Fortune #104")&&(e+=.01*_e);let o=1;if(no("Santa's helpers")&&(o*=1.1),no("Cookie egg")&&(o*=1.1),no("Halo gloves")&&(o*=1.1),no("Dragon claw")&&(o*=1.03),no("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,no("Luminous gloves")?20:10)),o*=oo("click"),Kt.Temple.minigameLoaded&&io){const e=io("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*eo("Dragon Cursor");let n=o*Game.ComputeCps(1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[_e-Game.cookiesPs,o]:[_e-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(xt[t]={bonus:Game.cookiesPs-xe},1===e.CalcWrink?xt[t].bonus-=Te:2===e.CalcWrink&&(xt[t].bonus-=Me),Number.isFinite(xt[t].bonus)||(xt[t].bonus=0)):(xt[t]={},o[0]&&(xt[t].bonus=o[0]),o[1]&&(xt[t].bonusMouse=o[1]))}))}function Ko(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Nt=Ko(7,e,dt),Bt=2*Nt[1]/dt,Et=Nt[2]/60/60/6/ct,Wt=Ko(6,e,pt),Ot=2*Wt[1]/pt,Ft=Wt[2]/60/60/6/ct,jt=Ko(7,7*e,dt),Lt=2*jt[1]/dt,At=jt[2]/60/60/6/ct,Ut=Ko(6,7*e,pt),Dt=2*Ut[1]/pt,Ht=Ut[2]/60/60/6/ct}function Zo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Be,i=Math.max(0,o-Ee)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?St+=e:"cookie"===o.pool?Pt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Mt+=e)}}))}function tn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ht=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ht*=2)}}function on(){Je=900*st/.15,Je*=ct;const e=So();e>0?Je/=e:Je=0,Ze=dt*(.15*Je)+13,et=pt*(.15*Je)+13,tt=7*Je,ot=dt*(.15*tt)+13,nt=pt*(.15*tt)+13,it=2*Je,at=.15*it,rt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountrt&&(rt=2*Game.Objects[e].price,lt=e)}))}function nn(){let e=1,t=1,o=1;no("Green yeast digestives")&&(o*=1.01),no("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),dt=o*e,pt=o*t,ct=1,0===Game.shimmerTypes.golden.n&&(ct*=1+1.23*Game.auraMult("Dragon's Fortune"))}function an(){bt=0,kt=0,Gt=[0,null];for(let e=0;eGt[0]&&(Gt=[t,e]))}}function rn(){yo(),an(),on(),nn(),Jo(),en(),tn(),me=new Oo(Y[Y.length-1]),he=new Oo(Y[Y.length-1]),ge=new Oo(Y[Y.length-1]),fe=new Oo(Y[Y.length-1]),Ce=new Oo(K[K.length-1]),ye=new Oo(5),ue=new Oo(20*K[K.length-1]),Zo(),Fo(),Yo(),qo(),jo()}const ln={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},sn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function cn(){1===e.BotBar?(l("CMBotBar").style.display="",ho()):l("CMBotBar").style.display="none",fo()}function dn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),ho(),lo(),so()}function pn(){1===e.Favicon&&y>0?It.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class un{constructor(e,t){this.type=e,this.group=t}}class mn extends un{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class hn extends un{constructor(e,t,o){super(e,t),this.desc=o}}class gn extends un{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class fn extends un{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const Cn={CPSMode:new mn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new mn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new mn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new mn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){ze=!0})),Scale:new mn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){dn()})),ScaleDecimals:new mn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){dn()})),ScaleSeparator:new mn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){dn()})),ScaleCutoff:new fn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new mn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new mn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new mn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new mn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){lo()})),PPOnlyConsiderBuyable:new mn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new mn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new mn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new fn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new hn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new hn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new hn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new hn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new hn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new hn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new hn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new hn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new hn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new mn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){cn()})),TimerBar:new mn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){Co()})),TimerBarPos:new mn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),fo()})),TimerBarOverlay:new mn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new mn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",so()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",so()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new mn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new mn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){lo()})),SortUpgrades:new mn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){so()})),DragonAuraInfo:new mn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new mn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new mn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Xt[e].l.style.left,re[e].style.top=Xt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new mn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){pn()})),WrinklerButtons:new mn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new mn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new mn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new mn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new mn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new mn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new mn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new mn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new mn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new fn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new mn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new mn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Po()})),TooltipGrim:new mn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new mn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new mn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new mn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new mn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new mn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new mn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new mn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new mn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new fn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new mn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new mn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new mn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new mn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){sn(e.GCNotification)})),GCFlash:new mn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new hn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new mn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new gn("vol","NotificationGC",[],"Volume"),GCSoundURL:new mn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new mn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){sn(e.FortuneNotification)})),FortuneFlash:new mn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new hn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new mn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new gn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new mn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new mn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){sn(e.SeaNotification)})),SeaFlash:new mn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new hn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new mn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new gn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new mn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new mn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new hn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new mn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new gn("vol","NotificationGard",[],"Volume"),GardSoundURL:new mn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new mn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){sn(e.MagicNotification)})),MagicFlash:new mn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new hn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new mn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new gn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new mn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new mn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){sn(e.WrinklerNotification)})),WrinklerFlash:new mn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new hn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new mn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new gn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new mn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new mn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){sn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new mn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new hn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new mn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new gn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new mn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new mn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new mn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function yn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function bn(){if(Ye!==Game.dragonLevel||ze){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Upgrades).forEach((e=>{Jt[e]=wo(e)})),Zt=[],Object.keys(Game.Achievements).forEach((e=>{Zt[e]=bo(e)})),vo()}let wn=!1;function vn(t,o,n){(1===e[o]||n)&&3===t&&!1===wn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){vn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){vn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){vn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function xn(t,o,n,i){if((1===e[o]||i)&&!1===wn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Tn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===wn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Mn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(cn(),Co()),go()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(Gn(),rn(),r=Object.keys(Game.mods).length),ze&&(Yo(),Game.Has("Golden switch [off]")?(vo(),Jt["Golden switch [off]"].bought=0,Uo(),st=_e):st=Game.cookiesPs,nn(),on(),en(),Jo(),bn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Yt[e][t]=kn(e,t)}(),tn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;vo();let t=2;5!==He&&18!==He||(t-=1),5!==Ue&&18!==Ue||(t-=1),He=5,Ue=18;for(let e=0;e{Kt[t].amount>0&&(e=t)})),Kt[e].amount-=1,Fe-=1}return Object.keys(Kt).forEach((t=>{const o=Kt[t];e+=ro(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),qt=e}(),ze=0);const t=Game.auraMult("Fierce Hoarder")>0;!Oe&&t?(Oe=!0,Ne=1):Oe&&!t&&(Oe=!1,Ne=1),Ne&&(qo(),Ne=0),function(){an(),jo(),function(){wt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Kt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}vt=e,wt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Fo(),Zo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Vt=de(e/co())}(),G=0,Xt={},Object.keys(Game.shimmers).forEach((e=>{Xt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(It=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Xt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),pn(),b=G,0===G&&(It=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Xt[e].l.style.opacity,re[e].style.transform=Xt[e].l.style.transform,re[e].textContent=Math.ceil(Xt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(vn(3,"FortuneFlash",!1),xn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Tn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(zt=Game.shimmers[e])})),vn(3,"SeaFlash",!1),xn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Tn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?vn(3,"WrinklerMaxFlash",!1):vn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?xn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):xn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Tn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Tn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function Sn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=ln[t]):"Header"===t&&Object.keys(ln.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=ln[t][n])}))})),o&&Pn(),Mn(),Object.keys(ln).forEach((e=>{"Header"!==e&&void 0!==Cn[e].func&&Cn[e].func()}))}else Bn(ln);Game.UpdateMenu(),Sn()}function En(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Nn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Do(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Bo(),l("tooltip").innerHTML}function On(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Fn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Pn()}function Un(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Hn(o),Game.UpdateMenu()},n.appendChild(i),n}function $n(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape($[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Rn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function In(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Un("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+po(){Game.HasUnlocked(Vo[e])||c.push(Vo[e])})),0!==c.length&&e.appendChild($n("basic","Rare plant drops left to unlock",Rn(c))),e}())),o.appendChild(Un("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?gt:0)));t.appendChild($n("withTooltip","Prestige level (cur / max)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&>?gt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/Rt,1)})`,i.appendChild(a),t.appendChild($n("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild($n("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild($n("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(ce(ut,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild($n("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(ce(e)))),t.appendChild($n("basic","Time till target (cur, current 5 second average)",document.createTextNode(de(e/ut)))))}const l=function(e){let t=Game.cookiesPs;vo(),0===Jt["Heavenly key"].bought&&(Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,Uo(),t=_e,vo()),$t>=1e6&&Ho("Sacrifice"),$t>=1e9&&Ho("Oblivion"),$t>=1e12&&Ho("From scratch"),$t>=1e15&&Ho("Nihilism"),$t>=1e18&&Ho("Dematerialize"),$t>=1e21&&Ho("Nil zero zilch"),$t>=1e24&&Ho("Transcendence"),$t>=1e27&&Ho("Obliterate"),$t>=1e30&&Ho("Negative void"),$t>=1e33&&Ho("To crumbs, you say?"),$t>=1e36&&Ho("You get nothing"),$t>=1e39&&Ho("Humble rebeginnings"),$t>=1e42&&Ho("The end of the world"),$t>=1e45&&Ho("Oh, you're back"),$t>=1e48&&Ho("Lazarus"),$t>=1e51&&Ho("Smurf account"),$t>=1e54&&Ho("If at first you don't succeed"),Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,De=e;const o=Ae;Uo(),Qo(),o!==Ae&&Uo();const n=_e-t;return De=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild($n("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Un("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(bt)} / ${ce(kt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){En()},e.appendChild(t),o.appendChild($n("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(Gt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},n.appendChild(i),o.appendChild($n("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==Gt[1]?Gt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(n.push(Ro[e]),o=!0)}));const i=[];Object.keys(Io).forEach((e=>{Game.Has(Io[e])||(i.push(Io[e]),o=!0)}));const a=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(a.push(zo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Un("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild($n("basic","Halloween cookies left to buy",Rn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild($n("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild($n("basic","Christmas cookies left to buy",Rn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild($n("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild($n("basic","Valentine cookies left to buy",Rn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild($n("basic","Normal easter eggs left to unlock",Rn(r))),t.appendChild($n("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild($n("basic","Rare easter eggs left to unlock",Rn(l))),t.appendChild($n("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild($n("basic","Reindeer reward",document.createTextNode(ce(ht)))),s&&t.appendChild($n("withTooltip","Chocolate egg cookies",document.createTextNode(ce(gt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild($n("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(mt-1))/100+"%")))}return t}()),o.appendChild(Un("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild($n("basic",`Average cookies per second (past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(co(),3)))),o.appendChild($n("basic",`Average cookie clicks per second (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(Tt,1)))),o.appendChild($n("basic",`Cookies from clicking (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(ue.calcSum(Tt*K[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys($o).forEach((t=>{Game.Has($o[t])||e.push($o[t])})),0!==e.length&&o.appendChild($n("basic","Fortune Upgrades Left to Buy",Rn(e)))}if(e.ShowMissedGC&&o.appendChild($n("basic","Missed golden cookies",document.createTextNode(ce(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild($n("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.appendChild(i)}}}))}const zn={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Vn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function _n(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Hn(t),Game.UpdateMenu()},n.appendChild(i),n}function Qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return se.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(e),Pn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape($.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===Cn[t].type){const n=document.createElement("a");Cn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=jn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===Cn[t].label.length?(e[t]=0,Cn[t].toggle&&(l(jn+t).className="option off")):l(jn+t).className="option",void 0!==Cn[t].func&&Cn[t].func(),l(jn+t).innerHTML=Cn[t].label[e[t]],Pn()}(t)},n.textContent=Cn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=Cn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===Cn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=Cn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Dn(t)},r.onchange=function(){Dn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){xn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${jn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Pn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=Cn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===Cn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Ln(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Sn(),Pn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=Cn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){vn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),An().init(),o}if("numscale"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="number",i.value=e[t],i.min=Cn[t].min,i.max=Cn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Pn(),dn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=Cn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Xn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function qn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),ze=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Xn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Xn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Xn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Kt[Game.ObjectsById[e].name].name;Kt[o].amount-=1,Fe-=1,t=Kt[o].basePrice*Game.priceIncrease**Math.max(0,Kt[o].amount-1-Kt[o].free),t=Game.modifyBuildingPrice(Kt[o],t),t=Math.ceil(t);break}const o=Ae;return Uo(),Qo(),o!==Ae&&Uo(),[_e-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${ce(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ke}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==An().picker&&void 0!==An().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(zn).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(_n(t,zn[t])),e.Header[t]))for(let e=0;e{const n=_n(t,Vn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Qn(e))}))})):Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Bn(ln)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",In(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Hn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=It?It.wrath?`[W${Math.ceil(It.life/Game.fps)}]`:`[G${Math.ceil(It.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(zt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;It&&(t=!0,It.wrath?e+=`[W${Math.ceil(It.life/Game.fps)}]`:e+=`[G${Math.ceil(It.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(zt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Ee<1?"Ascending now would grant you no prestige.":Ee<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Ee)} prestige levels (+${ce(Ee)}% CpS)
and ${ce(Ee)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Vt} to reach the next level and you were making ${ce(ut,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Yn(){Gn(),on(),rn(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{mo(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=uo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=uo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),$[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){En()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),On(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Wn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},qn(),Wn(),Game.CalculateGains(),Bn(),R=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Kn={init:function(){wn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Yn(),Game.registerHook("draw",Eo),Game.registerHook("logic",Mn),Game.registerHook("click",No),wn=!1)},load:function(e){const t=JSON.parse(e);Gn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Bn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:yn};Game.registerMod("CookieMonster",Kn)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index dfa5ef37..86da0f7f 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CacheAverageCookiesFromClicks","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","reduce","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoopHook","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","calcSum","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC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CZj1C,KAAKm1C,MAAQA,EACbn1C,KAAKo1C,KAAOA,EACZp1C,KAAKwN,IAAMA,EACXxN,KAAK0N,IAAMA,GAyBf,MA4yBmCgoC,GA5yBpB,CAEbpd,QAAS,IAAI4c,GACX,OACA,cACA,CAAC,6BAA8B,8BAC/B,kFACA,GAEFnN,WAAY,IAAImN,GACd,OACA,cACA,CACE,0BACA,0BACA,0BACA,yBACA,yBACA,0BACA,0BACA,2BAEF,4DACA,GAEF/M,cAAe,IAAI+M,GACjB,OACA,cACA,CACE,4BACA,4BACA,6BACA,6BACA,8BAEF,uDACA,GAEF3c,UAAW,IAAI2c,GACb,OACA,cACA,CACE,+BACA,8BACA,6CAEF,qGACA,GACA,WACEjmB,IAAY,KAKhBpD,MAAO,IAAIqpB,GACT,OACA,WACA,CACE,uBACA,SACA,cACA,4BACA,sBACA,wBAEF,yCACA,GACA,WACET,QAGJ9oB,cAAe,IAAIupB,GACjB,OACA,WACA,CAAC,aAAc,aAAc,cAC7B,oIACA,GACA,WACET,QAGJtoB,eAAgB,IAAI+oB,GAClB,OACA,WACA,CAAC,4BAA6B,mBAC9B,qDACA,GACA,WACET,QAGJvoB,YAAa,IAAIupB,GACf,WACA,WACA,2BACA,8KACA,EACA,WAEF3oB,WAAY,IAAIooB,GACd,OACA,WACA,CAAC,0BAA2B,uBAC5B,0BACA,GAEFjG,aAAc,IAAIiG,GAChB,OACA,WACA,CAAC,oBAAqB,oBACtB,mEACA,GACA,WAlU6B,IAA3BluB,EAAUioB,aAAoB9nB,KAAKod,QAAU3a,EAC5CzC,KAAKod,QAAU3b,EAAgB2b,WAqUpCpK,cAAe,IAAI+a,GACjB,OACA,WACA,CAAC,yBAA0B,mBAC3B,sKACA,GAIF1e,YAAa,IAAI0e,GACf,OACA,UACA,CAAC,uBAAwB,uBACzB,yBACA,GACA,WACE5e,QAGJgS,sBAAuB,IAAI4M,GACzB,OACA,UACA,CAAC,2BAA4B,sBAC7B,0KACA,GAEFxM,aAAc,IAAIwM,GAChB,OACA,UACA,CACE,mBACA,kBACA,0BACA,gCAEF,sGACA,GAEF1M,cAAe,IAAI0M,GA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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CacheAverageCookiesFromClicks","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","reduce","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoopHook","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","calcSum","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC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CZj1C,KAAKm1C,MAAQA,EACbn1C,KAAKo1C,KAAOA,EACZp1C,KAAKwN,IAAMA,EACXxN,KAAK0N,IAAMA,GAyBf,MA4yBmCgoC,GA5yBpB,CAEbpd,QAAS,IAAI4c,GACX,OACA,cACA,CAAC,6BAA8B,8BAC/B,kFACA,GAEFnN,WAAY,IAAImN,GACd,OACA,cACA,CACE,0BACA,0BACA,0BACA,yBACA,yBACA,0BACA,0BACA,2BAEF,4DACA,GAEF/M,cAAe,IAAI+M,GACjB,OACA,cACA,CACE,4BACA,4BACA,6BACA,6BACA,8BAEF,uDACA,GAEF3c,UAAW,IAAI2c,GACb,OACA,cACA,CACE,+BACA,8BACA,6CAEF,qGACA,GACA,WACEjmB,IAAY,KAKhBpD,MAAO,IAAIqpB,GACT,OACA,WACA,CACE,uBACA,SACA,cACA,4BACA,sBACA,wBAEF,yCACA,GACA,WACET,QAGJ9oB,cAAe,IAAIupB,GACjB,OACA,WACA,CAAC,aAAc,aAAc,cAC7B,oIACA,GACA,WACET,QAGJtoB,eAAgB,IAAI+oB,GAClB,OACA,WACA,CAAC,4BAA6B,mBAC9B,qDACA,GACA,WACET,QAGJvoB,YAAa,IAAIupB,GACf,WACA,WACA,2BACA,8KACA,EACA,WAEF3oB,WAAY,IAAIooB,GACd,OACA,WACA,CAAC,0BAA2B,uBAC5B,0BACA,GAEFjG,aAAc,IAAIiG,GAChB,OACA,WACA,CAAC,oBAAqB,oBACtB,mEACA,GACA,WAlU6B,IAA3BluB,EAAUioB,aAAoB9nB,KAAKod,QAAU3a,EAC5CzC,KAAKod,QAAU3b,EAAgB2b,WAqUpCpK,cAAe,IAAI+a,GACjB,OACA,WACA,CAAC,yBAA0B,mBAC3B,sKACA,GAIF1e,YAAa,IAAI0e,GACf,OACA,UACA,CAAC,uBAAwB,uBACzB,yBACA,GACA,WACE5e,QAGJgS,sBAAuB,IAAI4M,GACzB,OACA,UACA,CAAC,2BAA4B,sBAC7B,0KACA,GAEFxM,aAAc,IAAIwM,GAChB,OACA,UACA,CACE,mBACA,kBACA,0BACA,gCAEF,sGACA,GAEF1M,cAAe,IAAI0M,GA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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file diff --git a/src/Data/SettingsData.js b/src/Data/SettingsData.js index 0ac6c923..431f4816 100644 --- a/src/Data/SettingsData.js +++ b/src/Data/SettingsData.js @@ -389,7 +389,7 @@ const Config = { 'Tooltip', [ 'Building/upgrade tooltip information OFF', - 'Building/upgrade tooltip information ON', + 'Building/upgrade tooltip information ON', ], 'Extra information in building/upgrade tooltips', true, diff --git a/src/Disp/MenuSections/Statistics/AddStatsPage.js b/src/Disp/MenuSections/Statistics/AddStatsPage.js index f68e2840..349dddd9 100644 --- a/src/Disp/MenuSections/Statistics/AddStatsPage.js +++ b/src/Disp/MenuSections/Statistics/AddStatsPage.js @@ -115,7 +115,7 @@ export default function AddMenuStats(title) { stats.appendChild( CreateElements.StatsListing( 'basic', - `Average Cookies Per Second (Past ${ + `Average cookies per second (past ${ CookieTimes[CMOptions.AvgCPSHist] < 60 ? `${CookieTimes[CMOptions.AvgCPSHist]} seconds` : CookieTimes[CMOptions.AvgCPSHist] / 60 + @@ -127,7 +127,7 @@ export default function AddMenuStats(title) { stats.appendChild( CreateElements.StatsListing( 'basic', - `Average Cookie Clicks Per Second (Past ${ + `Average cookie clicks per second (past ${ ClickTimes[CMOptions.AvgClicksHist] }${CMOptions.AvgClicksHist === 0 ? ' second' : ' seconds'})`, document.createTextNode(Beautify(CacheAverageClicks, 1)), @@ -136,7 +136,7 @@ export default function AddMenuStats(title) { stats.appendChild( CreateElements.StatsListing( 'basic', - `Cookies from clicking (Past ${ClickTimes[CMOptions.AvgClicksHist]}${ + `Cookies from clicking (past ${ClickTimes[CMOptions.AvgClicksHist]}${ CMOptions.AvgClicksHist === 0 ? ' second' : ' seconds' })`, document.createTextNode( @@ -168,7 +168,7 @@ export default function AddMenuStats(title) { stats.appendChild( CreateElements.StatsListing( 'basic', - 'Missed Golden Cookies', + 'Missed golden cookies', document.createTextNode(Beautify(Game.missedGoldenClicks)), ), ); diff --git a/src/Disp/MenuSections/Statistics/CreateStatsSections.js b/src/Disp/MenuSections/Statistics/CreateStatsSections.js index 273d9c15..d53e7d96 100644 --- a/src/Disp/MenuSections/Statistics/CreateStatsSections.js +++ b/src/Disp/MenuSections/Statistics/CreateStatsSections.js @@ -83,7 +83,7 @@ export function LuckySection() { section.appendChild( StatsListing( 'withTooltip', - '"Lucky!" Cookies Required', + '"Lucky!" cookies required', luckyReqFrag, goldCookTooltip, ), @@ -113,7 +113,7 @@ export function LuckySection() { section.appendChild( StatsListing( 'withTooltip', - '"Lucky!" Cookies Required (Frenzy)', + '"Lucky!" cookies required (frenzy)', luckyReqFrenFrag, goldCookTooltip, ), @@ -130,7 +130,7 @@ export function LuckySection() { section.appendChild( StatsListing( 'withTooltip', - `"Lucky!" Reward (MAX)${luckySplit ? ' (Golden / Wrath)' : ''}`, + `"Lucky!" reward (max)${luckySplit ? ' (golden / wrath)' : ''}`, luckyRewardMaxSpan, goldCookTooltip, ), @@ -145,7 +145,7 @@ export function LuckySection() { section.appendChild( StatsListing( 'withTooltip', - `"Lucky!" Reward (MAX) (Frenzy)${luckySplit ? ' (Golden / Wrath)' : ''}`, + `"Lucky!" reward (max) (frenzy)${luckySplit ? ' (golden / wrath)' : ''}`, luckyRewardFrenzyMaxSpan, goldCookTooltip, ), @@ -165,7 +165,7 @@ export function LuckySection() { section.appendChild( StatsListing( 'withTooltip', - `"Lucky!" Reward (CUR)${luckySplit ? ' (Golden / Wrath)' : ''}`, + `"Lucky!" reward (cur)${luckySplit ? ' (golden / wrath)' : ''}`, luckyCurSpan, goldCookTooltip, ), @@ -211,7 +211,7 @@ export function ChainSection() { section.appendChild( StatsListing( 'withTooltip', - '"Chain" Cookies Required', + '"Chain" cookies required', chainReqFrag, goldCookTooltip, ), @@ -242,7 +242,7 @@ export function ChainSection() { section.appendChild( StatsListing( 'withTooltip', - '"Chain" Cookies Required (Wrath)', + '"Chain" cookies required (Wrath)', chainWrathReqFrag, goldCookTooltip, ), @@ -273,7 +273,7 @@ export function ChainSection() { section.appendChild( StatsListing( 'withTooltip', - '"Chain" Cookies Required (Frenzy)', + '"Chain" cookies required (Frenzy)', chainReqFrenFrag, goldCookTooltip, ), @@ -305,7 +305,7 @@ export function ChainSection() { section.appendChild( StatsListing( 'withTooltip', - '"Chain" Cookies Required (Frenzy) (Wrath)', + '"Chain" cookies required (frenzy) (Wrath)', chainWrathReqFrenFrag, goldCookTooltip, ), @@ -314,7 +314,7 @@ export function ChainSection() { section.appendChild( StatsListing( 'withTooltip', - '"Chain" Reward (MAX) (Golden / Wrath)', + '"Chain" reward (max) (golden / wrath)', document.createTextNode( `${Beautify(CacheChainMaxReward[0])} / ${Beautify( CacheChainWrathMaxReward[0], @@ -327,7 +327,7 @@ export function ChainSection() { section.appendChild( StatsListing( 'withTooltip', - '"Chain" Reward (MAX) (Frenzy) (Golden / Wrath)', + '"Chain" reward (max) (frenzy) (golden / wrath)', document.createTextNode( `${Beautify(CacheChainFrenzyMaxReward[0])} / ${Beautify( CacheChainFrenzyMaxReward[0], @@ -354,7 +354,7 @@ export function ChainSection() { section.appendChild( StatsListing( 'withTooltip', - '"Chain" Reward (CUR) (Golden / Wrath)', + '"Chain" reward (cur) (golden / wrath)', document.createTextNode( `${Beautify(chainCur)} / ${Beautify(chainCurWrath)}`, ), @@ -365,7 +365,7 @@ export function ChainSection() { section.appendChild( StatsListing( 'withTooltip', - 'CPS Needed For Next Level (G / W)', + 'CPS needed for next level (g / w)', document.createTextNode( `${Beautify(CacheChainRequiredNext)} / ${Beautify( CacheChainWrathRequiredNext, @@ -377,7 +377,7 @@ export function ChainSection() { section.appendChild( StatsListing( 'withTooltip', - 'CPS Needed For Next Level (Frenzy) (G / W)', + 'CPS needed for next level (frenzy) (g / w)', document.createTextNode( `${Beautify(CacheChainFrenzyRequiredNext)} / ${Beautify( CacheChainFrenzyWrathRequiredNext, @@ -422,7 +422,7 @@ export function SpellsSection() { section.appendChild( StatsListing( 'withTooltip', - '"Conjure Baked Goods" Cookies Required', + '"Conjure Baked Goods" cookies required', conjureReqFrag, 'GoldCookTooltipPlaceholder', ), @@ -430,7 +430,7 @@ export function SpellsSection() { section.appendChild( StatsListing( 'withTooltip', - '"Conjure Baked Goods" Reward (MAX)', + '"Conjure Baked Goods" reward (max)', document.createTextNode(Beautify(CacheConjureReward)), 'GoldCookTooltipPlaceholder', ), @@ -465,7 +465,7 @@ export function SpellsSection() { section.appendChild( StatsListing( 'withTooltip', - '"Conjure Baked Goods" Cookies Required (Frenzy)', + '"Conjure Baked Goods" cookies required (frenzy)', conjureFrenzyReqFrag, 'GoldCookTooltipPlaceholder', ), @@ -473,7 +473,7 @@ export function SpellsSection() { section.appendChild( StatsListing( 'withTooltip', - '"Conjure Baked Goods" Reward (MAX) (Frenzy)', + '"Conjure Baked Goods" reward (max) (frenzy)', document.createTextNode(Beautify(CacheConjureReward * 7)), 'GoldCookTooltipPlaceholder', ), @@ -481,7 +481,7 @@ export function SpellsSection() { section.appendChild( StatsListing( 'withTooltip', - '"Conjure Baked Goods" Reward (CUR)', + '"Conjure Baked Goods" reward (cur)', document.createTextNode(Beautify(conjureFrenzyCur)), 'GoldCookTooltipPlaceholder', ), @@ -490,7 +490,7 @@ export function SpellsSection() { section.appendChild( StatsListing( 'withTooltip', - '"Spontaneous Edifice" Cookies Required (most expensive building)', + '"Spontaneous Edifice" cookies required (most expensive building)', document.createTextNode( `${Beautify(CacheEdifice)} (${CacheEdificeBuilding})`, ), @@ -603,7 +603,7 @@ export function PrestigeSection() { section.appendChild( StatsListing( 'withTooltip', - 'Prestige Level (CUR / MAX)', + 'Prestige level (cur / max)', document.createTextNode( `${Beautify(Game.prestige)} / ${Beautify(possiblePresMax)}`, ), @@ -636,7 +636,7 @@ export function PrestigeSection() { section.appendChild( StatsListing( 'withTooltip', - 'Cookies To Next Level', + 'Cookies to next level', cookiesNextFrag, 'NextPrestTooltipPlaceholder', ), @@ -645,7 +645,7 @@ export function PrestigeSection() { section.appendChild( StatsListing( 'withTooltip', - 'Heavenly Chips (CUR / MAX)', + 'Heavenly chips (cur / max)', document.createTextNode( `${Beautify(Game.heavenlyChips)} / ${Beautify( possiblePresMax - Game.prestige + Game.heavenlyChips, @@ -658,7 +658,7 @@ export function PrestigeSection() { section.appendChild( StatsListing( 'basic', - 'Heavenly Chips Per Second (last 5 seconds)', + 'Heavenly chips per second (last 5 seconds)', document.createTextNode(Beautify(CacheHCPerSecond, 2)), ), ); @@ -672,14 +672,14 @@ export function PrestigeSection() { section.appendChild( StatsListing( 'basic', - 'Heavenly Chips To Target Set In Settings (CUR)', + 'Heavenly chips to target set in settings (cur)', document.createTextNode(Beautify(CookiesTillTarget)), ), ); section.appendChild( StatsListing( 'basic', - 'Time To Target (CUR, Current 5 Second Average)', + 'Time till target (cur, current 5 second average)', document.createTextNode( FormatTime(CookiesTillTarget / CacheHCPerSecond), ), @@ -700,7 +700,7 @@ export function PrestigeSection() { section.appendChild( StatsListing( 'withTooltip', - 'Reset Bonus Income', + 'Reset bonus income', resetFrag, 'ResetTooltipPlaceholder', ), diff --git a/src/Disp/Tooltips/AscendButton.js b/src/Disp/Tooltips/AscendButton.js index d991cb38..60c961be 100644 --- a/src/Disp/Tooltips/AscendButton.js +++ b/src/Disp/Tooltips/AscendButton.js @@ -55,7 +55,7 @@ export default function ReplaceAscendTooltip() { )} more cookies for the next level.
`; str += `${ CMOptions.TooltipAscendButton - ? `
It takes ${CacheTimeTillNextPrestige} to reach the next level and you are making ${Beautify( + ? `
It takes ${CacheTimeTillNextPrestige} to reach the next level and you were making ${Beautify( CacheHCPerSecond, 2, )} chips on average in the last 5 seconds.
` diff --git a/src/InitSaveLoad/init.js b/src/InitSaveLoad/init.js index 14c27762..c03685f0 100644 --- a/src/InitSaveLoad/init.js +++ b/src/InitSaveLoad/init.js @@ -17,7 +17,7 @@ export default function init() { let proceed = true; if (Game.version !== Number(VersionMajor)) { proceed = confirm( - `Cookie Monster version ${VersionMajor}.${VersionMinor} is meant for Game version ${VersionMajor}. Loading a different version may cause errors. Do you still want to load Cookie Monster?`, + `Cookie Monster version ${VersionMajor}.${VersionMinor} is meant for Game version ${VersionMajor}. Loading a different version may cause errors. Do you still want to load Cookie Monster?`, ); } if (proceed) { From 5a14712841ebcbafe9b1c12a39c9e9fb9d9d6190 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Sat, 3 Apr 2021 16:25:24 +0200 Subject: [PATCH 20/30] Renamed Draw hook --- dist/CookieMonster.js.map | 2 +- src/Disp/{Draw.js => DrawHook.js} | 2 +- src/InitSaveLoad/init.js | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) rename src/Disp/{Draw.js => DrawHook.js} (98%) diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index 86da0f7f..f1e162d2 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CacheAverageCookiesFromClicks","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","reduce","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoopHook","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","calcSum","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC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CZj1C,KAAKm1C,MAAQA,EACbn1C,KAAKo1C,KAAOA,EACZp1C,KAAKwN,IAAMA,EACXxN,KAAK0N,IAAMA,GAyBf,MA4yBmCgoC,GA5yBpB,CAEbpd,QAAS,IAAI4c,GACX,OACA,cACA,CAAC,6BAA8B,8BAC/B,kFACA,GAEFnN,WAAY,IAAImN,GACd,OACA,cACA,CACE,0BACA,0BACA,0BACA,yBACA,yBACA,0BACA,0BACA,2BAEF,4DACA,GAEF/M,cAAe,IAAI+M,GACjB,OACA,cACA,CACE,4BACA,4BACA,6BACA,6BACA,8BAEF,uDACA,GAEF3c,UAAW,IAAI2c,GACb,OACA,cACA,CACE,+BACA,8BACA,6CAEF,qGACA,GACA,WACEjmB,IAAY,KAKhBpD,MAAO,IAAIqpB,GACT,OACA,WACA,CACE,uBACA,SACA,cACA,4BACA,sBACA,wBAEF,yCACA,GACA,WACET,QAGJ9oB,cAAe,IAAIupB,GACjB,OACA,WACA,CAAC,aAAc,aAAc,cAC7B,oIACA,GACA,WACET,QAGJtoB,eAAgB,IAAI+oB,GAClB,OACA,WACA,CAAC,4BAA6B,mBAC9B,qDACA,GACA,WACET,QAGJvoB,YAAa,IAAIupB,GACf,WACA,WACA,2BACA,8KACA,EACA,WAEF3oB,WAAY,IAAIooB,GACd,OACA,WACA,CAAC,0BAA2B,uBAC5B,0BACA,GAEFjG,aAAc,IAAIiG,GAChB,OACA,WACA,CAAC,oBAAqB,oBACtB,mEACA,GACA,WAlU6B,IAA3BluB,EAAUioB,aAAoB9nB,KAAKod,QAAU3a,EAC5CzC,KAAKod,QAAU3b,EAAgB2b,WAqUpCpK,cAAe,IAAI+a,GACjB,OACA,WACA,CAAC,yBAA0B,mBAC3B,sKACA,GAIF1e,YAAa,IAAI0e,GACf,OACA,UACA,CAAC,uBAAwB,uBACzB,yBACA,GACA,WACE5e,QAGJgS,sBAAuB,IAAI4M,GACzB,OACA,UACA,CAAC,2BAA4B,sBAC7B,0KACA,GAEFxM,aAAc,IAAIwM,GAChB,OACA,UACA,CACE,mBACA,kBACA,0BACA,gCAEF,sGACA,GAEF1M,cAAe,IAAI0M,GA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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CacheAverageCookiesFromClicks","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","CMDrawHook","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","reduce","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoopHook","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","calcSum","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC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CZj1C,KAAKm1C,MAAQA,EACbn1C,KAAKo1C,KAAOA,EACZp1C,KAAKwN,IAAMA,EACXxN,KAAK0N,IAAMA,GAyBf,MA4yBmCgoC,GA5yBpB,CAEbpd,QAAS,IAAI4c,GACX,OACA,cACA,CAAC,6BAA8B,8BAC/B,kFACA,GAEFnN,WAAY,IAAImN,GACd,OACA,cACA,CACE,0BACA,0BACA,0BACA,yBACA,yBACA,0BACA,0BACA,2BAEF,4DACA,GAEF/M,cAAe,IAAI+M,GACjB,OACA,cACA,CACE,4BACA,4BACA,6BACA,6BACA,8BAEF,uDACA,GAEF3c,UAAW,IAAI2c,GACb,OACA,cACA,CACE,+BACA,8BACA,6CAEF,qGACA,GACA,WACEjmB,IAAY,KAKhBpD,MAAO,IAAIqpB,GACT,OACA,WACA,CACE,uBACA,SACA,cACA,4BACA,sBACA,wBAEF,yCACA,GACA,WACET,QAGJ9oB,cAAe,IAAIupB,GACjB,OACA,WACA,CAAC,aAAc,aAAc,cAC7B,oIACA,GACA,WACET,QAGJtoB,eAAgB,IAAI+oB,GAClB,OACA,WACA,CAAC,4BAA6B,mBAC9B,qDACA,GACA,WACET,QAGJvoB,YAAa,IAAIupB,GACf,WACA,WACA,2BACA,8KACA,EACA,WAEF3oB,WAAY,IAAIooB,GACd,OACA,WACA,CAAC,0BAA2B,uBAC5B,0BACA,GAEFjG,aAAc,IAAIiG,GAChB,OACA,WACA,CAAC,oBAAqB,oBACtB,mEACA,GACA,WAlU6B,IAA3BluB,EAAUioB,aAAoB9nB,KAAKod,QAAU3a,EAC5CzC,KAAKod,QAAU3b,EAAgB2b,WAqUpCpK,cAAe,IAAI+a,GACjB,OACA,WACA,CAAC,yBAA0B,mBAC3B,sKACA,GAIF1e,YAAa,IAAI0e,GACf,OACA,UACA,CAAC,uBAAwB,uBACzB,yBACA,GACA,WACE5e,QAGJgS,sBAAuB,IAAI4M,GACzB,OACA,UACA,CAAC,2BAA4B,sBAC7B,0KACA,GAEFxM,aAAc,IAAIwM,GAChB,OACA,UACA,CACE,mBACA,kBACA,0BACA,gCAEF,sGACA,GAEF1M,cAAe,IAAI0M,GA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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file diff --git a/src/Disp/Draw.js b/src/Disp/DrawHook.js similarity index 98% rename from src/Disp/Draw.js rename to src/Disp/DrawHook.js index 608d83f9..427ded90 100644 --- a/src/Disp/Draw.js +++ b/src/Disp/DrawHook.js @@ -16,7 +16,7 @@ import { * This function handles all custom drawing for the Game.Draw() function. * It is hooked on 'draw' by CM.RegisterHooks() */ -export default function Draw() { +export default function CMDrawHook() { // Draw autosave timer in stats menu, this must be done here to make it count down correctly if ( Game.prefs.autosave && diff --git a/src/InitSaveLoad/init.js b/src/InitSaveLoad/init.js index c03685f0..6b93971d 100644 --- a/src/InitSaveLoad/init.js +++ b/src/InitSaveLoad/init.js @@ -1,6 +1,6 @@ /* eslint-disable no-unused-vars */ import { VersionMajor, VersionMinor } from '../Data/Moddata'; -import Draw from '../Disp/Draw'; +import CMDrawHook from '../Disp/DrawHook'; import CMClickHook from '../Main/ClickHook'; import InitializeCookieMonster from '../Main/Initialization'; import CMLoopHook from '../Main/LoopHook'; @@ -22,7 +22,7 @@ export default function init() { } if (proceed) { InitializeCookieMonster(); - Game.registerHook('draw', Draw); + Game.registerHook('draw', CMDrawHook); Game.registerHook('logic', CMLoopHook); Game.registerHook('click', CMClickHook); isInitializing = false; From d511f4f1f27967c05116914395be30c8829f35d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Sun, 4 Apr 2021 13:22:44 +0200 Subject: [PATCH 21/30] Show missing achievements toggle --- CookieMonster.js | 2 +- dist/CookieMonster.js | 2 +- dist/CookieMonster.js.map | 2 +- src/Data/SettingsData.js | 9 +- src/Data/SettingsDefault.js | 1 + .../MenuSections/Statistics/AddStatsPage.js | 4 + .../Statistics/CreateMissingAchievements.js | 85 +++++++++++++++++++ 7 files changed, 101 insertions(+), 4 deletions(-) create mode 100644 src/Disp/MenuSections/Statistics/CreateMissingAchievements.js diff --git a/CookieMonster.js b/CookieMonster.js index bf9f8db8..ee1596cf 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],$={};let R,I,z=0,V=-1,_=[],Q=1,X=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=1,dt=1,pt=1,ut=0,mt=0,ht=0,gt=0,ft={},Ct={},yt={},bt=0,kt=0,Gt=[0,null],wt=0,vt=0,xt={},Tt={},Mt={},St={},Pt={},Bt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Dt=0,Ht=0,Ut=[],$t=0,Rt=0,It={},zt={},Vt=0,_t=0,Qt=[],Xt={},qt=0,Yt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Kt=[],Jt=[],Zt=[];function eo(e){let t=0;return Game.dragonAuras[He].name!==e&&Game.dragonAuras[Ue].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[He].name&&"Reality Bending"!==Game.dragonAuras[Ue].name||(t+=.1),t}function to(){let e=.25;return e*=1+eo("Earth Shatterer"),e}function oo(e,t){return void 0===Ve[e]?void 0===t?1:t:Ve[e]}function no(e){const t=Jt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function io(e){if(Game.hasGod){void 0===Kt.Temple.minigame&&(Kt.Temple.minigame=Game.Objects.Temple.minigame);const t=Kt.Temple.minigame.gods[e];if($e===t.id)return 1;if(Re===t.id)return 2;if(Ie===t.id)return 3}return!1}function ao(e,t){let o=t;if(no("Season savings")&&(o*=.99),no("Santa's dominion")&&(o*=.99),no("Faberge egg")&&(o*=.99),no("Divine discount")&&(o*=.99),no("Fortune #100")&&(o*=.99),o*=1-.02*eo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&no(e.fortune.name)&&(o*=.93),o*=oo("buildingCost"),Kt.Temple.minigameLoaded){const e=io("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ro(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function lo(){let t=Game.buyBulk;if(1===Game.buyMode?X=t:t=X,1===t?t=ft:10===t?t=Ct:100===t&&(t=yt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ft).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ro(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ft).map((e=>{const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?Q=i:i=Q,1===i&&(i=ft),10===i&&(i=Ct),100===i&&(i=yt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+po()))/co());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&no(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(no(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&no(e.fortune.name)&&(t*=1.07),e.grandma&&no(e.grandma.name)&&(t*=1+.01*Kt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&no(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function Go(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;no("Thousand fingers")&&(t+=.1),no("Million fingers")&&(t*=5),no("Billion fingers")&&(t*=10),no("Trillion fingers")&&(t*=20),no("Quadrillion fingers")&&(t*=20),no("Quintillion fingers")&&(t*=20),no("Sextillion fingers")&&(t*=20),no("Septillion fingers")&&(t*=20),no("Octillion fingers")&&(t*=20),no("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Kt).forEach((e=>{"Cursor"!==Kt[e].name&&(n+=Kt[e].amount)})),t*=n,o*=ko(e),o*=Game.magicCpS("Cursor"),o*=oo("cursorCps"),Game.ComputeCps(.1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{no(Game.GrandmaSynergies[e])&&(o*=2)})),no("Bingo center/Research facility")&&(o*=4),no("Ritual rolling pins")&&(o*=2),no("Naughty list")&&(o*=2),no("Elderwort biscuits")&&(o*=1.02),o*=oo("grandmaCps"),no("Cat ladies"))for(let e=0;e{"Grandma"!==Kt[e].name&&(i+=Kt[e].amount)})),o*=1+.01*eo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=ko(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function wo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Kt).forEach((t=>{Kt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(no("Starlove")&&(e=3),Game.hasGod){const t=io("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function vo(){We=Game.UpgradesOwned,Le=Game.pledges,Ae=Game.AchievementsOwned,je=Game.heavenlyPower,De=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e],mo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&($e=t.minigame.slot[0],Re=t.minigame.slot[1],Ie=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Kt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Jt[e];void 0===o&&(Jt[e]=wo(e),o=Jt[e]),o.bought=t.bought,Jt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Zt[e];void 0===o&&(Zt[e]=bo(e),o=Zt[e]),o.won=t.won,Zt[e]=o})),yo(),He=Xe,Ue=qe}function xo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function To(e){e.appendChild(xo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(xo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(xo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(xo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(xo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Mo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Po(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Bo(){if(vo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(To(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ft:10===Game.buyBulk?t=Ct:100===Game.buyBulk&&(t=yt),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+po()))/co());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(xo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(xo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=uo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,fo())}}(),ho(),Bo(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Kt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function No(){ue.addLatest(Game.computedMouseCps)}class Oo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Fo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+qt;Game.cpsSucked>0&&(o+=bt),$t=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-be,i=Math.max(0,Game.cookies-ke)/n,a=Math.max(0,bt-Ge)/n,r=Math.max(0,Gt[0]-we)/n,l=Math.max(0,o-gt)/n,s=(Game.cookieClicks-ve)/n;for(let e=0;e0&&(n=W),n}function Lo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Wo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+po()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Qt.push([t[n].pp,o])}))}function jo(){!function(){_t=1/0,Qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Ao(ft,1),Ao(Ct,10),Ao(yt,100),Qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Qt[t][1]>Game.cookies&&(t+=1,Qt.length!==t+1););_t=Qt[e.PPExcludeTop][t],Lo(ft,1),Lo(Ct,10),Lo(yt,100)}(),Object.keys(xt).forEach((e=>{Game.cookiesPs?xt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+po()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/xt[e].bonus:xt[e].pp=Game.Upgrades[e].getPrice()/xt[e].bonus,Number.isNaN(xt[e].pp)&&(xt[e].pp=1/0),xt[e].color=Wo(xt[e],Game.Upgrades[e].getPrice())}))}function Do(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ve=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(De)*je*function(){let e=0;if(no("Heavenly chip secret")&&(e+=.05),no("Heavenly cookie stand")&&(e+=.2),no("Heavenly bakery")&&(e+=.25),no("Heavenly confectionery")&&(e+=.25),no("Heavenly key")&&(e+=.25),e*=1+.05*eo("Dragon God"),no("Lucky digit")&&(e*=1.01),no("Lucky number")&&(e*=1.01),no("Lucky payout")&&(e*=1.01),Game.hasGod){const t=io("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=oo("cps"),no("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];no(o.name)&&("function"==typeof o.power?e*=1+.01*Jt[o.name].power(Jt[o.name]):e*=1+.01*o.power)})),no("Specialized chocolate chips")&&(e*=1.01),no("Designer cocoa beans")&&(e*=1.02),no("Underworld ovens")&&(e*=1.03),no("Exotic nuts")&&(e*=1.04),no("Arcane sugar")&&(e*=1.05),no("Increased merriness")&&(e*=1.15),no("Improved jolliness")&&(e*=1.15),no("A lump of coal")&&(e*=1.01),no("An itchy sweater")&&(e*=1.01),no("Santa's dominion")&&(e*=1.2),no("Fortune #100")&&(e*=1.01),no("Fortune #101")&&(e*=1.07),no("Dragon scale")&&(e*=1.03);let o=1;if(io){let t=io("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=io("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=io("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=io("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=io("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}no("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Ae/25;let i=1;if(no("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*eo("Breath of Milk"),io){const e=io("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=oo("milk");let a=1;no("Kitten helpers")&&(a*=1+.1*n*i),no("Kitten workers")&&(a*=1+.125*n*i),no("Kitten engineers")&&(a*=1+.15*n*i),no("Kitten overseers")&&(a*=1+.175*n*i),no("Kitten managers")&&(a*=1+.2*n*i),no("Kitten accountants")&&(a*=1+.2*n*i),no("Kitten specialists")&&(a*=1+.2*n*i),no("Kitten experts")&&(a*=1+.2*n*i),no("Kitten consultants")&&(a*=1+.2*n*i),no("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),no("Kitten marketeers")&&(a*=1+.15*n*i),no("Kitten analysts")&&(a*=1+.125*n*i),no("Kitten executives")&&(a*=1+.115*n*i),no("Kitten angels")&&(a*=1+.1*n*i),no("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Kt).forEach((e=>{const t=Kt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&no("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),_e+=t.amount*a})),no('"egg"')&&(_e+=9),e*=a;let r=1;if(no("Chicken egg")&&(r*=1.01),no("Duck egg")&&(r*=1.01),no("Turkey egg")&&(r*=1.01),no("Quail egg")&&(r*=1.01),no("Robin egg")&&(r*=1.01),no("Ostrich egg")&&(r*=1.01),no("Cassowary egg")&&(r*=1.01),no("Salmon roe")&&(r*=1.01),no("Frogspawn")&&(r*=1.01),no("Shark egg")&&(r*=1.01),no("Turtle egg")&&(r*=1.01),no("Ant larva")&&(r*=1.01),no("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),mt=1+.1*(1-(1-e/100)**3),r*=mt}e*=r,no("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+eo("Radiant Appetite");const l=_e*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ho(Game.CpsAchievements[e].name)})),Qe=l;const{n:s}=Game.shimmerTypes.golden,c=eo("Dragon's Fortune");for(let t=0;t{no(e[o])&&(t+=.1)}))}e*=t}if(no("Shimmering veil [off]")){let t=.5;no("Reinforced membrane")&&(t+=.1),e*=1+t}no("Magic shenanigans")&&(e*=1e3),no("Occult obstruction")&&(e*=0),_e=Game.runModHookOnValue("cps",_e),e*=So(),_e*=e}const $o=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ro=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Io=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],zo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Vo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function _o(e){return Zt[e]?Zt[e].won:0}function Qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{no(Game.GrandmaSynergies[t])&&(e+=1)})),!_o("Elder")&&e>=7&&Ho("Elder"),!_o("Veteran")&&e>=14&&Ho("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount,i=Math.min(Kt[e].amount,i),_o("Mathematician")||Kt[e].amount=1&&Ho("One with everything"),1===o&&Ho("Mathematician"),1===n&&Ho("Base 10"),i>=100&&Ho("Centennial"),i>=150&&Ho("Centennial and a half"),i>=200&&Ho("Bicentennial"),i>=250&&Ho("Bicentennial and a half"),i>=300&&Ho("Tricentennial"),i>=350&&Ho("Tricentennial and a half"),i>=400&&Ho("Quadricentennial"),i>=450&&Ho("Quadricentennial and a half"),i>=500&&Ho("Quincentennial"),i>=550&&Ho("Quincentennial and a half"),i>=600&&Ho("Sexcentennial"),t>=100&&Ho("Builder"),t>=500&&Ho("Architect"),t>=1e3&&Ho("Engineer"),t>=2e3&&Ho("Lord of Constructs"),t>=4e3&&Ho("Grand design"),t>=8e3&&Ho("Ecumenopolis"),We>=20&&Ho("Enhancer"),We>=50&&Ho("Augmenter"),We>=100&&Ho("Upgrader"),We>=200&&Ho("Lord of Progress"),We>=300&&Ho("The full picture"),We>=400&&Ho("When there's nothing left to add"),t>=4e3&&We>=300&&Ho("Polymath"),t>=8e3&&We>=400&&Ho("Renaissance baker"),Kt.Cursor.amount+Kt.Grandma.amount>=777&&Ho("The elder scrolls");let a=!0;Object.keys(Ro).forEach((e=>{no(Ro[e])||(a=!1)})),a&&Ho("Spooky cookies");let r=!0;if(Object.keys(Io).forEach((e=>{no(Io[e])||(r=!1)})),r&&Ho("Let it snow"),no("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{no(e[o].name)&&(t+=1)})),t>=e.length&&Ho("O Fortuna")}}function Xo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){vo(),Kt[e].amount+=t;const o=Kt[e];"Cursor"===e?(o.amount>=1&&Ho("Click"),o.amount>=2&&Ho("Double-click"),o.amount>=50&&Ho("Mouse wheel"),o.amount>=100&&Ho("Of Mice and Men"),o.amount>=200&&Ho("The Digital"),o.amount>=300&&Ho("Extreme polydactyly"),o.amount>=400&&Ho("Dr. T"),o.amount>=500&&Ho("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ho("With her finger and her thumb"),o.amount>=700&&Ho("Gotta hand it to you"),o.amount>=800&&Ho("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ho(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Ae;return Uo(),Qo(),n!==Ae&&Uo(),_e-Game.cookiesPs}(o,e),1!==e&&(Ne=1)})),t}function qo(){Object.keys(Game.Objects).forEach((e=>{ft[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),Ct[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),yt[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Yo(){ft=Xo(1),Ct=Xo(10),yt=Xo(100),xt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){vo(),"Shimmering veil [on]"===Jt[e].name?Jt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Jt[e].name?Jt["Golden switch [off]"].bought=0:Jt[e].bought=(Jt[e].bought+1)%2,Jt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(We+=1),"Elder Pledge"===e?(Le+=1,Le>0&&Ho("Elder nap"),Le>=5&&Ho("Elder slumber")):"Elder Covenant"===e?Ho("Elder calm"):"Prism heart biscuits"===e?Ho("Lovely cookies"):"Heavenly key"===e&&Ho("Wholesome");const t=Ae;Uo(),Qo(),t!==Ae&&Uo();const o=function(){let e=0;no("Thousand fingers")&&(e+=.1),no("Million fingers")&&(e*=5),no("Billion fingers")&&(e*=10),no("Trillion fingers")&&(e*=20),no("Quadrillion fingers")&&(e*=20),no("Quintillion fingers")&&(e*=20),no("Sextillion fingers")&&(e*=20),no("Septillion fingers")&&(e*=20),no("Octillion fingers")&&(e*=20),no("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount})),t-=Kt.Cursor.amount,e*=t,no("Plastic mouse")&&(e+=.01*_e),no("Iron mouse")&&(e+=.01*_e),no("Titanium mouse")&&(e+=.01*_e),no("Adamantium mouse")&&(e+=.01*_e),no("Unobtainium mouse")&&(e+=.01*_e),no("Eludium mouse")&&(e+=.01*_e),no("Wishalloy mouse")&&(e+=.01*_e),no("Fantasteel mouse")&&(e+=.01*_e),no("Nevercrack mouse")&&(e+=.01*_e),no("Armythril mouse")&&(e+=.01*_e),no("Technobsidian mouse")&&(e+=.01*_e),no("Plasmarble mouse")&&(e+=.01*_e),no("Miraculite mouse")&&(e+=.01*_e),no("Fortune #104")&&(e+=.01*_e);let o=1;if(no("Santa's helpers")&&(o*=1.1),no("Cookie egg")&&(o*=1.1),no("Halo gloves")&&(o*=1.1),no("Dragon claw")&&(o*=1.03),no("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,no("Luminous gloves")?20:10)),o*=oo("click"),Kt.Temple.minigameLoaded&&io){const e=io("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*eo("Dragon Cursor");let n=o*Game.ComputeCps(1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[_e-Game.cookiesPs,o]:[_e-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(xt[t]={bonus:Game.cookiesPs-xe},1===e.CalcWrink?xt[t].bonus-=Te:2===e.CalcWrink&&(xt[t].bonus-=Me),Number.isFinite(xt[t].bonus)||(xt[t].bonus=0)):(xt[t]={},o[0]&&(xt[t].bonus=o[0]),o[1]&&(xt[t].bonusMouse=o[1]))}))}function Ko(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Nt=Ko(7,e,dt),Bt=2*Nt[1]/dt,Et=Nt[2]/60/60/6/ct,Wt=Ko(6,e,pt),Ot=2*Wt[1]/pt,Ft=Wt[2]/60/60/6/ct,jt=Ko(7,7*e,dt),Lt=2*jt[1]/dt,At=jt[2]/60/60/6/ct,Ut=Ko(6,7*e,pt),Dt=2*Ut[1]/pt,Ht=Ut[2]/60/60/6/ct}function Zo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Be,i=Math.max(0,o-Ee)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?St+=e:"cookie"===o.pool?Pt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Mt+=e)}}))}function tn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ht=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ht*=2)}}function on(){Je=900*st/.15,Je*=ct;const e=So();e>0?Je/=e:Je=0,Ze=dt*(.15*Je)+13,et=pt*(.15*Je)+13,tt=7*Je,ot=dt*(.15*tt)+13,nt=pt*(.15*tt)+13,it=2*Je,at=.15*it,rt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountrt&&(rt=2*Game.Objects[e].price,lt=e)}))}function nn(){let e=1,t=1,o=1;no("Green yeast digestives")&&(o*=1.01),no("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),dt=o*e,pt=o*t,ct=1,0===Game.shimmerTypes.golden.n&&(ct*=1+1.23*Game.auraMult("Dragon's Fortune"))}function an(){bt=0,kt=0,Gt=[0,null];for(let e=0;eGt[0]&&(Gt=[t,e]))}}function rn(){yo(),an(),on(),nn(),Jo(),en(),tn(),me=new Oo(Y[Y.length-1]),he=new Oo(Y[Y.length-1]),ge=new Oo(Y[Y.length-1]),fe=new Oo(Y[Y.length-1]),Ce=new Oo(K[K.length-1]),ye=new Oo(5),ue=new Oo(20*K[K.length-1]),Zo(),Fo(),Yo(),qo(),jo()}const ln={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},sn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function cn(){1===e.BotBar?(l("CMBotBar").style.display="",ho()):l("CMBotBar").style.display="none",fo()}function dn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),ho(),lo(),so()}function pn(){1===e.Favicon&&y>0?It.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class un{constructor(e,t){this.type=e,this.group=t}}class mn extends un{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class hn extends un{constructor(e,t,o){super(e,t),this.desc=o}}class gn extends un{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class fn extends un{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const Cn={CPSMode:new mn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new mn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new mn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new mn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){ze=!0})),Scale:new mn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){dn()})),ScaleDecimals:new mn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){dn()})),ScaleSeparator:new mn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){dn()})),ScaleCutoff:new fn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new mn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new mn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new mn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new mn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){lo()})),PPOnlyConsiderBuyable:new mn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new mn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new mn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new fn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new hn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new hn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new hn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new hn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new hn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new hn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new hn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new hn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new hn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new mn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){cn()})),TimerBar:new mn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){Co()})),TimerBarPos:new mn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),fo()})),TimerBarOverlay:new mn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new mn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",so()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",so()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new mn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new mn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){lo()})),SortUpgrades:new mn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){so()})),DragonAuraInfo:new mn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new mn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new mn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Xt[e].l.style.left,re[e].style.top=Xt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new mn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){pn()})),WrinklerButtons:new mn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new mn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new mn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new mn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new mn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new mn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new mn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new mn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new mn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new fn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new mn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new mn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Po()})),TooltipGrim:new mn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new mn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new mn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new mn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new mn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new mn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new mn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new mn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new mn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new fn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new mn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new mn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new mn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new mn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){sn(e.GCNotification)})),GCFlash:new mn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new hn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new mn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new gn("vol","NotificationGC",[],"Volume"),GCSoundURL:new mn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new mn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){sn(e.FortuneNotification)})),FortuneFlash:new mn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new hn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new mn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new gn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new mn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new mn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){sn(e.SeaNotification)})),SeaFlash:new mn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new hn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new mn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new gn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new mn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new mn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new hn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new mn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new gn("vol","NotificationGard",[],"Volume"),GardSoundURL:new mn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new mn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){sn(e.MagicNotification)})),MagicFlash:new mn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new hn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new mn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new gn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new mn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new mn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){sn(e.WrinklerNotification)})),WrinklerFlash:new mn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new hn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new mn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new gn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new mn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new mn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){sn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new mn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new hn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new mn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new gn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new mn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new mn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new mn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function yn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function bn(){if(Ye!==Game.dragonLevel||ze){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Upgrades).forEach((e=>{Jt[e]=wo(e)})),Zt=[],Object.keys(Game.Achievements).forEach((e=>{Zt[e]=bo(e)})),vo()}let wn=!1;function vn(t,o,n){(1===e[o]||n)&&3===t&&!1===wn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){vn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){vn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){vn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function xn(t,o,n,i){if((1===e[o]||i)&&!1===wn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Tn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===wn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Mn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(cn(),Co()),go()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(Gn(),rn(),r=Object.keys(Game.mods).length),ze&&(Yo(),Game.Has("Golden switch [off]")?(vo(),Jt["Golden switch [off]"].bought=0,Uo(),st=_e):st=Game.cookiesPs,nn(),on(),en(),Jo(),bn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Yt[e][t]=kn(e,t)}(),tn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;vo();let t=2;5!==He&&18!==He||(t-=1),5!==Ue&&18!==Ue||(t-=1),He=5,Ue=18;for(let e=0;e{Kt[t].amount>0&&(e=t)})),Kt[e].amount-=1,Fe-=1}return Object.keys(Kt).forEach((t=>{const o=Kt[t];e+=ro(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),qt=e}(),ze=0);const t=Game.auraMult("Fierce Hoarder")>0;!Oe&&t?(Oe=!0,Ne=1):Oe&&!t&&(Oe=!1,Ne=1),Ne&&(qo(),Ne=0),function(){an(),jo(),function(){wt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Kt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}vt=e,wt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Fo(),Zo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Vt=de(e/co())}(),G=0,Xt={},Object.keys(Game.shimmers).forEach((e=>{Xt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(It=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Xt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),pn(),b=G,0===G&&(It=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Xt[e].l.style.opacity,re[e].style.transform=Xt[e].l.style.transform,re[e].textContent=Math.ceil(Xt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(vn(3,"FortuneFlash",!1),xn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Tn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(zt=Game.shimmers[e])})),vn(3,"SeaFlash",!1),xn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Tn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?vn(3,"WrinklerMaxFlash",!1):vn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?xn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):xn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Tn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Tn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function Sn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=ln[t]):"Header"===t&&Object.keys(ln.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=ln[t][n])}))})),o&&Pn(),Mn(),Object.keys(ln).forEach((e=>{"Header"!==e&&void 0!==Cn[e].func&&Cn[e].func()}))}else Bn(ln);Game.UpdateMenu(),Sn()}function En(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Nn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Do(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Bo(),l("tooltip").innerHTML}function On(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Fn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Pn()}function Un(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Hn(o),Game.UpdateMenu()},n.appendChild(i),n}function $n(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape($[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Rn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function In(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Un("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+po(){Game.HasUnlocked(Vo[e])||c.push(Vo[e])})),0!==c.length&&e.appendChild($n("basic","Rare plant drops left to unlock",Rn(c))),e}())),o.appendChild(Un("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?gt:0)));t.appendChild($n("withTooltip","Prestige level (cur / max)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&>?gt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/Rt,1)})`,i.appendChild(a),t.appendChild($n("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild($n("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild($n("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(ce(ut,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild($n("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(ce(e)))),t.appendChild($n("basic","Time till target (cur, current 5 second average)",document.createTextNode(de(e/ut)))))}const l=function(e){let t=Game.cookiesPs;vo(),0===Jt["Heavenly key"].bought&&(Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,Uo(),t=_e,vo()),$t>=1e6&&Ho("Sacrifice"),$t>=1e9&&Ho("Oblivion"),$t>=1e12&&Ho("From scratch"),$t>=1e15&&Ho("Nihilism"),$t>=1e18&&Ho("Dematerialize"),$t>=1e21&&Ho("Nil zero zilch"),$t>=1e24&&Ho("Transcendence"),$t>=1e27&&Ho("Obliterate"),$t>=1e30&&Ho("Negative void"),$t>=1e33&&Ho("To crumbs, you say?"),$t>=1e36&&Ho("You get nothing"),$t>=1e39&&Ho("Humble rebeginnings"),$t>=1e42&&Ho("The end of the world"),$t>=1e45&&Ho("Oh, you're back"),$t>=1e48&&Ho("Lazarus"),$t>=1e51&&Ho("Smurf account"),$t>=1e54&&Ho("If at first you don't succeed"),Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,De=e;const o=Ae;Uo(),Qo(),o!==Ae&&Uo();const n=_e-t;return De=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild($n("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Un("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(bt)} / ${ce(kt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){En()},e.appendChild(t),o.appendChild($n("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(Gt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},n.appendChild(i),o.appendChild($n("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==Gt[1]?Gt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(n.push(Ro[e]),o=!0)}));const i=[];Object.keys(Io).forEach((e=>{Game.Has(Io[e])||(i.push(Io[e]),o=!0)}));const a=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(a.push(zo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Un("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild($n("basic","Halloween cookies left to buy",Rn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild($n("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild($n("basic","Christmas cookies left to buy",Rn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild($n("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild($n("basic","Valentine cookies left to buy",Rn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild($n("basic","Normal easter eggs left to unlock",Rn(r))),t.appendChild($n("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild($n("basic","Rare easter eggs left to unlock",Rn(l))),t.appendChild($n("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild($n("basic","Reindeer reward",document.createTextNode(ce(ht)))),s&&t.appendChild($n("withTooltip","Chocolate egg cookies",document.createTextNode(ce(gt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild($n("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(mt-1))/100+"%")))}return t}()),o.appendChild(Un("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild($n("basic",`Average cookies per second (past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(co(),3)))),o.appendChild($n("basic",`Average cookie clicks per second (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(Tt,1)))),o.appendChild($n("basic",`Cookies from clicking (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(ue.calcSum(Tt*K[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys($o).forEach((t=>{Game.Has($o[t])||e.push($o[t])})),0!==e.length&&o.appendChild($n("basic","Fortune Upgrades Left to Buy",Rn(e)))}if(e.ShowMissedGC&&o.appendChild($n("basic","Missed golden cookies",document.createTextNode(ce(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild($n("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.appendChild(i)}}}))}const zn={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Vn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function _n(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Hn(t),Game.UpdateMenu()},n.appendChild(i),n}function Qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return se.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(e),Pn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape($.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===Cn[t].type){const n=document.createElement("a");Cn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=jn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===Cn[t].label.length?(e[t]=0,Cn[t].toggle&&(l(jn+t).className="option off")):l(jn+t).className="option",void 0!==Cn[t].func&&Cn[t].func(),l(jn+t).innerHTML=Cn[t].label[e[t]],Pn()}(t)},n.textContent=Cn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=Cn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===Cn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=Cn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Dn(t)},r.onchange=function(){Dn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){xn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${jn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Pn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=Cn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===Cn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Ln(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Sn(),Pn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=Cn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){vn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),An().init(),o}if("numscale"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="number",i.value=e[t],i.min=Cn[t].min,i.max=Cn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Pn(),dn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=Cn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Xn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function qn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),ze=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Xn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Xn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Xn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Kt[Game.ObjectsById[e].name].name;Kt[o].amount-=1,Fe-=1,t=Kt[o].basePrice*Game.priceIncrease**Math.max(0,Kt[o].amount-1-Kt[o].free),t=Game.modifyBuildingPrice(Kt[o],t),t=Math.ceil(t);break}const o=Ae;return Uo(),Qo(),o!==Ae&&Uo(),[_e-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${ce(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ke}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==An().picker&&void 0!==An().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(zn).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(_n(t,zn[t])),e.Header[t]))for(let e=0;e{const n=_n(t,Vn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Qn(e))}))})):Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Bn(ln)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",In(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Hn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=It?It.wrath?`[W${Math.ceil(It.life/Game.fps)}]`:`[G${Math.ceil(It.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(zt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;It&&(t=!0,It.wrath?e+=`[W${Math.ceil(It.life/Game.fps)}]`:e+=`[G${Math.ceil(It.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(zt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Ee<1?"Ascending now would grant you no prestige.":Ee<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Ee)} prestige levels (+${ce(Ee)}% CpS)
and ${ce(Ee)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Vt} to reach the next level and you were making ${ce(ut,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Yn(){Gn(),on(),rn(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{mo(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=uo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=uo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),$[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){En()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),On(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Wn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},qn(),Wn(),Game.CalculateGains(),Bn(),R=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Kn={init:function(){wn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Yn(),Game.registerHook("draw",Eo),Game.registerHook("logic",Mn),Game.registerHook("click",No),wn=!1)},load:function(e){const t=JSON.parse(e);Gn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Bn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:yn};Game.registerMod("CookieMonster",Kn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x=[],M=[],T=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],$={};let R,I,z=0,V=-1,_=[],Q=1,X=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Me,Te,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=1,dt=1,pt=1,ut=0,mt=0,ht=0,gt=0,ft={},Ct={},yt={},bt=0,kt=0,Gt=[0,null],vt=0,wt=0,xt={},Mt={},Tt={},St={},Pt={},Bt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Dt=0,Ht=0,Ut=[],$t=0,Rt=0,It={},zt={},Vt=0,_t=0,Qt=[],Xt={},qt=0,Yt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Kt=[],Jt=[],Zt=[];function eo(e){let t=0;return Game.dragonAuras[He].name!==e&&Game.dragonAuras[Ue].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[He].name&&"Reality Bending"!==Game.dragonAuras[Ue].name||(t+=.1),t}function to(){let e=.25;return e*=1+eo("Earth Shatterer"),e}function oo(e,t){return void 0===Ve[e]?void 0===t?1:t:Ve[e]}function no(e){const t=Jt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function io(e){if(Game.hasGod){void 0===Kt.Temple.minigame&&(Kt.Temple.minigame=Game.Objects.Temple.minigame);const t=Kt.Temple.minigame.gods[e];if($e===t.id)return 1;if(Re===t.id)return 2;if(Ie===t.id)return 3}return!1}function ao(e,t){let o=t;if(no("Season savings")&&(o*=.99),no("Santa's dominion")&&(o*=.99),no("Faberge egg")&&(o*=.99),no("Divine discount")&&(o*=.99),no("Fortune #100")&&(o*=.99),o*=1-.02*eo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&no(e.fortune.name)&&(o*=.93),o*=oo("buildingCost"),Kt.Temple.minigameLoaded){const e=io("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ro(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function lo(){let t=Game.buyBulk;if(1===Game.buyMode?X=t:t=X,1===t?t=ft:10===t?t=Ct:100===t&&(t=yt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ft).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ro(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ft).map((e=>{const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?Q=i:i=Q,1===i&&(i=ft),10===i&&(i=Ct),100===i&&(i=yt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+po()))/co());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&no(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(no(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&no(e.fortune.name)&&(t*=1.07),e.grandma&&no(e.grandma.name)&&(t*=1+.01*Kt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&no(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function Go(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;no("Thousand fingers")&&(t+=.1),no("Million fingers")&&(t*=5),no("Billion fingers")&&(t*=10),no("Trillion fingers")&&(t*=20),no("Quadrillion fingers")&&(t*=20),no("Quintillion fingers")&&(t*=20),no("Sextillion fingers")&&(t*=20),no("Septillion fingers")&&(t*=20),no("Octillion fingers")&&(t*=20),no("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Kt).forEach((e=>{"Cursor"!==Kt[e].name&&(n+=Kt[e].amount)})),t*=n,o*=ko(e),o*=Game.magicCpS("Cursor"),o*=oo("cursorCps"),Game.ComputeCps(.1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{no(Game.GrandmaSynergies[e])&&(o*=2)})),no("Bingo center/Research facility")&&(o*=4),no("Ritual rolling pins")&&(o*=2),no("Naughty list")&&(o*=2),no("Elderwort biscuits")&&(o*=1.02),o*=oo("grandmaCps"),no("Cat ladies"))for(let e=0;e{"Grandma"!==Kt[e].name&&(i+=Kt[e].amount)})),o*=1+.01*eo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=ko(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function vo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Kt).forEach((t=>{Kt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(no("Starlove")&&(e=3),Game.hasGod){const t=io("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function wo(){We=Game.UpgradesOwned,Le=Game.pledges,Ae=Game.AchievementsOwned,je=Game.heavenlyPower,De=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e],mo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&($e=t.minigame.slot[0],Re=t.minigame.slot[1],Ie=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Kt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Jt[e];void 0===o&&(Jt[e]=vo(e),o=Jt[e]),o.bought=t.bought,Jt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Zt[e];void 0===o&&(Zt[e]=bo(e),o=Zt[e]),o.won=t.won,Zt[e]=o})),yo(),He=Xe,Ue=qe}function xo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function Mo(e){e.appendChild(xo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(xo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(xo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(xo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(xo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function To(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Po(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Bo(){if(wo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(Mo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ft:10===Game.buyBulk?t=Ct:100===Game.buyBulk&&(t=yt),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+po()))/co());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(xo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(xo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=uo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,fo())}}(),ho(),Bo(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Kt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function No(){ue.addLatest(Game.computedMouseCps)}class Oo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Fo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+qt;Game.cpsSucked>0&&(o+=bt),$t=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-be,i=Math.max(0,Game.cookies-ke)/n,a=Math.max(0,bt-Ge)/n,r=Math.max(0,Gt[0]-ve)/n,l=Math.max(0,o-gt)/n,s=(Game.cookieClicks-we)/n;for(let e=0;e0&&(n=W),n}function Lo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Wo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+po()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Qt.push([t[n].pp,o])}))}function jo(){!function(){_t=1/0,Qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Ao(ft,1),Ao(Ct,10),Ao(yt,100),Qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Qt[t][1]>Game.cookies&&(t+=1,Qt.length!==t+1););_t=Qt[e.PPExcludeTop][t],Lo(ft,1),Lo(Ct,10),Lo(yt,100)}(),Object.keys(xt).forEach((e=>{Game.cookiesPs?xt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+po()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/xt[e].bonus:xt[e].pp=Game.Upgrades[e].getPrice()/xt[e].bonus,Number.isNaN(xt[e].pp)&&(xt[e].pp=1/0),xt[e].color=Wo(xt[e],Game.Upgrades[e].getPrice())}))}function Do(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ve=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(De)*je*function(){let e=0;if(no("Heavenly chip secret")&&(e+=.05),no("Heavenly cookie stand")&&(e+=.2),no("Heavenly bakery")&&(e+=.25),no("Heavenly confectionery")&&(e+=.25),no("Heavenly key")&&(e+=.25),e*=1+.05*eo("Dragon God"),no("Lucky digit")&&(e*=1.01),no("Lucky number")&&(e*=1.01),no("Lucky payout")&&(e*=1.01),Game.hasGod){const t=io("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=oo("cps"),no("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];no(o.name)&&("function"==typeof o.power?e*=1+.01*Jt[o.name].power(Jt[o.name]):e*=1+.01*o.power)})),no("Specialized chocolate chips")&&(e*=1.01),no("Designer cocoa beans")&&(e*=1.02),no("Underworld ovens")&&(e*=1.03),no("Exotic nuts")&&(e*=1.04),no("Arcane sugar")&&(e*=1.05),no("Increased merriness")&&(e*=1.15),no("Improved jolliness")&&(e*=1.15),no("A lump of coal")&&(e*=1.01),no("An itchy sweater")&&(e*=1.01),no("Santa's dominion")&&(e*=1.2),no("Fortune #100")&&(e*=1.01),no("Fortune #101")&&(e*=1.07),no("Dragon scale")&&(e*=1.03);let o=1;if(io){let t=io("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=io("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=io("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=io("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=io("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}no("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Ae/25;let i=1;if(no("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*eo("Breath of Milk"),io){const e=io("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=oo("milk");let a=1;no("Kitten helpers")&&(a*=1+.1*n*i),no("Kitten workers")&&(a*=1+.125*n*i),no("Kitten engineers")&&(a*=1+.15*n*i),no("Kitten overseers")&&(a*=1+.175*n*i),no("Kitten managers")&&(a*=1+.2*n*i),no("Kitten accountants")&&(a*=1+.2*n*i),no("Kitten specialists")&&(a*=1+.2*n*i),no("Kitten experts")&&(a*=1+.2*n*i),no("Kitten consultants")&&(a*=1+.2*n*i),no("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),no("Kitten marketeers")&&(a*=1+.15*n*i),no("Kitten analysts")&&(a*=1+.125*n*i),no("Kitten executives")&&(a*=1+.115*n*i),no("Kitten angels")&&(a*=1+.1*n*i),no("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Kt).forEach((e=>{const t=Kt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&no("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),_e+=t.amount*a})),no('"egg"')&&(_e+=9),e*=a;let r=1;if(no("Chicken egg")&&(r*=1.01),no("Duck egg")&&(r*=1.01),no("Turkey egg")&&(r*=1.01),no("Quail egg")&&(r*=1.01),no("Robin egg")&&(r*=1.01),no("Ostrich egg")&&(r*=1.01),no("Cassowary egg")&&(r*=1.01),no("Salmon roe")&&(r*=1.01),no("Frogspawn")&&(r*=1.01),no("Shark egg")&&(r*=1.01),no("Turtle egg")&&(r*=1.01),no("Ant larva")&&(r*=1.01),no("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),mt=1+.1*(1-(1-e/100)**3),r*=mt}e*=r,no("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+eo("Radiant Appetite");const l=_e*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ho(Game.CpsAchievements[e].name)})),Qe=l;const{n:s}=Game.shimmerTypes.golden,c=eo("Dragon's Fortune");for(let t=0;t{no(e[o])&&(t+=.1)}))}e*=t}if(no("Shimmering veil [off]")){let t=.5;no("Reinforced membrane")&&(t+=.1),e*=1+t}no("Magic shenanigans")&&(e*=1e3),no("Occult obstruction")&&(e*=0),_e=Game.runModHookOnValue("cps",_e),e*=So(),_e*=e}const $o=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ro=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Io=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],zo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Vo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function _o(e){return Zt[e]?Zt[e].won:0}function Qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{no(Game.GrandmaSynergies[t])&&(e+=1)})),!_o("Elder")&&e>=7&&Ho("Elder"),!_o("Veteran")&&e>=14&&Ho("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount,i=Math.min(Kt[e].amount,i),_o("Mathematician")||Kt[e].amount=1&&Ho("One with everything"),1===o&&Ho("Mathematician"),1===n&&Ho("Base 10"),i>=100&&Ho("Centennial"),i>=150&&Ho("Centennial and a half"),i>=200&&Ho("Bicentennial"),i>=250&&Ho("Bicentennial and a half"),i>=300&&Ho("Tricentennial"),i>=350&&Ho("Tricentennial and a half"),i>=400&&Ho("Quadricentennial"),i>=450&&Ho("Quadricentennial and a half"),i>=500&&Ho("Quincentennial"),i>=550&&Ho("Quincentennial and a half"),i>=600&&Ho("Sexcentennial"),t>=100&&Ho("Builder"),t>=500&&Ho("Architect"),t>=1e3&&Ho("Engineer"),t>=2e3&&Ho("Lord of Constructs"),t>=4e3&&Ho("Grand design"),t>=8e3&&Ho("Ecumenopolis"),We>=20&&Ho("Enhancer"),We>=50&&Ho("Augmenter"),We>=100&&Ho("Upgrader"),We>=200&&Ho("Lord of Progress"),We>=300&&Ho("The full picture"),We>=400&&Ho("When there's nothing left to add"),t>=4e3&&We>=300&&Ho("Polymath"),t>=8e3&&We>=400&&Ho("Renaissance baker"),Kt.Cursor.amount+Kt.Grandma.amount>=777&&Ho("The elder scrolls");let a=!0;Object.keys(Ro).forEach((e=>{no(Ro[e])||(a=!1)})),a&&Ho("Spooky cookies");let r=!0;if(Object.keys(Io).forEach((e=>{no(Io[e])||(r=!1)})),r&&Ho("Let it snow"),no("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{no(e[o].name)&&(t+=1)})),t>=e.length&&Ho("O Fortuna")}}function Xo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){wo(),Kt[e].amount+=t;const o=Kt[e];"Cursor"===e?(o.amount>=1&&Ho("Click"),o.amount>=2&&Ho("Double-click"),o.amount>=50&&Ho("Mouse wheel"),o.amount>=100&&Ho("Of Mice and Men"),o.amount>=200&&Ho("The Digital"),o.amount>=300&&Ho("Extreme polydactyly"),o.amount>=400&&Ho("Dr. T"),o.amount>=500&&Ho("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ho("With her finger and her thumb"),o.amount>=700&&Ho("Gotta hand it to you"),o.amount>=800&&Ho("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ho(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Ae;return Uo(),Qo(),n!==Ae&&Uo(),_e-Game.cookiesPs}(o,e),1!==e&&(Ne=1)})),t}function qo(){Object.keys(Game.Objects).forEach((e=>{ft[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),Ct[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),yt[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Yo(){ft=Xo(1),Ct=Xo(10),yt=Xo(100),xt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){wo(),"Shimmering veil [on]"===Jt[e].name?Jt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Jt[e].name?Jt["Golden switch [off]"].bought=0:Jt[e].bought=(Jt[e].bought+1)%2,Jt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(We+=1),"Elder Pledge"===e?(Le+=1,Le>0&&Ho("Elder nap"),Le>=5&&Ho("Elder slumber")):"Elder Covenant"===e?Ho("Elder calm"):"Prism heart biscuits"===e?Ho("Lovely cookies"):"Heavenly key"===e&&Ho("Wholesome");const t=Ae;Uo(),Qo(),t!==Ae&&Uo();const o=function(){let e=0;no("Thousand fingers")&&(e+=.1),no("Million fingers")&&(e*=5),no("Billion fingers")&&(e*=10),no("Trillion fingers")&&(e*=20),no("Quadrillion fingers")&&(e*=20),no("Quintillion fingers")&&(e*=20),no("Sextillion fingers")&&(e*=20),no("Septillion fingers")&&(e*=20),no("Octillion fingers")&&(e*=20),no("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount})),t-=Kt.Cursor.amount,e*=t,no("Plastic mouse")&&(e+=.01*_e),no("Iron mouse")&&(e+=.01*_e),no("Titanium mouse")&&(e+=.01*_e),no("Adamantium mouse")&&(e+=.01*_e),no("Unobtainium mouse")&&(e+=.01*_e),no("Eludium mouse")&&(e+=.01*_e),no("Wishalloy mouse")&&(e+=.01*_e),no("Fantasteel mouse")&&(e+=.01*_e),no("Nevercrack mouse")&&(e+=.01*_e),no("Armythril mouse")&&(e+=.01*_e),no("Technobsidian mouse")&&(e+=.01*_e),no("Plasmarble mouse")&&(e+=.01*_e),no("Miraculite mouse")&&(e+=.01*_e),no("Fortune #104")&&(e+=.01*_e);let o=1;if(no("Santa's helpers")&&(o*=1.1),no("Cookie egg")&&(o*=1.1),no("Halo gloves")&&(o*=1.1),no("Dragon claw")&&(o*=1.03),no("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,no("Luminous gloves")?20:10)),o*=oo("click"),Kt.Temple.minigameLoaded&&io){const e=io("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*eo("Dragon Cursor");let n=o*Game.ComputeCps(1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[_e-Game.cookiesPs,o]:[_e-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(xt[t]={bonus:Game.cookiesPs-xe},1===e.CalcWrink?xt[t].bonus-=Me:2===e.CalcWrink&&(xt[t].bonus-=Te),Number.isFinite(xt[t].bonus)||(xt[t].bonus=0)):(xt[t]={},o[0]&&(xt[t].bonus=o[0]),o[1]&&(xt[t].bonusMouse=o[1]))}))}function Ko(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Nt=Ko(7,e,dt),Bt=2*Nt[1]/dt,Et=Nt[2]/60/60/6/ct,Wt=Ko(6,e,pt),Ot=2*Wt[1]/pt,Ft=Wt[2]/60/60/6/ct,jt=Ko(7,7*e,dt),Lt=2*jt[1]/dt,At=jt[2]/60/60/6/ct,Ut=Ko(6,7*e,pt),Dt=2*Ut[1]/pt,Ht=Ut[2]/60/60/6/ct}function Zo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Be,i=Math.max(0,o-Ee)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?St+=e:"cookie"===o.pool?Pt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Tt+=e)}}))}function tn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ht=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ht*=2)}}function on(){Je=900*st/.15,Je*=ct;const e=So();e>0?Je/=e:Je=0,Ze=dt*(.15*Je)+13,et=pt*(.15*Je)+13,tt=7*Je,ot=dt*(.15*tt)+13,nt=pt*(.15*tt)+13,it=2*Je,at=.15*it,rt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountrt&&(rt=2*Game.Objects[e].price,lt=e)}))}function nn(){let e=1,t=1,o=1;no("Green yeast digestives")&&(o*=1.01),no("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),dt=o*e,pt=o*t,ct=1,0===Game.shimmerTypes.golden.n&&(ct*=1+1.23*Game.auraMult("Dragon's Fortune"))}function an(){bt=0,kt=0,Gt=[0,null];for(let e=0;eGt[0]&&(Gt=[t,e]))}}function rn(){yo(),an(),on(),nn(),Jo(),en(),tn(),me=new Oo(Y[Y.length-1]),he=new Oo(Y[Y.length-1]),ge=new Oo(Y[Y.length-1]),fe=new Oo(Y[Y.length-1]),Ce=new Oo(K[K.length-1]),ye=new Oo(5),ue=new Oo(20*K[K.length-1]),Zo(),Fo(),Yo(),qo(),jo()}const ln={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},sn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function cn(){1===e.BotBar?(l("CMBotBar").style.display="",ho()):l("CMBotBar").style.display="none",fo()}function dn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),ho(),lo(),so()}function pn(){1===e.Favicon&&y>0?It.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class un{constructor(e,t){this.type=e,this.group=t}}class mn extends un{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class hn extends un{constructor(e,t,o){super(e,t),this.desc=o}}class gn extends un{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class fn extends un{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const Cn={CPSMode:new mn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new mn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new mn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new mn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){ze=!0})),Scale:new mn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){dn()})),ScaleDecimals:new mn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){dn()})),ScaleSeparator:new mn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){dn()})),ScaleCutoff:new fn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new mn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new mn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new mn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new mn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){lo()})),PPOnlyConsiderBuyable:new mn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new mn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new mn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new fn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new hn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new hn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new hn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new hn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new hn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new hn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new hn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new hn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new hn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new mn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){cn()})),TimerBar:new mn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){Co()})),TimerBarPos:new mn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),fo()})),TimerBarOverlay:new mn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new mn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",so()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",so()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new mn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new mn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){lo()})),SortUpgrades:new mn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){so()})),DragonAuraInfo:new mn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new mn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new mn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Xt[e].l.style.left,re[e].style.top=Xt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new mn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){pn()})),WrinklerButtons:new mn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new mn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new mn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new mn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new mn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new mn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new mn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new mn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new mn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new fn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new mn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new mn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Po()})),TooltipGrim:new mn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new mn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new mn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new mn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new mn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new mn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new mn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new mn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new mn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON","Missing Shadow Achievements ON","All Missing Achievements ON"],"Shows missing normal or shadow achievements in statistics menu.",!1),UpStats:new mn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new fn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new mn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new mn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new mn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new mn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){sn(e.GCNotification)})),GCFlash:new mn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new hn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new mn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new gn("vol","NotificationGC",[],"Volume"),GCSoundURL:new mn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new mn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){sn(e.FortuneNotification)})),FortuneFlash:new mn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new hn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new mn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new gn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new mn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new mn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){sn(e.SeaNotification)})),SeaFlash:new mn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new hn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new mn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new gn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new mn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new mn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new hn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new mn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new gn("vol","NotificationGard",[],"Volume"),GardSoundURL:new mn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new mn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){sn(e.MagicNotification)})),MagicFlash:new mn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new hn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new mn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new gn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new mn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new mn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){sn(e.WrinklerNotification)})),WrinklerFlash:new mn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new hn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new mn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new gn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new mn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new mn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){sn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new mn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new hn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new mn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new gn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new mn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new mn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new mn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function yn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function bn(){if(Ye!==Game.dragonLevel||ze){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Upgrades).forEach((e=>{Jt[e]=vo(e)})),Zt=[],Object.keys(Game.Achievements).forEach((e=>{Zt[e]=bo(e)})),wo()}let vn=!1;function wn(t,o,n){(1===e[o]||n)&&3===t&&!1===vn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){wn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){wn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){wn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function xn(t,o,n,i){if((1===e[o]||i)&&!1===vn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Mn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===vn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Tn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(cn(),Co()),go()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(Gn(),rn(),r=Object.keys(Game.mods).length),ze&&(Yo(),Game.Has("Golden switch [off]")?(wo(),Jt["Golden switch [off]"].bought=0,Uo(),st=_e):st=Game.cookiesPs,nn(),on(),en(),Jo(),bn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Yt[e][t]=kn(e,t)}(),tn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;wo();let t=2;5!==He&&18!==He||(t-=1),5!==Ue&&18!==Ue||(t-=1),He=5,Ue=18;for(let e=0;e{Kt[t].amount>0&&(e=t)})),Kt[e].amount-=1,Fe-=1}return Object.keys(Kt).forEach((t=>{const o=Kt[t];e+=ro(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),qt=e}(),ze=0);const t=Game.auraMult("Fierce Hoarder")>0;!Oe&&t?(Oe=!0,Ne=1):Oe&&!t&&(Oe=!1,Ne=1),Ne&&(qo(),Ne=0),function(){an(),jo(),function(){vt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Kt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}wt=e,vt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Fo(),Zo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Vt=de(e/co())}(),G=0,Xt={},Object.keys(Game.shimmers).forEach((e=>{Xt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(It=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Xt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),pn(),b=G,0===G&&(It=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Xt[e].l.style.opacity,re[e].style.transform=Xt[e].l.style.transform,re[e].textContent=Math.ceil(Xt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(wn(3,"FortuneFlash",!1),xn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Mn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(zt=Game.shimmers[e])})),wn(3,"SeaFlash",!1),xn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Mn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?wn(3,"WrinklerMaxFlash",!1):wn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?xn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):xn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Mn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Mn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Sn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=ln[t]):"Header"===t&&Object.keys(ln.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=ln[t][n])}))})),o&&Pn(),Tn(),Object.keys(ln).forEach((e=>{"Header"!==e&&void 0!==Cn[e].func&&Cn[e].func()}))}else Bn(ln);Game.UpdateMenu(),Sn()}function En(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Nn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Do(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Bo(),l("tooltip").innerHTML}function On(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(M[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Fn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Pn()}function Un(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Hn(o),Game.UpdateMenu()},n.appendChild(i),n}function $n(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape($[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Rn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function In(e){const t=[];let o=0,n="",{icon:i}=e,{desc:a}=e;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");for(let e=0;e[${t[e]}]`);return n=n.substring(1),e.iconFunction&&(i=e.iconFunction()),e.descFunc&&(a=e.descFunc("stats")),`
\n
\n
${e.name}
\n ${n}
${a}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}function zn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Un("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+po(){Game.HasUnlocked(Vo[e])||c.push(Vo[e])})),0!==c.length&&e.appendChild($n("basic","Rare plant drops left to unlock",Rn(c))),e}())),o.appendChild(Un("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?gt:0)));t.appendChild($n("withTooltip","Prestige level (cur / max)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&>?gt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/Rt,1)})`,i.appendChild(a),t.appendChild($n("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild($n("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild($n("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(ce(ut,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild($n("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(ce(e)))),t.appendChild($n("basic","Time till target (cur, current 5 second average)",document.createTextNode(de(e/ut)))))}const l=function(e){let t=Game.cookiesPs;wo(),0===Jt["Heavenly key"].bought&&(Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,Uo(),t=_e,wo()),$t>=1e6&&Ho("Sacrifice"),$t>=1e9&&Ho("Oblivion"),$t>=1e12&&Ho("From scratch"),$t>=1e15&&Ho("Nihilism"),$t>=1e18&&Ho("Dematerialize"),$t>=1e21&&Ho("Nil zero zilch"),$t>=1e24&&Ho("Transcendence"),$t>=1e27&&Ho("Obliterate"),$t>=1e30&&Ho("Negative void"),$t>=1e33&&Ho("To crumbs, you say?"),$t>=1e36&&Ho("You get nothing"),$t>=1e39&&Ho("Humble rebeginnings"),$t>=1e42&&Ho("The end of the world"),$t>=1e45&&Ho("Oh, you're back"),$t>=1e48&&Ho("Lazarus"),$t>=1e51&&Ho("Smurf account"),$t>=1e54&&Ho("If at first you don't succeed"),Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,De=e;const o=Ae;Uo(),Qo(),o!==Ae&&Uo();const n=_e-t;return De=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild($n("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Un("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(bt)} / ${ce(kt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){En()},e.appendChild(t),o.appendChild($n("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(Gt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},n.appendChild(i),o.appendChild($n("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==Gt[1]?Gt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(n.push(Ro[e]),o=!0)}));const i=[];Object.keys(Io).forEach((e=>{Game.Has(Io[e])||(i.push(Io[e]),o=!0)}));const a=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(a.push(zo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Un("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild($n("basic","Halloween cookies left to buy",Rn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild($n("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild($n("basic","Christmas cookies left to buy",Rn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild($n("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild($n("basic","Valentine cookies left to buy",Rn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild($n("basic","Normal easter eggs left to unlock",Rn(r))),t.appendChild($n("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild($n("basic","Rare easter eggs left to unlock",Rn(l))),t.appendChild($n("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild($n("basic","Reindeer reward",document.createTextNode(ce(ht)))),s&&t.appendChild($n("withTooltip","Chocolate egg cookies",document.createTextNode(ce(gt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild($n("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(mt-1))/100+"%")))}return t}()),o.appendChild(Un("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild($n("basic",`Average cookies per second (past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(co(),3)))),o.appendChild($n("basic",`Average cookie clicks per second (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(Mt,1)))),o.appendChild($n("basic",`Cookies from clicking (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(ue.calcSum(Mt*K[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys($o).forEach((t=>{Game.Has($o[t])||e.push($o[t])})),0!==e.length&&o.appendChild($n("basic","Fortune Upgrades Left to Buy",Rn(e)))}if(e.ShowMissedGC&&o.appendChild($n("basic","Missed golden cookies",document.createTextNode(ce(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild($n("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t,o;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&([t,o]=e.parentElement.querySelectorAll("div.listing.crateBox"))})),1!==e.MissingAchievements&&3!==e.MissingAchievements||Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return In(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}})),e.MissingAchievements>=2&&Object.values(o.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t].icon;e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return In(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const Vn={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},_n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Qn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Hn(t),Game.UpdateMenu()},n.appendChild(i),n}function Xn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return se.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(e),Pn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape($.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===Cn[t].type){const n=document.createElement("a");Cn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=jn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===Cn[t].label.length?(e[t]=0,Cn[t].toggle&&(l(jn+t).className="option off")):l(jn+t).className="option",void 0!==Cn[t].func&&Cn[t].func(),l(jn+t).innerHTML=Cn[t].label[e[t]],Pn()}(t)},n.textContent=Cn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=Cn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===Cn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=Cn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Dn(t)},r.onchange=function(){Dn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){xn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${jn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Pn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=Cn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===Cn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Ln(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Sn(),Pn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=Cn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){wn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),An().init(),o}if("numscale"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="number",i.value=e[t],i.min=Cn[t].min,i.max=Cn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Pn(),dn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=Cn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function qn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Yn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),ze=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){qn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){qn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){qn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),T=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Kt[Game.ObjectsById[e].name].name;Kt[o].amount-=1,Fe-=1,t=Kt[o].basePrice*Game.priceIncrease**Math.max(0,Kt[o].amount-1-Kt[o].free),t=Game.modifyBuildingPrice(Kt[o],t),t=Math.ceil(t);break}const o=Ae;return Uo(),Qo(),o!==Ae&&Uo(),[_e-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${ce(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ke}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==An().picker&&void 0!==An().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Vn).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(Qn(t,Vn[t])),e.Header[t]))for(let e=0;e{const n=Qn(t,_n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Xn(e))}))})):Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Xn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Bn(ln)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",zn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Hn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=It?It.wrath?`[W${Math.ceil(It.life/Game.fps)}]`:`[G${Math.ceil(It.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(zt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;It&&(t=!0,It.wrath?e+=`[W${Math.ceil(It.life/Game.fps)}]`:e+=`[G${Math.ceil(It.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(zt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Ee<1?"Ascending now would grant you no prestige.":Ee<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Ee)} prestige levels (+${ce(Ee)}% CpS)
and ${ce(Ee)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Vt} to reach the next level and you were making ${ce(ut,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Kn(){Gn(),on(),rn(),r=Object.keys(Game.mods).length,w=document.createElement("style"),w.type="text/css",w.id="CMCSS",document.head.appendChild(w),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{mo(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=uo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=uo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),$[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){En()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),On(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Wn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},Yn(),Wn(),Game.CalculateGains(),Bn(),R=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Jn={init:function(){vn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Kn(),Game.registerHook("draw",Eo),Game.registerHook("logic",Tn),Game.registerHook("click",No),vn=!1)},load:function(e){const t=JSON.parse(e);Gn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Bn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:yn};Game.registerMod("CookieMonster",Jn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index bf9f8db8..ee1596cf 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,w,v,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],$={};let R,I,z=0,V=-1,_=[],Q=1,X=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,we,ve,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=1,dt=1,pt=1,ut=0,mt=0,ht=0,gt=0,ft={},Ct={},yt={},bt=0,kt=0,Gt=[0,null],wt=0,vt=0,xt={},Tt={},Mt={},St={},Pt={},Bt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Dt=0,Ht=0,Ut=[],$t=0,Rt=0,It={},zt={},Vt=0,_t=0,Qt=[],Xt={},qt=0,Yt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Kt=[],Jt=[],Zt=[];function eo(e){let t=0;return Game.dragonAuras[He].name!==e&&Game.dragonAuras[Ue].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[He].name&&"Reality Bending"!==Game.dragonAuras[Ue].name||(t+=.1),t}function to(){let e=.25;return e*=1+eo("Earth Shatterer"),e}function oo(e,t){return void 0===Ve[e]?void 0===t?1:t:Ve[e]}function no(e){const t=Jt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function io(e){if(Game.hasGod){void 0===Kt.Temple.minigame&&(Kt.Temple.minigame=Game.Objects.Temple.minigame);const t=Kt.Temple.minigame.gods[e];if($e===t.id)return 1;if(Re===t.id)return 2;if(Ie===t.id)return 3}return!1}function ao(e,t){let o=t;if(no("Season savings")&&(o*=.99),no("Santa's dominion")&&(o*=.99),no("Faberge egg")&&(o*=.99),no("Divine discount")&&(o*=.99),no("Fortune #100")&&(o*=.99),o*=1-.02*eo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&no(e.fortune.name)&&(o*=.93),o*=oo("buildingCost"),Kt.Temple.minigameLoaded){const e=io("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ro(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function lo(){let t=Game.buyBulk;if(1===Game.buyMode?X=t:t=X,1===t?t=ft:10===t?t=Ct:100===t&&(t=yt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ft).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ro(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ft).map((e=>{const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?Q=i:i=Q,1===i&&(i=ft),10===i&&(i=Ct),100===i&&(i=yt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+po()))/co());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&no(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(no(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&no(e.fortune.name)&&(t*=1.07),e.grandma&&no(e.grandma.name)&&(t*=1+.01*Kt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&no(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function Go(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;no("Thousand fingers")&&(t+=.1),no("Million fingers")&&(t*=5),no("Billion fingers")&&(t*=10),no("Trillion fingers")&&(t*=20),no("Quadrillion fingers")&&(t*=20),no("Quintillion fingers")&&(t*=20),no("Sextillion fingers")&&(t*=20),no("Septillion fingers")&&(t*=20),no("Octillion fingers")&&(t*=20),no("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Kt).forEach((e=>{"Cursor"!==Kt[e].name&&(n+=Kt[e].amount)})),t*=n,o*=ko(e),o*=Game.magicCpS("Cursor"),o*=oo("cursorCps"),Game.ComputeCps(.1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{no(Game.GrandmaSynergies[e])&&(o*=2)})),no("Bingo center/Research facility")&&(o*=4),no("Ritual rolling pins")&&(o*=2),no("Naughty list")&&(o*=2),no("Elderwort biscuits")&&(o*=1.02),o*=oo("grandmaCps"),no("Cat ladies"))for(let e=0;e{"Grandma"!==Kt[e].name&&(i+=Kt[e].amount)})),o*=1+.01*eo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=ko(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function wo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Kt).forEach((t=>{Kt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(no("Starlove")&&(e=3),Game.hasGod){const t=io("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function vo(){We=Game.UpgradesOwned,Le=Game.pledges,Ae=Game.AchievementsOwned,je=Game.heavenlyPower,De=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e],mo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&($e=t.minigame.slot[0],Re=t.minigame.slot[1],Ie=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Kt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Jt[e];void 0===o&&(Jt[e]=wo(e),o=Jt[e]),o.bought=t.bought,Jt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Zt[e];void 0===o&&(Zt[e]=bo(e),o=Zt[e]),o.won=t.won,Zt[e]=o})),yo(),He=Xe,Ue=qe}function xo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function To(e){e.appendChild(xo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(xo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(xo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(xo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(xo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Mo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Po(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Bo(){if(vo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(To(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ft:10===Game.buyBulk?t=Ct:100===Game.buyBulk&&(t=yt),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+po()))/co());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(xo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(xo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=uo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,fo())}}(),ho(),Bo(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Kt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function No(){ue.addLatest(Game.computedMouseCps)}class Oo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Fo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+qt;Game.cpsSucked>0&&(o+=bt),$t=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-be,i=Math.max(0,Game.cookies-ke)/n,a=Math.max(0,bt-Ge)/n,r=Math.max(0,Gt[0]-we)/n,l=Math.max(0,o-gt)/n,s=(Game.cookieClicks-ve)/n;for(let e=0;e0&&(n=W),n}function Lo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Wo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+po()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Qt.push([t[n].pp,o])}))}function jo(){!function(){_t=1/0,Qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Ao(ft,1),Ao(Ct,10),Ao(yt,100),Qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Qt[t][1]>Game.cookies&&(t+=1,Qt.length!==t+1););_t=Qt[e.PPExcludeTop][t],Lo(ft,1),Lo(Ct,10),Lo(yt,100)}(),Object.keys(xt).forEach((e=>{Game.cookiesPs?xt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+po()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/xt[e].bonus:xt[e].pp=Game.Upgrades[e].getPrice()/xt[e].bonus,Number.isNaN(xt[e].pp)&&(xt[e].pp=1/0),xt[e].color=Wo(xt[e],Game.Upgrades[e].getPrice())}))}function Do(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ve=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(De)*je*function(){let e=0;if(no("Heavenly chip secret")&&(e+=.05),no("Heavenly cookie stand")&&(e+=.2),no("Heavenly bakery")&&(e+=.25),no("Heavenly confectionery")&&(e+=.25),no("Heavenly key")&&(e+=.25),e*=1+.05*eo("Dragon God"),no("Lucky digit")&&(e*=1.01),no("Lucky number")&&(e*=1.01),no("Lucky payout")&&(e*=1.01),Game.hasGod){const t=io("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=oo("cps"),no("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];no(o.name)&&("function"==typeof o.power?e*=1+.01*Jt[o.name].power(Jt[o.name]):e*=1+.01*o.power)})),no("Specialized chocolate chips")&&(e*=1.01),no("Designer cocoa beans")&&(e*=1.02),no("Underworld ovens")&&(e*=1.03),no("Exotic nuts")&&(e*=1.04),no("Arcane sugar")&&(e*=1.05),no("Increased merriness")&&(e*=1.15),no("Improved jolliness")&&(e*=1.15),no("A lump of coal")&&(e*=1.01),no("An itchy sweater")&&(e*=1.01),no("Santa's dominion")&&(e*=1.2),no("Fortune #100")&&(e*=1.01),no("Fortune #101")&&(e*=1.07),no("Dragon scale")&&(e*=1.03);let o=1;if(io){let t=io("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=io("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=io("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=io("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=io("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}no("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Ae/25;let i=1;if(no("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*eo("Breath of Milk"),io){const e=io("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=oo("milk");let a=1;no("Kitten helpers")&&(a*=1+.1*n*i),no("Kitten workers")&&(a*=1+.125*n*i),no("Kitten engineers")&&(a*=1+.15*n*i),no("Kitten overseers")&&(a*=1+.175*n*i),no("Kitten managers")&&(a*=1+.2*n*i),no("Kitten accountants")&&(a*=1+.2*n*i),no("Kitten specialists")&&(a*=1+.2*n*i),no("Kitten experts")&&(a*=1+.2*n*i),no("Kitten consultants")&&(a*=1+.2*n*i),no("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),no("Kitten marketeers")&&(a*=1+.15*n*i),no("Kitten analysts")&&(a*=1+.125*n*i),no("Kitten executives")&&(a*=1+.115*n*i),no("Kitten angels")&&(a*=1+.1*n*i),no("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Kt).forEach((e=>{const t=Kt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&no("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),_e+=t.amount*a})),no('"egg"')&&(_e+=9),e*=a;let r=1;if(no("Chicken egg")&&(r*=1.01),no("Duck egg")&&(r*=1.01),no("Turkey egg")&&(r*=1.01),no("Quail egg")&&(r*=1.01),no("Robin egg")&&(r*=1.01),no("Ostrich egg")&&(r*=1.01),no("Cassowary egg")&&(r*=1.01),no("Salmon roe")&&(r*=1.01),no("Frogspawn")&&(r*=1.01),no("Shark egg")&&(r*=1.01),no("Turtle egg")&&(r*=1.01),no("Ant larva")&&(r*=1.01),no("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),mt=1+.1*(1-(1-e/100)**3),r*=mt}e*=r,no("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+eo("Radiant Appetite");const l=_e*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ho(Game.CpsAchievements[e].name)})),Qe=l;const{n:s}=Game.shimmerTypes.golden,c=eo("Dragon's Fortune");for(let t=0;t{no(e[o])&&(t+=.1)}))}e*=t}if(no("Shimmering veil [off]")){let t=.5;no("Reinforced membrane")&&(t+=.1),e*=1+t}no("Magic shenanigans")&&(e*=1e3),no("Occult obstruction")&&(e*=0),_e=Game.runModHookOnValue("cps",_e),e*=So(),_e*=e}const $o=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ro=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Io=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],zo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Vo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function _o(e){return Zt[e]?Zt[e].won:0}function Qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{no(Game.GrandmaSynergies[t])&&(e+=1)})),!_o("Elder")&&e>=7&&Ho("Elder"),!_o("Veteran")&&e>=14&&Ho("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount,i=Math.min(Kt[e].amount,i),_o("Mathematician")||Kt[e].amount=1&&Ho("One with everything"),1===o&&Ho("Mathematician"),1===n&&Ho("Base 10"),i>=100&&Ho("Centennial"),i>=150&&Ho("Centennial and a half"),i>=200&&Ho("Bicentennial"),i>=250&&Ho("Bicentennial and a half"),i>=300&&Ho("Tricentennial"),i>=350&&Ho("Tricentennial and a half"),i>=400&&Ho("Quadricentennial"),i>=450&&Ho("Quadricentennial and a half"),i>=500&&Ho("Quincentennial"),i>=550&&Ho("Quincentennial and a half"),i>=600&&Ho("Sexcentennial"),t>=100&&Ho("Builder"),t>=500&&Ho("Architect"),t>=1e3&&Ho("Engineer"),t>=2e3&&Ho("Lord of Constructs"),t>=4e3&&Ho("Grand design"),t>=8e3&&Ho("Ecumenopolis"),We>=20&&Ho("Enhancer"),We>=50&&Ho("Augmenter"),We>=100&&Ho("Upgrader"),We>=200&&Ho("Lord of Progress"),We>=300&&Ho("The full picture"),We>=400&&Ho("When there's nothing left to add"),t>=4e3&&We>=300&&Ho("Polymath"),t>=8e3&&We>=400&&Ho("Renaissance baker"),Kt.Cursor.amount+Kt.Grandma.amount>=777&&Ho("The elder scrolls");let a=!0;Object.keys(Ro).forEach((e=>{no(Ro[e])||(a=!1)})),a&&Ho("Spooky cookies");let r=!0;if(Object.keys(Io).forEach((e=>{no(Io[e])||(r=!1)})),r&&Ho("Let it snow"),no("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{no(e[o].name)&&(t+=1)})),t>=e.length&&Ho("O Fortuna")}}function Xo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){vo(),Kt[e].amount+=t;const o=Kt[e];"Cursor"===e?(o.amount>=1&&Ho("Click"),o.amount>=2&&Ho("Double-click"),o.amount>=50&&Ho("Mouse wheel"),o.amount>=100&&Ho("Of Mice and Men"),o.amount>=200&&Ho("The Digital"),o.amount>=300&&Ho("Extreme polydactyly"),o.amount>=400&&Ho("Dr. T"),o.amount>=500&&Ho("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ho("With her finger and her thumb"),o.amount>=700&&Ho("Gotta hand it to you"),o.amount>=800&&Ho("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ho(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Ae;return Uo(),Qo(),n!==Ae&&Uo(),_e-Game.cookiesPs}(o,e),1!==e&&(Ne=1)})),t}function qo(){Object.keys(Game.Objects).forEach((e=>{ft[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),Ct[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),yt[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Yo(){ft=Xo(1),Ct=Xo(10),yt=Xo(100),xt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){vo(),"Shimmering veil [on]"===Jt[e].name?Jt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Jt[e].name?Jt["Golden switch [off]"].bought=0:Jt[e].bought=(Jt[e].bought+1)%2,Jt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(We+=1),"Elder Pledge"===e?(Le+=1,Le>0&&Ho("Elder nap"),Le>=5&&Ho("Elder slumber")):"Elder Covenant"===e?Ho("Elder calm"):"Prism heart biscuits"===e?Ho("Lovely cookies"):"Heavenly key"===e&&Ho("Wholesome");const t=Ae;Uo(),Qo(),t!==Ae&&Uo();const o=function(){let e=0;no("Thousand fingers")&&(e+=.1),no("Million fingers")&&(e*=5),no("Billion fingers")&&(e*=10),no("Trillion fingers")&&(e*=20),no("Quadrillion fingers")&&(e*=20),no("Quintillion fingers")&&(e*=20),no("Sextillion fingers")&&(e*=20),no("Septillion fingers")&&(e*=20),no("Octillion fingers")&&(e*=20),no("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount})),t-=Kt.Cursor.amount,e*=t,no("Plastic mouse")&&(e+=.01*_e),no("Iron mouse")&&(e+=.01*_e),no("Titanium mouse")&&(e+=.01*_e),no("Adamantium mouse")&&(e+=.01*_e),no("Unobtainium mouse")&&(e+=.01*_e),no("Eludium mouse")&&(e+=.01*_e),no("Wishalloy mouse")&&(e+=.01*_e),no("Fantasteel mouse")&&(e+=.01*_e),no("Nevercrack mouse")&&(e+=.01*_e),no("Armythril mouse")&&(e+=.01*_e),no("Technobsidian mouse")&&(e+=.01*_e),no("Plasmarble mouse")&&(e+=.01*_e),no("Miraculite mouse")&&(e+=.01*_e),no("Fortune #104")&&(e+=.01*_e);let o=1;if(no("Santa's helpers")&&(o*=1.1),no("Cookie egg")&&(o*=1.1),no("Halo gloves")&&(o*=1.1),no("Dragon claw")&&(o*=1.03),no("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,no("Luminous gloves")?20:10)),o*=oo("click"),Kt.Temple.minigameLoaded&&io){const e=io("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*eo("Dragon Cursor");let n=o*Game.ComputeCps(1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[_e-Game.cookiesPs,o]:[_e-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(xt[t]={bonus:Game.cookiesPs-xe},1===e.CalcWrink?xt[t].bonus-=Te:2===e.CalcWrink&&(xt[t].bonus-=Me),Number.isFinite(xt[t].bonus)||(xt[t].bonus=0)):(xt[t]={},o[0]&&(xt[t].bonus=o[0]),o[1]&&(xt[t].bonusMouse=o[1]))}))}function Ko(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Nt=Ko(7,e,dt),Bt=2*Nt[1]/dt,Et=Nt[2]/60/60/6/ct,Wt=Ko(6,e,pt),Ot=2*Wt[1]/pt,Ft=Wt[2]/60/60/6/ct,jt=Ko(7,7*e,dt),Lt=2*jt[1]/dt,At=jt[2]/60/60/6/ct,Ut=Ko(6,7*e,pt),Dt=2*Ut[1]/pt,Ht=Ut[2]/60/60/6/ct}function Zo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Be,i=Math.max(0,o-Ee)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?St+=e:"cookie"===o.pool?Pt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Mt+=e)}}))}function tn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ht=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ht*=2)}}function on(){Je=900*st/.15,Je*=ct;const e=So();e>0?Je/=e:Je=0,Ze=dt*(.15*Je)+13,et=pt*(.15*Je)+13,tt=7*Je,ot=dt*(.15*tt)+13,nt=pt*(.15*tt)+13,it=2*Je,at=.15*it,rt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountrt&&(rt=2*Game.Objects[e].price,lt=e)}))}function nn(){let e=1,t=1,o=1;no("Green yeast digestives")&&(o*=1.01),no("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),dt=o*e,pt=o*t,ct=1,0===Game.shimmerTypes.golden.n&&(ct*=1+1.23*Game.auraMult("Dragon's Fortune"))}function an(){bt=0,kt=0,Gt=[0,null];for(let e=0;eGt[0]&&(Gt=[t,e]))}}function rn(){yo(),an(),on(),nn(),Jo(),en(),tn(),me=new Oo(Y[Y.length-1]),he=new Oo(Y[Y.length-1]),ge=new Oo(Y[Y.length-1]),fe=new Oo(Y[Y.length-1]),Ce=new Oo(K[K.length-1]),ye=new Oo(5),ue=new Oo(20*K[K.length-1]),Zo(),Fo(),Yo(),qo(),jo()}const ln={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},sn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function cn(){1===e.BotBar?(l("CMBotBar").style.display="",ho()):l("CMBotBar").style.display="none",fo()}function dn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),ho(),lo(),so()}function pn(){1===e.Favicon&&y>0?It.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class un{constructor(e,t){this.type=e,this.group=t}}class mn extends un{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class hn extends un{constructor(e,t,o){super(e,t),this.desc=o}}class gn extends un{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class fn extends un{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const Cn={CPSMode:new mn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new mn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new mn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new mn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){ze=!0})),Scale:new mn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){dn()})),ScaleDecimals:new mn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){dn()})),ScaleSeparator:new mn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){dn()})),ScaleCutoff:new fn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new mn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new mn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new mn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new mn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){lo()})),PPOnlyConsiderBuyable:new mn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new mn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new mn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new fn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new hn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new hn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new hn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new hn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new hn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new hn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new hn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new hn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new hn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new mn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){cn()})),TimerBar:new mn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){Co()})),TimerBarPos:new mn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),fo()})),TimerBarOverlay:new mn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new mn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",so()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",so()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new mn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new mn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){lo()})),SortUpgrades:new mn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){so()})),DragonAuraInfo:new mn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new mn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new mn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Xt[e].l.style.left,re[e].style.top=Xt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new mn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){pn()})),WrinklerButtons:new mn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new mn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new mn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new mn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new mn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new mn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new mn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new mn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new mn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new fn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new mn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new mn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Po()})),TooltipGrim:new mn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new mn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new mn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new mn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new mn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new mn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new mn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new mn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in stats menu",!0),UpStats:new mn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new fn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new mn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new mn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new mn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new mn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){sn(e.GCNotification)})),GCFlash:new mn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new hn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new mn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new gn("vol","NotificationGC",[],"Volume"),GCSoundURL:new mn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new mn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){sn(e.FortuneNotification)})),FortuneFlash:new mn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new hn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new mn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new gn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new mn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new mn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){sn(e.SeaNotification)})),SeaFlash:new mn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new hn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new mn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new gn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new mn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new mn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new hn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new mn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new gn("vol","NotificationGard",[],"Volume"),GardSoundURL:new mn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new mn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){sn(e.MagicNotification)})),MagicFlash:new mn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new hn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new mn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new gn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new mn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new mn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){sn(e.WrinklerNotification)})),WrinklerFlash:new mn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new hn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new mn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new gn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new mn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new mn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){sn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new mn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new hn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new mn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new gn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new mn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new mn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new mn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function yn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function bn(){if(Ye!==Game.dragonLevel||ze){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Upgrades).forEach((e=>{Jt[e]=wo(e)})),Zt=[],Object.keys(Game.Achievements).forEach((e=>{Zt[e]=bo(e)})),vo()}let wn=!1;function vn(t,o,n){(1===e[o]||n)&&3===t&&!1===wn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){vn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){vn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){vn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function xn(t,o,n,i){if((1===e[o]||i)&&!1===wn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Tn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===wn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Mn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(cn(),Co()),go()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(Gn(),rn(),r=Object.keys(Game.mods).length),ze&&(Yo(),Game.Has("Golden switch [off]")?(vo(),Jt["Golden switch [off]"].bought=0,Uo(),st=_e):st=Game.cookiesPs,nn(),on(),en(),Jo(),bn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Yt[e][t]=kn(e,t)}(),tn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;vo();let t=2;5!==He&&18!==He||(t-=1),5!==Ue&&18!==Ue||(t-=1),He=5,Ue=18;for(let e=0;e{Kt[t].amount>0&&(e=t)})),Kt[e].amount-=1,Fe-=1}return Object.keys(Kt).forEach((t=>{const o=Kt[t];e+=ro(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),qt=e}(),ze=0);const t=Game.auraMult("Fierce Hoarder")>0;!Oe&&t?(Oe=!0,Ne=1):Oe&&!t&&(Oe=!1,Ne=1),Ne&&(qo(),Ne=0),function(){an(),jo(),function(){wt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Kt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}vt=e,wt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Fo(),Zo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Vt=de(e/co())}(),G=0,Xt={},Object.keys(Game.shimmers).forEach((e=>{Xt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(It=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Xt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),pn(),b=G,0===G&&(It=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Xt[e].l.style.opacity,re[e].style.transform=Xt[e].l.style.transform,re[e].textContent=Math.ceil(Xt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(vn(3,"FortuneFlash",!1),xn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Tn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(zt=Game.shimmers[e])})),vn(3,"SeaFlash",!1),xn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Tn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>w?(w=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?vn(3,"WrinklerMaxFlash",!1):vn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?xn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):xn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Tn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Tn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):w=t}}()}}function Sn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=ln[t]):"Header"===t&&Object.keys(ln.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=ln[t][n])}))})),o&&Pn(),Mn(),Object.keys(ln).forEach((e=>{"Header"!==e&&void 0!==Cn[e].func&&Cn[e].func()}))}else Bn(ln);Game.UpdateMenu(),Sn()}function En(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Nn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Do(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Bo(),l("tooltip").innerHTML}function On(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Fn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Pn()}function Un(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Hn(o),Game.UpdateMenu()},n.appendChild(i),n}function $n(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape($[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Rn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function In(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Un("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+po(){Game.HasUnlocked(Vo[e])||c.push(Vo[e])})),0!==c.length&&e.appendChild($n("basic","Rare plant drops left to unlock",Rn(c))),e}())),o.appendChild(Un("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?gt:0)));t.appendChild($n("withTooltip","Prestige level (cur / max)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&>?gt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/Rt,1)})`,i.appendChild(a),t.appendChild($n("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild($n("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild($n("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(ce(ut,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild($n("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(ce(e)))),t.appendChild($n("basic","Time till target (cur, current 5 second average)",document.createTextNode(de(e/ut)))))}const l=function(e){let t=Game.cookiesPs;vo(),0===Jt["Heavenly key"].bought&&(Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,Uo(),t=_e,vo()),$t>=1e6&&Ho("Sacrifice"),$t>=1e9&&Ho("Oblivion"),$t>=1e12&&Ho("From scratch"),$t>=1e15&&Ho("Nihilism"),$t>=1e18&&Ho("Dematerialize"),$t>=1e21&&Ho("Nil zero zilch"),$t>=1e24&&Ho("Transcendence"),$t>=1e27&&Ho("Obliterate"),$t>=1e30&&Ho("Negative void"),$t>=1e33&&Ho("To crumbs, you say?"),$t>=1e36&&Ho("You get nothing"),$t>=1e39&&Ho("Humble rebeginnings"),$t>=1e42&&Ho("The end of the world"),$t>=1e45&&Ho("Oh, you're back"),$t>=1e48&&Ho("Lazarus"),$t>=1e51&&Ho("Smurf account"),$t>=1e54&&Ho("If at first you don't succeed"),Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,De=e;const o=Ae;Uo(),Qo(),o!==Ae&&Uo();const n=_e-t;return De=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild($n("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Un("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(bt)} / ${ce(kt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){En()},e.appendChild(t),o.appendChild($n("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(Gt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},n.appendChild(i),o.appendChild($n("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==Gt[1]?Gt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(n.push(Ro[e]),o=!0)}));const i=[];Object.keys(Io).forEach((e=>{Game.Has(Io[e])||(i.push(Io[e]),o=!0)}));const a=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(a.push(zo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Un("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild($n("basic","Halloween cookies left to buy",Rn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild($n("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild($n("basic","Christmas cookies left to buy",Rn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild($n("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild($n("basic","Valentine cookies left to buy",Rn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild($n("basic","Normal easter eggs left to unlock",Rn(r))),t.appendChild($n("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild($n("basic","Rare easter eggs left to unlock",Rn(l))),t.appendChild($n("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild($n("basic","Reindeer reward",document.createTextNode(ce(ht)))),s&&t.appendChild($n("withTooltip","Chocolate egg cookies",document.createTextNode(ce(gt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild($n("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(mt-1))/100+"%")))}return t}()),o.appendChild(Un("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild($n("basic",`Average cookies per second (past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(co(),3)))),o.appendChild($n("basic",`Average cookie clicks per second (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(Tt,1)))),o.appendChild($n("basic",`Cookies from clicking (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(ue.calcSum(Tt*K[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys($o).forEach((t=>{Game.Has($o[t])||e.push($o[t])})),0!==e.length&&o.appendChild($n("basic","Fortune Upgrades Left to Buy",Rn(e)))}if(e.ShowMissedGC&&o.appendChild($n("basic","Missed golden cookies",document.createTextNode(ce(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild($n("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.appendChild(i)}}}))}const zn={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Vn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function _n(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Hn(t),Game.UpdateMenu()},n.appendChild(i),n}function Qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return se.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(e),Pn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape($.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===Cn[t].type){const n=document.createElement("a");Cn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=jn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===Cn[t].label.length?(e[t]=0,Cn[t].toggle&&(l(jn+t).className="option off")):l(jn+t).className="option",void 0!==Cn[t].func&&Cn[t].func(),l(jn+t).innerHTML=Cn[t].label[e[t]],Pn()}(t)},n.textContent=Cn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=Cn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===Cn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=Cn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Dn(t)},r.onchange=function(){Dn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){xn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${jn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Pn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=Cn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===Cn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Ln(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Sn(),Pn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=Cn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){vn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),An().init(),o}if("numscale"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="number",i.value=e[t],i.min=Cn[t].min,i.max=Cn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Pn(),dn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=Cn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Xn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function qn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),ze=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Xn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Xn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Xn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Kt[Game.ObjectsById[e].name].name;Kt[o].amount-=1,Fe-=1,t=Kt[o].basePrice*Game.priceIncrease**Math.max(0,Kt[o].amount-1-Kt[o].free),t=Game.modifyBuildingPrice(Kt[o],t),t=Math.ceil(t);break}const o=Ae;return Uo(),Qo(),o!==Ae&&Uo(),[_e-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${ce(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ke}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==An().picker&&void 0!==An().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(zn).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(_n(t,zn[t])),e.Header[t]))for(let e=0;e{const n=_n(t,Vn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Qn(e))}))})):Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Bn(ln)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",In(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Hn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=It?It.wrath?`[W${Math.ceil(It.life/Game.fps)}]`:`[G${Math.ceil(It.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(zt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;It&&(t=!0,It.wrath?e+=`[W${Math.ceil(It.life/Game.fps)}]`:e+=`[G${Math.ceil(It.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(zt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Ee<1?"Ascending now would grant you no prestige.":Ee<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Ee)} prestige levels (+${ce(Ee)}% CpS)
and ${ce(Ee)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Vt} to reach the next level and you were making ${ce(ut,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Yn(){Gn(),on(),rn(),r=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{mo(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=uo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=uo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),$[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){En()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),On(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Wn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},qn(),Wn(),Game.CalculateGains(),Bn(),R=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Kn={init:function(){wn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Yn(),Game.registerHook("draw",Eo),Game.registerHook("logic",Mn),Game.registerHook("click",No),wn=!1)},load:function(e){const t=JSON.parse(e);Gn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Bn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:yn};Game.registerMod("CookieMonster",Kn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x=[],M=[],T=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],$={};let R,I,z=0,V=-1,_=[],Q=1,X=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Me,Te,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=1,dt=1,pt=1,ut=0,mt=0,ht=0,gt=0,ft={},Ct={},yt={},bt=0,kt=0,Gt=[0,null],vt=0,wt=0,xt={},Mt={},Tt={},St={},Pt={},Bt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Dt=0,Ht=0,Ut=[],$t=0,Rt=0,It={},zt={},Vt=0,_t=0,Qt=[],Xt={},qt=0,Yt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Kt=[],Jt=[],Zt=[];function eo(e){let t=0;return Game.dragonAuras[He].name!==e&&Game.dragonAuras[Ue].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[He].name&&"Reality Bending"!==Game.dragonAuras[Ue].name||(t+=.1),t}function to(){let e=.25;return e*=1+eo("Earth Shatterer"),e}function oo(e,t){return void 0===Ve[e]?void 0===t?1:t:Ve[e]}function no(e){const t=Jt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function io(e){if(Game.hasGod){void 0===Kt.Temple.minigame&&(Kt.Temple.minigame=Game.Objects.Temple.minigame);const t=Kt.Temple.minigame.gods[e];if($e===t.id)return 1;if(Re===t.id)return 2;if(Ie===t.id)return 3}return!1}function ao(e,t){let o=t;if(no("Season savings")&&(o*=.99),no("Santa's dominion")&&(o*=.99),no("Faberge egg")&&(o*=.99),no("Divine discount")&&(o*=.99),no("Fortune #100")&&(o*=.99),o*=1-.02*eo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&no(e.fortune.name)&&(o*=.93),o*=oo("buildingCost"),Kt.Temple.minigameLoaded){const e=io("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ro(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function lo(){let t=Game.buyBulk;if(1===Game.buyMode?X=t:t=X,1===t?t=ft:10===t?t=Ct:100===t&&(t=yt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ft).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ro(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ft).map((e=>{const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?Q=i:i=Q,1===i&&(i=ft),10===i&&(i=Ct),100===i&&(i=yt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+po()))/co());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&no(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(no(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&no(e.fortune.name)&&(t*=1.07),e.grandma&&no(e.grandma.name)&&(t*=1+.01*Kt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&no(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function Go(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;no("Thousand fingers")&&(t+=.1),no("Million fingers")&&(t*=5),no("Billion fingers")&&(t*=10),no("Trillion fingers")&&(t*=20),no("Quadrillion fingers")&&(t*=20),no("Quintillion fingers")&&(t*=20),no("Sextillion fingers")&&(t*=20),no("Septillion fingers")&&(t*=20),no("Octillion fingers")&&(t*=20),no("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Kt).forEach((e=>{"Cursor"!==Kt[e].name&&(n+=Kt[e].amount)})),t*=n,o*=ko(e),o*=Game.magicCpS("Cursor"),o*=oo("cursorCps"),Game.ComputeCps(.1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{no(Game.GrandmaSynergies[e])&&(o*=2)})),no("Bingo center/Research facility")&&(o*=4),no("Ritual rolling pins")&&(o*=2),no("Naughty list")&&(o*=2),no("Elderwort biscuits")&&(o*=1.02),o*=oo("grandmaCps"),no("Cat ladies"))for(let e=0;e{"Grandma"!==Kt[e].name&&(i+=Kt[e].amount)})),o*=1+.01*eo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=ko(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function vo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Kt).forEach((t=>{Kt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(no("Starlove")&&(e=3),Game.hasGod){const t=io("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function wo(){We=Game.UpgradesOwned,Le=Game.pledges,Ae=Game.AchievementsOwned,je=Game.heavenlyPower,De=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e],mo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&($e=t.minigame.slot[0],Re=t.minigame.slot[1],Ie=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Kt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Jt[e];void 0===o&&(Jt[e]=vo(e),o=Jt[e]),o.bought=t.bought,Jt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Zt[e];void 0===o&&(Zt[e]=bo(e),o=Zt[e]),o.won=t.won,Zt[e]=o})),yo(),He=Xe,Ue=qe}function xo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function Mo(e){e.appendChild(xo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(xo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(xo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(xo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(xo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function To(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Po(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Bo(){if(wo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(Mo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ft:10===Game.buyBulk?t=Ct:100===Game.buyBulk&&(t=yt),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+po()))/co());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(xo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(xo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=uo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,fo())}}(),ho(),Bo(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Kt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function No(){ue.addLatest(Game.computedMouseCps)}class Oo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Fo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+qt;Game.cpsSucked>0&&(o+=bt),$t=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-be,i=Math.max(0,Game.cookies-ke)/n,a=Math.max(0,bt-Ge)/n,r=Math.max(0,Gt[0]-ve)/n,l=Math.max(0,o-gt)/n,s=(Game.cookieClicks-we)/n;for(let e=0;e0&&(n=W),n}function Lo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Wo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+po()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Qt.push([t[n].pp,o])}))}function jo(){!function(){_t=1/0,Qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Ao(ft,1),Ao(Ct,10),Ao(yt,100),Qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Qt[t][1]>Game.cookies&&(t+=1,Qt.length!==t+1););_t=Qt[e.PPExcludeTop][t],Lo(ft,1),Lo(Ct,10),Lo(yt,100)}(),Object.keys(xt).forEach((e=>{Game.cookiesPs?xt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+po()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/xt[e].bonus:xt[e].pp=Game.Upgrades[e].getPrice()/xt[e].bonus,Number.isNaN(xt[e].pp)&&(xt[e].pp=1/0),xt[e].color=Wo(xt[e],Game.Upgrades[e].getPrice())}))}function Do(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ve=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(De)*je*function(){let e=0;if(no("Heavenly chip secret")&&(e+=.05),no("Heavenly cookie stand")&&(e+=.2),no("Heavenly bakery")&&(e+=.25),no("Heavenly confectionery")&&(e+=.25),no("Heavenly key")&&(e+=.25),e*=1+.05*eo("Dragon God"),no("Lucky digit")&&(e*=1.01),no("Lucky number")&&(e*=1.01),no("Lucky payout")&&(e*=1.01),Game.hasGod){const t=io("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=oo("cps"),no("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];no(o.name)&&("function"==typeof o.power?e*=1+.01*Jt[o.name].power(Jt[o.name]):e*=1+.01*o.power)})),no("Specialized chocolate chips")&&(e*=1.01),no("Designer cocoa beans")&&(e*=1.02),no("Underworld ovens")&&(e*=1.03),no("Exotic nuts")&&(e*=1.04),no("Arcane sugar")&&(e*=1.05),no("Increased merriness")&&(e*=1.15),no("Improved jolliness")&&(e*=1.15),no("A lump of coal")&&(e*=1.01),no("An itchy sweater")&&(e*=1.01),no("Santa's dominion")&&(e*=1.2),no("Fortune #100")&&(e*=1.01),no("Fortune #101")&&(e*=1.07),no("Dragon scale")&&(e*=1.03);let o=1;if(io){let t=io("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=io("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=io("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=io("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=io("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}no("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Ae/25;let i=1;if(no("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*eo("Breath of Milk"),io){const e=io("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=oo("milk");let a=1;no("Kitten helpers")&&(a*=1+.1*n*i),no("Kitten workers")&&(a*=1+.125*n*i),no("Kitten engineers")&&(a*=1+.15*n*i),no("Kitten overseers")&&(a*=1+.175*n*i),no("Kitten managers")&&(a*=1+.2*n*i),no("Kitten accountants")&&(a*=1+.2*n*i),no("Kitten specialists")&&(a*=1+.2*n*i),no("Kitten experts")&&(a*=1+.2*n*i),no("Kitten consultants")&&(a*=1+.2*n*i),no("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),no("Kitten marketeers")&&(a*=1+.15*n*i),no("Kitten analysts")&&(a*=1+.125*n*i),no("Kitten executives")&&(a*=1+.115*n*i),no("Kitten angels")&&(a*=1+.1*n*i),no("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Kt).forEach((e=>{const t=Kt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&no("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),_e+=t.amount*a})),no('"egg"')&&(_e+=9),e*=a;let r=1;if(no("Chicken egg")&&(r*=1.01),no("Duck egg")&&(r*=1.01),no("Turkey egg")&&(r*=1.01),no("Quail egg")&&(r*=1.01),no("Robin egg")&&(r*=1.01),no("Ostrich egg")&&(r*=1.01),no("Cassowary egg")&&(r*=1.01),no("Salmon roe")&&(r*=1.01),no("Frogspawn")&&(r*=1.01),no("Shark egg")&&(r*=1.01),no("Turtle egg")&&(r*=1.01),no("Ant larva")&&(r*=1.01),no("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),mt=1+.1*(1-(1-e/100)**3),r*=mt}e*=r,no("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+eo("Radiant Appetite");const l=_e*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ho(Game.CpsAchievements[e].name)})),Qe=l;const{n:s}=Game.shimmerTypes.golden,c=eo("Dragon's Fortune");for(let t=0;t{no(e[o])&&(t+=.1)}))}e*=t}if(no("Shimmering veil [off]")){let t=.5;no("Reinforced membrane")&&(t+=.1),e*=1+t}no("Magic shenanigans")&&(e*=1e3),no("Occult obstruction")&&(e*=0),_e=Game.runModHookOnValue("cps",_e),e*=So(),_e*=e}const $o=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ro=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Io=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],zo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Vo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function _o(e){return Zt[e]?Zt[e].won:0}function Qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{no(Game.GrandmaSynergies[t])&&(e+=1)})),!_o("Elder")&&e>=7&&Ho("Elder"),!_o("Veteran")&&e>=14&&Ho("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount,i=Math.min(Kt[e].amount,i),_o("Mathematician")||Kt[e].amount=1&&Ho("One with everything"),1===o&&Ho("Mathematician"),1===n&&Ho("Base 10"),i>=100&&Ho("Centennial"),i>=150&&Ho("Centennial and a half"),i>=200&&Ho("Bicentennial"),i>=250&&Ho("Bicentennial and a half"),i>=300&&Ho("Tricentennial"),i>=350&&Ho("Tricentennial and a half"),i>=400&&Ho("Quadricentennial"),i>=450&&Ho("Quadricentennial and a half"),i>=500&&Ho("Quincentennial"),i>=550&&Ho("Quincentennial and a half"),i>=600&&Ho("Sexcentennial"),t>=100&&Ho("Builder"),t>=500&&Ho("Architect"),t>=1e3&&Ho("Engineer"),t>=2e3&&Ho("Lord of Constructs"),t>=4e3&&Ho("Grand design"),t>=8e3&&Ho("Ecumenopolis"),We>=20&&Ho("Enhancer"),We>=50&&Ho("Augmenter"),We>=100&&Ho("Upgrader"),We>=200&&Ho("Lord of Progress"),We>=300&&Ho("The full picture"),We>=400&&Ho("When there's nothing left to add"),t>=4e3&&We>=300&&Ho("Polymath"),t>=8e3&&We>=400&&Ho("Renaissance baker"),Kt.Cursor.amount+Kt.Grandma.amount>=777&&Ho("The elder scrolls");let a=!0;Object.keys(Ro).forEach((e=>{no(Ro[e])||(a=!1)})),a&&Ho("Spooky cookies");let r=!0;if(Object.keys(Io).forEach((e=>{no(Io[e])||(r=!1)})),r&&Ho("Let it snow"),no("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{no(e[o].name)&&(t+=1)})),t>=e.length&&Ho("O Fortuna")}}function Xo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){wo(),Kt[e].amount+=t;const o=Kt[e];"Cursor"===e?(o.amount>=1&&Ho("Click"),o.amount>=2&&Ho("Double-click"),o.amount>=50&&Ho("Mouse wheel"),o.amount>=100&&Ho("Of Mice and Men"),o.amount>=200&&Ho("The Digital"),o.amount>=300&&Ho("Extreme polydactyly"),o.amount>=400&&Ho("Dr. T"),o.amount>=500&&Ho("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ho("With her finger and her thumb"),o.amount>=700&&Ho("Gotta hand it to you"),o.amount>=800&&Ho("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ho(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Ae;return Uo(),Qo(),n!==Ae&&Uo(),_e-Game.cookiesPs}(o,e),1!==e&&(Ne=1)})),t}function qo(){Object.keys(Game.Objects).forEach((e=>{ft[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),Ct[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),yt[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Yo(){ft=Xo(1),Ct=Xo(10),yt=Xo(100),xt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){wo(),"Shimmering veil [on]"===Jt[e].name?Jt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Jt[e].name?Jt["Golden switch [off]"].bought=0:Jt[e].bought=(Jt[e].bought+1)%2,Jt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(We+=1),"Elder Pledge"===e?(Le+=1,Le>0&&Ho("Elder nap"),Le>=5&&Ho("Elder slumber")):"Elder Covenant"===e?Ho("Elder calm"):"Prism heart biscuits"===e?Ho("Lovely cookies"):"Heavenly key"===e&&Ho("Wholesome");const t=Ae;Uo(),Qo(),t!==Ae&&Uo();const o=function(){let e=0;no("Thousand fingers")&&(e+=.1),no("Million fingers")&&(e*=5),no("Billion fingers")&&(e*=10),no("Trillion fingers")&&(e*=20),no("Quadrillion fingers")&&(e*=20),no("Quintillion fingers")&&(e*=20),no("Sextillion fingers")&&(e*=20),no("Septillion fingers")&&(e*=20),no("Octillion fingers")&&(e*=20),no("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount})),t-=Kt.Cursor.amount,e*=t,no("Plastic mouse")&&(e+=.01*_e),no("Iron mouse")&&(e+=.01*_e),no("Titanium mouse")&&(e+=.01*_e),no("Adamantium mouse")&&(e+=.01*_e),no("Unobtainium mouse")&&(e+=.01*_e),no("Eludium mouse")&&(e+=.01*_e),no("Wishalloy mouse")&&(e+=.01*_e),no("Fantasteel mouse")&&(e+=.01*_e),no("Nevercrack mouse")&&(e+=.01*_e),no("Armythril mouse")&&(e+=.01*_e),no("Technobsidian mouse")&&(e+=.01*_e),no("Plasmarble mouse")&&(e+=.01*_e),no("Miraculite mouse")&&(e+=.01*_e),no("Fortune #104")&&(e+=.01*_e);let o=1;if(no("Santa's helpers")&&(o*=1.1),no("Cookie egg")&&(o*=1.1),no("Halo gloves")&&(o*=1.1),no("Dragon claw")&&(o*=1.03),no("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,no("Luminous gloves")?20:10)),o*=oo("click"),Kt.Temple.minigameLoaded&&io){const e=io("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*eo("Dragon Cursor");let n=o*Game.ComputeCps(1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[_e-Game.cookiesPs,o]:[_e-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(xt[t]={bonus:Game.cookiesPs-xe},1===e.CalcWrink?xt[t].bonus-=Me:2===e.CalcWrink&&(xt[t].bonus-=Te),Number.isFinite(xt[t].bonus)||(xt[t].bonus=0)):(xt[t]={},o[0]&&(xt[t].bonus=o[0]),o[1]&&(xt[t].bonusMouse=o[1]))}))}function Ko(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Nt=Ko(7,e,dt),Bt=2*Nt[1]/dt,Et=Nt[2]/60/60/6/ct,Wt=Ko(6,e,pt),Ot=2*Wt[1]/pt,Ft=Wt[2]/60/60/6/ct,jt=Ko(7,7*e,dt),Lt=2*jt[1]/dt,At=jt[2]/60/60/6/ct,Ut=Ko(6,7*e,pt),Dt=2*Ut[1]/pt,Ht=Ut[2]/60/60/6/ct}function Zo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Be,i=Math.max(0,o-Ee)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?St+=e:"cookie"===o.pool?Pt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Tt+=e)}}))}function tn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ht=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ht*=2)}}function on(){Je=900*st/.15,Je*=ct;const e=So();e>0?Je/=e:Je=0,Ze=dt*(.15*Je)+13,et=pt*(.15*Je)+13,tt=7*Je,ot=dt*(.15*tt)+13,nt=pt*(.15*tt)+13,it=2*Je,at=.15*it,rt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountrt&&(rt=2*Game.Objects[e].price,lt=e)}))}function nn(){let e=1,t=1,o=1;no("Green yeast digestives")&&(o*=1.01),no("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),dt=o*e,pt=o*t,ct=1,0===Game.shimmerTypes.golden.n&&(ct*=1+1.23*Game.auraMult("Dragon's Fortune"))}function an(){bt=0,kt=0,Gt=[0,null];for(let e=0;eGt[0]&&(Gt=[t,e]))}}function rn(){yo(),an(),on(),nn(),Jo(),en(),tn(),me=new Oo(Y[Y.length-1]),he=new Oo(Y[Y.length-1]),ge=new Oo(Y[Y.length-1]),fe=new Oo(Y[Y.length-1]),Ce=new Oo(K[K.length-1]),ye=new Oo(5),ue=new Oo(20*K[K.length-1]),Zo(),Fo(),Yo(),qo(),jo()}const ln={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},sn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function cn(){1===e.BotBar?(l("CMBotBar").style.display="",ho()):l("CMBotBar").style.display="none",fo()}function dn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),ho(),lo(),so()}function pn(){1===e.Favicon&&y>0?It.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class un{constructor(e,t){this.type=e,this.group=t}}class mn extends un{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class hn extends un{constructor(e,t,o){super(e,t),this.desc=o}}class gn extends un{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class fn extends un{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const Cn={CPSMode:new mn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new mn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new mn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new mn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){ze=!0})),Scale:new mn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){dn()})),ScaleDecimals:new mn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){dn()})),ScaleSeparator:new mn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){dn()})),ScaleCutoff:new fn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new mn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new mn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new mn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new mn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){lo()})),PPOnlyConsiderBuyable:new mn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new mn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new mn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new fn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new hn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new hn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new hn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new hn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new hn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new hn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new hn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new hn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new hn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new mn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){cn()})),TimerBar:new mn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){Co()})),TimerBarPos:new mn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),fo()})),TimerBarOverlay:new mn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new mn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",so()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",so()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new mn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new mn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){lo()})),SortUpgrades:new mn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){so()})),DragonAuraInfo:new mn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new mn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new mn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Xt[e].l.style.left,re[e].style.top=Xt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new mn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){pn()})),WrinklerButtons:new mn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new mn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new mn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new mn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new mn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new mn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new mn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new mn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new mn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new fn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new mn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new mn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Po()})),TooltipGrim:new mn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new mn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new mn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new mn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new mn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new mn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new mn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new mn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new mn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON","Missing Shadow Achievements ON","All Missing Achievements ON"],"Shows missing normal or shadow achievements in statistics menu.",!1),UpStats:new mn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new fn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new mn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new mn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new mn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new mn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){sn(e.GCNotification)})),GCFlash:new mn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new hn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new mn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new gn("vol","NotificationGC",[],"Volume"),GCSoundURL:new mn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new mn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){sn(e.FortuneNotification)})),FortuneFlash:new mn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new hn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new mn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new gn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new mn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new mn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){sn(e.SeaNotification)})),SeaFlash:new mn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new hn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new mn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new gn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new mn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new mn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new hn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new mn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new gn("vol","NotificationGard",[],"Volume"),GardSoundURL:new mn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new mn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){sn(e.MagicNotification)})),MagicFlash:new mn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new hn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new mn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new gn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new mn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new mn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){sn(e.WrinklerNotification)})),WrinklerFlash:new mn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new hn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new mn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new gn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new mn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new mn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){sn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new mn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new hn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new mn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new gn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new mn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new mn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new mn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function yn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function bn(){if(Ye!==Game.dragonLevel||ze){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Upgrades).forEach((e=>{Jt[e]=vo(e)})),Zt=[],Object.keys(Game.Achievements).forEach((e=>{Zt[e]=bo(e)})),wo()}let vn=!1;function wn(t,o,n){(1===e[o]||n)&&3===t&&!1===vn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){wn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){wn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){wn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function xn(t,o,n,i){if((1===e[o]||i)&&!1===vn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Mn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===vn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Tn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(cn(),Co()),go()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(Gn(),rn(),r=Object.keys(Game.mods).length),ze&&(Yo(),Game.Has("Golden switch [off]")?(wo(),Jt["Golden switch [off]"].bought=0,Uo(),st=_e):st=Game.cookiesPs,nn(),on(),en(),Jo(),bn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Yt[e][t]=kn(e,t)}(),tn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;wo();let t=2;5!==He&&18!==He||(t-=1),5!==Ue&&18!==Ue||(t-=1),He=5,Ue=18;for(let e=0;e{Kt[t].amount>0&&(e=t)})),Kt[e].amount-=1,Fe-=1}return Object.keys(Kt).forEach((t=>{const o=Kt[t];e+=ro(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),qt=e}(),ze=0);const t=Game.auraMult("Fierce Hoarder")>0;!Oe&&t?(Oe=!0,Ne=1):Oe&&!t&&(Oe=!1,Ne=1),Ne&&(qo(),Ne=0),function(){an(),jo(),function(){vt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Kt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}wt=e,vt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Fo(),Zo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Vt=de(e/co())}(),G=0,Xt={},Object.keys(Game.shimmers).forEach((e=>{Xt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(It=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Xt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),pn(),b=G,0===G&&(It=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Xt[e].l.style.opacity,re[e].style.transform=Xt[e].l.style.transform,re[e].textContent=Math.ceil(Xt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(wn(3,"FortuneFlash",!1),xn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Mn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(zt=Game.shimmers[e])})),wn(3,"SeaFlash",!1),xn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Mn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?wn(3,"WrinklerMaxFlash",!1):wn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?xn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):xn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Mn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Mn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Sn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=ln[t]):"Header"===t&&Object.keys(ln.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=ln[t][n])}))})),o&&Pn(),Tn(),Object.keys(ln).forEach((e=>{"Header"!==e&&void 0!==Cn[e].func&&Cn[e].func()}))}else Bn(ln);Game.UpdateMenu(),Sn()}function En(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Nn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Do(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Bo(),l("tooltip").innerHTML}function On(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(M[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Fn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Pn()}function Un(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Hn(o),Game.UpdateMenu()},n.appendChild(i),n}function $n(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape($[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Rn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function In(e){const t=[];let o=0,n="",{icon:i}=e,{desc:a}=e;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");for(let e=0;e[${t[e]}]`);return n=n.substring(1),e.iconFunction&&(i=e.iconFunction()),e.descFunc&&(a=e.descFunc("stats")),`
\n
\n
${e.name}
\n ${n}
${a}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}function zn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Un("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+po(){Game.HasUnlocked(Vo[e])||c.push(Vo[e])})),0!==c.length&&e.appendChild($n("basic","Rare plant drops left to unlock",Rn(c))),e}())),o.appendChild(Un("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?gt:0)));t.appendChild($n("withTooltip","Prestige level (cur / max)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&>?gt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/Rt,1)})`,i.appendChild(a),t.appendChild($n("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild($n("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild($n("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(ce(ut,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild($n("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(ce(e)))),t.appendChild($n("basic","Time till target (cur, current 5 second average)",document.createTextNode(de(e/ut)))))}const l=function(e){let t=Game.cookiesPs;wo(),0===Jt["Heavenly key"].bought&&(Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,Uo(),t=_e,wo()),$t>=1e6&&Ho("Sacrifice"),$t>=1e9&&Ho("Oblivion"),$t>=1e12&&Ho("From scratch"),$t>=1e15&&Ho("Nihilism"),$t>=1e18&&Ho("Dematerialize"),$t>=1e21&&Ho("Nil zero zilch"),$t>=1e24&&Ho("Transcendence"),$t>=1e27&&Ho("Obliterate"),$t>=1e30&&Ho("Negative void"),$t>=1e33&&Ho("To crumbs, you say?"),$t>=1e36&&Ho("You get nothing"),$t>=1e39&&Ho("Humble rebeginnings"),$t>=1e42&&Ho("The end of the world"),$t>=1e45&&Ho("Oh, you're back"),$t>=1e48&&Ho("Lazarus"),$t>=1e51&&Ho("Smurf account"),$t>=1e54&&Ho("If at first you don't succeed"),Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,De=e;const o=Ae;Uo(),Qo(),o!==Ae&&Uo();const n=_e-t;return De=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild($n("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Un("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(bt)} / ${ce(kt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){En()},e.appendChild(t),o.appendChild($n("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(Gt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},n.appendChild(i),o.appendChild($n("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==Gt[1]?Gt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(n.push(Ro[e]),o=!0)}));const i=[];Object.keys(Io).forEach((e=>{Game.Has(Io[e])||(i.push(Io[e]),o=!0)}));const a=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(a.push(zo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Un("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild($n("basic","Halloween cookies left to buy",Rn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild($n("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild($n("basic","Christmas cookies left to buy",Rn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild($n("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild($n("basic","Valentine cookies left to buy",Rn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild($n("basic","Normal easter eggs left to unlock",Rn(r))),t.appendChild($n("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild($n("basic","Rare easter eggs left to unlock",Rn(l))),t.appendChild($n("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild($n("basic","Reindeer reward",document.createTextNode(ce(ht)))),s&&t.appendChild($n("withTooltip","Chocolate egg cookies",document.createTextNode(ce(gt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild($n("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(mt-1))/100+"%")))}return t}()),o.appendChild(Un("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild($n("basic",`Average cookies per second (past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(co(),3)))),o.appendChild($n("basic",`Average cookie clicks per second (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(Mt,1)))),o.appendChild($n("basic",`Cookies from clicking (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(ue.calcSum(Mt*K[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys($o).forEach((t=>{Game.Has($o[t])||e.push($o[t])})),0!==e.length&&o.appendChild($n("basic","Fortune Upgrades Left to Buy",Rn(e)))}if(e.ShowMissedGC&&o.appendChild($n("basic","Missed golden cookies",document.createTextNode(ce(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild($n("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t,o;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&([t,o]=e.parentElement.querySelectorAll("div.listing.crateBox"))})),1!==e.MissingAchievements&&3!==e.MissingAchievements||Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return In(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}})),e.MissingAchievements>=2&&Object.values(o.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t].icon;e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return In(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const Vn={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},_n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Qn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Hn(t),Game.UpdateMenu()},n.appendChild(i),n}function Xn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return se.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(e),Pn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape($.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===Cn[t].type){const n=document.createElement("a");Cn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=jn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===Cn[t].label.length?(e[t]=0,Cn[t].toggle&&(l(jn+t).className="option off")):l(jn+t).className="option",void 0!==Cn[t].func&&Cn[t].func(),l(jn+t).innerHTML=Cn[t].label[e[t]],Pn()}(t)},n.textContent=Cn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=Cn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===Cn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=Cn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Dn(t)},r.onchange=function(){Dn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){xn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${jn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Pn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=Cn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===Cn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Ln(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Sn(),Pn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=Cn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){wn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),An().init(),o}if("numscale"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="number",i.value=e[t],i.min=Cn[t].min,i.max=Cn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Pn(),dn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=Cn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function qn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Yn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),ze=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){qn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){qn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){qn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),T=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Kt[Game.ObjectsById[e].name].name;Kt[o].amount-=1,Fe-=1,t=Kt[o].basePrice*Game.priceIncrease**Math.max(0,Kt[o].amount-1-Kt[o].free),t=Game.modifyBuildingPrice(Kt[o],t),t=Math.ceil(t);break}const o=Ae;return Uo(),Qo(),o!==Ae&&Uo(),[_e-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${ce(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ke}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==An().picker&&void 0!==An().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Vn).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(Qn(t,Vn[t])),e.Header[t]))for(let e=0;e{const n=Qn(t,_n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Xn(e))}))})):Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Xn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Bn(ln)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",zn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Hn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=It?It.wrath?`[W${Math.ceil(It.life/Game.fps)}]`:`[G${Math.ceil(It.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(zt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;It&&(t=!0,It.wrath?e+=`[W${Math.ceil(It.life/Game.fps)}]`:e+=`[G${Math.ceil(It.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(zt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Ee<1?"Ascending now would grant you no prestige.":Ee<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Ee)} prestige levels (+${ce(Ee)}% CpS)
and ${ce(Ee)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Vt} to reach the next level and you were making ${ce(ut,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Kn(){Gn(),on(),rn(),r=Object.keys(Game.mods).length,w=document.createElement("style"),w.type="text/css",w.id="CMCSS",document.head.appendChild(w),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{mo(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=uo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=uo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),$[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){En()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),On(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Wn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},Yn(),Wn(),Game.CalculateGains(),Bn(),R=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Jn={init:function(){vn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Kn(),Game.registerHook("draw",Eo),Game.registerHook("logic",Tn),Game.registerHook("click",No),vn=!1)},load:function(e){const t=JSON.parse(e);Gn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Bn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:yn};Game.registerMod("CookieMonster",Jn)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index f1e162d2..27eefb1e 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CacheAverageCookiesFromClicks","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","CMDrawHook","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","reduce","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoopHook","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","calcSum","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC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CZj1C,KAAKm1C,MAAQA,EACbn1C,KAAKo1C,KAAOA,EACZp1C,KAAKwN,IAAMA,EACXxN,KAAK0N,IAAMA,GAyBf,MA4yBmCgoC,GA5yBpB,CAEbpd,QAAS,IAAI4c,GACX,OACA,cACA,CAAC,6BAA8B,8BAC/B,kFACA,GAEFnN,WAAY,IAAImN,GACd,OACA,cACA,CACE,0BACA,0BACA,0BACA,yBACA,yBACA,0BACA,0BACA,2BAEF,4DACA,GAEF/M,cAAe,IAAI+M,GACjB,OACA,cACA,CACE,4BACA,4BACA,6BACA,6BACA,8BAEF,uDACA,GAEF3c,UAAW,IAAI2c,GACb,OACA,cACA,CACE,+BACA,8BACA,6CAEF,qGACA,GACA,WACEjmB,IAAY,KAKhBpD,MAAO,IAAIqpB,GACT,OACA,WACA,CACE,uBACA,SACA,cACA,4BACA,sBACA,wBAEF,yCACA,GACA,WACET,QAGJ9oB,cAAe,IAAIupB,GACjB,OACA,WACA,CAAC,aAAc,aAAc,cAC7B,oIACA,GACA,WACET,QAGJtoB,eAAgB,IAAI+oB,GAClB,OACA,WACA,CAAC,4BAA6B,mBAC9B,qDACA,GACA,WACET,QAGJvoB,YAAa,IAAIupB,GACf,WACA,WACA,2BACA,8KACA,EACA,WAEF3oB,WAAY,IAAIooB,GACd,OACA,WACA,CAAC,0BAA2B,uBAC5B,0BACA,GAEFjG,aAAc,IAAIiG,GAChB,OACA,WACA,CAAC,oBAAqB,oBACtB,mEACA,GACA,WAlU6B,IAA3BluB,EAAUioB,aAAoB9nB,KAAKod,QAAU3a,EAC5CzC,KAAKod,QAAU3b,EAAgB2b,WAqUpCpK,cAAe,IAAI+a,GACjB,OACA,WACA,CAAC,yBAA0B,mBAC3B,sKACA,GAIF1e,YAAa,IAAI0e,GACf,OACA,UACA,CAAC,uBAAwB,uBACzB,yBACA,GACA,WACE5e,QAGJgS,sBAAuB,IAAI4M,GACzB,OACA,UACA,CAAC,2BAA4B,sBAC7B,0KACA,GAEFxM,aAAc,IAAIwM,GAChB,OACA,UACA,CACE,mBACA,kBACA,0BACA,gCAEF,sGACA,GAEF1M,cAAe,IAAI0M,GACjB,OACA,UACA,CAAC,mBAAoB,mBACrB,sJACA,GAEF7M,oBAAqB,IAAIoN,GACvB,WACA,UACA,oCACA,wMACA,EACA7pB,KAEF7C,WAAY,IAAIwsB,GACd,SACA,UACA,6HAEFvsB,YAAa,IAAIusB,GACf,SACA,UACA,yGAEFtsB,aAAc,IAAIssB,GAChB,SACA,UACA,qHAEFrsB,aAAc,IAAIqsB,GAChB,SACA,UACA,4HAEFpsB,UAAW,IAAIosB,GACb,SACA,UACA,gHAEFnsB,aAAc,IAAImsB,GAChB,SACA,UACA,8HAEFlsB,WAAY,IAAIksB,GACd,SACA,UACA,wGAEFjsB,WAAY,IAAIisB,GACd,SACA,UACA,sDAEFhsB,YAAa,IAAIgsB,GACf,SACA,UACA,yDAIFvb,OAAQ,IAAIkb,GACV,OACA,cACA,CAAC,iBAAkB,iBACnB,wBACA,GACA,WACEV,QAGJ7Z,SAAU,IAAIua,GACZ,OACA,cACA,CAAC,gBAAiB,gBAClB,+FACA,GACA,WACEra,QAGJD,YAAa,IAAIsa,GACf,OACA,cACA,CAAC,gCAAiC,+BAClC,8BACA,GACA,WAx3H4B,IAA1BluB,EAAU4T,aACZloB,EAAE,cAAcnJ,MAAMkG,MAAQ,MAC9BiD,EAAE,cAAcnJ,MAAMkW,OAAS,GAC/B/M,EAAE,QAAQijC,aAAajjC,EAAE,cAAeA,EAAE,kBAE1CA,EAAE,cAAcnJ,MAAMkG,MAAQ,OAC9BiD,EAAE,cAAcnJ,MAAMkW,OAAS,MAC/B/M,EAAE,WAAWwK,YAAYxK,EAAE,gBAE7BgoB,QAm3HAwK,gBAAiB,IAAIgQ,GACnB,OACA,cACA,CACE,wBACA,iCACA,0BAEF,+DACA,GAEFje,YAAa,IAAIie,GACf,OACA,cACA,CACE,0BACA,8BACA,kCAEF,yDACA,GACA,WA3a2B,IAAzBluB,EAAU4uB,YAEZljC,EAAE,gBAAgBnJ,MAAMqV,QAAU,GAClCoY,MACkC,IAAzBhQ,EAAU4uB,YAEnBljC,EAAE,gBAAgBnJ,MAAMqV,QAAU,OAClCoY,OAGAtkB,EAAE,gBAAgBnJ,MAAMqV,QAAU,OAClCuI,KAAKytB,sBAoaP1F,mBAAoB,IAAIgG,GACtB,OACA,cACA,CAAC,iCAAkC,iCACnC,+FACA,GACA,WA9ZmC,IAAjCluB,EAAUkoB,oBAEZx8B,EAAE,gBAAgBnJ,MAAMgI,SAAW,SACnCmB,EAAE,gBAAgBnJ,MAAMsC,IAAM,OAE9B6G,EAAE,gBAAgBnJ,MAAMgI,SAAW,MA6ZrColB,cAAe,IAAIue,GACjB,OACA,cACA,CACE,0BACA,oCACA,4CAEF,kEACA,GACA,WACE5e,QAGJyB,aAAc,IAAImd,GAChB,OACA,cACA,CAAC,yBAA0B,qBAC3B,iEACA,GACA,WACEle,QAGJmY,eAAgB,IAAI+F,GAClB,OACA,cACA,CAAC,6BAA8B,6BAC/B,kFACA,GAEF9F,YAAa,IAAI8F,GACf,OACA,cACA,CAAC,iCAAkC,iCACnC,+DACA,GAEF7F,QAAS,IAAI6F,GACX,OACA,cACA,CAAC,0BAA2B,0BAC5B,yDACA,GACA,WAxgBwB,IAAtBluB,EAAUqoB,QACZvqC,OAAO6C,KAAKwjB,IAAUsL,SAASn1B,IAC7B6pB,GAAS7pB,GAAGiI,MAAMqV,QAAU,QAC5BuM,GAAS7pB,GAAGiI,MAAMqC,KAAO+mB,GAAwBrxB,GAAGoR,EAAEnJ,MAAMqC,KAC5Duf,GAAS7pB,GAAGiI,MAAMsC,IAAM8mB,GAAwBrxB,GAAGoR,EAAEnJ,MAAMsC,OAG7D/G,OAAO6C,KAAKwjB,IAAUsL,SAASn1B,GAAO6pB,GAAS7pB,GAAGiI,MAAMqV,QAAU,YAqgBpE0wB,QAAS,IAAI4F,GACX,OACA,cACA,CAAC,cAAe,cAChB,2CACA,GACA,WACEL,QAGJ3tB,gBAAiB,IAAIguB,GACnB,OACA,cACA,CAAC,6BAA8B,6BAC/B,kEACA,GACA,WACEjuB,OAGJsoB,oBAAqB,IAAI2F,GACvB,OACA,cACA,CAAC,qCAAsC,qCACvC,+FACA,GACA,WAnhBEluB,EAAUuoB,oBACZ78B,EAAE,uBAAuBnJ,MAAMqV,QAAU,GAEzClM,EAAE,uBAAuBnJ,MAAMqV,QAAU,UAshB3CsgB,oBAAqB,IAAIgW,GACvB,OACA,UACA,CACE,2CACA,2CAEF,kDACA,GAEF1F,YAAa,IAAI0F,GACf,OACA,UACA,CACE,iDACA,iDAEF,qDACA,GAEF5R,cAAe,IAAI4R,GACjB,OACA,UACA,CAAC,4BAA6B,4BAC9B,kGACA,GAEF3R,oBAAqB,IAAI2R,GACvB,OACA,UACA,CAAC,mCAAoC,mCACrC,2GACA,GAEFzR,gBAAiB,IAAIyR,GACnB,OACA,UACA,CAAC,8BAA+B,8BAChC,+GACA,GAEFvR,sBAAuB,IAAIuR,GACzB,OACA,UACA,CAAC,qCAAsC,qCACvC,kIACA,GAEFrR,gBAAiB,IAAIqR,GACnB,OACA,UACA,CAAC,8BAA+B,8BAChC,qJACA,GAEFlS,aAAc,IAAIyS,GAChB,WACA,UACA,mCACA,gKACA,EACA7pB,KAEFuX,YAAa,IAAI+R,GACf,OACA,UACA,CACE,+CACA,+CAEF,2EACA,GAEFrW,YAAa,IAAIqW,GACf,OACA,UACA,CAAC,kCAAmC,qCACpC,kCACA,GACA,WACEtW,QAGJ0B,YAAa,IAAI4U,GACf,OACA,UACA,CAAC,mCAAoC,mCACrC,6CACA,GAEF1P,aAAc,IAAI0P,GAChB,OACA,UACA,CAAC,uBAAwB,uBACzB,oEACA,GAEFpV,YAAa,IAAIoV,GACf,OACA,UACA,CAAC,yBAA0B,yBAC3B,4DACA,GAEFlU,aAAc,IAAIkU,GAChB,OACA,UACA,CAAC,2BAA4B,2BAC7B,yDACA,GAEFpT,gBAAiB,IAAIoT,GACnB,OACA,UACA,CAAC,uBAAwB,uBACzB,iDACA,GAEFzF,oBAAqB,IAAIyF,GACvB,OACA,UACA,CAAC,qCAAsC,qCACvC,+CACA,GAIF7Q,MAAO,IAAI6Q,GACT,OACA,aACA,CAAC,iBAAkB,iBACnB,oCACA,GAEFxF,gBAAiB,IAAIwF,GACnB,OACA,aACA,CAAC,uBAAwB,uBACzB,wCACA,GAEF9O,QAAS,IAAI8O,GACX,OACA,aACA,CAAC,mCAAoC,+BACrC,wCACA,GAEFvF,oBAAqB,IAAI8F,GACvB,WACA,aACA,0BACA,8GACA,EACA7pB,KAEFgkB,aAAc,IAAIsF,GAChB,OACA,aACA,CAAC,gBAAiB,gBAClB,4FACA,GAIF9pB,MAAO,IAAI8pB,GACT,OACA,sBACA,CAAC,YAAa,WAAY,8BAC1B,8LACA,GAEFrF,aAAc,IAAIqF,GAChB,OACA,sBACA,CAAC,mCAAoC,mCACrC,kLACA,GAEFpF,eAAgB,IAAIoF,GAClB,OACA,iBACA,CAAC,mBAAoB,mBACrB,mDACA,GACA,WACEf,GAAoCntB,EAAU8oB,mBAGlDC,QAAS,IAAImF,GACX,OACA,iBACA,CAAC,YAAa,YACd,iCACA,GAEFlF,cAAe,IAAIuF,GACjB,SACA,iBACA,wDAEFtF,QAAS,IAAIiF,GACX,OACA,iBACA,CAAC,YAAa,YACd,iCACA,GAEFhF,SAAU,IAAIsF,GAAc,MAAO,iBAAkB,GAAI,UACzDrF,WAAY,IAAI+E,GACd,MACA,iBACA,aACA,6DAEF9E,oBAAqB,IAAI8E,GACvB,OACA,iBACA,CAAC,mBAAoB,mBACrB,8DACA,GACA,WACEf,GAAoCntB,EAAUopB,wBAGlDC,aAAc,IAAI6E,GAChB,OACA,iBACA,CAAC,YAAa,YACd,wCACA,GAEF5E,mBAAoB,IAAIiF,GACtB,SACA,iBACA,6DAEFhF,aAAc,IAAI2E,GAChB,OACA,iBACA,CAAC,YAAa,YACd,wCACA,GAEF1E,cAAe,IAAIgF,GAAc,MAAO,iBAAkB,GAAI,UAC9D/E,gBAAiB,IAAIyE,GACnB,MACA,iBACA,aACA,sEAEFxE,gBAAiB,IAAIwE,GACnB,OACA,kBACA,CAAC,mBAAoB,mBACrB,yCACA,GACA,WACEf,GAAoCntB,EAAU0pB,oBAGlDC,SAAU,IAAIuE,GACZ,OACA,kBACA,CAAC,YAAa,YACd,gCACA,GAEFtE,eAAgB,IAAI2E,GAClB,SACA,kBACA,kEAEF1E,SAAU,IAAIqE,GACZ,OACA,kBACA,CAAC,YAAa,YACd,gCACA,GAEFpE,UAAW,IAAI0E,GAAc,MAAO,kBAAmB,GAAI,UAC3DzE,YAAa,IAAImE,GACf,MACA,kBACA,aACA,6DAEFlE,UAAW,IAAIkE,GACb,OACA,mBACA,CAAC,wBAAyB,YAC1B,+BACA,GAEFjE,gBAAiB,IAAIsE,GACnB,SACA,mBACA,4DAEFrE,UAAW,IAAIgE,GACb,OACA,mBACA,CAAC,YAAa,YACd,+BACA,GAEF/D,WAAY,IAAIqE,GAAc,MAAO,mBAAoB,GAAI,UAC7DpE,aAAc,IAAI8D,GAChB,MACA,mBACA,yBACA,uDAEF7D,kBAAmB,IAAI6D,GACrB,OACA,mBACA,CAAC,mBAAoB,mBACrB,oDACA,GACA,WACEf,GAAoCntB,EAAUqqB,sBAGlDC,WAAY,IAAI4D,GACd,OACA,mBACA,CAAC,YAAa,YACd,2CACA,GAEF3D,iBAAkB,IAAIgE,GACpB,SACA,mBACA,2DAEF/D,WAAY,IAAI0D,GACd,OACA,mBACA,CAAC,YAAa,YACd,2CACA,GAEFzD,YAAa,IAAI+D,GAAc,MAAO,mBAAoB,GAAI,UAC9D9D,cAAe,IAAIwD,GACjB,MACA,mBACA,aACA,2DAEFvD,qBAAsB,IAAIuD,GACxB,OACA,oBACA,CAAC,mBAAoB,mBACrB,iDACA,GACA,WACEf,GAAoCntB,EAAU2qB,yBAGlDC,cAAe,IAAIsD,GACjB,OACA,oBACA,CAAC,YAAa,YACd,wCACA,GAEFrD,oBAAqB,IAAI0D,GACvB,SACA,oBACA,8DAEFzD,cAAe,IAAIoD,GACjB,OACA,oBACA,CAAC,YAAa,YACd,wCACA,GAEFnD,eAAgB,IAAIyD,GAAc,MAAO,oBAAqB,GAAI,UAClExD,iBAAkB,IAAIkD,GACpB,MACA,oBACA,aACA,yDAEFjD,wBAAyB,IAAIiD,GAC3B,OACA,uBACA,CAAC,mBAAoB,mBACrB,2EACA,GACA,WACEf,GAAoCntB,EAAUirB,4BAGlDC,iBAAkB,IAAIgD,GACpB,OACA,uBACA,CAAC,YAAa,YACd,kEACA,GAEF/C,uBAAwB,IAAIoD,GAC1B,SACA,uBACA,sEAEFnD,iBAAkB,IAAI8C,GACpB,OACA,uBACA,CAAC,YAAa,YACd,kEACA,GAEF7C,kBAAmB,IAAImD,GACrB,MACA,uBACA,GACA,UAEFlD,oBAAqB,IAAI4C,GACvB,MACA,uBACA,aACA,mFAIF3C,aAAc,IAAI2C,GAChB,OACA,gBACA,CAAC,wBAAyB,wBAC1B,mIACA,GAEF7pB,kBAAmB,IAAI6pB,GACrB,OACA,gBACA,CACE,iCACA,gCACA,0CAEF,8MACA,GACA,WACE/tB,KAAKkf,iBAiBX,SAASwP,KACP,OAAOlzC,KAAKmzC,UAAU,CACpBC,kBAAmB1qB,GACnB2qB,SAAUhvB,EACVivB,QAAS,YAkMb,SAASC,KACP,GAAI3mB,KAAyBpI,KAAKgvB,aAAelnB,GAAW,CAC1D,GACE9H,KAAKgvB,YAAc,IACnBhvB,KAAKivB,aAAajvB,KAAKgvB,aAAaE,IAAItsC,WAAWusC,SAAS,aAC5D,CACA,IAAI3vC,EAASwgB,KAAKivB,aAAajvB,KAAKgvB,aAAaE,IAC9CtsC,WACA/H,MAAM,mBAAmB,GAC5B,MAAM4zB,EAASzO,KAAKivB,aAAajvB,KAAKgvB,aAAaE,IAChDtsC,WACA/H,MAAM,sBAAsB,GAC/B,GAAe,MAAX2E,EAEF,GADAA,EAASA,EAAO4vC,WAAW,IAAK,IAC5BpvB,KAAKyN,QAAQjuB,GAAQivB,OAASA,EAChCpG,GAAyB,mCACpB,CACL,IAAIgnB,EAAO,EACXtZ,KACA,IAAK,IAAI57B,EAAI,EAAGA,EAAIs0B,EAAQt0B,IAAK,CAC/B,IAAI4zB,EACF1B,GAAW7sB,GAAQ+uB,UACnBvO,KAAKgP,eACHtsB,KAAK6D,IACH,EACA8lB,GAAW7sB,GAAQivB,OAAS,EAAIpC,GAAW7sB,GAAQgvB,MAEzDT,EAAQ/N,KAAKiP,oBAAoB5C,GAAW7sB,GAASuuB,GACrDA,EAAQrrB,KAAKoL,KAAKigB,GAClBshB,GAAQthB,EACR1B,GAAW7sB,GAAQivB,QAAU,EAE/BpG,GAAyB,kBAAkBlE,GAA4BkrB,SAEpE,CACL,IAAIA,EAAO,EACXtZ,KACAp4B,OAAO6C,KAAKwf,KAAKyN,SAAS6B,SAASmB,IAEjC,GADAjxB,EAASixB,EACLzQ,KAAKyN,QAAQjuB,GAAQivB,OAASA,EAChCpG,GAAyB,mCAD3B,CAIA,IAAK,IAAIluB,EAAI,EAAGA,EAAIs0B,EAAQt0B,IAAK,CAC/B,IAAI4zB,EACF1B,GAAW7sB,GAAQ+uB,UACnBvO,KAAKgP,eACHtsB,KAAK6D,IACH,EACA8lB,GAAW7sB,GAAQivB,OAAS,EAAIpC,GAAW7sB,GAAQgvB,MAEzDT,EAAQ/N,KAAKiP,oBAAoB5C,GAAW7sB,GAASuuB,GACrDA,EAAQrrB,KAAKoL,KAAKigB,GAClBshB,GAAQthB,EACR1B,GAAW7sB,GAAQivB,QAAU,EAE/BpG,GAAyB,kBAAkBlE,GAA4BkrB,UAI7EjnB,GAAuBpI,KAAKgvB,aAkBhC,SAASM,GAAmB5hB,EAAK4I,GAC/BP,KACa,IAATO,EAAY3O,GAAU+F,EACR,IAAT4I,EAAY1O,GAAU8F,EACb,IAAT4I,IAAYzO,GAAU6F,GAE/B,MAAMuX,EAAwB3d,GAO9B,OANAwa,KAEAmC,KACIgB,IAA0B3d,IAC5Bwa,KAEK9Z,GAAehI,KAAKqR,UAoD7B,SAASke,KAEPljB,GAAa,GACb1uB,OAAO6C,KAAKwf,KAAKyN,SAAS6B,SAASn1B,IACjCkyB,GAAWlyB,GAAK46B,GAAoB56B,MAItCmyB,GAAc,GACd3uB,OAAO6C,KAAKwf,KAAK2V,UAAUrG,SAASn1B,IAClCmyB,GAAYnyB,GAAKs7B,GAAYt7B,MAI/BoyB,GAAkB,GAClB5uB,OAAO6C,KAAKwf,KAAKgU,cAAc1E,SAASn1B,IACtCoyB,GAAgBpyB,GAAK25B,GAAgB35B,MAEvC47B,KAMF,IAAIyZ,IAAiB,EAerB,SAASC,GAAMrhC,EAAMshC,EAAQprB,IAGD,IAAtBzE,EAAU6vB,IAAiBprB,IAClB,IAATlW,IACmB,IAAnBohC,IACO,IAATphC,GAEA7C,EAAE,iBAAiBnJ,MAAM4U,gBAAkB6I,EAAU,SAAS6vB,KAC9DnkC,EAAE,iBAAiBnJ,MAAM6U,QAAU,MACtB,IAAT7I,GACF7C,EAAE,iBAAiBnJ,MAAMqV,QAAU,SACnCk4B,YAAW,WACTF,GAAM,EAAGC,GAAQ,KAChB,IAAO1vB,KAAKqX,MAEfsY,YAAW,WACTF,GAAM,EAAGC,GAAQ,KAChB,IAAO1vB,KAAKqX,MAEC,IAATjpB,GACT7C,EAAE,iBAAiBnJ,MAAM6U,QAAU,IACnC04B,YAAW,WACTF,GAAM,EAAGC,GAAQ,KAChB,IAAO1vB,KAAKqX,MACG,IAATjpB,IAAY7C,EAAE,iBAAiBnJ,MAAMqV,QAAU,QAe5D,SAASm4B,GAAgBC,EAAKC,EAAWC,EAAWzrB,GAElD,IAA8B,IAAzBzE,EAAUiwB,IAAoBxrB,KAA8B,IAAnBkrB,GAA0B,CAEtE,MAAMQ,EAAQ,IAAIC,MAAMJ,GACpBhwB,EAAU6oB,aACZsH,EAAME,OAAUrwB,EAAUkwB,GAAa,KAAQ/vB,KAAKkwB,OAAS,KAC1DF,EAAME,OAASrwB,EAAUkwB,GAAa,IAC3CC,EAAMG,QAoFV,SAASC,GAAmBC,EAAcC,EAAOC,GAGjB,IAA5B1wB,EAAUwwB,IACmB,WAA7B53C,SAAS+3C,kBACU,IAAnBhB,IAIA,IAAI3D,aAAayE,EAAO,CAAEj3B,KAAMk3B,EAASE,MAFtB,yDAkRvB,SAASC,KAKP,GAJI5sB,KAAoB9D,KAAK2wB,WAC3B7sB,GAAkB9D,KAAK2wB,SA7drB3wB,KAAK2wB,UACPplC,EAAE,QAAQnJ,MAAMkW,OAAS,MACA,IAArBuH,EAAUgT,SAActnB,EAAE,YAAYnJ,MAAMqV,QAAU,QAC/B,IAAvBoI,EAAU2T,WAAgBjoB,EAAE,cAAcnJ,MAAMqV,QAAU,UAE9D41B,KACA3Z,MAEFN,OAwdKpT,KAAK2wB,UAAiC,IAArB3wB,KAAK4wB,YAAmB,CAExCvwB,IAAiB1iB,OAAO6C,KAAKwf,KAAK6wB,MAAMz2C,SAC1Cm1C,KACA3H,KACAvnB,EAAe1iB,OAAO6C,KAAKwf,KAAK6wB,MAAMz2C,QAIpC0tB,KACFsd,KApsBAplB,KAAK4d,IAAI,wBAjBb7H,KACAzJ,GAAY,uBAAuBc,OAAS,EAC5C0U,KAgBE9Y,GAfKhB,IAgBAgB,GAA6BhJ,KAAKqR,UAqsBrCkW,KACAD,KACAT,KACAR,KACA0I,KApgBN,WACE,IAAK,IAAIrhB,EAAM,EAAGA,EAAM,GAAIA,GAAO,EACjC,IAAK,IAAI4I,EAAO,EAAGA,EAAO,EAAGA,GAAQ,EACnC5K,GAAUgC,GAAK4I,GAAQgZ,GAAmB5hB,EAAK4I,GAkgB/Cwa,GAEAzJ,KAzoBN,WACE,IAAI0J,EAAY,EAEhB,GAAI/wB,KAAKyN,QAAQujB,KAAK7iB,eAAgB,CACpC,MAAM8iB,EAAcjxB,KAAKyN,QAAQujB,KAAKxjB,SAAS0jB,MAC/C,IAAIC,EAAW,EACfxzC,OAAO6C,KAAKywC,GAAa3hB,SAASn1B,IAChC,MAAMi3C,EAAaH,EAAY92C,GAC/Bg3C,GAAYC,EAAWC,MAAQD,EAAWz0C,OAE5Co0C,GAAaI,EAAWnxB,KAAKsxB,oBAG/BP,GAlEF,WACE,IAAIA,EAAY,EAEhBhb,KAGA,IAAIwb,EAAuB,EACL,IAAlB9pB,IAAyC,KAAlBA,KACzB8pB,GAAwB,GAEH,IAAnB7pB,IAA2C,KAAnBA,KAC1B6pB,GAAwB,GAE1B9pB,GAAgB,EAChBC,GAAiB,GAGjB,IAAK,IAAIvtB,EAAI,EAAGA,EAAIo3C,IAAwBp3C,EAAG,CAC7C,IAAIq3C,EAAkB,SACtB7zC,OAAO6C,KAAK6rB,IAAYiD,SAASmB,IAC3BpE,GAAWoE,GAAGhC,OAAS,IACzB+iB,EAAkB/gB,MAGtBpE,GAAWmlB,GAAiB/iB,QAAU,EACtCtH,IAAqB,EAevB,OAXAxpB,OAAO6C,KAAK6rB,IAAYiD,SAASn1B,IAC/B,MAAMo2B,EAAKlE,GAAWlyB,GACtB42C,GAAa1iB,GACXrO,KAAKyN,QAAQ8C,EAAG7xB,MAChBshB,KAAKyN,QAAQtzB,GAAGo0B,UAChBgC,EAAG9B,OACHzO,KAAKyN,QAAQtzB,GAAGq0B,KAChB+B,EAAG9B,WAIAsiB,EA0BMU,GACbhmB,GAAqBslB,EA4nBjBW,GAEA5pB,GAAY,GAId,MAAM6pB,EAAe3xB,KAAKojB,SAAS,kBAAoB,GAClDlc,IAAqByqB,GACxBzqB,IAAoB,EACpBD,GAA2B,GAClBC,KAAsByqB,IAC/BzqB,IAAoB,EACpBD,GAA2B,GAGzBA,KACFke,KACAle,GAA2B,GA7wBjC,WAEE0gB,KAEAlG,KAzCF,WACE3X,GAA2B,EAC3B,IAAIgJ,EAAQ,EACZn1B,OAAO6C,KAAKwf,KAAKuR,WAAWjC,SAASn1B,IACH,IAA5B6lB,KAAKuR,UAAUp3B,GAAGokC,QAAazL,GAAS,MAE9C,IAAI8e,EAAU,EACd,GAAIvlB,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASpO,KAAKsN,OAAO,SACZ,IAAXc,EAAcwjB,GAAW,KACT,IAAXxjB,EAAcwjB,GAAW,IACd,IAAXxjB,IAAcwjB,GAAW,MAEpC7nB,GAAyB+I,EACzBhJ,GACEgJ,GACS,IAARA,EAAe,MACuB,IAAtC9S,KAAK4d,IAAI,2BAAoC,IACjB,IAA5B5d,KAAK4d,IAAI,iBAA0B,GACpCgU,EAuBFC,GACA/R,KACAyG,KAEA,MAAMuL,EACJ9xB,KAAK+xB,oBACHrvC,KAAKkE,MAAMoZ,KAAKymB,gBAAgBzmB,KAAK0mB,aAAe1mB,KAAKmgB,gBACvD,IAEHngB,KAAKmgB,cAAgBngB,KAAK0mB,cAC7Brb,GAA4B9F,GAAWusB,EAAgB5gB,MAiwBrD8gB,GAxSF7wB,EAA+B,EAC/BqK,GAA0B,GAC1B7tB,OAAO6C,KAAKwf,KAAKiyB,UAAU3iB,SAASn1B,IAClCqxB,GAAwBxL,KAAKiyB,SAAS93C,GAAGyzB,IAAM5N,KAAKiyB,SAAS93C,GACzD6lB,KAAKiyB,SAAS93C,GAAG+3C,WAAuC,WAA1BlyB,KAAKiyB,SAAS93C,GAAGK,OACjD2wB,GAA4BnL,KAAKiyB,SAAS93C,GAC1CgnB,GAAgC,MAWpCxjB,OAAO6C,KAAKwjB,IAAUsL,SAASn1B,SACa,IAA/BqxB,GAAwBrxB,KACjC6pB,GAAS7pB,GAAGmf,WAAWrc,YAAY+mB,GAAS7pB,WACrC6pB,GAAS7pB,OAGhB6mB,IAA0BhB,KAAKyd,aAAaC,OAAOtgC,GACrD4jB,EAAwBhB,KAAKyd,aAAaC,OAAOtgC,EAC7C4jB,IACEC,EAA+BE,IACjCsuB,GAAM,EAAG,WAAW,GACpBG,GAAgB/vB,EAAUmpB,WAAY,UAAW,YAAY,GAC7DoH,GACE,iBACA,wBACA,+CAIJzyC,OAAO6C,KAAKwf,KAAKiyB,UAAU3iB,SAASn1B,SACW,IAAlC6pB,GAAShE,KAAKiyB,SAAS93C,GAAGyzB,KAnH7C,SAAuBukB,GACrB,MAAMjK,EAAUzvC,SAAS4D,cAAc,OACvC6rC,EAAQta,GAAK,UAAUukB,EAAOvkB,KAC9Bsa,EAAQ9lC,MAAMkG,MAAQ,OACtB4/B,EAAQ9lC,MAAMmG,OAAS,OACvB2/B,EAAQ9lC,MAAMgI,SAAW,WACzB89B,EAAQ9lC,MAAMyU,OAAS,cACvBqxB,EAAQ9lC,MAAMuW,UAAY,SAC1BuvB,EAAQ9lC,MAAMyW,WAAa,OAC3BqvB,EAAQ9lC,MAAMgwC,WAAa,2BAC3BlK,EAAQ9lC,MAAMyvB,SAAW,OACzBqW,EAAQ9lC,MAAM+U,OAAS,UACvB+wB,EAAQ9lC,MAAMqV,QAAU,QACE,IAAtBoI,EAAUqoB,UAAeA,EAAQ9lC,MAAMqV,QAAU,QACrDywB,EAAQ9lC,MAAMqC,KAAO0tC,EAAO5mC,EAAEnJ,MAAMqC,KACpCyjC,EAAQ9lC,MAAMsC,IAAMytC,EAAO5mC,EAAEnJ,MAAMsC,IACnCwjC,EAAQmK,QAAU,WAChBF,EAAOG,OAETpK,EAAQqK,YAAc,WACpBJ,EAAO5mC,EAAEnJ,MAAMowC,OACb,gEACFL,EAAO5mC,EAAEnJ,MAAMqwC,aACb,iEAEJvK,EAAQwK,WAAa,WACnBP,EAAO5mC,EAAEnJ,MAAMowC,OAAS,GACxBL,EAAO5mC,EAAEnJ,MAAMqwC,aAAe,IAGhCzuB,GAASmuB,EAAOvkB,IAAMsa,EACtB38B,EAAE,YAAYwK,YAAYmyB,GAqFlByK,CAAc3yB,KAAKiyB,SAAS93C,QAIlCuzC,KACAzsB,EAA+BE,EACM,IAAjCA,IAAoCgK,GAA4B,IACrC,IAAtBtL,EAAUqoB,SAAiBlnB,GACpCrjB,OAAO6C,KAAKwjB,IAAUsL,SAASn1B,IAC7B6pB,GAAS7pB,GAAGiI,MAAM6U,QAAUuU,GAAwBrxB,GAAGoR,EAAEnJ,MAAM6U,QAC/D+M,GAAS7pB,GAAGiI,MAAMwwC,UAChBpnB,GAAwBrxB,GAAGoR,EAAEnJ,MAAMwwC,UACrC5uB,GAAS7pB,GAAGqD,YAAckF,KAAKoL,KAC7B0d,GAAwBrxB,GAAG04C,KAAO7yB,KAAKqX,QAiF3CvW,KACCd,KAAK8yB,cAA2C,YAA3B9yB,KAAK8yB,aAAat4C,QAExCsmB,EACEd,KAAK8yB,cAA2C,YAA3B9yB,KAAK8yB,aAAat4C,KACrCsmB,IACF2uB,GAAM,EAAG,gBAAgB,GACzBG,GACE/vB,EAAUypB,gBACV,eACA,iBACA,GAEF8G,GACE,sBACA,uBACA,kDA9CFvvB,IAAyBb,KAAKyd,aAAaQ,SAASN,UACtD9c,EAAuBb,KAAKyd,aAAaQ,SAASN,QAClDhgC,OAAO6C,KAAKwf,KAAKiyB,UAAU3iB,SAASn1B,IAC9B6lB,KAAKiyB,SAAS93C,GAAG+3C,WAAuC,aAA1BlyB,KAAKiyB,SAAS93C,GAAGK,OACjD4wB,GAAwBpL,KAAKiyB,SAAS93C,OAG1Cs1C,GAAM,EAAG,YAAY,GACrBG,GAAgB/vB,EAAU+pB,YAAa,WAAY,aAAa,GAChEwG,GACE,kBACA,oBACA,0CAtNFpwB,KAAKyN,QAAQmM,KAAKzL,gBAClBpN,IAAuBf,KAAKyN,QAAQmM,KAAKpM,SAASulB,WAEvB,IAAvBhyB,GAA4BA,EAAqBif,KAAKC,QACxDwP,GAAM,EAAG,aAAa,GACtBG,GAAgB/vB,EAAUoqB,aAAc,YAAa,cAAc,IAErElpB,EAAqBf,KAAKyN,QAAQmM,KAAKpM,SAASulB,UAiKpD,WACE,GACE/yB,KAAKyN,QAAQ,gBAAgBU,gBACH,IAA1BtO,EAAUooB,YACV,CACA,MAAMza,SAAEA,GAAaxN,KAAKyN,QAAQ,gBAC9BD,EAAS4J,MAAQ5J,EAAS4L,OAAQlY,GAAmB,EAC/CA,IACRA,GAAmB,EACnBuuB,GAAM,EAAG,cAAc,GACvBG,GAAgB/vB,EAAU0qB,cAAe,aAAc,eAAe,GACtE6F,GACE,oBACA,mBACA,6CA6NJ4C,GA1IJ,WACE,GAAIhzB,KAAKC,WAAa,EAAG,CACvB,IAAIgzB,EAAmB,EACvBt1C,OAAO6C,KAAKwf,KAAKuR,WAAWjC,SAASn1B,IACH,IAA5B6lB,KAAKuR,UAAUp3B,GAAGokC,QAAa0U,GAAoB,MAErDA,EAAmB7xB,GACrBA,EAAoB6xB,EAElBA,IAAqBjzB,KAAKkzB,mBAC1BrzB,EAAUkrB,iBAEV0E,GAAM,EAAG,oBAAoB,GAE7BA,GAAM,EAAG,iBAAiB,GAG1BwD,IAAqBjzB,KAAKkzB,mBAC1BrzB,EAAUorB,iBAEV2E,GACE/vB,EAAUsrB,oBACV,mBACA,qBACA,GAGFyE,GACE/vB,EAAUgrB,iBACV,gBACA,kBACA,GAIFoI,IAAqBjzB,KAAKkzB,mBAC1BrzB,EAAUirB,wBAEVsF,GACE,0BACA,4BACA,sDAGFA,GACE,uBACA,sBACA,gCAIJhvB,EAAoB6xB,GAwFtBE,IAaJ,SAASC,KACP,IAAI73C,EAAM,GACV,IAAK,IAAIpB,EAAI,EAAGA,EAAIkoB,EAAgBjoB,OAAQD,IAC1CoB,GAAO,UAAoB8mB,EAAgBloB,eACzC0lB,EAAU,SAASwC,EAAgBloB,aAGvC,IAAK,IAAIA,EAAI,EAAGA,EAAIkoB,EAAgBjoB,OAAQD,IAC1CoB,GAAO,UAAoB8mB,EAAgBloB,0BACzC0lB,EAAU,SAASwC,EAAgBloB,aAGvC,IAAK,IAAIA,EAAI,EAAGA,EAAIkoB,EAAgBjoB,OAAQD,IAC1CoB,GAAO,YAAsB8mB,EAAgBloB,0BAC3C0lB,EAAU,SAASwC,EAAgBloB,aAGvCoR,EAAE,SAAS/N,YAAcjC,EACzB4zB,KAmBF,SAASkkB,KACP,MAAMC,EAAaC,YACjBC,SAASC,aAAaC,QAAQ,sBAAsB1yC,MAAM,SAAS,IAE/D2yC,EAAoBL,EAAWz4C,MAAM,wBAC3C,GAA0B,OAAtB84C,EAA4B,CAC9B,MAAMC,EAAgBN,EAAWvyC,QAC/B4yC,EAAkB,GAClB,iBAAiBjF,QAEnB+E,aAAaI,QACX,oBACAjV,OAAO,GAAGkV,YAAYF,aAS5B,SAASG,GAAWlF,GAKlB,QAHqC,IAA1B4E,aAAaO,iBACfP,aAAaO,cAELz5C,IAAbs0C,EAAwB,CAC1BhvB,EAAYgvB,OAEoB,IAArBhvB,EAAUo0B,eACZp0B,EAAUo0B,YAEc,IAAtBp0B,EAAU4rB,gBACZ5rB,EAAU4rB,QAInB,IAAIyI,GAAM,EACVv2C,OAAO6C,KAAKqnC,IAAiBvY,SAASn1B,SACR,IAAjB0lB,EAAU1lB,IACnB+5C,GAAM,EACNr0B,EAAU1lB,GAAK0tC,GAAgB1tC,IAChB,WAANA,GACTwD,OAAO6C,KAAKqnC,GAAgBwD,QAAQ/b,SAASmB,SAEd,IAApB5Q,EAAU1lB,GAAGs2B,IAClB5Q,EAAU1lB,GAAGs2B,IAAM,GAAK5Q,EAAU1lB,GAAGs2B,GAAK,IAE5CyjB,GAAM,EACNr0B,EAAU1lB,GAAGs2B,GAAKoX,GAAgB1tC,GAAGs2B,UAKzCyjB,GAAKb,KACT3C,KACA/yC,OAAO6C,KAAKqnC,IAAiBvY,SAASn1B,IAC1B,WAANA,QAAkD,IAAzBo0C,GAAap0C,GAAG+E,MAC3CqvC,GAAap0C,GAAG+E,eAKpB60C,GAAWlM,IAEb7nB,KAAKkf,aACLkU,KAkJF,SAASe,KACPx2C,OAAO6C,KAAKwf,KAAKuR,WAAWjC,SAASn1B,IAC/B6lB,KAAKuR,UAAUp3B,GAAG2kC,OAAS,GAAgC,IAA3B9e,KAAKuR,UAAUp3B,GAAGK,OACpDwlB,KAAKuR,UAAUp3B,GAAGi6C,GAAK,MA6C7B,SAASC,GAAc75C,EAAMkE,GAC3B,GAAa,MAATlE,EAAc,CAIhB,GAFA+Q,EAAE,WAAWoM,UAAYqI,KAAKyN,QAAQ/uB,GAAMi4B,UAEd,IAA1B9W,EAAUwoB,YAAmB,CAC/B,MAAMiM,EAAa1S,GACjB5hB,KAAKyN,QAAQ/uB,GACbshB,KAAKyN,QAAQ/uB,GAAM6vB,UACnB,EACAvO,KAAKyN,QAAQ/uB,GAAM8vB,KACnBxO,KAAKyN,QAAQ/uB,GAAM+vB,QAEf8lB,EAAiBD,EAAat0B,KAAKyN,QAAQ/uB,GAAM23B,aACnDke,EAAiB,IACnBhpC,EAAE,WAAWoM,UAAYpM,EAAE,WACxBoM,UAAU3W,MAAM,gBAChB6C,KACC,wBAAwBsgB,GAA4BowB,UACnB,IAA/B7xC,KAAKkE,MAAM2tC,GAAwB,SAAW,+BAE9C3uB,IACG0uB,EAAat0B,KAAKyN,QAAQ/uB,GAAM23B,eAC9BrW,KAAKyN,QAAQ/uB,GAAM81C,eAAiBx0B,KAAKy0B,gBAC5C5uB,iBAKU,IAAlB7F,KAAKoP,UASP7jB,EAAE,WAAWoM,UAAYpM,EAAE,WACxBoM,UAAU3W,MAAMmjB,GAA4BnE,KAAKyN,QAAQ/uB,GAAMw0B,YAC/DrvB,KACCsgB,IACGnE,KAAKyN,QAAQ/uB,GACdshB,KAAKyN,QAAQ/uB,GAAM6vB,UACnBvO,KAAKyN,QAAQ/uB,GAAM+vB,OACnBzO,KAAKyN,QAAQ/uB,GAAM8vB,KACnBxO,KAAK+O,QACL,WAIH,GAAa,MAATv0B,EAAc,CAEvB,IAAKwlB,KAAKsQ,gBAAgB5xB,GAAO,MAAO,GACxC6M,EAAE,WAAWoM,UAAYqI,KAAK00B,aAC5B10B,KAAKsQ,gBAAgB5xB,GACrB,aAEgB,MAATlE,EAAc+Q,EAAE,WAAWoM,UAAYqI,KAAK20B,cAErC,MAATn6C,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAKyN,QAAQ,gBAAgBD,SAASonB,aAC7Dl2C,EADuBshB,GAIT,MAATxlB,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAKukB,YAAY,GAAG/W,SAASqnB,YACpDn2C,EAAK,GACLA,EAAK,GAFkBshB,GAKT,OAATxlB,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAKukB,YAAY,GAAG/W,SAASsnB,YAAY,EAAzC90B,GACT,OAATxlB,EAAe+Q,EAAE,WAAWoM,UAAY,GAC/B,QAATnd,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAKyN,QAAQF,OAAOC,SAASunB,WAAWr2C,EAAxCshB,GACT,QAATxlB,IACP+Q,EAAE,WAAWoM,UAAYqI,KAAKyN,QAAQF,OAAOC,SAASwnB,YACpDt2C,EAAK,GADkBshB,IAK3B,GACY,MAATxlB,GAAiC,IAAjBwlB,KAAKoP,SACb,MAAT50B,GACS,MAATA,GACS,MAATA,GACU,MAATA,IAAiBwlB,KAAKxf,KAAK,KACnB,OAAThG,GACS,OAATA,GACS,QAATA,GACU,QAATA,IAA+B,IAAbkE,EAAK,GACxB,CACA,MAAMu2C,EAAOx8C,SAAS4D,cAAc,OACpC44C,EAAKrnB,GAAK,gBACVriB,EAAE,WAAWwK,YAAYk/B,GAS3B,OALAtxB,GAAcnpB,EACdopB,GAAcllB,EAEdi5B,KAEOpsB,EAAE,WAAWoM,UA6GtB,SAASu9B,KACHl1B,KAAKyN,QAAQ,gBAAgBU,gBAC/BxwB,OAAO6C,KAAKwf,KAAKyN,QAAQ,gBAAgBD,SAAS0L,YAAY5J,SAC3Dn1B,IAC4C,OAAvCoR,EAAE,gBAAgBpR,KAAKo4C,cACzBhxB,EAAsBpnB,GAAKoR,EAAE,gBAAgBpR,KAAKo4C,YAClDhnC,EAAE,gBAAgBpR,KAAKo4C,YAAc,WACnCvyB,KAAK2W,QAAQwe,QAAU,EACvBn1B,KAAK2W,QAAQhlB,KACX9Y,MACA,WACE,OAAOw7C,GAAc,IAAK,GAAGl6C,OAE/B,QAEF6lB,KAAK2W,QAAQye,cAoBzB,SAASC,KACP,IACG10B,GACDX,KAAKyN,QAAQ,gBAAgBU,eAC7B,CACA,MAAMX,SAAEA,GAAaxN,KAAKyN,QAAQ,gBAClChN,EAAqB+M,EAAS7b,KAC9BqO,KAAKyN,QAAQ,gBAAgBD,SAAS7b,KAAO,WAC3C8O,IAC8B,IAA1BZ,EAAUooB,aAAqBza,EAAS4J,MAAQ5J,EAAS4L,SAC3D5L,EAAS8nB,cAAc39B,WAAa,KAAK4N,GACvCyR,GACExJ,EAAS4J,MACT5J,EAAS4L,OACT5L,EAAS4L,cAKjBzY,GAA+B,GAkCnC,SAAS40B,MA3BT,WACE,IACG70B,GACDV,KAAKyN,QAAQ,gBAAgBU,eAC7B,CACA,MAAMX,SAAEA,GAAaxN,KAAKyN,QAAQ,gBAClClN,EAAuBiN,EAASgoB,OAChCh1B,EAA0B,IAAI5kB,SAC5B,UAAU4xB,EAASgoB,OAChB5yC,WACA5B,MAAM,SACN6C,KAAK,8CAEVmc,KAAKyN,QAAQ,gBAAgBD,SAASgoB,OAAS,WAC7Ch1B,IACA00B,KACAv0B,GAA+B,EAC/B00B,KAEA30B,GAAiC,IASrC+0B,GACAJ,KAiJF,IAAIn8C,GAAUkmB,EAAoB,KAC9Bs2B,GAA+Bt2B,EAAoBhiB,EAAElE,IA+OzD,MAAMy8C,GAA6B,WA8BnC,SAASC,GAAmBlG,GACG,OAAzBnkC,EAAE,SAASmkC,OACbnkC,EAAE,SAASmkC,UAAe/3B,UAAY,GAAGpM,EAAE,SAASmkC,KAAUnyC,SAC9DsiB,EAAU6vB,GAAUhtC,KAAKC,MAAM4I,EAAE,SAASmkC,KAAUnyC,QAEtD81C,KAQF,SAASwC,GAAanG,GACpB7vB,EAAUwrB,OAAOqE,IAAW,EACxB7vB,EAAUwrB,OAAOqE,GAAU,IAAG7vB,EAAUwrB,OAAOqE,GAAU,GAC7D2D,KAiBF,SAASyC,GAAYjwB,EAAM6pB,GACzB,MAAM/e,EAAMl4B,SAAS4D,cAAc,OACnCs0B,EAAI/1B,UAAY,QAChB+1B,EAAIvuB,MAAMwK,QAAU,WACpB+jB,EAAIvuB,MAAM6U,QAAU,MACpB0Z,EAAIvuB,MAAMyvB,SAAW,OACrBlB,EAAIvuB,MAAMgwC,WAAa,2BACvBzhB,EAAI5a,YAAYtd,SAASqgB,eAAe,GAAG+M,OAC3C,MAAMkwB,EAAOt9C,SAAS4D,cAAc,QAiBpC,OAhBA05C,EAAK3zC,MAAM+U,OAAS,UACpB4+B,EAAK3zC,MAAMqV,QAAU,eACrBs+B,EAAK3zC,MAAMmG,OAAS,OACpBwtC,EAAK3zC,MAAMkG,MAAQ,OACnBytC,EAAK3zC,MAAMsU,aAAe,MAC1Bq/B,EAAK3zC,MAAMuW,UAAY,SACvBo9B,EAAK3zC,MAAM4U,gBAAkB,UAC7B++B,EAAK3zC,MAAM2F,MAAQ,QACnBguC,EAAK3zC,MAAMyvB,SAAW,OACtBkkB,EAAK3zC,MAAM2vB,cAAgB,SAC3BgkB,EAAKv4C,YAAcqiB,EAAUwrB,OAAOqE,GAAU,IAAM,IACpDqG,EAAK1D,QAAU,WACbwD,GAAanG,GACb1vB,KAAKkf,cAEPvO,EAAI5a,YAAYggC,GACTplB,EAYT,SAASqlB,GAAax7C,EAAMkE,EAAMmnB,EAAM4Y,GACtC,MAAM9N,EAAMl4B,SAAS4D,cAAc,OACnCs0B,EAAI/1B,UAAY,UAEhB,MAAMq7C,EAAcx9C,SAAS4D,cAAc,KAG3C,GAFA45C,EAAYz4C,YAAckB,EAC1BiyB,EAAI5a,YAAYkgC,GACH,gBAATz7C,EAAwB,CAC1Bm2B,EAAI/1B,UAAY,UAChB+1B,EAAI5a,YAAYtd,SAASqgB,eAAe,MAExC,MAAM6d,EAAUl+B,SAAS4D,cAAc,QACvCs6B,EAAQ+b,WAAa,WACnB1yB,KAAK2W,QAAQxlB,QAEfwlB,EAAQ4b,YAAc,WACpBvyB,KAAK2W,QAAQhlB,KACX9Y,KACA+lC,OAAOrc,EAAsBkc,GAAa9mB,aAG9Cgf,EAAQv0B,MAAM+U,OAAS,UACvBwf,EAAQv0B,MAAMqV,QAAU,eACxBkf,EAAQv0B,MAAMmG,OAAS,OACvBouB,EAAQv0B,MAAMkG,MAAQ,OACtBquB,EAAQv0B,MAAMsU,aAAe,MAC7BigB,EAAQv0B,MAAMuW,UAAY,SAC1Bge,EAAQv0B,MAAM4U,gBAAkB,UAChC2f,EAAQv0B,MAAM2F,MAAQ,QACtB4uB,EAAQv0B,MAAMyvB,SAAW,MACzB8E,EAAQv0B,MAAM2vB,cAAgB,SAC9B4E,EAAQn5B,YAAc,IACtBmzB,EAAI5a,YAAY4gB,GAIlB,OAFAhG,EAAI5a,YAAYtd,SAASqgB,eAAe,OACxC6X,EAAI5a,YAAY8P,GACT8K,EAQT,SAASulB,GAAcC,GACrB,MAAMC,EAAO39C,SAAS49C,yBACtBD,EAAKrgC,YAAYtd,SAASqgB,eAAe,GAAGq9B,EAAY/7C,YACxD,MAAM27C,EAAOt9C,SAAS4D,cAAc,QACpC05C,EAAKrD,WAAa,WAChB1yB,KAAK2W,QAAQxlB,QAEf,MAAMstB,EAAchmC,SAAS4D,cAAc,OACrCi6C,EAAU79C,SAAS4D,cAAc,OACvCi6C,EAAQl0C,MAAMu8B,SAAW,QACzB2X,EAAQl0C,MAAMy0B,aAAe,MAC7B,MAAMyZ,EAAQ73C,SAAS4D,cAAc,OA4BrC,OA3BAi0C,EAAM11C,UAAY,OAClB01C,EAAMluC,MAAMy0B,aAAe,MAC3ByZ,EAAMluC,MAAMuW,UAAY,SACxB23B,EAAM9yC,YAAc,UACpB84C,EAAQvgC,YAAYu6B,GACpB3yC,OAAO6C,KAAK21C,GAAa7mB,SAASn1B,IAChC,MAAMw2B,EAAMl4B,SAAS4D,cAAc,OACnCs0B,EAAIvuB,MAAMuW,UAAY,SACtBgY,EAAI5a,YAAYtd,SAASqgB,eAAeq9B,EAAYh8C,KACpDm8C,EAAQvgC,YAAY4a,MAEtB8N,EAAY1oB,YAAYugC,GACxBP,EAAKxD,YAAc,WACjBvyB,KAAK2W,QAAQhlB,KAAK9Y,KAAM+lC,OAAOH,EAAY9mB,aAE7Co+B,EAAK3zC,MAAM+U,OAAS,UACpB4+B,EAAK3zC,MAAMqV,QAAU,eACrBs+B,EAAK3zC,MAAMmG,OAAS,OACpBwtC,EAAK3zC,MAAMkG,MAAQ,OACnBytC,EAAK3zC,MAAMsU,aAAe,MAC1Bq/B,EAAK3zC,MAAMuW,UAAY,SACvBo9B,EAAK3zC,MAAM4U,gBAAkB,UAC7B++B,EAAK3zC,MAAM2F,MAAQ,QACnBguC,EAAK3zC,MAAMyvB,SAAW,MACtBkkB,EAAK3zC,MAAM2vB,cAAgB,SAC3BgkB,EAAKv4C,YAAc,IACnB44C,EAAKrgC,YAAYggC,GACVK,EAw9BT,SAASG,GAAajG,GACpB,MAAMkG,EAAQ/9C,SAAS4D,cAAc,OAiCrC,GAhCAm6C,EAAM57C,UAAY,aAClB47C,EAAMzgC,YAAYu6B,GAElBkG,EAAMzgC,YAAY+/B,GAAY,gBAAiB,UAC3Cj2B,EAAUwrB,OAAOkB,OACnBiK,EAAMzgC,YAz8BV,WAEE,MAAM0gC,EAAkBz2B,KAAKojB,SAAS,oBAClC,2CACA,6BAEEsT,EAAUj+C,SAAS4D,cAAc,OACvCq6C,EAAQ97C,UAAY,sBAEpB,MAAM+7C,EACJ32B,KAAKmT,QAAU3B,KAAuBlJ,GAAatG,EAAYH,EAC3D+0B,EACJ52B,KAAKmT,QAAU3B,KAAuBlJ,GAClC/C,IACG+C,IAActI,KAAKmT,QAAU3B,OAAyBN,MAEzD,GACA2lB,EAAep+C,SAAS49C,yBACxBS,EAAer+C,SAAS4D,cAAc,QAK5C,GAJAy6C,EAAa10C,MAAMq0B,WAAa,OAChCqgB,EAAal8C,UAAY8mB,EAAgBi1B,EACzCG,EAAat5C,YAAc2mB,GAA4BmE,IACvDuuB,EAAa9gC,YAAY+gC,GACP,KAAdF,EAAkB,CACpB,MAAMG,EAAgBt+C,SAAS4D,cAAc,SAC7C06C,EAAcv5C,YAAc,KAAKo5C,KACjCC,EAAa9gC,YAAYghC,GAE3BL,EAAQ3gC,YACNigC,GACE,cACA,4BACAa,EACAJ,IAIJ,MAAMO,EACJh3B,KAAKmT,QAAU3B,KAAuB/I,GAClCzG,EACAH,EACAo1B,EACJj3B,KAAKmT,QAAU3B,KAAuB/I,GAClClD,IACGkD,IAAoBzI,KAAKmT,QAAU3B,OAAyBN,MAE/D,GACAgmB,EAAmBz+C,SAAS49C,yBAC5Bc,EAAmB1+C,SAAS4D,cAAc,QAKhD,GAJA86C,EAAiB/0C,MAAMq0B,WAAa,OACpC0gB,EAAiBv8C,UAAY8mB,EAAgBs1B,EAC7CG,EAAiB35C,YAAc2mB,GAA4BsE,IAC3DyuB,EAAiBnhC,YAAYohC,GACL,KAApBF,EAAwB,CAC1B,MAAMG,EAAoB3+C,SAAS4D,cAAc,SACjD+6C,EAAkB55C,YAAc,KAAKy5C,KACrCC,EAAiBnhC,YAAYqhC,GAE/BV,EAAQ3gC,YACNigC,GACE,cACA,qCACAkB,EACAT,IAIJ,MAAMY,EAAa9uB,KAAqBC,GAElC8uB,EAAqB7+C,SAAS4D,cAAc,QAClDi7C,EAAmBl1C,MAAMq0B,WAAa,OACtC6gB,EAAmB18C,UAAY8mB,EAAgB6G,GAC/C+uB,EAAmB95C,YACjB2mB,GAA4BoE,KAC3B8uB,EAAa,MAAMlzB,GAA4BqE,MAA2B,IAC7EkuB,EAAQ3gC,YACNigC,GACE,cACA,yBAAwBqB,EAAa,oBAAsB,IAC3DC,EACAb,IAIJ,MAAMc,EAA2B9+C,SAAS4D,cAAc,QACxDk7C,EAAyBn1C,MAAMq0B,WAAa,OAC5C8gB,EAAyB38C,UAAY8mB,EAAgB61B,EACrDA,EAAyB/5C,YACvB2mB,GAA4BuE,KAC3B2uB,EAAa,MAAMlzB,GAA4BwE,MAAiC,IACnF+tB,EAAQ3gC,YACNigC,GACE,cACA,kCAAiCqB,EAAa,oBAAsB,IACpEE,EACAd,IAIJ,MAAMe,EACJ90C,KAAK2D,IACqC,KAAvC2Z,KAAKmT,QAAU3B,MAChBxI,GAA6BC,GAAoC,GAAK,IACpE,GACAwuB,EAAeh/C,SAAS4D,cAAc,QAc5C,OAbAo7C,EAAar1C,MAAMq0B,WAAa,OAChCghB,EAAa78C,UAAY8mB,EAAgB+1B,EACzCA,EAAaj6C,YACX2mB,GAA4B+E,GAAyBsuB,IACpDH,EAAa,MAAMlzB,GAA4BgF,GAAwBquB,KAAkB,IAC5Fd,EAAQ3gC,YACNigC,GACE,cACA,yBAAwBqB,EAAa,oBAAsB,IAC3DI,EACAhB,IAGGC,EAm1BagB,IAGpBlB,EAAMzgC,YAAY+/B,GAAY,gBAAiB,UAC3Cj2B,EAAUwrB,OAAOmB,OACnBgK,EAAMzgC,YAj1BV,WAEE,MAAM0gC,EAAkBz2B,KAAKojB,SAAS,oBAClC,2CACA,6BAEEsT,EAAUj+C,SAAS4D,cAAc,OACvCq6C,EAAQ97C,UAAY,sBAEpB,MAAM+8C,EACJ33B,KAAKmT,QAAU3B,KAAuBnH,GAClCrI,EACAH,EACA+1B,EACJ53B,KAAKmT,QAAU3B,KAAuBnH,GAClC9E,IACG8E,IAAsBrK,KAAKmT,QAAU3B,OACpCN,MAEJ,GACA2mB,EAAep/C,SAAS49C,yBACxByB,EAAer/C,SAAS4D,cAAc,QAK5C,GAJAy7C,EAAa11C,MAAMq0B,WAAa,OAChCqhB,EAAal9C,UAAY8mB,EAAgBi2B,EACzCG,EAAat6C,YAAc2mB,GAA4BkG,IACvDwtB,EAAa9hC,YAAY+hC,GACP,KAAdF,EAAkB,CACpB,MAAMG,EAAgBt/C,SAAS4D,cAAc,SAC7C07C,EAAcv6C,YAAc,KAAKo6C,KACjCC,EAAa9hC,YAAYgiC,GAE3BrB,EAAQ3gC,YACNigC,GACE,cACA,2BACA6B,EACApB,IAIJ,MAAMuB,EACJh4B,KAAKmT,QAAU3B,KAAuBhH,GAClCxI,EACAH,EACAo2B,EACJj4B,KAAKmT,QAAU3B,KAAuBhH,GAClCjF,IACGiF,IAA2BxK,KAAKmT,QAAU3B,OACzCN,MAEJ,GACAgnB,EAAoBz/C,SAAS49C,yBAC7B8B,EAAoB1/C,SAAS4D,cAAc,QAKjD,GAJA87C,EAAkB/1C,MAAMq0B,WAAa,OACrC0hB,EAAkBv9C,UAAY8mB,EAAgBs2B,EAC9CG,EAAkB36C,YAAc2mB,GAA4BqG,IAC5D0tB,EAAkBniC,YAAYoiC,GACP,KAAnBF,EAAuB,CACzB,MAAMG,EAAqB3/C,SAAS4D,cAAc,SAClD+7C,EAAmB56C,YAAc,KAAKy6C,KACtCC,EAAkBniC,YAAYqiC,GAEhC1B,EAAQ3gC,YACNigC,GACE,cACA,mCACAkC,EACAzB,IAIJ,MAAM4B,EACJr4B,KAAKmT,QAAU3B,KAAuB7G,GAClC3I,EACAH,EACAy2B,EACJt4B,KAAKmT,QAAU3B,KAAuB7G,GAClCpF,IACGoF,IAA4B3K,KAAKmT,QAAU3B,OAC1CN,MAEJ,GACAqnB,EAAmB9/C,SAAS49C,yBAC5BmC,EAAmB//C,SAAS4D,cAAc,QAKhD,GAJAm8C,EAAiBp2C,MAAMq0B,WAAa,OACpC+hB,EAAiB59C,UAAY8mB,EAAgB22B,EAC7CG,EAAiBh7C,YAAc2mB,GAA4BwG,IAC3D4tB,EAAiBxiC,YAAYyiC,GACL,KAApBF,EAAwB,CAC1B,MAAMG,EAAoBhgD,SAAS4D,cAAc,SACjDo8C,EAAkBj7C,YAAc,KAAK86C,KACrCC,EAAiBxiC,YAAY0iC,GAE/B/B,EAAQ3gC,YACNigC,GACE,cACA,oCACAuC,EACA9B,IAIJ,MAAMiC,EACJ14B,KAAKmT,QAAU3B,KAAuB1G,GAClC9I,EACAH,EACA82B,EACJ34B,KAAKmT,QAAU3B,KAAuB1G,GAClCvF,IACGuF,IACE9K,KAAKmT,QAAU3B,OAChBN,MAEJ,GACA0nB,EAAwBngD,SAAS49C,yBACjCwC,EAAwBpgD,SAAS4D,cAAc,QAKrD,GAJAw8C,EAAsBz2C,MAAMq0B,WAAa,OACzCoiB,EAAsBj+C,UAAY8mB,EAAgBg3B,EAClDG,EAAsBr7C,YAAc2mB,GAA4B2G,IAChE8tB,EAAsB7iC,YAAY8iC,GACL,KAAzBF,EAA6B,CAC/B,MAAMG,EAAyBrgD,SAAS4D,cAAc,SACtDy8C,EAAuBt7C,YAAc,KAAKm7C,KAC1CC,EAAsB7iC,YAAY+iC,GAEpCpC,EAAQ3gC,YACNigC,GACE,cACA,4CACA4C,EACAnC,IAIJC,EAAQ3gC,YACNigC,GACE,cACA,wCACAv9C,SAASqgB,eACP,GAAGqL,GAA4BoG,GAAoB,SAASpG,GAC1DuG,GAAyB,OAG7B+rB,IAIJC,EAAQ3gC,YACNigC,GACE,cACA,iDACAv9C,SAASqgB,eACP,GAAGqL,GAA4B0G,GAA0B,SAAS1G,GAChE0G,GAA0B,OAG9B4rB,IAIJ,MAAMsC,EAAcr2C,KAAK2D,IACN,GAAjB2Z,KAAKqR,UAAiB,GAAK,EAAIpI,GAChB,GAAfjJ,KAAKmT,SAED6lB,EAAWnT,GACf,EACAkT,EACA7vB,IACA,GACI+vB,EAAgBpT,GACpB,EACAkT,EACA5vB,IACA,GAoCF,OAnCAutB,EAAQ3gC,YACNigC,GACE,cACA,wCACAv9C,SAASqgB,eACP,GAAGqL,GAA4B60B,QAAe70B,GAA4B80B,MAE5ExC,IAIJC,EAAQ3gC,YACNigC,GACE,cACA,oCACAv9C,SAASqgB,eACP,GAAGqL,GAA4BmG,SAA6BnG,GAC1DsG,OAGJ,8BAGJisB,EAAQ3gC,YACNigC,GACE,cACA,6CACAv9C,SAASqgB,eACP,GAAGqL,GAA4ByG,SAAmCzG,GAChE4G,OAGJ,8BAGG2rB,EAgoBawC,IAGhBl5B,KAAKyN,QAAQ,gBAAgBU,iBAC/BqoB,EAAMzgC,YAAY+/B,GAAY,SAAU,WACpCj2B,EAAUwrB,OAAOoB,QACnB+J,EAAMzgC,YA/nBZ,WACE,MAAM2gC,EAAUj+C,SAAS4D,cAAc,OACvCq6C,EAAQ97C,UAAY,uBAEpB,MAAMu+C,EACJn5B,KAAKmT,QAAU3B,KAAuB5I,GAClC5G,EACAH,EACAu3B,EACJp5B,KAAKmT,QAAU3B,KAAuB5I,GAClCrD,IACGqD,IAAgB5I,KAAKmT,QAAU3B,OAAyBN,MAE3D,GAEAmoB,EAAiB5gD,SAAS49C,yBAC1BiD,EAAiB7gD,SAAS4D,cAAc,QAK9C,GAJAi9C,EAAel3C,MAAMq0B,WAAa,OAClC6iB,EAAe1+C,UAAY8mB,EAAgBy3B,EAC3CG,EAAe97C,YAAc2mB,GAA4ByE,IACzDywB,EAAetjC,YAAYujC,GACP,KAAhBF,EAAoB,CACtB,MAAMG,EAAkB9gD,SAAS4D,cAAc,SAC/Ck9C,EAAgB/7C,YAAc,KAAK47C,KACnCC,EAAetjC,YAAYwjC,GAE7B7C,EAAQ3gC,YACNigC,GACE,cACA,yCACAqD,EACA,+BAGJ3C,EAAQ3gC,YACNigC,GACE,cACA,qCACAv9C,SAASqgB,eAAeqL,GAA4B0E,KACpD,+BAIJ,MAAM2wB,EACJx5B,KAAKmT,QAAU3B,KAAsC,EAAf5I,GAClC5G,EACAH,EACA43B,EAAmB/2C,KAAK2D,IACY,KAAvC2Z,KAAKmT,QAAU3B,MACa,GAA7BxI,GAAkC,IAE9B0wB,EACJ15B,KAAKmT,QAAU3B,KAAsC,EAAf5I,GAClCrD,IACkB,EAAfqD,IAAoB5I,KAAKmT,QAAU3B,OAAyBN,MAE/D,GAEAyoB,EAAuBlhD,SAAS49C,yBAChCuD,EAAuBnhD,SAAS4D,cAAc,QAKpD,GAJAu9C,EAAqBx3C,MAAMq0B,WAAa,OACxCmjB,EAAqBh/C,UAAY8mB,EAAgB83B,EACjDI,EAAqBp8C,YAAc2mB,GAA2C,EAAfyE,IAC/D+wB,EAAqB5jC,YAAY6jC,GACP,KAAtBF,EAA0B,CAC5B,MAAMG,EAAwBphD,SAAS4D,cAAc,SACrDw9C,EAAsBr8C,YAAc,KAAKk8C,KACzCC,EAAqB5jC,YAAY8jC,GAsCnC,OApCAnD,EAAQ3gC,YACNigC,GACE,cACA,kDACA2D,EACA,+BAGJjD,EAAQ3gC,YACNigC,GACE,cACA,8CACAv9C,SAASqgB,eAAeqL,GAAiD,EAArB0E,KACpD,+BAGJ6tB,EAAQ3gC,YACNigC,GACE,cACA,qCACAv9C,SAASqgB,eAAeqL,GAA4Bs1B,IACpD,+BAGA3wB,IACF4tB,EAAQ3gC,YACNigC,GACE,cACA,mEACAv9C,SAASqgB,eACP,GAAGqL,GAA4B2E,QAAkBC,OAEnD,+BAIC2tB,EAshBeoD,KAIlB95B,KAAKyN,QAAQmM,KAAKzL,iBACpBqoB,EAAMzgC,YAAY+/B,GAAY,SAAU,WACpCj2B,EAAUwrB,OAAOqB,QACnB8J,EAAMzgC,YAthBZ,WACE,MAAM2gC,EAAUj+C,SAAS4D,cAAc,OACvCq6C,EAAQ97C,UAAY,uBAEpB,MAAMm/C,EACJ/5B,KAAKmT,QAA2B,GAAjBnT,KAAKqR,UAAiB,GAAK,IAAMrP,EAAYH,EACxDm4B,EAAgBvhD,SAAS4D,cAAc,QAC7C29C,EAAc53C,MAAMq0B,WAAa,OACjCujB,EAAcp/C,UAAY8mB,EAAgBq4B,EAC1CC,EAAcx8C,YAAc2mB,GAA6C,GAAjBnE,KAAKqR,UAAiB,GAAK,KACnFqlB,EAAQ3gC,YACNigC,GACE,QACA,iDACAgE,IAIJ,MAAMC,EACJj6B,KAAKmT,QAA2B,GAAjBnT,KAAKqR,UAAiB,IAAMrP,EAAYH,EACnDq4B,EAAgBzhD,SAAS4D,cAAc,QAC7C69C,EAAc93C,MAAMq0B,WAAa,OACjCyjB,EAAct/C,UAAY8mB,EAAgBu4B,EAC1CC,EAAc18C,YAAc2mB,GAA6C,GAAjBnE,KAAKqR,UAAiB,KAC9EqlB,EAAQ3gC,YACNigC,GACE,QACA,iDACAkE,IAIJ,MAAMC,EACJn6B,KAAKmT,QAA2B,GAAjBnT,KAAKqR,UAAiB,GAAK,GAAKrP,EAAYH,EACvDu4B,EAAgB3hD,SAAS4D,cAAc,QAC7C+9C,EAAch4C,MAAMq0B,WAAa,OACjC2jB,EAAcx/C,UAAY8mB,EAAgBy4B,EAC1CC,EAAc58C,YAAc2mB,GAA6C,GAAjBnE,KAAKqR,UAAiB,GAAK,IACnFqlB,EAAQ3gC,YACNigC,GACE,QACA,iDACAoE,IAIJ,MAAMC,EACJr6B,KAAKmT,QAA2B,GAAjBnT,KAAKqR,UAAiB,GAAK,IAAMrP,EAAYH,EACxDy4B,EAAgB7hD,SAAS4D,cAAc,QAC7Ci+C,EAAcl4C,MAAMq0B,WAAa,OACjC6jB,EAAc1/C,UAAY8mB,EAAgB24B,EAC1CC,EAAc98C,YAAc2mB,GAA6C,GAAjBnE,KAAKqR,UAAiB,GAAK,KACnFqlB,EAAQ3gC,YACNigC,GACE,QACA,iDACAsE,IAGJ,MAAMC,EAAoB,GAe1B,OAdA58C,OAAO6C,KAAKujC,IAAYzU,SAASn1B,IAC1B6lB,KAAK+gB,YAAYgD,GAAW5pC,KAC/BogD,EAAkBt+C,KAAK8nC,GAAW5pC,OAGL,IAA7BogD,EAAkBngD,QACpBs8C,EAAQ3gC,YACNigC,GACE,QACA,kCACAE,GAAcqE,KAIb7D,EA4ce8D,KAItBhE,EAAMzgC,YAAY+/B,GAAY,WAAY,aACtCj2B,EAAUwrB,OAAOsB,UACnB6J,EAAMzgC,YA3cV,WACE,MAAM2gC,EAAUj+C,SAAS4D,cAAc,OACvCq6C,EAAQ97C,UAAY,yBAEpB,MAAM6/C,EAAkB/3C,KAAKkE,MAC3BoZ,KAAKymB,gBACHxb,GACEjL,KAAK0mB,aACL/c,IACC3J,KAAK+gB,YAAY,mBAAqB/gB,KAAK4d,IAAI,iBAC5CrU,GACA,KAGVmtB,EAAQ3gC,YACNigC,GACE,cACA,6BACAv9C,SAASqgB,eACP,GAAGqL,GAA4BnE,KAAKoW,eAAejS,GAA4Bs2B,MAEjF,+BAIJ,MAAMC,EAAah4C,KAAK6D,IACtB,EACAyZ,KAAK+xB,oBAAoB0I,EAAkB,IACxCxvB,GACCjL,KAAK0mB,aACL/c,IAEE3J,KAAK+gB,YAAY,mBAAqB/gB,KAAK4d,IAAI,kBAC3CrU,GAGFA,GACA,KAEJoxB,EAAkBliD,SAAS49C,yBACjCsE,EAAgB5kC,YAAYtd,SAASqgB,eAAeqL,GAA4Bu2B,KAChF,MAAME,EAAmBniD,SAAS4D,cAAc,SAChDu+C,EAAiBp9C,YAAc,KAAK+nB,GAClCm1B,EAAaxvB,GACb,MAEFyvB,EAAgB5kC,YAAY6kC,GAC5BlE,EAAQ3gC,YACNigC,GACE,cACA,wBACA2E,EACA,gCAIJjE,EAAQ3gC,YACNigC,GACE,cACA,6BACAv9C,SAASqgB,eACP,GAAGqL,GAA4BnE,KAAK66B,oBAAoB12B,GACtDs2B,EAAkBz6B,KAAKoW,SAAWpW,KAAK66B,kBAG3C,oCAIJnE,EAAQ3gC,YACNigC,GACE,QACA,6CACAv9C,SAASqgB,eAAeqL,GAA4BiF,GAAkB,MAI1E,MAAM0xB,EAAWl2B,OAAO/E,EAAU2oB,qBAClC,IAAK5jB,OAAOnJ,MAAMq/B,GAAW,CAC3B,MAAMC,EACJD,EACAp4C,KAAKkE,MAAMoZ,KAAKymB,gBAAgBzmB,KAAK0mB,aAAe1mB,KAAKmgB,gBACvD4a,EAAoB,IACtBrE,EAAQ3gC,YACNigC,GACE,QACA,iDACAv9C,SAASqgB,eAAeqL,GAA4B42B,MAGxDrE,EAAQ3gC,YACNigC,GACE,QACA,mDACAv9C,SAASqgB,eACPyM,GAAWw1B,EAAoB3xB,QAOzC,MAAM4xB,EAr6BR,SAAoBC,GAElB,IAAIC,EAASl7B,KAAKqR,UAElB0E,KAE2C,IAAvCzJ,GAAY,gBAAgBc,SAC9Bd,GAAY,wBAAwBc,OAAS,EAC7Cd,GAAY,yBAAyBc,OAAS,EAC9Cd,GAAY,mBAAmBc,OAAS,EACxCd,GAAY,0BAA0Bc,OAAS,EAC/Cd,GAAY,gBAAgBc,OAAS,EAErC0U,KAEAoZ,EAASlzB,GAET+N,MAGE9K,IAA0B,KAAS4W,GAAO,aAC1C5W,IAA0B,KAAY4W,GAAO,YAC7C5W,IAA0B,MAAe4W,GAAO,gBAChD5W,IAA0B,MAAkB4W,GAAO,YACnD5W,IAA0B,MAAqB4W,GAAO,iBACtD5W,IAA0B,MAC5B4W,GAAO,kBACL5W,IAA0B,MAC5B4W,GAAO,iBACL5W,IAA0B,MAC5B4W,GAAO,cACL5W,IAA0B,MAC5B4W,GAAO,iBACL5W,IAA0B,MAC5B4W,GAAO,uBACL5W,IAA0B,MAC5B4W,GAAO,mBACL5W,IAA0B,MAC5B4W,GAAO,uBACL5W,IAA0B,MAC5B4W,GAAO,wBACL5W,IAA0B,MAC5B4W,GAAO,mBAEP5W,IAA0B,MAE1B4W,GAAO,WAEP5W,IACA,MAEA4W,GAAO,iBAEP5W,IACA,MAEA4W,GAAO,iCAETvV,GAAY,wBAAwBc,OAAS,EAC7Cd,GAAY,yBAAyBc,OAAS,EAC9Cd,GAAY,mBAAmBc,OAAS,EACxCd,GAAY,0BAA0Bc,OAAS,EAC/Cd,GAAY,gBAAgBc,OAAS,EAErC5F,GAAcyzB,EAEd,MAAMhW,EAAwB3d,GAE9Bwa,KAEAmC,KAEIgB,IAA0B3d,IAC5Bwa,KAGF,MAAMqZ,EAAWnzB,GAAekzB,EAKhC,OAFA1zB,GAAcxH,KAAKoW,SAEZ+kB,EAo1BYC,CAAWX,GACxBY,EAAY5iD,SAAS49C,yBAC3BgF,EAAUtlC,YAAYtd,SAASqgB,eAAeqL,GAA4B62B,KAC1E,MAAMhjB,EAAWt1B,KAAKC,MAAOq4C,EAAah7B,KAAKqR,UAAa,KAC5D,GAAIzM,OAAOC,SAASmT,IAA0B,IAAbA,EAAgB,CAC/C,MAAMsjB,EAAa7iD,SAAS4D,cAAc,SAC1Ci/C,EAAW99C,YAAc,KAAKw6B,EAAW,kBACzCqjB,EAAUtlC,YAAYulC,GAExB5E,EAAQ3gC,YACNigC,GACE,cACA,qBACAqF,EACA,4BAIJ,MAAME,EAAkB74C,KAAKkE,MAAMoZ,KAAKymB,gBAAgBzmB,KAAK0mB,eACvD8U,EAAW94C,KAAKkE,MACpBoZ,KAAKymB,gBAAgBzmB,KAAK0mB,aAAe1mB,KAAKmgB,gBAE1Csb,EAAUD,EAAWD,EAC3B,IAAKv7B,KAAK4d,IAAI,eAAgB,CAC5B,IAAI8d,EAAS,EAAKF,EAAW,GACzBE,EAAS,IAAGA,GAAU,IAC1B,MAAMC,EAAaF,EAAUC,EACvBE,EAAaJ,EAAWE,EACxBG,EAAQpjD,SAAS49C,yBACvBwF,EAAM9lC,YACJtd,SAASqgB,eACP,GAAG8iC,EAAW32B,sBAAsB02B,EAAW12B,sBAAsBy2B,OAGzEhF,EAAQ3gC,YACNigC,GAAa,QAAS,qCAAsC6F,IAIhE,IAAK77B,KAAK4d,IAAI,gBAAiB,CAC7B,IAAIke,EAAW,IAAON,EAAW,IAC7BM,EAAW,IAAGA,GAAY,KAC9B,MAAMC,EAAeN,EAAUK,EACzBE,EAAeR,EAAWM,EAC1BG,EAAUxjD,SAAS49C,yBACzB4F,EAAQlmC,YACNtd,SAASqgB,eACP,GAAGkjC,EAAa/2B,sBAAsB82B,EAAa92B,sBAAsB62B,OAG7EpF,EAAQ3gC,YACNigC,GAAa,QAAS,sCAAuCiG,IAIjE,IAAKj8B,KAAK4d,IAAI,gBAAiB,CAC7B,IAAIse,EAAc,OAAUV,EAAW,IACnCU,EAAc,IAAGA,GAAe,KACpC,MAAMC,EAAkBV,EAAUS,EAC5BE,EAAkBZ,EAAWU,EAC7BG,EAAa5jD,SAAS49C,yBAC5BgG,EAAWtmC,YACTtd,SAASqgB,eACP,GAAGsjC,EAAgBn3B,sBAAsBk3B,EAAgBl3B,sBAAsBi3B,OAGnFxF,EAAQ3gC,YACNigC,GAAa,QAAS,sCAAuCqG,IAIjE,OAAO3F,EA8Ra4F,IAGhBt8B,KAAKsR,UAAY,IACnBklB,EAAMzgC,YAAY+/B,GAAY,YAAa,UACvCj2B,EAAUwrB,OAAOuB,OAAO,CAC1B,MAAM2P,EAAa9jD,SAAS49C,yBAC5BkG,EAAWxmC,YACTtd,SAASqgB,eACP,GAAGqL,GAA4BwF,SAA0BxF,GACvDyF,SAIN,MAAM4yB,EAAU/jD,SAAS4D,cAAc,KACvCmgD,EAAQh/C,YAAc,iBACtBg/C,EAAQ5hD,UAAY,SACpB4hD,EAAQnK,QAAU,WAChB8B,MAEFoI,EAAWxmC,YAAYymC,GACvBhG,EAAMzgC,YACJigC,GACE,QACA,kCACAuG,IAGJ,MAAME,EAAiBhkD,SAAS49C,yBAChCoG,EAAe1mC,YACbtd,SAASqgB,eAAe,GAAGqL,GAA4B0F,GAAsB,SAE/E,MAAM6yB,EAAcjkD,SAAS4D,cAAc,KAC3CqgD,EAAYl/C,YAAc,qBAC1Bk/C,EAAY9hD,UAAY,SACxB8hD,EAAYrK,QAAU,WACa,OAA7BxoB,GAAsB,KACxB7J,KAAKuR,UAAU1H,GAAsB,IAAIuqB,GAAK,IAElDqI,EAAe1mC,YAAY2mC,GAC3BlG,EAAMzgC,YACJigC,GACE,QACA,6DAC+B,OAA7BnsB,GAAsB,GAClBA,GAAsB,GACtB,UAEN4yB,IASR,GAHAjG,EAAMzgC,YA7UR,WACE,MAAM2gC,EAAUj+C,SAAS4D,cAAc,OACvCq6C,EAAQ97C,UAAY,uBAEpB,IAAI+hD,GAAW,EACf,MAAMC,EAA0B,GAChCj/C,OAAO6C,KAAKojC,IAActU,SAASn1B,IAC5B6lB,KAAK4d,IAAIgG,GAAazpC,MACzByiD,EAAwB3gD,KAAK2nC,GAAazpC,IAC1CwiD,GAAW,MAGf,MAAME,EAA0B,GAChCl/C,OAAO6C,KAAKqjC,IAAevU,SAASn1B,IAC7B6lB,KAAK4d,IAAIiG,GAAc1pC,MAC1B0iD,EAAwB5gD,KAAK4nC,GAAc1pC,IAC3CwiD,GAAW,MAGf,MAAMG,EAA0B,GAChCn/C,OAAO6C,KAAKsjC,IAAYxU,SAASn1B,IAC1B6lB,KAAK4d,IAAIkG,GAAW3pC,MACvB2iD,EAAwB7gD,KAAK6nC,GAAW3pC,IACxCwiD,GAAW,MAGf,MAAMI,EAAoB,GAC1Bp/C,OAAO6C,KAAKwf,KAAKg9B,UAAU1tB,SAASn1B,IAC7B6lB,KAAK+gB,YAAY/gB,KAAKg9B,SAAS7iD,MAClC4iD,EAAkB9gD,KAAK+jB,KAAKg9B,SAAS7iD,IACrCwiD,GAAW,MAGf,MAAMM,EAAkB,GACxBt/C,OAAO6C,KAAKwf,KAAKk9B,cAAc5tB,SAASn1B,IACjC6lB,KAAK+gB,YAAY/gB,KAAKk9B,aAAa/iD,MACtC8iD,EAAgBhhD,KAAK+jB,KAAKk9B,aAAa/iD,IACvCwiD,GAAW,MAGf,MAAM7b,EACJ9gB,KAAK+gB,YAAY,mBAAqB/gB,KAAK4d,IAAI,iBAC3Cuf,EAAUn9B,KAAK4d,IAAI,eAEzB,IAAoB,cAAhB5d,KAAKge,QAA0B2e,GAAY7b,GAAUqc,KACvDzG,EAAQ3gC,YAAY+/B,GAAY,kBAAmB,QAC/Cj2B,EAAUwrB,OAAOwB,KAAK,CACxB,GAAuC,IAAnC+P,EAAwBxiD,OAAc,CACxCs8C,EAAQ3gC,YACNigC,GACE,QACA,gCACAE,GAAc0G,KAGlB,IAAIQ,EAAoB,IAIxB,GAHIp9B,KAAKkY,UAAU,oBAAmBklB,EAAoB,IACtDp9B,KAAK4d,IAAI,gBAAewf,GAAqB,IACjDA,GAAqB,EAAIp9B,KAAKq9B,eAC1Br9B,KAAKsN,OAAQ,CACf,MAAMc,EAASpO,KAAKsN,OAAO,WACZ,IAAXc,EAAcgvB,GAAqB,GACnB,IAAXhvB,EAAcgvB,GAAqB,IACxB,IAAXhvB,IAAcgvB,GAAqB,KAE9C,MAAME,EAAwBV,EAAwBxiD,OAAS,EAC/Ds8C,EAAQ3gC,YACNigC,GACE,QACA,4DACAv9C,SAASqgB,eACP,GAAGqL,IACA,EAAIi5B,GAAqBE,EAAwB,WAC5Cn5B,IACL,EAAwB,GAApBi5B,GAA2BE,EAAwB,WAMlE,GAAuC,IAAnCT,EAAwBziD,OAAc,CACxCs8C,EAAQ3gC,YACNigC,GACE,QACA,gCACAE,GAAc2G,KAGlB,IAAIU,EAAoB,GAIxB,GAHIv9B,KAAKkY,UAAU,iBAAgBqlB,EAAoB,IACvDA,GAAqB,EAAIv9B,KAAKq9B,eAC1Br9B,KAAK4d,IAAI,cAAa2f,GAAqB,KAC3Cv9B,KAAKsN,OAAQ,CACf,MAAMc,EAASpO,KAAKsN,OAAO,WACZ,IAAXc,EAAcmvB,GAAqB,GACnB,IAAXnvB,EAAcmvB,GAAqB,IACxB,IAAXnvB,IAAcmvB,GAAqB,KAE9C,MAAMD,EAAwBT,EAAwBziD,OAAS,EAC/Ds8C,EAAQ3gC,YACNigC,GACE,QACA,6CACAv9C,SAASqgB,eACP,GAAGqL,IACA,EAAIo5B,GAAqBD,EAAwB,WAMrB,IAAnCR,EAAwB1iD,QAC1Bs8C,EAAQ3gC,YACNigC,GACE,QACA,gCACAE,GAAc4G,KAIpB,MAAMU,EAAc,SAAUC,GAC5B,IAAIC,EAAcD,GAAoB,EAAIz9B,KAAKq9B,gBAI/C,GAHIr9B,KAAKkY,UAAU,0BAAyBwlB,GAAe,IACvD19B,KAAK4d,IAAI,cAAa8f,GAAe,IACrC19B,KAAK4d,IAAI,eAAc8f,GAAe,IACtC19B,KAAKsN,OAAQ,CACf,MAAMc,EAASpO,KAAKsN,OAAO,WACZ,IAAXc,EAAcsvB,GAAe,GACb,IAAXtvB,EAAcsvB,GAAe,IAClB,IAAXtvB,IAAcsvB,GAAe,KAGxC,MAAMC,EAAgB,EAAID,EACpBE,EAAe59B,KAAKg9B,SAAS5iD,OAAS2iD,EAAkB3iD,OACxDyjD,EACJ79B,KAAKk9B,aAAa9iD,OAAS6iD,EAAgB7iD,OACvC0jD,EACY,GAAhBH,GAAuB,EAAIC,EAAe59B,KAAKg9B,SAAS5iD,QACpD2jD,EAEJ,GADAJ,GAEC,EAAIE,EAAmB79B,KAAKk9B,aAAa9iD,QAKtC4jD,EAHY,GAAhBL,GAAuBC,EAAe59B,KAAKg9B,SAAS5iD,QAEpC,GAAhBujD,GAAuBE,EAAmB79B,KAAKk9B,aAAa9iD,QAM9D,MAAO,CAAC0jD,EAHI,GAAVE,GAAiB,EAAIJ,EAAe59B,KAAKg9B,SAAS5iD,QAGvB2jD,EADjB,GAAVC,GAAiB,EAAIH,EAAmB79B,KAAKk9B,aAAa9iD,UAG7B,IAA7B2iD,EAAkB3iD,SACpBs8C,EAAQ3gC,YACNigC,GACE,QACA,oCACAE,GAAc6G,KAGlBrG,EAAQ3gC,YACNigC,GACE,QACA,yDACAv9C,SAASqgB,eACP,GAAGqL,GAAmD,IAAvBq5B,EAAY,KAAM,UAAgBr5B,GACzC,IAAtBq5B,EAAY,IAAK,WAMI,IAA3BP,EAAgB7iD,SAClBs8C,EAAQ3gC,YACNigC,GACE,QACA,kCACAE,GAAc+G,KAGlBvG,EAAQ3gC,YACNigC,GACE,QACA,6DACAv9C,SAASqgB,eACP,GAAGqL,GAAmD,IAAvBq5B,EAAY,KAAM,UAAgBr5B,GACzC,IAAtBq5B,EAAY,IAAK,WAOP,cAAhBx9B,KAAKge,QACP0Y,EAAQ3gC,YACNigC,GACE,QACA,kBACAv9C,SAASqgB,eAAeqL,GAA4BmF,OAGtDwX,GACF4V,EAAQ3gC,YACNigC,GACE,cACA,wBACAv9C,SAASqgB,eAAeqL,GAA4BoF,KACpD,6BAIF4zB,GACFzG,EAAQ3gC,YACNigC,GACE,QACA,yBACAv9C,SAASqgB,eACJpW,KAAKC,MAA2B,KAApB0mB,GAAe,IAAc,IAA5C,OAOZ,OAAOqtB,EA4GWuH,IAElBzH,EAAMzgC,YAAY+/B,GAAY,gBAAiB,SAC3Cj2B,EAAUwrB,OAAOyB,KAAM,CAqCzB,GApCA0J,EAAMzgC,YACJigC,GACE,QACA,oCACEhzB,EAAYnD,EAAU+gB,YAAc,GAChC,GAAG5d,EAAYnD,EAAU+gB,sBACzB5d,EAAYnD,EAAU+gB,YAAc,IACV,IAAzB/gB,EAAU+gB,WAAmB,UAAY,eAEhDnoC,SAASqgB,eAAeqL,GAA4B+M,KAAU,MAGlEslB,EAAMzgC,YACJigC,GACE,QACA,0CACE/yB,EAAWpD,EAAUmhB,iBACQ,IAA5BnhB,EAAUmhB,cAAsB,UAAY,cAC/CvoC,SAASqgB,eAAeqL,GAA4B8F,GAAoB,MAG5EusB,EAAMzgC,YACJigC,GACE,QACA,+BAA+B/yB,EAAWpD,EAAUmhB,iBACtB,IAA5BnhB,EAAUmhB,cAAsB,UAAY,cAE9CvoC,SAASqgB,eACPqL,GACE2B,GAA8Bo4B,QAC5Bj0B,GAAqBhH,EAAWpD,EAAUmhB,oBAMhDhhB,KAAK4d,IAAI,mBAAoB,CAC/B,MAAMgH,EAAW,GACjBjnC,OAAO6C,KAAKmjC,IAAUrU,SAASn1B,IACxB6lB,KAAK4d,IAAI+F,GAASxpC,KACrByqC,EAAS3oC,KAAK0nC,GAASxpC,OAGH,IAApByqC,EAASxqC,QACXo8C,EAAMzgC,YACJigC,GACE,QACA,+BACAE,GAActR,KAatB,GATI/kB,EAAU4oB,cACZ+N,EAAMzgC,YACJigC,GACE,QACA,wBACAv9C,SAASqgB,eAAeqL,GAA4BnE,KAAKm+B,uBAI3Dn+B,KAAK8c,MAAMC,SAAU,CACvB,MAAM5K,EAAQ15B,SAAS4D,cAAc,QACrC81B,EAAMvE,GAAK,uBACXuE,EAAMgL,UAAYnd,KAAKod,QACV,GAAXpd,KAAKqX,KAAYrX,KAAK2wB,SAAW,EAAI3wB,KAAKqd,GAAgB,GAAXrd,KAAKqX,MACpD,GAEFmf,EAAMzgC,YACJigC,GAAa,QAAS,qBAAsB7jB,KAKlD5mB,EAAE,QAAQijC,aAAagI,EAAOjrC,EAAE,QAAQmlB,WAAW,IAE/C7Q,EAAU0oB,iBApoJdh9B,EAAE,QAAQmlB,WAAWpB,SAAS8uB,IAC5B,GAAIA,EAAYzhB,SAAS,GACvB,GACwC,aAAtCyhB,EAAYzhB,SAAS,GAAGhlB,WACxBwS,GACA,CACA,MAAMk0B,EACJl0B,GAA6BtvB,MAAM,IAAIZ,OAAO,MAAO,MAAQ,GAC1DG,OAAS,EACRk2C,EAAQ73C,SAAS4D,cAAc,OACrCi0C,EAAM1iB,GAAK,iCACX0iB,EAAM11C,UAAY,UAClB,MAAM0jD,EAAY7lD,SAAS4D,cAAc,OACzCiiD,EAAU3mC,UAAY,qCAAqC0mC,KACzDr+B,KAAKu+B,iBAAiBnkD,WACnBsI,KAAKkE,MACPy3C,EAA0Br+B,KAAKu+B,iBAAiBnkD,OAAU,SAE7Dk2C,EAAMv6B,YAAYuoC,GAClBF,EAAYroC,YAAYu6B,GACxB,MAAM/M,EAAW9qC,SAAS4D,cAAc,OACxCknC,EAAS3oC,UAAY,mBACrB2oC,EAAS5rB,UAAYwS,GACrBi0B,EAAYroC,YAAYwtB,QACnB,GAA0C,aAAtC6a,EAAYzhB,SAAS,GAAGhlB,UAA0B,CAC3D,GAAIuS,GAAsB,CACxB,MAAMs0B,EACJt0B,GAAqBrvB,MAAM,IAAIZ,OAAO,MAAO,MAAQ,GAAGG,OAAS,EAC7Dk2C,EAAQ73C,SAAS4D,cAAc,OACrCi0C,EAAM1iB,GAAK,yBACX0iB,EAAM11C,UAAY,UAClB,MAAM0jD,EAAY7lD,SAAS4D,cAAc,OACzCiiD,EAAU3mC,UAAY,mCAAmC6mC,KACvDx+B,KAAKoV,eAAe,IAAIh7B,OAAS4lB,KAAKoV,eAAeqpB,KAAKrkD,WACvDsI,KAAKkE,MACP43C,GACEx+B,KAAKoV,eAAe,IAAIh7B,OACvB4lB,KAAKoV,eAAeqpB,KAAKrkD,QAC3B,SAEJk2C,EAAMv6B,YAAYuoC,GAClBF,EAAY5P,aAAa8B,EAAO8N,EAAY1tB,WAAW,IACvD,MAAM6S,EAAW9qC,SAAS4D,cAAc,OACxCknC,EAAS3oC,UAAY,mBACrB2oC,EAAS5rB,UAAYuS,GACrBk0B,EAAY5P,aACVjL,EACA9qC,SAASwiC,eAAe,0BAA0ByjB,aAGtD,GAAIt0B,GAA6B,CAC/B,MAAMu0B,EACJv0B,GAA4BvvB,MAAM,IAAIZ,OAAO,MAAO,MAAQ,GACzDG,OAAS,EACRk2C,EAAQ73C,SAAS4D,cAAc,OACrCi0C,EAAM1iB,GAAK,gCACX0iB,EAAM11C,UAAY,UAClB,MAAM0jD,EAAY7lD,SAAS4D,cAAc,OACzCiiD,EAAU3mC,UAAY,mCAAmCgnC,KACvD3+B,KAAKoV,eAAe+c,OAAO/3C,WACxBsI,KAAKkE,MACP+3C,EAAwB3+B,KAAKoV,eAAe+c,OAAO/3C,OAAU,SAEhEk2C,EAAMv6B,YAAYuoC,GAClBF,EAAYroC,YAAYu6B,GACxB,MAAM/M,EAAW9qC,SAAS4D,cAAc,OACxCknC,EAAS3oC,UAAY,mBACrB2oC,EAAS5rB,UAAYyS,GACrBg0B,EAAYroC,YAAYwtB,QAwnJlC,MAAMqb,GAAe,CACnBtT,UAAW,qBACXC,YAAa,cACbC,SAAU,WACVC,QAAS,4BACTC,YAAa,+BACbC,QAAS,WACTC,WAAY,aACZC,aAAc,gBACdS,cAAe,iBAIXuS,GAA2B,CAC/B/S,oBAAqB,wBACrBC,eAAgB,gBAChBC,eAAgB,iBAChBC,gBAAiB,iBACjBC,iBAAkB,cAClBC,iBAAkB,iBAClBC,kBAAmB,WACnBC,qBAAsB,qBAaxB,SAASyS,GAAiBpP,EAAQ7pB,GAChC,MAAM8K,EAAMl4B,SAAS4D,cAAc,OACnCs0B,EAAI/1B,UAAY,QAEhB+1B,EAAIvuB,MAAM6U,QAAU,MACpB0Z,EAAIvuB,MAAMyvB,SAAW,OACrBlB,EAAI5a,YAAYtd,SAASqgB,eAAe,GAAG+M,OAC3C,MAAMkwB,EAAOt9C,SAAS4D,cAAc,QAiBpC,OAhBA05C,EAAK3zC,MAAM+U,OAAS,UACpB4+B,EAAK3zC,MAAMqV,QAAU,eACrBs+B,EAAK3zC,MAAMmG,OAAS,OACpBwtC,EAAK3zC,MAAMkG,MAAQ,OACnBytC,EAAK3zC,MAAMsU,aAAe,MAC1Bq/B,EAAK3zC,MAAMuW,UAAY,SACvBo9B,EAAK3zC,MAAM4U,gBAAkB,UAC7B++B,EAAK3zC,MAAM2F,MAAQ,QACnBguC,EAAK3zC,MAAMyvB,SAAW,OACtBkkB,EAAK3zC,MAAM2vB,cAAgB,SAC3BgkB,EAAKv4C,YAAcqiB,EAAUwrB,OAAOqE,GAAU,IAAM,IACpDqG,EAAK1D,QAAU,WACbwD,GAAanG,GACb1vB,KAAKkf,cAEPvO,EAAI5a,YAAYggC,GACTplB,EA4FT,SAASouB,GAAiBrP,GACxB,MAAM/e,EAAMl4B,SAAS4D,cAAc,OAKnC,GAJAs0B,EAAI/1B,UAAY,UACoB,IAAhCilB,EAAUqE,mBACZyM,EAAI5a,YAlCR,SAA6B25B,GAC3B,MAAMsP,EAAUvmD,SAAS4D,cAAc,KAqBvC,OApBI6nB,GAAkBirB,SAASO,IAC7BsP,EAAQ7hB,UAAY,IACpB6hB,EAAQ58C,MAAM2F,MAAQ,UACjBi3C,EAAQ7hB,UAAY,IAC3B6hB,EAAQpkD,UAAY,SACpBokD,EAAQ3M,QAAU,YA3DpB,SAAgC3C,GAC1BxrB,GAAkBirB,SAASO,GAC7BxrB,GAAoBA,GAAkBsuB,QAAO,SAAUyM,GACrD,OAAOA,IAAQvP,KAEdxrB,GAAkBjoB,KAAKyzC,GAuD1BwP,CAAuBxP,GACvB2D,KACArzB,KAAKkf,cAEP8f,EAAQzM,YAAc,WACpBvyB,KAAK2W,QAAQhlB,KACX9Y,KACA+lC,OAAOrc,EAAsB48B,4BAA4BxnC,aAG7DqnC,EAAQtM,WAAa,WACnB1yB,KAAK2W,QAAQxlB,QAEf6tC,EAAQjpC,YAAYtd,SAASqgB,eAAe,MACrCkmC,EAYWI,CAAoB1P,IAEJ,SAA9BnB,GAAamB,GAAQl1C,KAAiB,CACxC,MAAMwI,EAAIvK,SAAS4D,cAAc,KAC7BkyC,GAAamB,GAAQxB,QAAgC,IAAtBruB,EAAU6vB,GAC3C1sC,EAAEpI,UAAY,aAEdoI,EAAEpI,UAAY,SAEhBoI,EAAE4qB,GAAK+nB,GAA6BjG,EACpC1sC,EAAEqvC,QAAU,YAzgDhB,SAAsB3C,GACpB7vB,EAAU6vB,IAAW,EAEjB7vB,EAAU6vB,KAAYnB,GAAamB,GAAQ1B,MAAM5zC,QACnDylB,EAAU6vB,GAAU,EAChBnB,GAAamB,GAAQxB,SACvB3iC,EAAEoqC,GAA6BjG,GAAQ90C,UAAY,eAChD2Q,EAAEoqC,GAA6BjG,GAAQ90C,UAAY,cAEjB,IAA9B2zC,GAAamB,GAAQxwC,MAC9BqvC,GAAamB,GAAQxwC,OAGvBqM,EAAEoqC,GAA6BjG,GAAQ/3B,UACrC42B,GAAamB,GAAQ1B,MAAMnuB,EAAU6vB,IACvC2D,KA2/CIgM,CAAa3P,IAEf1sC,EAAExF,YAAc+wC,GAAamB,GAAQ1B,MAAMnuB,EAAU6vB,IACrD/e,EAAI5a,YAAY/S,GAChB,MAAMgrC,EAAQv1C,SAAS4D,cAAc,SAIrC,OAHA2xC,EAAMxwC,YAAc+wC,GAAamB,GAAQzB,KACzCD,EAAM5rC,MAAMyW,WAAa,MACzB8X,EAAI5a,YAAYi4B,GACTrd,EAET,GAAkC,QAA9B4d,GAAamB,GAAQl1C,KAAgB,CACvC,MAAM01C,EAASz3C,SAAS4D,cAAc,OACtC6zC,EAAOt1C,UAAY,YACnB,MAAM01C,EAAQ73C,SAAS4D,cAAc,OACrCi0C,EAAMluC,MAAMk9C,MAAQ,OACpBhP,EAAM34B,UAAY42B,GAAamB,GAAQzB,KACvCiC,EAAOn6B,YAAYu6B,GACnB,MAAMiP,EAAU9mD,SAAS4D,cAAc,OACvCkjD,EAAQ3xB,GAAK,SAAS8hB,SACtB6P,EAAQn9C,MAAMk9C,MAAQ,QACtBC,EAAQ5nC,UAAY,GAAGkI,EAAU6vB,MACjCQ,EAAOn6B,YAAYwpC,GACnB,MAAMC,EAAS/mD,SAAS4D,cAAc,SACtCmjD,EAAO5kD,UAAY,SACnB4kD,EAAO5xB,GAAK,SAAS8hB,IACrB8P,EAAOp9C,MAAMwU,MAAQ,OACrB4oC,EAAOhlD,KAAO,QACdglD,EAAOn5C,IAAM,IACbm5C,EAAOj5C,IAAM,MACbi5C,EAAOC,KAAO,IACdD,EAAOjiD,MAAQsiB,EAAU6vB,GACzB8P,EAAO/gC,QAAU,WACfm3B,GAAmBlG,IAErB8P,EAAOE,SAAW,WAChB9J,GAAmBlG,IAErBQ,EAAOn6B,YAAYypC,GACnB7uB,EAAI5a,YAAYm6B,GAChB,MAAMltC,EAAIvK,SAAS4D,cAAc,KAYjC,OAXA2G,EAAEpI,UAAY,SACdoI,EAAEqvC,QAAU,WACVzC,GACE/vB,EAAU6vB,EAAO3uC,QAAQ,SAAU,aACnC2uC,EAAO3uC,QAAQ,SAAU,SACzB2uC,GACA,IAGJ1sC,EAAExF,YAAc,aAChBmzB,EAAI5a,YAAY/S,GACT2tB,EAET,GAAkC,QAA9B4d,GAAamB,GAAQl1C,KAAgB,CACvC,MAAMu7C,EAAOt9C,SAAS4D,cAAc,QACpC05C,EAAKn7C,UAAY,SACjBm7C,EAAKv4C,YAAc,GAAG+wC,GAAamB,GAAQ1B,SAC3C+H,EAAK3zC,MAAMyW,WAAa,MACxB8X,EAAI5a,YAAYggC,GAChB,MAAM4J,EAAQlnD,SAAS4D,cAAc,SACrCsjD,EAAM/xB,GAAK+nB,GAA6BjG,EACxCiQ,EAAM/kD,UAAY,SAClB+kD,EAAMnlD,KAAO,OACbmlD,EAAMC,UAAW,EACjBD,EAAM5hD,aAAa,QAAS8hB,EAAU6vB,IACtCiQ,EAAMv9C,MAAMkG,MAAQ,QACpBqoB,EAAI5a,YAAY4pC,GAChBhvB,EAAI5a,YAAYtd,SAASqgB,eAAe,MACxC,MAAM+mC,EAAcpnD,SAAS4D,cAAc,SAC3CwjD,EAAYjyB,GAAK,GAAG+nB,GAA6BjG,UACjDmQ,EAAYjlD,UAAY,SACxBilD,EAAYrlD,KAAO,OACnBqlD,EAAY9hD,aAAa,QAAS8hB,EAAU6vB,IAC5C,MAAM1sC,EAAIvK,SAAS4D,cAAc,KACjC2G,EAAEpI,UAAY,SACdoI,EAAEqvC,QAAU,YAlKhB,SAA6ByN,EAAS/hC,GACpCiC,KAAK+/B,YAAYnlD,UAAY,SAC7B,MAAMW,EAAMukD,EACZ9/B,KAAKggC,QAAQroC,UAAY,GAAGpc,iCAC5BoC,OAAO6C,KAAKud,GAASuR,SAASn1B,IAC5B,MAAMuZ,EAASjb,SAAS4D,cAAc,KACtCqX,EAAOka,GAAK,eAAezzB,IAC3BuZ,EAAO9Y,UAAY,SACnB8Y,EAAO2+B,QAAU,WACf4N,UAAU,gBACVliC,EAAQ5jB,GAAG,MAEbuZ,EAAOlW,YAAcugB,EAAQ5jB,GAAG,GAChC6lB,KAAKggC,QAAQrjB,SAAS,GAAG5mB,YAAYrC,MAEvCsM,KAAKkgC,cAAc99C,MAAMqV,QAAU,QACnCuI,KAAKmgC,QAAQ/9C,MAAMqV,QAAU,QAC7BuI,KAAKggC,QAAQI,QACbpgC,KAAKqgC,SAAW,EAChBrgC,KAAKsgC,eAgJDC,CAAoBV,EAAYW,UAAW,CACzC,CACE,OACA,WACE3gC,EAAU6vB,GAAUnkC,EAAE,WAAgCmkC,WAAgBnyC,MACtE81C,KACArzB,KAAKygC,cACLzgC,KAAKkf,eAGT,CACE,SACA,WACElf,KAAKygC,mBAKbz9C,EAAExF,YAAc,OAChBmzB,EAAI5a,YAAY/S,GAChB,MAAMgrC,EAAQv1C,SAAS4D,cAAc,SAIrC,OAHA2xC,EAAMxwC,YAAc+wC,GAAamB,GAAQzB,KACzCD,EAAM5rC,MAAMyW,WAAa,MACzB8X,EAAI5a,YAAYi4B,GACTrd,EAET,GAAkC,WAA9B4d,GAAamB,GAAQl1C,KAAmB,CAC1C,MAAMkmD,EAAYjoD,SAAS4D,cAAc,QACzCqkD,EAAU9lD,UAAY,SACtB,MAAM+kD,EAAQlnD,SAAS4D,cAAc,SACrCsjD,EAAM/xB,GAAK8hB,EACXiQ,EAAMv9C,MAAMkG,MAAQ,OACpBq3C,EAAM5hD,aAAa,QAAS8hB,EAAU6vB,IACtCgR,EAAU3qC,YAAY4pC,GAQtB,IAAIzmD,GAAQymD,EAAO,CAAEplC,MAAM,EAAMnQ,SAAU,QAAS4P,QAPrC,WACb6F,EAAUhnB,KAAKmD,cAAc4xB,IAAM/0B,KAAK8gB,cACxCy5B,KACAC,KACArzB,KAAKkf,gBAIP,MAAM8O,EAAQv1C,SAAS4D,cAAc,SAIrC,GAHA2xC,EAAMxwC,YAAc+wC,GAAamB,GAAQzB,KACzCD,EAAM5rC,MAAMyW,WAAa,MACzB6nC,EAAU3qC,YAAYi4B,GAClB0B,EAAOP,SAAS,SAAU,CAC5B,MAAMnsC,EAAIvK,SAAS4D,cAAc,KACjC2G,EAAEpI,UAAY,SACdoI,EAAEqvC,QAAU,WACV5C,GAAM,EAAGC,EAAO3uC,QAAQ,SAAU,KAAK,IAEzCiC,EAAExF,YAAc,aAChBkjD,EAAU3qC,YAAY/S,GAIxB,OAFA2tB,EAAI5a,YAAY2qC,GAChBhL,KAAkBj8C,OACXk3B,EAET,GAAkC,aAA9B4d,GAAamB,GAAQl1C,KAAqB,CAC5C,MAAMu7C,EAAOt9C,SAAS4D,cAAc,QACpC05C,EAAKn7C,UAAY,SACjBm7C,EAAKv4C,YAAc,GAAG+wC,GAAamB,GAAQ1B,SAC3C+H,EAAK3zC,MAAMyW,WAAa,MACxB8X,EAAI5a,YAAYggC,GAChB,MAAM4J,EAAQlnD,SAAS4D,cAAc,SACrCsjD,EAAM/xB,GAAK+nB,GAA6BjG,EACxCiQ,EAAM/kD,UAAY,SAClB+kD,EAAMnlD,KAAO,SACbmlD,EAAMpiD,MAAQsiB,EAAU6vB,GACxBiQ,EAAMt5C,IAAMkoC,GAAamB,GAAQrpC,IACjCs5C,EAAMp5C,IAAMgoC,GAAamB,GAAQnpC,IACjCo5C,EAAMlhC,QAAU,WACV5lB,KAAK0E,MAAQ1E,KAAK0N,KAAKvL,QAAQsqB,IAAI,QACvCzF,EAAU6vB,GAAU72C,KAAK0E,MACzB81C,KACA/F,MAEF3c,EAAI5a,YAAY4pC,GAChBhvB,EAAI5a,YAAYtd,SAASqgB,eAAe,MACxC,MAAMk1B,EAAQv1C,SAAS4D,cAAc,SAIrC,OAHA2xC,EAAMxwC,YAAc+wC,GAAamB,GAAQzB,KACzCD,EAAM5rC,MAAMyW,WAAa,MACzB8X,EAAI5a,YAAYi4B,GACTrd,EAET,OAAOA,EA4UT,SAASgwB,GAAUnhD,GACjB,GAA2B,IAAvBqgB,EAAU2T,UAA4C,IAA1B3T,EAAU4T,YAAmB,CAC3D,MAAMmtB,EAAiB35C,SAASsE,EAAE,cAAcnJ,MAAMmG,OAAQ,IAC9DyX,KAAK6gC,QAAUD,EACfphD,IACAwgB,KAAK6gC,QAAUD,OAEfphD,IAuBJ,SAASshD,KAEPr/B,EAAgBkD,SAAWA,SAE3BA,SAAWR,GAEX1C,EAAgBqgB,eAAiB9hB,KAAK8hB,eACtC9hB,KAAK8hB,eAAiB,WACpBrgB,EAAgBqgB,iBAChBha,GAAY,GAGdrG,EAAgBkV,QAAU,GAC1BlV,EAAgBkV,QAAQhlB,KAAOqO,KAAK2W,QAAQhlB,KAC5C8P,EAAgBkV,QAAQoqB,QAAU,IAAInlD,SACpC,UAAUokB,KAAK2W,QAAQhlB,KAAK/O,WAAW5B,MAAM,QAAQ6C,KAAK,kBAD1B,GAGlCmc,KAAK2W,QAAQhlB,KAAO,SAAUqvC,EAAMn7B,EAAM5I,GACxCwE,EAAgBkV,QAAQoqB,QAAQC,EAAMn7B,EAAM5I,IAG9CwE,EAAgBkV,QAAQsqB,OAASjhC,KAAK2W,QAAQsqB,OAC9Cx/B,EAAgBkV,QAAQuqB,UAAY,IAAItlD,SACtC,UAAUokB,KAAK2W,QAAQsqB,OACpBr+C,WACA5B,MAAM,SACN6C,KAAK,mBAJ0B,GAMpCmc,KAAK2W,QAAQsqB,OAAS,WACpBx/B,EAAgBkV,QAAQuqB,YA5H5B,WACE,GAA4B,UAAxBlhC,KAAK2W,QAAQ1Z,OAAoB,CACnC,IAAIkkC,EAAa,EAEa,IAA5BthC,EAAUsc,eACgB,IAA1Btc,EAAU6X,aAC0B,OAApCnsB,EAAE,gCAEF41C,EAAa51C,EAAE,8BAA8BpF,aAAe,GAE9D6Z,KAAK2W,QAAQyqB,IAAIh/C,MAAMsC,IAAM,GAAGhC,KAAK2D,IACnCY,SAAS+Y,KAAK2W,QAAQyqB,IAAIh/C,MAAMsC,IAAK,IACrC6G,EAAE,QAAQpF,aACRoF,EAAE,UAAUpF,aACZ6Z,KAAK2W,QAAQ0qB,GAAGl7C,aAChBg7C,EACA,SA6GJG,IAGF7/B,EAAgB8/B,gBAAkBvhC,KAAKuhC,gBACvCvhC,KAAKuhC,gBAAkB,WACrBZ,GAAUl/B,EAAgB8/B,kBAG5B9/B,EAAgB+/B,cAAgBxhC,KAAKwhC,cACrCxhC,KAAKwhC,cAAgB,WACnBb,GAAUl/B,EAAgB+/B,gBAI5Bj2C,EAAE,aAAazN,oBAAoB,QAASkiB,KAAKyhC,aAAa,GAC9Dl2C,EAAE,aAAahS,iBACb,SACA,WACEonD,GAAU3gC,KAAKyhC,gBAEjB,GAGFhgC,EAAgBgsB,gBAAkBztB,KAAKytB,gBACvCztB,KAAKytB,gBAAkB,WACrBhsB,EAAgBgsB,kBAnHlBjsB,EAAuB,GACvB7jB,OAAO6C,KAAKwf,KAAKsQ,iBAAiBhB,SAASn1B,IACJ,OAAjCoR,EAAE,UAAUpR,KAAKo4C,cACnB/wB,EAAqBrnB,GAAKoR,EAAE,UAAUpR,KAAKo4C,YAC3ChnC,EAAE,UAAUpR,KAAKo4C,YAAc,WACxBvyB,KAAK0hC,YACR1hC,KAAK2hC,WAAW9oD,MAChBmnB,KAAK2W,QAAQwe,QAAU,EACvBn1B,KAAK2W,QAAQhlB,KACX9Y,MACA,WACE,OAAOw7C,GAAc,IAAK,GAAGl6C,OAE/B,SAEF6lB,KAAK2W,QAAQye,eAsGnBp1B,KAAK8hB,kBAGPrgB,EAAgBmgC,aAAe5hC,KAAK4hC,aAKpC5hC,KAAK4hC,aAAe,SAAUn1B,KAEzB5M,EAAUurB,cACXprB,KAAKukB,YAAY9X,GAAMyG,UAAYlT,KAAKmT,UACtB,IAAlBnT,KAAKoP,UAEL3N,EAAgBmgC,aAAan1B,IAIjChL,EAAgBogC,mBAAqB7hC,KAAK6hC,mBAM1C7hC,KAAK6hC,mBAAqB,SAAUC,GAClCrgC,EAAgBogC,mBAAmBC,GAnxEvC,SAAqBA,GACnB,GAAiC,IAA7BjiC,EAAUmoB,eAAsB,CAClC,MAAO+Z,EAAUC,GA9DrB,SAA6BF,GAC3B/rB,KAGwBxqB,EAAE,iBAAiBoxB,SAAS,GAAGhlB,UAAUw3B,SAC/D,aAEmBznB,GAAiBo6B,EACjCr6B,GAAgBq6B,EAGrB,IAAI/zB,EAAQ,EACZ,GACEtG,KAAkBS,IAClBR,KAAmBS,GAEnB,IAAK,IAAIhuB,EAAI6lB,KAAKukB,YAAYnqC,OAAS,EAAGD,GAAK,IAAKA,EAClD,GAAI6lB,KAAKukB,YAAYpqC,GAAGs0B,OAAS,EAAG,CAClC,MAAM+iB,EAAkBnlB,GAAWrM,KAAKukB,YAAYpqC,GAAGuE,MAAMA,KAC7D2tB,GAAWmlB,GAAiB/iB,QAAU,EACtCtH,IAAqB,EACrB4G,EACE1B,GAAWmlB,GAAiBjjB,UAC5BvO,KAAKgP,eACHtsB,KAAK6D,IACH,EACA8lB,GAAWmlB,GAAiB/iB,OAC1B,EACApC,GAAWmlB,GAAiBhjB,MAEpCT,EAAQ/N,KAAKiP,oBAAoB5C,GAAWmlB,GAAkBzjB,GAC9DA,EAAQrrB,KAAKoL,KAAKigB,GAClB,MAKN,MAAMkX,EAAwB3d,GAO9B,OANAwa,KAEAmC,KACIgB,IAA0B3d,IAC5Bwa,KAEK,CAAC9Z,GAAehI,KAAKqR,UAAWtD,GAkBHk0B,CAAoBH,GAChDI,EAAgB38B,GACpBy8B,GAAiBD,EAAW/hC,KAAKqR,YAE7B8wB,EAAqBh+B,GAA6B49B,EAAW/hC,KAAKqR,UAAa,KAErF9lB,EAAE,kBAAkBnJ,MAAMggD,UAAY,OACtC72C,EAAE,kBAAkBnJ,MAAMwvB,OAAS,MACnCrmB,EAAE,kBAAkBwK,YAAYtd,SAAS4D,cAAc,QAAQzB,UAC7D,OACF,MAAM+1B,EAAMl4B,SAAS4D,cAAc,OACnCs0B,EAAIvuB,MAAMu8B,SAAW,QACrBhO,EAAIvuB,MAAMuW,UAAY,SACtBgY,EAAInzB,YAAc,wCAAwC2mB,GACxD49B,OACII,sBACN52C,EAAE,kBAAkBwK,YAAY4a,GAChC,MAAM0xB,EAAO5pD,SAAS4D,cAAc,OACpCgmD,EAAKjgD,MAAMu8B,SAAW,QACtB0jB,EAAKjgD,MAAMuW,UAAY,SACvB0pC,EAAK7kD,YAAc,gBAAgB0kD,yBACnC32C,EAAE,kBAAkBwK,YAAYssC,IA6vEhCC,CAAYR,IAGdrgC,EAAgB8gC,kBAAoBviC,KAAKuiC,kBAIzCviC,KAAKuiC,kBAAoB,SAAUC,GACjC/gC,EAAgB8gC,kBAAkBC,GA7vEtC,WAEE,GAEwE,QADrEj3C,EAAE,gBAAgB3Q,UAAUC,MAAM,aACjC0Q,EAAE,gBAAgBoxB,SAAS,GAAGv6B,MAAMqB,WAAW5I,MAAM,WAEvD,IAAK,IAAIV,EAAI,EAAGA,EAAIoR,EAAE,gBAAgBmlB,WAAWt2B,OAAQD,IACL,cAA9CoR,EAAE,gBAAgBmlB,WAAWv2B,GAAGS,YAClC2Q,EAAE,gBAAgBoxB,SAASxiC,GAAGo4C,YAAc,WAC1CxD,KACA/uB,KAAK2W,QAAQwe,QAAU,EACvBn1B,KAAK2W,QAAQhlB,KACXpG,EAAE,gBACF,mDAAmD8c,WACnD,QAEFrI,KAAK2W,QAAQye,UAEf7pC,EAAE,gBAAgBoxB,SAASxiC,GAAGu4C,WAAa,WACzC1yB,KAAK2W,QAAQ8rB,WAAa,IA2uEhCC,IAGFjhC,EAAgByd,WAAalf,KAAKkf,WAClClf,KAAKkf,WAAa,gBAEwB,IAA9BwW,KAAmBjrC,aACiB,IAApCirC,KAAmBjrC,OAAOC,QAElC+W,EAAgByd,aArXtB,WACE,MAAMoR,EAAQ73C,SAAS4D,cAAc,OACrCi0C,EAAM11C,UAAY,QAEE,UAAhBolB,KAAKid,QACPqT,EAAM9yC,YAAc,0BA7ExB,SAAqB8yC,GACnB,MAAM8F,EAAO39C,SAAS49C,yBACtBD,EAAKrgC,YAAYu6B,GAEjB3yC,OAAO6C,KAAKo+C,IAActvB,SAASwe,IACjC,GAAc,cAAVA,GACF,GAAiC,IAA7B5pB,GAAkB9pB,QAAgBylB,EAAUqE,kBAAoB,IAClEkyB,EAAKrgC,YAAY+oC,GAAiBhR,EAAO8Q,GAAa9Q,KAClDjuB,EAAUwrB,OAAOyC,IACnB,IAAK,IAAI6U,EAAQ,EAAGA,EAAQz+B,GAAkB9pB,OAAQuoD,IACpDvM,EAAKrgC,YAAYgpC,GAAiB76B,GAAkBy+B,UAI1DvM,EAAKrgC,YAAY+oC,GAAiBhR,EAAO8Q,GAAa9Q,KAClDjuB,EAAUwrB,OAAOyC,KAGL,iBAAVA,EACFnwC,OAAO6C,KAAKq+C,IAA0BvvB,SAASszB,IAC7C,MAAMC,EAAiB/D,GACrB8D,EACA/D,GAAyB+D,IAE3BC,EAAezgD,MAAMyvB,SAAW,OAChCgxB,EAAezgD,MAAM6U,QAAU,MAC/Bm/B,EAAKrgC,YAAY8sC,GACbhjC,EAAUwrB,OAAOuX,IACnBjlD,OAAO6C,KAAK+tC,IAAcjf,SAAS5b,IAC7B66B,GAAa76B,GAAQo6B,QAAU8U,GACjCxM,EAAKrgC,YAAYgpC,GAAiBrrC,UAK1C/V,OAAO6C,KAAK+tC,IAAcjf,SAAS5b,IAC7B66B,GAAa76B,GAAQo6B,QAAUA,GACjCsI,EAAKrgC,YAAYgpC,GAAiBrrC,WAO9C,MAAMovC,EAASrqD,SAAS4D,cAAc,OACtCymD,EAAOloD,UAAY,UACnB,MAAMmoD,EAAYtqD,SAAS4D,cAAc,KACzC0mD,EAAUnoD,UAAY,SACtBmoD,EAAU1Q,QAAU,WAClB0B,GAAWlM,KAEbkb,EAAUvlD,YAAc,kBACxBslD,EAAO/sC,YAAYgtC,GACnB3M,EAAKrgC,YAAY+sC,GAEjBv3C,EAAE,QAAQmlB,WAAW,GAAG8d,aACtB4H,EACA7qC,EAAE,QAAQmlB,WAAW,GAAGA,WACtBnlB,EAAE,QAAQmlB,WAAW,GAAGA,WAAWt2B,OAAS,IAoB9C4oD,CAAY1S,IACa,UAAhBtwB,KAAKid,OACVpd,EAAUqd,QACZoT,EAAM9yC,YAAc,4BACpB+4C,GAAajG,IAEU,QAAhBtwB,KAAKid,SACdqT,EAAM9yC,YAAc,kBAtdxB,SAAqB8yC,GACnB,MAAM2S,EAAOxqD,SAAS4D,cAAc,OACpC4mD,EAAKroD,UAAY,aAEjB,MAAMm7C,EAAOt9C,SAAS4D,cAAc,QAmBpC,GAlBA05C,EAAK3zC,MAAM+U,OAAS,UACpB4+B,EAAK3zC,MAAMqV,QAAU,eACrBs+B,EAAK3zC,MAAMmG,OAAS,OACpBwtC,EAAK3zC,MAAMkG,MAAQ,OACnBytC,EAAK3zC,MAAMsU,aAAe,MAC1Bq/B,EAAK3zC,MAAMuW,UAAY,SACvBo9B,EAAK3zC,MAAM4U,gBAAkB,UAC7B++B,EAAK3zC,MAAM2F,MAAQ,QACnBguC,EAAK3zC,MAAMyvB,SAAW,OACtBkkB,EAAK3zC,MAAM2vB,cAAgB,SAC3BgkB,EAAKv4C,YAAcqiB,EAAUwrB,OAAO0B,QAAU,IAAM,IACpDgJ,EAAK1D,QAAU,WACbwD,GAAa,WACb71B,KAAKkf,cAEPoR,EAAMv6B,YAAYggC,GAClBkN,EAAKltC,YAAYu6B,GAEbzwB,EAAUwrB,OAAO0B,QAAS,CAC5B,MAAMmW,EAAczqD,SAAS4D,cAAc,OAC3C6mD,EAAYvrC,UA/8RO,siBAg9RnBsrC,EAAKltC,YAAYmtC,GACjB,MAAMC,EAAQ1qD,SAAS4D,cAAc,OACrC8mD,EAAMxrC,UAx8RiB,+1EAy8RvBsrC,EAAKltC,YAAYotC,GAGnB,MAAMC,EAAO73C,EAAE,QAAQoxB,SAAS,GAChCymB,EAAK5U,aAAayU,EAAMG,EAAKzmB,SAAS,IAsbpC0mB,CAAY/S,IAwWVgT,KAIJ7hC,EAAgB2b,QAAUpd,KAAKod,QAC/B3a,EAAY,SAAU+C,EAAM+9B,GAC1B,OAAI3+B,OAAOnJ,MAAM+J,IAASA,GAAQ,EACzB/D,EAAgB2b,QAAQ5X,EAAM+9B,GAChCh+B,GAAWC,EAAOxF,KAAKqX,IAAK,IAGrC5V,EAAgB+hC,MAAQxjC,KAAKwjC,MAC7BxjC,KAAKwjC,MAAQ,WACX/hC,EAAgB+hC,QAGhB,IAAIlT,EAAQ,iBACQ,UAAhBtwB,KAAKge,SAAoBsS,EAAQ,gBACrCrsB,GAAQ,GAAGjE,KAAK2wB,SAAW,cAAgB,KAAKxsB,GAA4BnE,KAAKmT,YAC9D,IAAjBnT,KAAKmT,QAAgB,SAAW,eAC5Bmd,IA5WV,WACE,GAAItwB,KAAK2wB,UAAgC,IAApB9wB,EAAUoE,MAC7BxrB,SAAS63C,MAAQrsB,QACZ,GAAwB,IAApBpE,EAAUoE,MAAa,CAChC,IAEIw/B,EACAC,EACAC,EAJAC,GAAQ,EACRC,GAAQ,EAORJ,EAFAt4B,GACEA,GAA0BwiB,MAClB,KAAKjrC,KAAKoL,KAAKqd,GAA0B0nB,KAAO7yB,KAAKqX,QAErD,KAAK30B,KAAKoL,KAAKqd,GAA0B0nB,KAAO7yB,KAAKqX,QACvDrX,KAAK4d,IAAI,uBAOJ,OANL,IACRhZ,OAAOrZ,EAAE,sBAAsB/N,aAAe,EAAI,IAAM,KACvDkF,KAAKoL,MACLkS,KAAKyd,aAAaC,OAAOI,QAAU9d,KAAKyd,aAAaC,OAAOlY,MAC3DxF,KAAKqX,QAIPvW,IACF8iC,GAAQ,EACRF,EAAU,OAGQ,cAAhB1jC,KAAKge,SACP6lB,GAAQ,EAENF,EADE9iC,EACQ,KAAKne,KAAKoL,KAAKsd,GAAsBynB,KAAO7yB,KAAKqX,QAEjD,IACRzS,OAAOrZ,EAAE,uBAAuB/N,aAAe,EAAI,IAAM,KACxDkF,KAAKoL,MACLkS,KAAKyd,aAAaQ,SAASH,QAC1B9d,KAAKyd,aAAaQ,SAASzY,MAC3BxF,KAAKqX,SAMb,IAAI97B,EAAM0oB,GACY,MAAlB1oB,EAAI2L,OAAO,KACb3L,EAAMA,EAAIk3B,UAAUl3B,EAAIuoD,YAAY,KAAO,IAE7CrrD,SAAS63C,MAAQ,GACfmT,GAAWG,EAAQF,EAAU,KAAOG,EAAQF,EAAU,OACpDpoD,SACC,GAAwB,IAApBskB,EAAUoE,MAAa,CAChC,IAAI1oB,EAAM,GACNwoD,GAAQ,EACR54B,KACF44B,GAAQ,EACJ54B,GAA0BwiB,MAC5BpyC,GAAO,KAAKmH,KAAKoL,KAAKqd,GAA0B0nB,KAAO7yB,KAAKqX,QACzD97B,GAAO,KAAKmH,KAAKoL,KAAKqd,GAA0B0nB,KAAO7yB,KAAKqX,SAE/DvW,IACFijC,GAAQ,EACRxoD,GAAO,OAEW,cAAhBykB,KAAKge,QAA0Bnd,IACjCtlB,GAAO,KAAKmH,KAAKoL,KAAKsd,GAAsBynB,KAAO7yB,KAAKqX,QACxD0sB,GAAQ,GAENA,IAAOxoD,GAAO,OAClB,IAAI+0C,EAAQ,iBACQ,UAAhBtwB,KAAKge,SAAoBsS,EAAQ,gBACrC/0C,GAAO+0C,EACP73C,SAAS63C,MAAQ/0C,GAoSjByoD,GAtRJ,WACE,MAAMlS,EAAgBpvC,KAAK6D,IACzB,EACAyZ,KAAK+xB,oBACHrvC,KAAKkE,MAAMoZ,KAAKymB,gBAAgBzmB,KAAK0mB,aAAe1mB,KAAKmgB,gBACvD,IAEDngB,KAAKmgB,cAAgBngB,KAAK0mB,eAGzB3D,EAAY/iB,KAAKod,SACnB4C,KAAKC,MAAQjgB,KAAK+iB,WAAa,IAAQ/iB,KAAKqX,KAC7C,GAEH,IAAI97B,EAAM,GACVA,GAAO,kCACS,KAAdwnC,EAAmB,gBAAkBA,aAEvCxnC,GAAO,2BACHykB,KAAKoW,SAAW,IAClB76B,GAAO,uCAAuC4oB,GAC5CnE,KAAKoW,2BACYjS,GAA4BnE,KAAKoW,cACpD76B,GAAO,4BAGPA,GADEyrB,GAAyB,EACpB,6CACAA,GAAyB,EAE9B,6GAEK,uCAAuC7C,GAC5C6C,6BACyB7C,GACzB6C,uBACmB7C,GACnB6C,mCAEJzrB,GAAO,2BACPA,GAAO,eAAe4oB,GACpB2tB,8CAEFv2C,GACEskB,EAAUyoB,oBACN,oCAAoCjd,kDAAyElH,GAC3GiF,GACA,iDAEF,GAEN7d,EAAE,iBAAiBoM,UAAYpc,EAuO7B0oD,IAqDJ,SAASC,KACP3U,KACAjI,KACAM,KAGAvnB,EAAe1iB,OAAO6C,KAAKwf,KAAK6wB,MAAMz2C,OA3tFtCinB,EAAU5oB,SAAS4D,cAAc,SACjCglB,EAAQ7mB,KAAO,WACf6mB,EAAQuM,GAAK,QAEbn1B,SAAS0rD,KAAKpuC,YAAYsL,GA15L5B,WACE,MAAMwR,EAASp6B,SAAS4D,cAAc,OACtCw2B,EAAOjF,GAAK,WACZiF,EAAOzwB,MAAMmG,OAAS,OACtBsqB,EAAOzwB,MAAMkG,MAAQ,OACrBuqB,EAAOzwB,MAAMgI,SAAW,WACxByoB,EAAOzwB,MAAMqV,QAAU,OACvBob,EAAOzwB,MAAMgiD,iBAAmB,UAChCvxB,EAAOzwB,MAAM8V,gBAAkB,+CAC/B2a,EAAOzwB,MAAMiiD,UAAY,kBACzBxxB,EAAOzwB,MAAMoV,SAAW,OACxBqb,EAAOzwB,MAAMkiD,WACX,uDAEF,MAAMC,EAAQ1xB,EAAO9c,YAAYtd,SAAS4D,cAAc,UACxDkoD,EAAMniD,MAAMkG,MAAQ,OACpBi8C,EAAMniD,MAAMuW,UAAY,SACxB4rC,EAAMniD,MAAMoW,WAAa,SACzB,MAAMgsC,EAAQD,EAAMxuC,YAAYtd,SAAS4D,cAAc,UAEjDooD,EAAW,SAAU5+B,EAAM9d,GAC/B,MAAM28C,EAAKjsD,SAAS4D,cAAc,MAIlC,OAHAqoD,EAAGtiD,MAAMuW,UAAY,QACrB+rC,EAAG9pD,UAAY8mB,EAAgB3Z,EAC/B28C,EAAGlnD,YAAcqoB,EACV6+B,GAEHlqD,EAAOgqD,EAAMzuC,YAAYtd,SAAS4D,cAAc,OACtD7B,EAAK4H,MAAMq0B,WAAa,OACxBj8B,EAAKub,YACH0uC,EAAS,aAAsC3iC,IAEnC0iC,EAAMzuC,YAAYtd,SAAS4D,cAAc,OACjD0Z,YAAY0uC,EAAS,eAAgB7iC,IAChC4iC,EAAMzuC,YAAYtd,SAAS4D,cAAc,OACjD0Z,YAAY0uC,EAAS,iBAAkB7iC,IAC7B4iC,EAAMzuC,YAAYtd,SAAS4D,cAAc,OACjD0Z,YAAY0uC,EAAS,YAAa7iC,IAEvCrW,EAAE,WAAWwK,YAAY8c,GAEzBl1B,OAAO6C,KAAKwf,KAAKyN,SAAS6B,SAASn1B,IACjCk4B,GAA2Bl4B,MA2kR7BwqD,GAt7QF,WACE,MAAMnxB,EAAW/6B,SAAS4D,cAAc,OACxCm3B,EAAS5F,GAAK,aACd4F,EAASpxB,MAAMgI,SAAW,WAC1BopB,EAASpxB,MAAMqV,QAAU,OACzB+b,EAASpxB,MAAMmG,OAAS,MACxBirB,EAASpxB,MAAMyvB,SAAW,OAC1B2B,EAASpxB,MAAMq0B,WAAa,OAC5BjD,EAASpxB,MAAMgiD,iBAAmB,QAGlC,MAAMQ,EAAenzB,GAAY,eAAgB,cAAe,CAC9D,CAAE7D,GAAI,qBAAsB7lB,MAAOma,GACnC,CAAE0L,GAAI,kBAAmB7lB,MAAOka,KAElCuR,EAASzd,YAAY6uC,GAGrB,MAAMC,EAAgBpzB,GAAY,gBAAiB,gBAAiB,CAClE,CAAE7D,GAAI,sBAAuB7lB,MAAOma,GACpC,CAAE0L,GAAI,mBAAoB7lB,MAAOga,KAEnCyR,EAASzd,YAAY8uC,GACrB,MAAMC,EAAqBrsD,SAAS4D,cAAc,OAClDyoD,EAAmBl3B,GAAK,uBACxB4F,EAASzd,YAAY+uC,GAErBv5C,EAAE,WAAWwK,YAAYyd,GA45QzBuxB,GAlhGF,WACE,MAAMC,EAAavsD,SAAS4D,cAAc,OAC1C2oD,EAAWp3B,GAAK,eAChBo3B,EAAW5iD,MAAMkG,MAAQ,OACzB08C,EAAW5iD,MAAMgiD,iBAAmB,QACpCY,EAAW5iD,MAAMuW,UAAY,SAC7BqsC,EAAW5iD,MAAMq0B,WAAa,OAC9BuuB,EAAW5iD,MAAMqV,QAAU,OAC3ButC,EAAW5iD,MAAMyU,OAAS,KAC1BmuC,EAAWtS,WAAa,WACtB1yB,KAAK2W,QAAQxlB,QAGf,MAAMstB,EAAchmC,SAAS4D,cAAc,OAC3CoiC,EAAY1oB,YA/Dd,WACE,MAAMkvC,EAASxsD,SAAS4D,cAAc,OACtC4oD,EAAO7iD,MAAMu8B,SAAW,QACxBsmB,EAAO7iD,MAAMy0B,aAAe,MAC5B,MAAMyZ,EAAQ73C,SAAS4D,cAAc,OACrCi0C,EAAM11C,UAAY,OAClB01C,EAAMluC,MAAMy0B,aAAe,MAC3ByZ,EAAM9yC,YAAc,SACpBynD,EAAOlvC,YAAYu6B,GAEnB,MAAM4U,EAAa,SAAUn9C,EAAO8d,GAClC,MAAM8K,EAAMl4B,SAAS4D,cAAc,OACnCs0B,EAAIvuB,MAAM2vB,cAAgB,SAC1B,MAAMgkB,EAAOt9C,SAAS4D,cAAc,QAQpC,OAPA05C,EAAKn7C,UAAY+mB,EAAgB5Z,EACjCguC,EAAK3zC,MAAMqV,QAAU,eACrBs+B,EAAK3zC,MAAMmG,OAAS,OACpBwtC,EAAK3zC,MAAMkG,MAAQ,OACnBytC,EAAK3zC,MAAM0vB,YAAc,MACzBnB,EAAI5a,YAAYggC,GAChBplB,EAAI5a,YAAYtd,SAASqgB,eAAe+M,IACjC8K,GAsBT,OAnBAs0B,EAAOlvC,YACLmvC,EAAWtjC,EAAY,iDAEzBqjC,EAAOlvC,YACLmvC,EAAWrjC,EAAa,wCAE1BojC,EAAOlvC,YACLmvC,EAAWpjC,EAAc,0CAE3BmjC,EAAOlvC,YACLmvC,EAAWnjC,EAAc,0CAE3BkjC,EAAOlvC,YACLmvC,EAAWljC,EAAW,0CAExBijC,EAAOlvC,YACLmvC,EAAWjjC,EAAc,8CAE3BgjC,EAAOlvC,YAAYmvC,EAAWhjC,EAAY,4BACnC+iC,EAoBiBE,IACxBH,EAAWzS,YAAc,WACvBvyB,KAAK2W,QAAQhlB,KAAK9Y,KAAM+lC,OAAOH,EAAY9mB,WAAY,UAGzD,MAAMytC,EAAgB,SAAUx3B,EAAI7lB,GAClC,MAAMguC,EAAOt9C,SAAS4D,cAAc,QAMpC,OALA05C,EAAKnoB,GAAKA,EACVmoB,EAAKn7C,UAAY8mB,EAAgB3Z,EACjCguC,EAAK3zC,MAAMkG,MAAQ,qBACnBytC,EAAK3zC,MAAMqV,QAAU,eACrBs+B,EAAKv4C,YAAc,IACZu4C,GAETiP,EAAWjvC,YAAYqvC,EAAc,mBAAoBxjC,IACzDojC,EAAWjvC,YAAYqvC,EAAc,oBAAqBvjC,IAC1DmjC,EAAWjvC,YAAYqvC,EAAc,qBAAsBtjC,IAC3DkjC,EAAWjvC,YAAYqvC,EAAc,qBAAsBrjC,IAC3DijC,EAAWjvC,YAAYqvC,EAAc,kBAAmBpjC,IACxDgjC,EAAWjvC,YAAYqvC,EAAc,qBAAsBnjC,IAC3D+iC,EAAWjvC,YAAYqvC,EAAc,mBAAoBljC,IAEzD3W,EAAE,YAAY+N,WAAWk1B,aACvBwW,EACAz5C,EAAE,YAAY+N,WAAWoX,WAAW,IA6+FtC20B,GA1sFF,WACE,MAAMC,EAAc7sD,SAAS4D,cAAc,OAC3CipD,EAAY13B,GAAK,gBACjB03B,EAAYljD,MAAMkG,MAAQ,OAC1Bg9C,EAAYljD,MAAMmG,OAAS,OAC3B+8C,EAAYljD,MAAM4U,gBAAkB,QACpCsuC,EAAYljD,MAAMqV,QAAU,OAC5B6tC,EAAYljD,MAAMyU,OAAS,aAC3ByuC,EAAYljD,MAAMgI,SAAW,WAC7BmB,EAAE,WAAWwK,YAAYuvC,GAksFzBC,GAt+FF,WACE,MAAM50B,EAAMl4B,SAAS4D,cAAc,OACnCs0B,EAAI/C,GAAK,sBACT+C,EAAIvuB,MAAMuW,UAAY,SACtB,MAAM3V,EAAIvK,SAAS4D,cAAc,KACjC2G,EAAEpI,UAAY,SACdoI,EAAEqvC,QAAU,WAC0B,SAAhC9mC,EAAE,YAAYnJ,MAAMqV,SACtBlM,EAAE,YAAYnJ,MAAMqV,QAAU,OAC9BlM,EAAE,kBAAkBnJ,MAAMqV,QAAU,OACpClM,EAAE,gBAAgBnJ,MAAMqV,QAAU,OAClClM,EAAE,iBAAiBnJ,MAAMqV,QAAU,SAEnClM,EAAE,YAAYnJ,MAAMqV,QAAU,OACc,IAAxClM,EAAE,kBAAkBoxB,SAASviC,SAC/BmR,EAAE,kBAAkBnJ,MAAMqV,QAAU,SACI,IAAtClM,EAAE,gBAAgBoxB,SAASviC,SAC7BmR,EAAE,gBAAgBnJ,MAAMqV,QAAU,SACO,IAAvClM,EAAE,iBAAiBoxB,SAASviC,SAC9BmR,EAAE,iBAAiBnJ,MAAMqV,QAAU,WAGzCzU,EAAExF,YAAc,qBAChBmzB,EAAI5a,YAAY/S,GAChB,MAAMP,EAAIhK,SAAS4D,cAAc,KACjCoG,EAAE7H,UAAY,SACd6H,EAAE4vC,QAAU,WAC0B,SAAhC9mC,EAAE,YAAYnJ,MAAMqV,QACtBlM,EAAE,YAAYnJ,MAAMqV,QAAU,OAC3BlM,EAAE,YAAYnJ,MAAMqV,QAAU,QAErChV,EAAEjF,YAAc,sBAChBmzB,EAAI5a,YAAYtT,GAChB8I,EAAE,SAASijC,aAAa7d,EAAKplB,EAAE,SAASmlB,WAAW,IAs8FnD80B,GAh7JF,WACE,MAAMrd,EAAU1vC,SAAS4D,cAAc,QACvC8rC,EAAQva,GAAK,YACbua,EAAQ93B,IAAM,gBACd83B,EAAQyF,KAAO,uDACfn1C,SAASgtD,qBAAqB,QAAQ,GAAG1vC,YAAYoyB,GA46JrDud,GACA/nD,OAAO6C,KAAK8hB,GAAagN,SAASn1B,KAr6FpC,SAA6BskC,EAAa5Y,EAAM8Y,GAC9C,MAAMgN,EAAUlzC,SAAS4D,cAAc,OACvCsvC,EAAQ/d,GAAK6Q,EACb,MAAMwP,EAAOx1C,SAAS4D,cAAc,OACpC4xC,EAAK7rC,MAAMu8B,SAAWA,EACtBsP,EAAK7rC,MAAMy0B,aAAe,MAC1B,MAAMlG,EAAMl4B,SAAS4D,cAAc,OACnCs0B,EAAIvuB,MAAMuW,UAAY,OACtBgY,EAAInzB,YAAcqoB,EAClBooB,EAAKl4B,YAAY4a,GACjBgb,EAAQ51B,YAAYk4B,GACpB1rB,EAAsBkc,GAAekN,EA25FnCga,CACErjC,EAAYnoB,GAAG,GACfmoB,EAAYnoB,GAAG,GACfmoB,EAAYnoB,GAAG,OAjyFrB,WACE,MAAMqiD,EAAU/jD,SAAS4D,cAAc,KACvCmgD,EAAQ5uB,GAAK,6BACb4uB,EAAQh/C,YAAc,iBACtBg/C,EAAQ5hD,UAAY,SACpB4hD,EAAQnK,QAAU,WAChB8B,MAEFqI,EAAQ9J,WAAa,WACnB1yB,KAAK2W,QAAQ8rB,WAAa,GAE5BjG,EAAQjK,YAAc,WACpBvyB,KAAK2W,QAAQwe,QAAU,EACvBn1B,KAAK2W,QAAQhlB,KACX9Y,MACA,WACE,OAAOw7C,GAAc,KAAM,YAE7B,QAEFr0B,KAAK2W,QAAQye,UAEf7pC,EAAE,oBAAoBoxB,SAAS,GAAGipB,OAAOpJ,GACzC,MAAME,EAAcjkD,SAAS4D,cAAc,KAC3CqgD,EAAY9uB,GAAK,2BACjB8uB,EAAYl/C,YAAc,qBAC1Bk/C,EAAY9hD,UAAY,SACxB8hD,EAAYrK,QAAU,WACa,OAA7BxoB,GAAsB,KACxB7J,KAAKuR,UAAU1H,GAAsB,IAAIuqB,GAAK,IAElDsI,EAAYhK,WAAa,WACvB1yB,KAAK2W,QAAQ8rB,WAAa,GAE5B/F,EAAYnK,YAAc,WACxBvyB,KAAK2W,QAAQwe,QAAU,EACvBn1B,KAAK2W,QAAQhlB,KACX9Y,MACA,WACE,OAAOw7C,GAAc,KAAM,gBAE7B,QAEFr0B,KAAK2W,QAAQye,UAEf7pC,EAAE,oBAAoBoxB,SAAS,GAAGipB,OAAOlJ,GAuvFzCmJ,GAhuFAt6C,EAAE,YAAYnJ,MAAMqV,QAAU,OAC9BlM,EAAE,aAAanJ,MAAMwtB,QAAU,MAE/BrkB,EAAE,YAAYnJ,MAAMqV,QAAU,OAC9BlM,EAAE,YAAYnJ,MAAM,aAAe,OAqInCzE,OAAO6C,KAAKwf,KAAKyN,SAAS6B,SAASn1B,IACjC,MAAMo2B,EAAKvQ,KAAKyN,QAAQtzB,GACiB,OAArCoR,EAAE,UAAUglB,EAAG3C,MAAM2kB,cACvBjxB,EAAmBnnB,GAAKoR,EAAE,UAAUglB,EAAG3C,MAAM2kB,YAC7ChnC,EAAE,UAAUglB,EAAG3C,MAAM2kB,YAAc,WACjCvyB,KAAK2W,QAAQwe,QAAU,EACvBn1B,KAAK2W,QAAQhlB,KACX9Y,MACA,WACE,OAAOw7C,GAAc,IAAK,GAAGl6C,OAE/B,SAEF6lB,KAAK2W,QAAQye,cAUfp1B,KAAK8lC,aACPxlC,EAAoB/U,EAAE,SAASgnC,YAC/BhnC,EAAE,SAASgnC,YAAc,WACvBvyB,KAAK2W,QAAQwe,QAAU,EACvBn1B,KAAK2W,QAAQhlB,KACX9Y,MACA,WACE,OAAOw7C,GAAc,IAAK,UAE5B,QAEFr0B,KAAK2W,QAAQye,WAkFjBx0B,EAAgBZ,KAAKY,cACrBZ,KAAKY,cAAgB,WACnBA,IA3EEZ,KAAKyN,QAAQmM,KAAKzL,iBACpB5iB,EAAE,gBAAgBgnC,YAAc,WAC9BvyB,KAAK2W,QAAQwe,QAAU,EACvBn1B,KAAK2W,QAAQhlB,KACX9Y,MACA,WACE,OAAOw7C,GAAc,KAAM,sBAE7B,QAEFr0B,KAAK2W,QAAQye,UAEfzxC,MAAMq9C,KAAKz1C,EAAE,cAAcoxB,UAAUrN,SAASy2B,IAC5C,MAAMC,EAASD,EAAMn4B,GAAG1P,OAAO,GAC/B6nC,EAAMxT,YAAc,WAClBvyB,KAAK2W,QAAQwe,QAAU,EACvBn1B,KAAK2W,QAAQhlB,KACX9Y,MACA,WACE,OAAOw7C,GAAc,IAAK,CAAC,GAAG2R,EAAO,KAAM,GAAGA,EAAO,SAEvD,QAEFhmC,KAAK2W,QAAQye,cAsDjBF,KAhDJ,WACE,GAAIl1B,KAAKyN,QAAQF,OAAOY,eAAgB,CACtC,IAAK,IAAIh0B,EAAI,EAAGA,EAAI,GAAIA,GAAK,EAC3BoR,EAAE,YAAYpR,KAAKo4C,YAAc,WAC/BvyB,KAAK2W,QAAQwe,QAAU,EACvBn1B,KAAK2W,QAAQhlB,KACX9Y,MACA,WACE,OAAOw7C,GAAc,MAAOl6C,KAE9B,QAEF6lB,KAAK2W,QAAQye,UAGjB,IAAK,IAAIj7C,EAAI,EAAGA,EAAI,EAAGA,GAAK,EAC1BoR,EAAE,aAAapR,KAAKo4C,YAAc,WAChCvyB,KAAK2W,QAAQwe,QAAU,EACvBn1B,KAAK2W,QAAQhlB,KACX9Y,MACA,WACE,OAAOw7C,GAAc,MAAO,CAC1Bl6C,EACA6lB,KAAKyN,QAAQF,OAAOC,SAAS8I,KAAKn8B,OAGtC,QAEF6lB,KAAK2W,QAAQye,WAqBjB6Q,GACA1Q,MAEFv1B,KAAKY,gBA45ELrV,EAAE,wBAAwBgnC,YAAc,WACtC7vB,EAAsB,GAExBnX,EAAE,wBAAwBmnC,WAAa,WACrChwB,EAAsB,EACtB1C,KAAK2W,QAAQxlB,OACbxT,OAAO6C,KAAKwf,KAAKuR,WAAWjC,SAASn1B,IACnCyoB,EAA0BzoB,GAAK,MA+DnC2mD,KACAvL,KACAv1B,KAAK8hB,iBAELiS,KACAvxB,EAAoBxC,KAAK2wB,SAErB3wB,KAAK8c,MAAMopB,OACblmC,KAAKmmC,MACH,0CAGFnmC,KAAKomC,OACH,yCACA,GACA,GACA,EACA,GAGJpmC,KAAKqmC,IAAI,eA2EX,MAAMC,GAAK,CACT7sD,KA1DF,WACE+1C,IAAiB,EACjB,IAAI+W,GAAU,EACVvmC,KAAK8uB,UAAYlqB,OA74TF,WA84TjB2hC,EAAUC,QACR,4JAGAD,IACFrC,KACAlkC,KAAKymC,aAAa,OAAQ5pB,IAC1B7c,KAAKymC,aAAa,QAAS/V,IAC3B1wB,KAAKymC,aAAa,QAASrnB,IAC3BoQ,IAAiB,IA8CnBkX,KA/BF,SAAcnrD,GACZ,MAAMmzC,EAAOlzC,KAAKC,MAAMF,GACxBg0C,UAEsC,IAA3Bb,EAAKE,oBACd1qB,GAAoBwqB,EAAKE,mBAC3BmF,GAAWrF,EAAKG,UACK,YAAjBH,EAAKI,UACH9uB,KAAK8c,MAAMopB,OACblmC,KAAKmmC,MACH,iGAGFnmC,KAAKomC,OACH,gGACA,GACA,GACA,EACA,KAcN1X,KAAMA,IAGR1uB,KAAK2mC,YAAY,gBAAiBL,KA/8TlC,IAxgHS","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CacheAverageCookiesFromClicks","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","CMDrawHook","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","reduce","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","MissingAchievements","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoopHook","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","CrateTooltipLockedAchievements","tags","neuromancy","tagsStr","sesame","descFunc","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","calcSum","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","achievs","shadowachievs","values","parentElement","achievsCrate","AchievementsById","mouseDown","setOnCrate","AddMissingAchievements","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC,EACAC,EACAC,EACAC,EACAC,EACAE,EACAC,GAUIE,EAAc,CAClB,CAAC,6BAA8B,oCAAqC,SACpE,CACE,2CACA,6EACA,SAEF,CACE,6BACA,qPACA,SAEF,CACE,8BACA,kEACA,SAEF,CACE,kCACA,2PACA,SAEF,CACE,0BACA,gLACA,SAEF,CACE,2BACA,uOACA,SAEF,CACE,4BACA,2CACA,SAEF,CACE,8BACA,uHACA,UAGEC,EAAwB,GAM9B,IAUIC,EACAC,EAXAC,EAAsB,EACtBC,GAAmB,EAOnBC,EAA4B,GAQ5BC,EAAmB,EACnBC,EAAsB,EACtBC,EAA4B,EAMhC,MAAMC,EAAc,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,MAC9CC,EAAa,CAAC,EAAG,EAAG,GAAI,GAAI,IAK5BC,EAAc,CAClBC,OAAQrB,EACRsB,iBAAkBhB,EAClBiB,eAAgBxB,EAChByB,KAAMtB,EACNuB,eAAgB3B,EAChB4B,aAAcrB,GAMhB,IAOIsB,EACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GAdAC,GAAW,GAKXC,GAAQ,GAcRC,GAAoB,GAkBxB,SAASC,GAA4BC,EAAKC,EAAQC,GAChD,MAAMC,EAAW1E,EAAU2E,cAAgB,EAC3C,GAAIJ,IAAQK,IACV,MAAO,WAET,QAAmB,IAARL,EACT,MAAO,IAET,GAAwB,IAApBvE,EAAU6E,MACZ,OAAOjD,EAAgBkD,SAASP,EAAKC,GAEvC,GAAIO,OAAOC,SAAST,GAAM,CACxB,GAAIA,EAAM,EACR,MAAO,IAAID,GAA4BzhB,KAAK0N,IAAIgU,MAElD,IAAIU,EAAS,GACb,GAAY,IAARV,EACF,OAAOA,EAAIxhB,WAEb,GAAIwhB,EAAM,MAASA,EAAMvE,EAAUkF,YAGjC,OAF8BD,EAA1BjF,EAAUmF,eAAyBZ,EAAIa,eAAe,MAC5Cb,EAAIa,eAAe,MAC1BH,EAET,GAAyB,IAApBjF,EAAU6E,QAAgBJ,GAAsB,IAAXA,EAExCQ,EAASV,EAAIc,cAAcX,GAAU3hB,WAAW7B,QAAQ,IAAK,SACxD,CACL,MAAMokB,EAAcf,EAAIc,gBAAgBtiB,WAClCwiB,EAAwB1iB,KAAKkE,MACjCue,EAAYjH,MAAMiH,EAAY9nB,QAAQ,KAAO,GAAK,GAEpDynB,GAAUV,EAAMQ,OAAO,KAA6B,EAAxBQ,IAA8BC,QACxDd,GAGuB,IAApB1E,EAAU6E,QAAgBJ,GAAsB,IAAXA,EAEpCF,GAAO,KAAQA,EAAMQ,OAAO,KAAqB,EAAhB1E,EAAO9lB,QAC1C0qB,GAAU,IAAI5E,EAAOkF,KAChBN,EAASX,GAA4BC,EAAK,EAAG,GACtB,IAApBvE,EAAU6E,QAAgBJ,GAAsB,IAAXA,EAE3CF,GAAO,KAAQA,EAAMQ,OAAO,KAAyB,EAApBzE,EAAW/lB,QAC9C0qB,GAAU,IAAI3E,EAAWiF,KACpBN,EAASX,GAA4BC,EAAK,EAAG,GACtB,IAApBvE,EAAU6E,QAAgBJ,GAAsB,IAAXA,EAG7CF,GAAO,KACPA,EAAMQ,OAAO,KAAoC,EAA/BxE,EAAsBhmB,QAExC0qB,GAAU,IAAI1E,EAAsBgF,KAC/BN,EAASX,GAA4BC,EAAK,EAAG,IACtB,IAApBvE,EAAU6E,QAAgBJ,GAAsB,IAAXA,KAE/CQ,GAAU,IAA4B,EAAxBM,GAUlB,MAPe,KAAXN,IACF9pB,QAAQsqB,IACN,2DAA2DlB,KAE7DU,EAASrD,EAAgBkD,SAASP,EAAKC,IAErCxE,EAAUmF,iBAAgBF,EAASA,EAAO/jB,QAAQ,IAAK,MACpD+jB,EAGT,OADA9pB,QAAQsqB,IAAI,2DAA2DlB,KAChE3C,EAAgBkD,SAASP,EAAKC,GASvC,SAASkB,GAAWC,EAAMC,GACxB,IAAIC,EAAgBF,EACpB,GAAIA,IAASf,IAAU,OAAOe,EAC9B,GAAIA,EAAO,EAAG,MAAO,uBACrBE,EAAgBhjB,KAAKoL,KAAK0X,GAC1B,MAAMlhB,EAAI5B,KAAKkE,MAAM8e,EAAgB,UAC/BlG,EAAI9c,KAAKkE,MAAO8e,EAAgB,SAAY,OAC5Clf,EAAI9D,KAAKkE,MAAO8e,EAAgB,MAAS,MACzCprB,EAAIoI,KAAKkE,MAAO8e,EAAgB,KAAQ,IACxChf,EAAIhE,KAAKkE,MAAM8e,EAAgB,IACrC,IAAInqB,EAAM,GACV,GAAIskB,EAAU8F,WAAY,CACxB,GAAID,EAAgB,SAAY,MAAO,iBACvCnqB,IAAW+I,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACP/I,IAAWikB,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPjkB,IAAWiL,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPjL,IAAWjB,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPiB,IAAQmL,EAAI,GAAK,IAAM,IAAMA,MACxB,CACL,GAAIgf,EAAgB,OAClB,OAAOD,EAAa,kBAAoB,SAC1ClqB,GACE+I,EAAI,EACGA,GAAKmhB,EAAoB,IAANnhB,EAAU,QAAU,SAAY,KAAtD,KACA,GACN/I,GACEikB,EAAI,EAAOA,GAAKiG,EAAoB,IAANjG,EAAU,OAAS,QAAW,KAApD,KAA+D,IACrEjkB,EAAInB,OAAS,GAAKoM,EAAI,KACxBjL,GAAUiL,GAAKif,EAAoB,IAANjf,EAAU,QAAU,SAAY,KAAtD,OACLjL,EAAInB,OAAS,GAAKE,EAAI,KACxBiB,GAAUjB,GAAKmrB,EAAoB,IAANnrB,EAAU,UAAY,WAAc,KAA1D,MACTiB,GAAOmL,GAAK+e,EAAoB,IAAN/e,EAAU,UAAY,WAAc,KAEhE,OAAOnL,EAQT,SAASqqB,GAAcJ,GACrB,IAAIzd,EACA8d,EAWJ,OAVIL,GAAQ,GACgBK,EAAtBhG,EAAU8F,WAAmB,iBACrB,QACZ5d,EAAQ8Z,IAERgE,EAAON,GAAWC,GACFzd,EAAZyd,EAAO,IAAaxD,EACfwD,EAAO,GAAYzD,EACfD,GAER,CAAE+D,OAAM9d,SAMjB,IAuCI+d,GAoCAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GAEAC,GAEAC,GAwBAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAzIAC,GAAkB,EAClBC,GAAmB,EACnBC,GAAuB,EACvBC,GAAyB,EACzBC,GAAa,EACbC,GAAmB,EACnBC,GAAwB,EACxBC,GAAmB,EACnBC,GAAyB,EACzBC,GAA8B,EAC9BC,GAAe,EACfC,GAAqB,EACrBC,GAAe,EACfC,GAAuB,EACvBC,GAA6B,EAC7BC,GAAoC,EACpCC,GAAyB,EACzBC,GAAwB,EAExBC,GAAmB,EAEnBC,GAAe,EACfC,GAAe,EACfC,GAAkB,EAElBC,GAAgB,GAChBC,GAAiB,GACjBC,GAAkB,GAElBC,GAAsB,EACtBC,GAAuB,EACvBC,GAAwB,CAAC,EAAG,MAE5BC,GAA2B,EAC3BC,GAAyB,EAEzBC,GAAgB,GAEhBC,GAAqB,GAGrBC,GAAuB,GACvBC,GAA+B,GAC/BC,GAA8B,GAE9BC,GAAqB,EACrBC,GAAyB,EACzBC,GAAsB,GACtBC,GAA0B,EAC1BC,GAA8B,EAC9BC,GAA2B,GAC3BC,GAA2B,EAC3BC,GAA+B,EAC/BC,GAA4B,GAC5BC,GAAgC,EAChCC,GAAoC,EACpCC,GAAiC,GAEjCC,GAAyB,EACzBC,GAAwB,EAExBC,GAA4B,GAC5BC,GAAwB,GAExBC,GAA4B,EAG5BC,GAAa,EAEbC,GAAe,GAEfC,GAA0B,GAE1BC,GAAqB,EA6BrBC,GAAY,CACdC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACV1rB,EAAG,CAAC,EAAG,EAAG,GACV2rB,GAAI,CAAC,EAAG,EAAG,IAOTC,GAAa,GACbC,GAAc,GACdC,GAAkB,GAuBtB,SAASC,GAAYC,GACnB,IAAIrvB,EAAI,EAWR,OATE4iB,KAAK0M,YAAYjF,IAAe/oB,OAAS+tB,GACzCzM,KAAK0M,YAAYhF,IAAgBhpB,OAAS+tB,IAE1CrvB,EAAI,GAEqC,oBAAzC4iB,KAAK0M,YAAYjF,IAAe/oB,MACU,oBAA1CshB,KAAK0M,YAAYhF,IAAgBhpB,OAEjCtB,GAAK,IACAA,EAWT,SAASuvB,KACP,IAAIC,EAAW,IAEf,OADAA,GAAY,EAAIJ,GAAY,mBACrBI,EAST,SAASC,GAAOnuB,EAAMouB,GACpB,YAA6B,IAAlB/E,GAAQrpB,QACK,IAARouB,EAAsB,EAAIA,EAEnC/E,GAAQrpB,GASjB,SAASquB,GAAON,GACd,MAAMO,EAAKV,GAAYG,GACvB,OACyB,IAAvBzM,KAAKiN,eACQ,aAAZD,EAAGE,MAAmC,YAAZF,EAAGG,OAGzBH,EAAKA,EAAGI,OADN,EAYX,SAASC,GAAUZ,GACjB,GAAIzM,KAAKsN,OAAQ,MACoB/yB,IAA/B8xB,GAAWkB,OAAOC,WACpBnB,GAAWkB,OAAOC,SAAWxN,KAAKyN,QAAQF,OAAOC,UAEnD,MAAME,EAAMrB,GAAWkB,OAAOC,SAASG,KAAKlB,GAC5C,GAAI9E,KAAY+F,EAAIE,GAClB,OAAO,EAET,GAAIhG,KAAY8F,EAAIE,GAClB,OAAO,EAET,GAAI/F,KAAY6F,EAAIE,GAClB,OAAO,EAGX,OAAO,EAgBT,SAASC,GAAuBC,EAAUC,GACxC,IAAIC,EAAgBD,EAapB,GAZIhB,GAAO,oBAAmBiB,GAAiB,KAC3CjB,GAAO,sBAAqBiB,GAAiB,KAC7CjB,GAAO,iBAAgBiB,GAAiB,KACxCjB,GAAO,qBAAoBiB,GAAiB,KAC5CjB,GAAO,kBAAiBiB,GAAiB,KAE7CA,GAAiB,EAAoC,IAAhCxB,GAAY,kBAC7BxM,KAAKiO,QAAQ,wBAAuBD,GAAiB,KACrDhO,KAAKiO,QAAQ,mBAAkBD,GAAiB,KAChDhO,KAAKiO,QAAQ,mBAAkBD,GAAiB,MAChDF,EAASI,SAAWnB,GAAOe,EAASI,QAAQxvB,QAAOsvB,GAAiB,KACxEA,GAAiBnB,GAAO,gBACpBR,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASf,GAAU,YACV,IAAXe,EAAcJ,GAAiB,IACf,IAAXI,EAAcJ,GAAiB,IACpB,IAAXI,IAAcJ,GAAiB,KAE1C,OAAOA,EAkBT,SAASK,GACPC,EACAC,EACA5kB,EACA6kB,EACAC,EACAC,GAIA,MAAMC,OAA4B,IAAVD,EAAwB,EAAIA,EACpD,IAAIE,EAAWH,EACXI,EAAiBllB,EACjBmlB,EAAO,GACK,IAAZL,IAAeG,EAAWC,GACzBJ,IAAQG,EAAW5O,KAAK+O,SAC7B,IAAK,IAAI50B,EAAI,EAAGA,EAAIy0B,EAAUz0B,IAAK,CACjC,IAAI4zB,EACFQ,EAAYvO,KAAKgP,eAAiBtsB,KAAK6D,IAAI,EAAGsoB,EAAiBL,GACjET,EAAQY,EACJ3O,KAAKiP,oBAAoBX,EAAOP,GAChCF,GAAuBS,EAAOP,GAClCA,EAAQrrB,KAAKoL,KAAKigB,GAClB,MAAMnB,EAAW+B,EACbL,EAAMY,oBACNvC,KACJoB,EAAQrrB,KAAKkE,MAAMmnB,EAAQnB,GACvBiC,EAAiB,IACnBC,GAAQf,EACRc,GAAkB,GAGtB,OAAOC,EAoBT,SAASK,KACP,IAAI3vB,EAASwgB,KAAK+O,QA0ClB,GAzCqB,IAAjB/O,KAAKoP,QACPtM,EAAsBtjB,EAEtBA,EAASsjB,EAEI,IAAXtjB,EAAcA,EAASgqB,GACP,KAAXhqB,EAAeA,EAASiqB,GACb,MAAXjqB,IAAgBA,EAASkqB,IAEb,IAAjB1J,KAAKoP,QACuB,IAA1BvP,EAAUwP,YACZ1xB,OAAO6C,KAAKhB,GAAQ8vB,SAASn1B,IAC3BoR,EAAE,eAAeyU,KAAKyN,QAAQtzB,GAAGyzB,MAAMxrB,MAAM2F,MAC3C8X,EAAU,SAASrgB,EAAOrF,GAAG4N,YAGjCpK,OAAO6C,KAAKwf,KAAKyN,SAAS6B,SAASn1B,IACjCoR,EAAE,eAAeyU,KAAKyN,QAAQtzB,GAAGyzB,MAAMxrB,MAAMmtB,eAAe,aAGrC,IAAlBvP,KAAKoP,SACdzxB,OAAO6C,KAAKgpB,IAAe8F,SAASn1B,IAClC,MAAMwlB,EAAIK,KAAKyN,QAAQtzB,GACvBoR,EAAE,eAAeoU,EAAEiO,MAAMxrB,MAAM2F,MAAQ,GASvCwD,EAAE,eAAeoU,EAAEiO,MAAMjW,UAAYwM,GACnCkK,GAAa1O,EAAGA,EAAE4O,UAAW5O,EAAE8O,OAAQ9O,EAAE6O,KAAMxO,KAAK+O,QAAS,OAQ9C,IAAjB/O,KAAKoP,SAAiBvP,EAAU2P,cAAe,CACjD,IAAIC,EAC4B,IAA5B5P,EAAU2P,eACZC,EAAM9xB,OAAO6C,KAAKgpB,IAAelrB,KAAKoxB,IACpC,MAAM/P,EAAI6J,GAAckG,GAGxB,OAFA/P,EAAEjhB,KAAOgxB,EACT/P,EAAEiO,GAAK5N,KAAKyN,QAAQiC,GAAG9B,GAChBjO,KAGT8P,EAAIE,MAAK,SAAU3sB,EAAGP,GACpB,OAAO4f,EAAgBhlB,QAAQ2F,EAAE+E,OAC/Bsa,EAAgBhlB,QAAQoF,EAAEsF,OACxB,EACAsa,EAAgBhlB,QAAQ2F,EAAE+E,OAASsa,EAAgBhlB,QAAQoF,EAAEsF,QAE7D/E,EAAEyI,GAAKhJ,EAAEgJ,IADR,EAGD,MAE+B,IAA5BoU,EAAU2P,gBACnBC,EAAM9xB,OAAO6C,KAAKhB,GAAQlB,KAAKoxB,IAC7B,MAAM/P,EAAIngB,EAAOkwB,GAGjB,OAFA/P,EAAEjhB,KAAOgxB,EACT/P,EAAEiO,GAAK5N,KAAKyN,QAAQiC,GAAG9B,GAChBjO,KAGT8P,EAAIE,MAAK,SAAU3sB,EAAGP,GACpB,OAAO4f,EAAgBhlB,QAAQ2F,EAAE+E,OAC/Bsa,EAAgBhlB,QAAQoF,EAAEsF,OACxB,EACAsa,EAAgBhlB,QAAQ2F,EAAE+E,OAASsa,EAAgBhlB,QAAQoF,EAAEsF,QAE7D/E,EAAEyI,GAAKhJ,EAAEgJ,IADR,EAGD,MAIR,IAAK,IAAIpH,EAAI,EAAGA,EAAIorB,EAAIr1B,OAAQiK,IAC9B2b,KAAKyN,QAAQgC,EAAIprB,GAAG3F,MAAM6M,EAAEnJ,MAAMwtB,QAAU,GAAGvrB,EAAI,KAAKA,EAAI,QAEzD,CACL,MAAMorB,EAAM9xB,OAAO6C,KAAKgpB,IAAelrB,KAAKoxB,IAC1C,MAAM/P,EAAI6J,GAAckG,GAGxB,OAFA/P,EAAEjhB,KAAOgxB,EACT/P,EAAEiO,GAAK5N,KAAKyN,QAAQiC,GAAG9B,GAChBjO,KAET8P,EAAIE,MAAK,CAAC3sB,EAAGP,IAAMO,EAAE4qB,GAAKnrB,EAAEmrB,KAC5B,IAAK,IAAIvpB,EAAI,EAAGA,EAAIorB,EAAIr1B,OAAQiK,IAC9B2b,KAAKyN,QAAQgC,EAAIprB,GAAG3F,MAAM6M,EAAEnJ,MAAMwtB,QAAU,GAAGvrB,EAAI,KAAKA,EAAI,KAiBlE,SAASwrB,KAEP,GAAIhQ,EAAUiQ,YAAc,EAAG,CAC7B,IAAIC,EAAO,EACPC,EAAQ,EACRC,EAAS,EACTC,EAAS,EACTC,EAAM,EACNC,EAAS,EACTC,EAAO,EAEX1yB,OAAO6C,KAAKwf,KAAKsQ,iBAAiBhB,SAASn1B,IACzC,MAAMo2B,EAAKvQ,KAAKsQ,gBAAgBn2B,GAChC,IAAIq2B,GAAc,EAClB,IAAK,IAAIC,EAAI,EAAGA,EAAIllB,EAAE,UAAUpR,KAAKu2B,WAAWt2B,OAAQq2B,GAAK,EAC3D,IACuE,IAArEllB,EAAE,UAAUpR,KAAKu2B,WAAWD,GAAG71B,UAAUyC,QAAQskB,GACjD,CACApW,EAAE,UAAUpR,KAAKu2B,WAAWD,GAAG71B,UAC7B+mB,EAAgBqI,GAAcuG,EAAG7xB,MAAMqJ,MACzCyoB,GAAc,EACd,MAGJ,IAAKA,EAAa,CAChB,MAAMG,EAAMl4B,SAAS4D,cAAc,OACnCs0B,EAAIvuB,MAAMkG,MAAQ,OAClBqoB,EAAIvuB,MAAMmG,OAAS,OACnBooB,EAAI/1B,UAAY+mB,EAAgBqI,GAAcuG,EAAG7xB,MAAMqJ,MACvDwD,EAAE,UAAUpR,KAAK4b,YAAY4a,GAE3B3G,GAAcuG,EAAG7xB,MAAMqJ,QAAU6Z,EAAYmO,GAAQ,EAChD/F,GAAcuG,EAAG7xB,MAAMqJ,QAAU8Z,EAAamO,GAAS,EACvDhG,GAAcuG,EAAG7xB,MAAMqJ,QAAU+Z,EAAcmO,GAAU,EACzDjG,GAAcuG,EAAG7xB,MAAMqJ,QAAUga,EAAcmO,GAAU,EACzDlG,GAAcuG,EAAG7xB,MAAMqJ,QAAUia,EAAWmO,GAAO,EACnDnG,GAAcuG,EAAG7xB,MAAMqJ,QAAUka,EAAcmO,GAAU,EACzDpG,GAAcuG,EAAG7xB,MAAMqJ,QAAUma,IAAYmO,GAAQ,MAGhE9kB,EAAE,oBAAoB/N,YAAcuyB,EACpCxkB,EAAE,qBAAqB/N,YAAcwyB,EACrCzkB,EAAE,sBAAsB/N,YAAcyyB,EACtC1kB,EAAE,sBAAsB/N,YAAc0yB,EACtC3kB,EAAE,mBAAmB/N,YAAc2yB,EACnC5kB,EAAE,sBAAsB/N,YAAc4yB,EACtC7kB,EAAE,oBAAoB/N,YAAc6yB,EAGtC,MAAMZ,EAAM,GAGZ,IAAK,IAAIprB,EAAI,EAAGA,EAAI2b,KAAKsQ,gBAAgBl2B,OAAQiK,GAAK,EAAG,CACvD,MAAMsb,EAAI,GACVA,EAAEjhB,KAAOshB,KAAKsQ,gBAAgBjsB,GAAG3F,KACjCihB,EAAEoO,MAAQ/N,KAAKsQ,gBAAgBjsB,GAAGkqB,UAClC5O,EAAElU,GAAKue,GAAcrK,EAAEjhB,MAAM+M,GAC7BgkB,EAAIxzB,KAAK0jB,GAGPE,EAAU+Q,aACZnB,EAAIE,MAAK,SAAU3sB,EAAGP,GACpB,OAAO4f,EAAgBhlB,QAAQ2F,EAAE+E,OAASsa,EAAgBhlB,QAAQoF,EAAEsF,OAChE,EACAsa,EAAgBhlB,QAAQ2F,EAAE+E,OAASsa,EAAgBhlB,QAAQoF,EAAEsF,QAE7D/E,EAAEyI,GAAKhJ,EAAEgJ,IADR,EAGD,KAGNgkB,EAAIE,MAAK,CAAC3sB,EAAGP,IAAMO,EAAE+qB,MAAQtrB,EAAEsrB,QAGjC,MAAM8C,EAAc,SAAUC,EAAMC,GAClC,OAAOD,EAAKE,WAAW11B,GAAMA,EAAEoD,OAASqyB,EAAQryB,QAElD,IAAK,IAAI2F,EAAI,EAAGA,EAAI2b,KAAKsQ,gBAAgBl2B,OAAQiK,GAAK,EACpDkH,EAAE,UAAUlH,KAAKjC,MAAM6uB,MACrBJ,EAAYpB,EAAKzP,KAAKsQ,gBAAgBjsB,IAAM,EAYlD,SAAS6sB,KACP,OAAIrR,EAAUsR,QACLrK,GAEmB,IAAxBjH,EAAUuR,UACLpR,KAAKqR,WAAa,EAAIrR,KAAKsR,WAER,IAAxBzR,EAAUuR,UAEVpR,KAAKqR,WACJvH,IAA4B,EAA6B,IAAzBC,KAGJ,OAA7BF,GAAsB,IAEE,IAAxBhK,EAAUuR,WACwC,IAAlDpR,KAAKuR,UAAU1H,GAAsB,IAAIrvB,KAGvCwlB,KAAKqR,WACwB,EAA3BvH,GAAgCC,IAC/B,EAA6B,IAAzBA,KAIX/J,KAAKqR,WACJvH,GAA2BC,IACzB,EAA6B,IAAzBA,KAaX,SAASyH,KACP,OAA4B,IAAxB3R,EAAUuR,UACLzH,GAEmB,IAAxB9J,EAAUuR,UACLvH,GAAsB,GAExB,EAcT,SAAS4H,GAAY7D,EAAIlvB,EAAMgzB,GAC7B,MAAMC,EAAWl5B,SAAS4D,cAAc,OACxCs1B,EAAS/D,GAAKA,EACd+D,EAASvvB,MAAMmG,OAAS,OACxBopB,EAASvvB,MAAMwvB,OAAS,WACxBD,EAASvvB,MAAMgI,SAAW,WAE1B,MAAMumB,EAAMl4B,SAAS4D,cAAc,OACnCs0B,EAAIvuB,MAAMkG,MAAQ,OAClBqoB,EAAIvuB,MAAMmG,OAAS,OACnBooB,EAAIvuB,MAAMwvB,OAAS,OACnBjB,EAAIvuB,MAAMgI,SAAW,WACrBumB,EAAIvuB,MAAMqC,KAAO,MACjBksB,EAAIvuB,MAAMsC,IAAM,MAChBisB,EAAIvuB,MAAMkI,MAAQ,MAClBqmB,EAAIvuB,MAAMkW,OAAS,MAEnB,MAAM9d,EAAO/B,SAAS4D,cAAc,QACpC7B,EAAK4H,MAAMqV,QAAU,eACrBjd,EAAK4H,MAAMuW,UAAY,QACvBne,EAAK4H,MAAMyvB,SAAW,OACtBr3B,EAAK4H,MAAMkG,MAAQ,QACnB9N,EAAK4H,MAAM0vB,YAAc,MACzBt3B,EAAK4H,MAAM2vB,cAAgB,WAC3Bv3B,EAAKgD,YAAckB,EACnBiyB,EAAI5a,YAAYvb,GAEhB,IAAK,IAAIL,EAAI,EAAGA,EAAIu3B,EAAKt3B,OAAQD,IAAK,CACpC,MAAM63B,EAAWv5B,SAAS4D,cAAc,QACxC21B,EAASpE,GAAK8D,EAAKv3B,GAAGyzB,GACtBoE,EAAS5vB,MAAMqV,QAAU,eACzBua,EAAS5vB,MAAMmG,OAAS,OACxBypB,EAAS5vB,MAAM2vB,cAAgB,WAC/BC,EAAS5vB,MAAMuW,UAAY,SACvB+Y,EAAKt3B,OAAS,IAAMD,IACtB63B,EAAS5vB,MAAM6vB,qBAAuB,OACtCD,EAAS5vB,MAAM8vB,wBAA0B,aAEd,IAAlBR,EAAKv3B,GAAG4N,QACjBiqB,EAASp3B,UAAY+mB,EAAgB+P,EAAKv3B,GAAG4N,OAE/C4oB,EAAI5a,YAAYic,GAGlB,MAAMG,EAAQ15B,SAAS4D,cAAc,QAQrC,OAPA81B,EAAMvE,GAAK,GAAGA,QACduE,EAAM/vB,MAAMgwB,WAAa,MACzBD,EAAM/vB,MAAM2vB,cAAgB,WAC5BpB,EAAI5a,YAAYoc,GAEhBR,EAAS5b,YAAY4a,GAEdgB,EAOT,SAASU,GAA2BC,GAClC,GAAsB,OAAlB/mB,EAAE,YAAsB,CAC1B,MAAM/Q,EAAO+Q,EAAE,YAAYvO,WAAWA,WAAW0zB,WAAW,GACtD6B,EAAQhnB,EAAE,YAAYvO,WAAWA,WAAW0zB,WAAW,GACvDjlB,EAAKF,EAAE,YAAYvO,WAAWA,WAAW0zB,WAAW,GACpDlL,EAAOja,EAAE,YAAYvO,WAAWA,WAAW0zB,WAAW,GAEtDv2B,EAAIm4B,EACJE,EAASh4B,EAAKub,YAAYtd,SAAS4D,cAAc,OACvDm2B,EAAOzc,YACLtd,SAASqgB,eACP,IAAuB,IAApB3e,EAAEkD,QAAQ,KAAclD,EAAEs4B,UAAU,EAAGt4B,EAAEkD,QAAQ,MAAQlD,QAInDq4B,EAAOzc,YAAYtd,SAAS4D,cAAc,SAClDzB,UAAY8mB,aAEjB8Q,EAAOzc,YAAYtd,SAASqgB,eAAe,MAC3Cte,EAAKk4B,UAAUtwB,MAAMuwB,YAAc,MACnCJ,EAAMxc,YAAYtd,SAAS4D,cAAc,OACzCk2B,EAAMG,UAAUtwB,MAAMuwB,YAAc,MACpClnB,EAAGsK,YAAYtd,SAAS4D,cAAc,OACtCoP,EAAGinB,UAAUtwB,MAAMuwB,YAAc,MACjCnN,EAAKzP,YAAYtd,SAAS4D,cAAc,OACxCmpB,EAAKkN,UAAUtwB,MAAMuwB,YAAc,OAoEvC,SAASC,KACP,GAAyB,IAArB/S,EAAUgT,QAAgBrJ,IAAkC,IAAjBxJ,KAAKoP,QAAe,CACjE,IAAI0D,EAAQ,EACZn1B,OAAO6C,KAAKgpB,IAAe8F,SAASn1B,IAClC,IAmBI44B,EAnBAvzB,EAASwgB,KAAK+O,QACG,IAAjB/O,KAAKoP,QACPvM,EAAmBrjB,EAEnBA,EAASqjB,EAEI,IAAXrjB,IAAcA,EAASgqB,IACZ,KAAXhqB,IAAeA,EAASiqB,IACb,MAAXjqB,IAAgBA,EAASkqB,IAC7BoJ,GAAS,EACTvnB,EAAE,YAAYvO,WAAWA,WAAW0zB,WAAW,GAAGA,WAChDoC,GACApC,WAAW,GAAGlzB,YAAcwiB,KAAKyN,QAAQtzB,GAAGs0B,OAC9CljB,EAAE,YAAYvO,WAAWA,WAAW0zB,WAAW,GAAGA,WAChDoC,GACAt1B,YAAc2mB,GAA4B3kB,EAAOrF,GAAGo4B,MAAO,GAC7DhnB,EAAE,YAAYvO,WAAWA,WAAW0zB,WAAW,GAAGA,WAChDoC,GACAl4B,UAAY8mB,EAAgBliB,EAAOrF,GAAG4N,MAGtCgrB,EADElT,EAAUmT,cACDzN,GAAW7iB,KAAKC,MAAMnD,EAAOrF,GAAGsR,KAC7B0Y,GAA4BzhB,KAAKC,MAAMnD,EAAOrF,GAAGsR,IAAK,GACtEF,EAAE,YAAYvO,WAAWA,WAAW0zB,WAAW,GAAGA,WAChDoC,GACAt1B,YAAcu1B,EAChB,MAAME,EAAarN,IAChB5F,KAAKyN,QAAQtzB,GAAG+4B,WAAalT,KAAKmT,QAAU3B,OAC3CN,MAEJ3lB,EAAE,YAAYvO,WAAWA,WAAW0zB,WAAW,GAAGA,WAChDoC,GACAl4B,UAAY8mB,EAAgBuR,EAAWlrB,MAEnB,UAApBkrB,EAAWpN,MACX7F,KAAKmT,QAAUnT,KAAKyN,QAAQtzB,GAAG+4B,UAE/B3nB,EAAE,YAAYvO,WAAWA,WAAW0zB,WAAW,GAAGA,WAChDoC,GACAt1B,YAAc,GAAGy1B,EAAWpN,oBAE9Bta,EAAE,YAAYvO,WAAWA,WAAW0zB,WAAW,GAAGA,WAChDoC,GACAt1B,YAAcy1B,EAAWpN,SAWnC,SAASuN,KACPpT,KAAKqT,WAAWlrB,OAAOG,MAAQ0X,KAAKqT,WAAWlrB,OAAOmR,WAAWxU,YACjEkb,KAAKqT,WAAWlrB,OAAOI,OACrByX,KAAKqT,WAAWlrB,OAAOmR,WAAWvU,aACpCib,KAAKsT,eAAenrB,OAAOG,MACzB0X,KAAKsT,eAAenrB,OAAOmR,WAAWxU,YACxCkb,KAAKsT,eAAenrB,OAAOI,OACzByX,KAAKsT,eAAenrB,OAAOmR,WAAWvU,aAY1C,SAASwuB,KAEgB,IAArB1T,EAAUgT,QACa,IAAvBhT,EAAU2T,UACgB,IAA1B3T,EAAU4T,aAEVloB,EAAE,YAAYnJ,MAAMkW,OAAS/M,EAAE,cAAcnJ,MAAMmG,OACnDgD,EAAE,QAAQnJ,MAAMkW,OAAS,GACvBsM,OAAOrZ,EAAE,cAAcnJ,MAAMmG,OAAOxH,QAAQ,KAAM,KAAO,QAE7B,IAArB8e,EAAUgT,QACnBtnB,EAAE,YAAYnJ,MAAMkW,OAAS,MAC7B/M,EAAE,QAAQnJ,MAAMkW,OAAS,QACO,IAAvBuH,EAAU2T,UAA4C,IAA1B3T,EAAU4T,YAC/CloB,EAAE,QAAQnJ,MAAMkW,OAAS/M,EAAE,cAAcnJ,MAAMmG,OAG/CgD,EAAE,QAAQnJ,MAAMkW,OAAS,MAGA,IAAvBuH,EAAU2T,UAA4C,IAA1B3T,EAAU4T,YACxCloB,EAAE,eAAenJ,MAAMsC,IAAM6G,EAAE,cAAcnJ,MAAMmG,OAEnDgD,EAAE,eAAenJ,MAAMsC,IAAM,GAG/B0uB,KAMF,SAASM,KACoB,IAAvB7T,EAAU2T,SAAgBjoB,EAAE,cAAcnJ,MAAMqV,QAAU,GACzDlM,EAAE,cAAcnJ,MAAMqV,QAAU,OACrC8b,KAoPF,SAASI,KACPzL,GAAkBlI,KAAK4T,WACvBzL,GAAmBnI,KAAK6T,YAS1B,SAASC,GAAgBC,GACvB,MAAMxD,EAAKvQ,KAAKgU,aAAaD,GACvBE,EAAM,GAEZ,OADAA,EAAIv1B,KAAO6xB,EAAG7xB,KACPu1B,EAUT,SAASC,GAAoB3D,GAC3B,IAAI4D,EAAO,EAoBX,GAnBAx2B,OAAO6C,KAAK+vB,EAAG6D,gBAAgB9E,SAASn1B,KAEnC6lB,KAAKqU,MAAM9D,EAAG6D,eAAej6B,GAAGgzB,MAAMmH,SACvCvH,GAAOwD,EAAG6D,eAAej6B,GAAGuE,QAE5By1B,GAAQ,MAEZx2B,OAAO6C,KAAK+vB,EAAGgE,WAAWjF,SAASn1B,IACjC,GAAI4yB,GAAOwD,EAAGgE,UAAUp6B,GAAGuE,MAAO,CAChC,MAAM81B,EAAMjE,EAAGgE,UAAUp6B,GACrBq6B,EAAIC,aAAa/1B,OAAS6xB,EAAG7xB,KAC/By1B,GAAQ,EAAI,IAAOK,EAAIE,aAAajG,OAC7B+F,EAAIE,aAAah2B,OAAS6xB,EAAG7xB,OACpCy1B,GAAQ,EAAI,KAAQK,EAAIC,aAAahG,YAGvC8B,EAAGrC,SAAWnB,GAAOwD,EAAGrC,QAAQxvB,QAAOy1B,GAAQ,MAC/C5D,EAAGoE,SAAW5H,GAAOwD,EAAGoE,QAAQj2B,QAClCy1B,GAAQ,EAAgC,IAA5B9H,GAAWuI,QAAQnG,QAAiB,GAAK8B,EAAG3C,GAAK,KACnB,iBAAjC2C,EAAG6D,eAAeS,YACR,IAAftE,EAAGuE,SAAiB/H,GAAOwD,EAAG6D,eAAeS,WAAWn2B,MAC1D,OAAQshB,KAAKC,YACX,QACEkU,GAAQ,EACR,MACF,KAAK,EACHA,GAAQ,KACR,MACF,KAAK,EACHA,GAAQ,KACR,MACF,KAAK,EACHA,GAAQ,KAKhB,OAAOA,EAiBT,SAASY,GAAoBzC,GAC3B,MAAM/B,EAAKvQ,KAAKyN,QAAQ6E,GAClB2B,EAAM,GA2FZ,MA1FgB,WAAZ1D,EAAG7xB,KACLu1B,EAAIe,IAAM,SAAUhI,GAClB,IAAI1rB,EAAM,EACNyrB,GAAO,sBAAqBzrB,GAAO,IACnCyrB,GAAO,qBAAoBzrB,GAAO,GAClCyrB,GAAO,qBAAoBzrB,GAAO,IAClCyrB,GAAO,sBAAqBzrB,GAAO,IACnCyrB,GAAO,yBAAwBzrB,GAAO,IACtCyrB,GAAO,yBAAwBzrB,GAAO,IACtCyrB,GAAO,wBAAuBzrB,GAAO,IACrCyrB,GAAO,wBAAuBzrB,GAAO,IACrCyrB,GAAO,uBAAsBzrB,GAAO,IACpCyrB,GAAO,uBAAsBzrB,GAAO,IACxC,IAAI6yB,EAAO,EACP/P,EAAM,EAQV,OAPAzmB,OAAO6C,KAAK6rB,IAAYiD,SAASn1B,IACJ,WAAvBkyB,GAAWlyB,GAAGuE,OAAmB0lB,GAAOiI,GAAWlyB,GAAGs0B,WAE5DntB,GAAO8iB,EACP+P,GAAQD,GAAoBlH,GAC5BmH,GAAQnU,KAAKiV,SAAS,UACtBd,GAAQtH,GAAO,aAEb7M,KAAKkV,WACH,GACAnI,GAAO,2BACLA,GAAO,kCACPA,GAAO,gBACTzrB,GACE6yB,GAGa,YAAZ5D,EAAG7xB,KACZu1B,EAAIe,IAAM,SAAUhI,GAClB,IAAImH,EAAO,EAYX,GAXAx2B,OAAO6C,KAAKwf,KAAKmV,kBAAkB7F,SAASn1B,IACtC4yB,GAAO/M,KAAKmV,iBAAiBh7B,MAAKg6B,GAAQ,MAE5CpH,GAAO,oCAAmCoH,GAAQ,GAClDpH,GAAO,yBAAwBoH,GAAQ,GACvCpH,GAAO,kBAAiBoH,GAAQ,GAEhCpH,GAAO,wBAAuBoH,GAAQ,MAE1CA,GAAQtH,GAAO,cAEXE,GAAO,cACT,IAAK,IAAI5yB,EAAI,EAAGA,EAAI6lB,KAAKoV,eAAeC,OAAOj7B,OAAQD,IACjD4yB,GAAO/M,KAAKoV,eAAeC,OAAOl7B,GAAGuE,QAAOy1B,GAAQ,MAI5DA,GAAQD,GAAoBlH,GAE5B,IAAI1rB,EAAM,EACNyrB,GAAO,cAAazrB,GAAmC,IAA5B+qB,GAAWuI,QAAQnG,QAC9C1B,GAAO,yBACTzrB,GAAmC,IAA5B+qB,GAAWuI,QAAQnG,QACxB1B,GAAO,gBAAezrB,GAAkC,IAA3B+qB,GAAWiJ,OAAO7G,QAEnD,IAAIrK,EAAM,EASV,OARAzmB,OAAO6C,KAAK6rB,IAAYiD,SAASn1B,IACJ,YAAvBkyB,GAAWlyB,GAAGuE,OAAoB0lB,GAAOiI,GAAWlyB,GAAGs0B,WAG7D0F,GAAQ,EAAqC,IAAjC3H,GAAY,mBAA4BpI,EAEpD+P,GAAQnU,KAAKiV,SAAS1E,EAAG7xB,OAEjB6xB,EAAGgF,QAAUj0B,GAAO6yB,GAG9BF,EAAIe,IAAM,SAAUhI,GAClB,IAAImH,EAAO,EAGX,OAFAA,GAAQD,GAAoBlH,GAC5BmH,GAAQnU,KAAKiV,SAASjI,EAAGtuB,MAClBsuB,EAAGwI,QAAUrB,GAKxBF,EAAIsB,QAAUhF,EAAGgF,QACjBtB,EAAIv1B,KAAO6xB,EAAG7xB,KACdu1B,EAAIG,eAAiB7D,EAAG6D,eACxBH,EAAIM,UAAYhE,EAAGgE,UACnBN,EAAI/F,QAAUqC,EAAGrC,QACjB+F,EAAIU,QAAUpE,EAAGoE,QACjBV,EAAIuB,QAAUjF,EAAGgF,QACjBtB,EAAIrG,GAAK2C,EAAG3C,GACZqG,EAAIa,QAAUvE,EAAGuE,QACVb,EAaT,SAASwB,GAAYC,GACnB,MAAMnF,EAAKvQ,KAAK2V,SAASD,GACnBzB,EAAM,GA4BZ,OA1BAA,EAAI2B,MAAQrF,EAAGqF,MACU,mBAAd3B,EAAI2B,QACG,0BAAZrF,EAAG7xB,KACLu1B,EAAI2B,MAAQ,WACV,IAAIx4B,EAAI,EAIR,OAHAO,OAAO6C,KAAK6rB,IAAYiD,SAASn1B,IAC3BkyB,GAAWlyB,GAAG07B,OAAS,KAAIz4B,GAAK,MAE/BA,GAGT62B,EAAI2B,MAAQ,WACV,IAAIE,EAAM,EAEV,GADI/I,GAAO,cAAa+I,EAAM,GAC1B9V,KAAKsN,OAAQ,CACf,MAAMc,EAASf,GAAU,WACV,IAAXe,EAAc0H,GAAO,IACL,IAAX1H,EAAc0H,GAAO,IACV,IAAX1H,IAAc0H,GAAO,KAEhC,OAAOA,IAIb7B,EAAI/G,KAAOqD,EAAGrD,KACd+G,EAAIv1B,KAAO6xB,EAAG7xB,KACPu1B,EAiBT,SAAS8B,KAEP3O,GAAmBpH,KAAKgW,cACxB3O,GAAarH,KAAKiW,QAClB3O,GAAuBtH,KAAKkW,kBAC5B3O,GAAmBvH,KAAKmW,cACxB3O,GAAcxH,KAAKoW,SAGnBz4B,OAAO6C,KAAKwf,KAAKyN,SAAS6B,SAASn1B,IACjC,MAAMo2B,EAAKvQ,KAAKyN,QAAQtzB,GACxB,IAAI85B,EAAM5H,GAAWlyB,QACTI,IAAR05B,IAEF5H,GAAWlyB,GAAK46B,GAAoB56B,GACpC85B,EAAM5H,GAAWlyB,GACjBk4B,GAA2Bl4B,IAE7B85B,EAAIxF,OAAS8B,EAAG9B,OAChBwF,EAAI4B,MAAQtF,EAAGsF,MACf5B,EAAIoC,aAAe9F,EAAG8F,aACtBpC,EAAI1F,UAAYgC,EAAGhC,UACnB0F,EAAIzF,KAAO+B,EAAG/B,KACV+B,EAAGpC,iBACW,WAAZoC,EAAG7xB,OACLipB,GAAU4I,EAAG/C,SAAS8I,KAAK,GAC3B1O,GAAU2I,EAAG/C,SAAS8I,KAAK,GAC3BzO,GAAU0I,EAAG/C,SAAS8I,KAAK,IAE7BrC,EAAI9F,eAAiBoC,EAAGpC,eACxB8F,EAAIzG,SAAW+C,EAAG/C,UAEpBnB,GAAWlyB,GAAK85B,KAIlBt2B,OAAO6C,KAAKwf,KAAK2V,UAAUrG,SAASn1B,IAClC,MAAMo2B,EAAKvQ,KAAK2V,SAASx7B,GACzB,IAAI85B,EAAM3H,GAAYnyB,QACVI,IAAR05B,IACF3H,GAAYnyB,GAAKs7B,GAAYt7B,GAC7B85B,EAAM3H,GAAYnyB,IAEpB85B,EAAI7G,OAASmD,EAAGnD,OAChBd,GAAYnyB,GAAK85B,KAInBt2B,OAAO6C,KAAKwf,KAAKgU,cAAc1E,SAASn1B,IACtC,MAAMo2B,EAAKvQ,KAAKgU,aAAa75B,GAC7B,IAAI85B,EAAM1H,GAAgBpyB,QACdI,IAAR05B,IACF1H,GAAgBpyB,GAAK25B,GAAgB35B,GACrC85B,EAAM1H,GAAgBpyB,IAExB85B,EAAIsC,IAAMhG,EAAGgG,IACbhK,GAAgBpyB,GAAK85B,KAIvBN,KACAlM,GAAgBS,GAChBR,GAAiBS,GA8BnB,SAASqO,GAAoB3Q,GAC3B,MAAM8K,EAAMl4B,SAAS4D,cAAc,OAKnC,OAJAs0B,EAAIvuB,MAAMq0B,WAAa,OACvB9F,EAAI/C,GAAK,GAAG/H,SACZ8K,EAAI/1B,UAAY8mB,aAChBiP,EAAInzB,YAAcqoB,EACX8K,EAmHT,SAAS+F,GAAgCC,GACvCA,EAAQ5gB,YAAYygB,GAAoB,iBACxC,MAAMI,EAASn+B,SAAS4D,cAAc,OACtCu6B,EAAOx0B,MAAMy0B,aAAe,MAC5BD,EAAOx0B,MAAM2F,MAAQ,QACrB6uB,EAAOhJ,GAAK,kBACZ+I,EAAQ5gB,YAAY6gB,GAEpBD,EAAQ5gB,YAAYygB,GAAoB,4BACxCG,EAAQjE,UAAUtwB,MAAMqV,QAAU,OAClC,MAAMqf,EAAQr+B,SAAS4D,cAAc,OACrCy6B,EAAM10B,MAAMy0B,aAAe,MAC3BC,EAAM10B,MAAM2F,MAAQ,QACpB+uB,EAAM10B,MAAMqV,QAAU,OACtBqf,EAAMlJ,GAAK,0BACX+I,EAAQ5gB,YAAY+gB,GAEpBH,EAAQ5gB,YAAYygB,GAAoB,mBACxC,MAAM/qB,EAAKhT,SAAS4D,cAAc,OAClCoP,EAAGrJ,MAAMy0B,aAAe,MACxBprB,EAAGmiB,GAAK,cACR+I,EAAQ5gB,YAAYtK,GAEpBkrB,EAAQ5gB,YAAYygB,GAAoB,cACxC,MAAMhR,EAAO/sB,SAAS4D,cAAc,OAIpC,GAHAmpB,EAAKoI,GAAK,gBACV+I,EAAQ5gB,YAAYyP,GAEA,MAAhB7B,GAAqB,CACvBgT,EAAQ5gB,YACNygB,GAAoB,0CAEtBG,EAAQjE,UAAU9E,GAAK,4BACvB,MAAMmJ,EAAat+B,SAAS4D,cAAc,OAC1C06B,EAAWnJ,GAAK,sBAChB+I,EAAQ5gB,YAAYghB,IA+JxB,SAASC,GACPC,EACAC,EACAC,GAEA,IAAIC,EAAQH,EACRnE,EAAQ,EACZ,KAAOsE,EAAQD,GACbC,GAAqE,KAA5D10B,KAAK6D,IAAI,MAAQ6wB,EAAQ10B,KAAK6D,IAAI2wB,EAAU,OAAS,IAC9DpE,GAAS,EAEX,OAAOA,EAAQ9S,KAAKqX,IA0XtB,SAASC,KACP,IAAInD,EAAO,EAKX,OAJAx2B,OAAO6C,KAAKwf,KAAKuX,OAAOjI,SAASn1B,SACM,IAA1B6lB,KAAKuX,MAAMp9B,GAAGq9B,UACvBrD,GAAQnU,KAAKuX,MAAMp9B,GAAGq9B,YAEnBrD,EAWT,SAASsD,KACiC,OAApClsB,EAAE,gCAC0B,IAA1BsU,EAAU6X,aACZnsB,EAAE,8BAA8BnJ,MAAMsC,IAAM,OAC5C6G,EAAE,8BAA8BnJ,MAAMwvB,OAAS,WAC/CrmB,EAAE,8BAA8BnJ,MAAMwK,QAAU,YAEhDrB,EAAE,8BAA8BnJ,MAAMkI,MAAQ,OAC9CiB,EAAE,8BAA8BnJ,MAAMwvB,OAAS,MAC/CrmB,EAAE,8BAA8BnJ,MAAMwK,QAAU,YA0LtD,SAAS+qB,KAEP,GADA5B,KACyC,SAArCxqB,EAAE,iBAAiBnJ,MAAMqV,SAAsBlM,EAAE,iBAAkB,CACrEA,EAAE,iBAAiBoM,UAAY,GAC/B,MAAMigB,EAx6BV,WACErsB,EAAE,WAAWvO,WAAWoF,MAAMy1B,cAAgB,MAC9C,MAAMD,EAAan/B,SAAS4D,cAAc,OAM1C,OALAu7B,EAAWx1B,MAAM0U,OAAS,YAC1B8gB,EAAWx1B,MAAMwK,QAAU,MAC3BgrB,EAAWx1B,MAAMwvB,OAAS,WAC1BgG,EAAWhK,GAAK,kBAChBgK,EAAWh9B,UAAY8mB,aAChBkW,EAg6BcE,GACnBvsB,EAAE,iBAAiBwK,YAAY6hB,GAEX,MAAhBjU,GA9uBR,WACE,GAAsC,IAAlC9D,EAAUkY,qBAA8C,IAAjB/X,KAAKoP,QAAe,CAI7D,IAAI5vB,EAaJ,GAfAk3B,GADmBnrB,EAAE,oBAIA,IAAjByU,KAAKoP,QACPrM,EAA4BvjB,EAE5BA,EAASujB,EAEU,IAAjB/C,KAAK+O,QAAevvB,EAASgqB,GACP,KAAjBxJ,KAAK+O,QAAgBvvB,EAASiqB,GACb,MAAjBzJ,KAAK+O,UAAiBvvB,EAASkqB,IAExCjG,EAAezD,KAAKyN,QAAQ7J,IAAasP,UACzCxP,GAAqBlkB,EAAOokB,IAAa2O,MAEH,IAAlC1S,EAAUkY,qBAA8C,IAAjB/X,KAAKoP,QAAe,CAC7D7jB,EAAE,mBAAmB/N,YAAc2mB,GAA4BT,GAAoB,GACnF,MAAMsU,EAAWt1B,KAAKC,MACnB+gB,GAAqB1D,KAAKqR,UAAa,KAEtCzM,OAAOC,SAASmT,IAA0B,IAAbA,EAC/BzsB,EAAE,mBAAmB/N,aAAe,KAAKw6B,EAAW,kBAEpDzsB,EAAE,mBAAmB/N,aAAe,OAClCqiB,EAAUmF,eAAiB,IAAM,oBAGrCzZ,EAAE,mBAAmB3Q,UACnB8mB,EAAgBliB,EAAOokB,IAAa7b,MAClC8X,EAAUmT,cACZznB,EAAE,eAAe/N,YAAc+nB,GAAW/lB,EAAOokB,IAAanY,IAC3DF,EAAE,eAAe/N,YAAc2mB,GAA4B3kB,EAAOokB,IAAanY,GAAI,GACxFF,EAAE,eAAe3Q,UAAY8mB,EAAgBliB,EAAOokB,IAAa7b,MACjE,MAAMkrB,EAAarN,IAChBnC,GAAgBzD,KAAKmT,QAAU3B,OAAyBN,MAE3D3lB,EAAE,iBAAiB/N,YAAcy1B,EAAWpN,KAEtB,UAApBoN,EAAWpN,MACX7F,KAAKmT,QAAU3zB,EAAOokB,IAAamK,MAEnCxiB,EAAE,iBAAiB/N,YAAc,GAAGy1B,EAAWpN,oBAC1Cta,EAAE,iBAAiB/N,YAAcy1B,EAAWpN,KACnDta,EAAE,iBAAiB3Q,UAAY8mB,EAAgBuR,EAAWlrB,MAI5DwD,EAAE,6BAA6BnJ,MAAMqV,QAAU,OAC/ClM,EAAE,iBAAiBnJ,MAAMy0B,aAAe,MAIxC,IAAK,MAAM18B,KAAKwD,OAAO6C,KAAKwf,KAAKyN,QAAQ7J,IAAaqU,mBACpD,IACGjY,KAAKkY,UACJlY,KAAKyN,QAAQ7J,IAAaqU,kBAAkB99B,GAAGg+B,OAAOz5B,MAExD,CACA,MAAM05B,EACJpY,KAAKyN,QAAQ7J,IAAaqU,kBAAkB99B,GAC9CoR,EAAE,iBAAiBnJ,MAAMy0B,aAAe,MACxCtrB,EAAE,6BAA6BnJ,MAAMqV,QAAU,GAC/ClM,EAAE,uBAAuB3Q,UAAY,kBAAkBgpB,KACvDrY,EAAE,uBAAuB/N,YAAc2mB,GACrCiU,EAAqBtC,IAAMzJ,GAAWzI,IAAayS,aACnD,IAEF9qB,EAAE,uBAAuBnJ,MAAM2F,MAAQ,QACvC,YAGCwD,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAqqBtC4gB,GACyB,MAAhB1U,GA5Tf,WAYE,GAVA+S,GADmBnrB,EAAE,oBAGrBmY,GACEsG,GAAchK,KAAKsQ,gBAAgB1M,IAAallB,MAAM6zB,MACxD9O,EAAezD,KAAK2V,SAClB3V,KAAKsQ,gBAAgB1M,IAAallB,MAClC45B,WACFzU,GACEmG,GAAchK,KAAKsQ,gBAAgB1M,IAAallB,MAAM65B,WAElB,IAAlC1Y,EAAUkY,oBAA2B,CACvCxsB,EAAE,mBAAmB/N,YAAc2mB,GAA4BT,GAAoB,GACnF,MAAMsU,EAAWt1B,KAAKC,MAAO+gB,GAAqB1D,KAAKqR,UAAa,KAG7B,MAArC9lB,EAAE,mBAAmB/N,aACJ,MAAhBmmB,IAAuC,MAAhBA,IAOpBiB,OAAOC,SAASmT,IAA0B,IAAbA,EAC/BzsB,EAAE,mBAAmB/N,aAAe,KAAKw6B,EAAW,kBAEpDzsB,EAAE,mBAAmB/N,aAAe,OAClCqiB,EAAUmF,eAAiB,IAAM,oBAGrCzZ,EAAE,mBAAmB3Q,UACnB8mB,EACAsI,GAAchK,KAAKsQ,gBAAgB1M,IAAallB,MAAMqJ,MAEpD8b,KACFtY,EAAE,2BAA2B/N,YAAc2mB,GAA4BN,IACvEtY,EAAE,2BAA2BnJ,MAAMqV,QAAU,QAC7ClM,EAAE,2BAA2BitB,gBAAgBp2B,MAAMqV,QAAU,SAGpC,IAAvBiM,IAA4BG,IAC9BtY,EAAE,eAAe/N,YAAc,GAAG2mB,GAChCV,EAAeI,aAEjBtY,EAAE,eAAenJ,MAAM2F,MAAQ,UAE3B8X,EAAUmT,cACZznB,EAAE,eAAe/N,YAAc+nB,GAC7ByE,GAAchK,KAAKsQ,gBAAgB1M,IAAallB,MAAM+M,IAGxDF,EAAE,eAAe/N,YAAc2mB,GAC7B6F,GAAchK,KAAKsQ,gBAAgB1M,IAAallB,MAAM+M,GACtD,GAEJF,EAAE,eAAe3Q,UACf8mB,EACAsI,GAAchK,KAAKsQ,gBAAgB1M,IAAallB,MAAMqJ,SAvC1DwD,EAAE,qBAAqBnJ,MAAMqV,QAAU,OACvClM,EAAE,mBAAmBnJ,MAAMqV,QAAU,OACrClM,EAAE,uBAAuBnJ,MAAMqV,QAAU,OACzClM,EAAE,eAAenJ,MAAMqV,QAAU,QAuCnC,MAAMwb,EAAarN,IAChBnC,GAAgBzD,KAAKmT,QAAU3B,OAAyBN,MAY3D,GAVA3lB,EAAE,iBAAiB/N,YAAcy1B,EAAWpN,KAEtB,UAApBoN,EAAWpN,MACX7F,KAAKmT,QAAUnT,KAAKsQ,gBAAgB1M,IAAa0U,WAEjD/sB,EAAE,iBAAiB/N,YAAc,GAAGy1B,EAAWpN,oBAC1Cta,EAAE,iBAAiB/N,YAAcy1B,EAAWpN,KACnDta,EAAE,iBAAiB3Q,UAAY8mB,EAAgBuR,EAAWlrB,MAGX,kBAA3CiY,KAAKsQ,gBAAgB1M,IAAallB,KAA0B,CAC9D6M,EAAE,mBAAmBmnB,UAAUtwB,MAAMy0B,aAAe,MACpDtrB,EAAE,mBAAmBwK,YACnBygB,GAAoB,yCAEtB,MAAMiC,EAAYhgC,SAAS4D,cAAc,OACzCo8B,EAAUr2B,MAAM2F,MAAQ,QACxB0wB,EAAUj7B,YAAc,GAAG2mB,GAA2C,IAAfnE,KAAKmT,cAAqBhP,GAC/EoF,MAEFhe,EAAE,mBAAmBwK,YAAY0iB,SAE9BltB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAsOtCihB,GACyB,MAAhB/U,GAzVf,WACE,GAA8B,IAA1B9D,EAAU8Y,YAAmB,CAC/B,MAAMf,EAAarsB,EAAE,mBAErBqsB,EAAW7hB,YAAYygB,GAAoB,uBAE3C,MAAMoC,EAAWngC,SAAS4D,cAAc,OACxCu8B,EAAShL,GAAK,gBACdgK,EAAW7hB,YAAY6iB,GACvB,MAAMC,EApCK,KADQr+B,EAqCcwlB,KAAK8Y,iBAnC/B,CAAEjT,KAAM,SAAU9d,MAAOma,GAErB,IAAT1nB,EACK,CAAEqrB,KAAM,aAAc9d,MAAO8Z,GAEzB,IAATrnB,EACK,CAAEqrB,KAAM,SAAU9d,MAAO+Z,GAErB,IAATtnB,EACK,CAAEqrB,KAAM,QAAS9d,MAAOga,GAEpB,IAATvnB,EACK,CAAEqrB,KAAM,cAAe9d,MAAOka,GAEhC,CAAE4D,KAAM,qBAAsB9d,MAAOia,GAsB1C4W,EAASp7B,YAAcq7B,EAAWhT,KAClC+S,EAASh+B,UAAY8mB,EAAgBmX,EAAW9wB,WAC3CwD,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAxC5C,IAAuBjd,EAsXjBu+B,GACyB,MAAhBpV,GA3kBf,WACE,MAAM6J,SAAEA,GAAaxN,KAAKyN,QAAQ,gBAC5BuL,EAAYxL,EAASyL,aAAazL,EAAS0L,WAAWtV,KAE5D,GAA8B,IAA1B/D,EAAUsZ,aAAqBH,GAAaxL,EAAS4L,OAAQ,CAC/D,MAAMxB,EAAarsB,EAAE,mBAGrBqsB,EAAW7hB,YAAYygB,GAAoB,cAC3C,MAAMhR,EAAO/sB,SAAS4D,cAAc,OACpCmpB,EAAKoI,GAAK,gBACVgK,EAAW7hB,YAAYyP,GACvB,MAAMyN,EAAarN,GACjBoR,GAA4BxJ,EAAS4J,MAAO5J,EAAS4L,OAAQJ,IAM/D,GAJAxT,EAAKhoB,YAAcy1B,EAAWpN,KAC9BL,EAAK5qB,UAAY8mB,EAAgBuR,EAAWlrB,MAGxCixB,GAAaxL,EAAS4J,MAAO,CAC/BQ,EAAW7hB,YAAYygB,GAAoB,iBAC3C,MAAM6C,EAAU5gC,SAAS4D,cAAc,OACvCg9B,EAAQzL,GAAK,mBACbgK,EAAW7hB,YAAYsjB,GACvB,MAAMC,EAAgB1T,GACpBoR,GACEt0B,KAAK6D,IAAI,EAAGinB,EAAS4J,MAAQ4B,GAC7BxL,EAAS4L,OACT5L,EAAS4J,QAGbiC,EAAQ77B,YAAc87B,EAAczT,KACpCwT,EAAQz+B,UAAY8mB,EAAgB4X,EAAcvxB,MAIpD,GAAoB,MAAhB6b,GAAqB,CACvBgU,EAAW7hB,YACTygB,GAAoB,8BAEtB,MAAM+C,EAAU9gC,SAAS4D,cAAc,OACvCk9B,EAAQ3L,GAAK,IACbgK,EAAW7hB,YAAYwjB,GACvB,MAAMC,EAAS/gC,SAAS4D,cAAc,QACtCm9B,EAAOp3B,MAAM2F,MAAQ,UACrByxB,EAAOh8B,YAAc2mB,GACnBzhB,KAAK2D,IACqC,KAAvC2Z,KAAKmT,QAAU3B,MACa,GAA7BxI,GAAkC,IAEpC,GAEFuQ,EAAQxjB,YAAYyjB,GACpB,MAAMC,EAAYhhC,SAAS4D,cAAc,QACzCo9B,EAAUj8B,YAAc,MACxB+7B,EAAQxjB,YAAY0jB,GACpB,MAAMC,EAAOjhC,SAAS4D,cAAc,QACpCq9B,EAAKt3B,MAAM2F,MAAQ,MACnB2xB,EAAKl8B,YAAc2mB,GAAyD,GAA7B6E,GAAkC,GAAI,GACrFuQ,EAAQxjB,YAAY2jB,GAGtBnuB,EAAE,iBAAiBwK,YAAY6hB,QAC1BrsB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OA6gBtCkiB,GACyB,MAAhBhW,GA/pBf,WACE,MAAM6J,SAAEA,GAAaxN,KAAKyN,QAAQmM,KAClC,GACE/Z,EAAUga,cAC2C,IAArDrM,EAASsM,KAAKlW,GAAY,IAAIA,GAAY,IAAI,GAC9C,CACA,MAAMmW,EACJvM,EAASsM,KAAKlW,GAAY,IAAIA,GAAY,IAAI,GAC9C4J,EAASwM,WAAWxM,EAASsM,KAAKlW,GAAY,IAAIA,GAAY,IAAI,GAAK,GACpEmW,OACCE,EACJzM,EAASwM,WAAWxM,EAASsM,KAAKlW,GAAY,IAAIA,GAAY,IAAI,GAAK,GACpEllB,KACL6M,EAAE,mBAAmBwK,YACnBygB,GAAoB,+BAEtB,MAAMgD,EAAS/gC,SAAS4D,cAAc,OACtCm9B,EAAO5L,GAAK,uBACZriB,EAAE,mBAAmBwK,YAAYyjB,GACf,cAAdS,EACF1uB,EAAE,wBAAwB/N,YAAc,GACtCu8B,EACI5V,GAA4BzhB,KAAK2D,IAAmB,IAAf2Z,KAAKmT,QAAiC,GAAjBnT,KAAKqR,UAAiB,KAChF,SACAlN,GAA6C,GAAjBnE,KAAKqR,UAAiB,MACjC,cAAd4I,GAA2C,oBAAdA,EACtC1uB,EAAE,wBAAwB/N,YAAc,GACtCu8B,EACI5V,GAA4BzhB,KAAK2D,IAAmB,IAAf2Z,KAAKmT,QAAiC,GAAjBnT,KAAKqR,UAAiB,IAChF,SACAlN,GAA6C,GAAjBnE,KAAKqR,UAAiB,KACjC,cAAd4I,EACT1uB,EAAE,wBAAwB/N,YAAc,GACtCu8B,EACI5V,GAA4BzhB,KAAK2D,IAAmB,IAAf2Z,KAAKmT,QAAiC,GAAjBnT,KAAKqR,UAAiB,KAChF,SACAlN,GAA6C,GAAjBnE,KAAKqR,UAAiB,MACjC,cAAd4I,EACT1uB,EAAE,wBAAwB/N,YAAc,GACtCu8B,EACI5V,GAA4BzhB,KAAK2D,IAAmB,IAAf2Z,KAAKmT,QAAiC,GAAjBnT,KAAKqR,UAAiB,MAChF,SACAlN,GAA6C,GAAjBnE,KAAKqR,UAAiB,OACnD9lB,EAAE,iBAAiBnJ,MAAMqV,QAAU,YACrClM,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAonBtCyiB,GACyB,OAAhBvW,GAngBf,WACE,MAAM6J,SAAEA,GAAaxN,KAAKyN,QAAQmM,KAClC,GAAI/Z,EAAU8Y,YAAa,CACzBptB,EAAE,mBAAmBwK,YACnBygB,GAAoB,oCAEtB,IAAI2D,EAAY,EACZC,EAAS,EACTpa,KAAKxf,KAAK,KAAOwf,KAAKxf,KAAK,MAAK45B,EAAS,GAC7C,IAAK,IAAI91B,EAAI,EAAGA,EAAI,EAAGA,IACrB,IAAK,IAAID,EAAI,EAAGA,EAAI,EAAGA,IACrB,GAAImpB,EAASsM,KAAKx1B,GAAGD,GAAG,IAAM,EAAG,CAC/B,MAAMg2B,EAAO7M,EAASsM,KAAKx1B,GAAGD,GACxBksB,EAAK/C,EAASwM,WAAWK,EAAK,GAAK,GACnCJ,EAAY1J,EAAG7xB,KAErB,IAAIo0B,GAAQ,EACRsH,GAAU7J,EAAG+J,WAAUxH,GAAQ,GAC/BuH,EAAK,GAAK9J,EAAGgK,aAAYzH,GAAQ,GACjCA,GAAuB,cAAdmH,EACXE,GAAaz3B,KAAK2D,IACD,IAAf2Z,KAAKmT,QACY,GAAjBnT,KAAKqR,UAAiB,IAGvByB,GAAuB,cAAdmH,GACI,oBAAdA,EAEAE,GAAaz3B,KAAK2D,IAAmB,IAAf2Z,KAAKmT,QAAiC,GAAjBnT,KAAKqR,UAAiB,GACxDyB,GAAuB,cAAdmH,EAClBE,GAAaz3B,KAAK2D,IACD,IAAf2Z,KAAKmT,QACY,GAAjBnT,KAAKqR,UAAiB,IAEfyB,GAAuB,cAAdmH,IAClBE,GAAaz3B,KAAK2D,IACD,IAAf2Z,KAAKmT,QACY,GAAjBnT,KAAKqR,UAAiB,MAMhC9lB,EAAE,mBAAmBwK,YACnBtd,SAASqgB,eAAeqL,GAA4BgW,UAEjD5uB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAsdtC+iB,GACyB,OAAhB7W,GAnDf,WACEpY,EAAE,WAAWoM,UAAY,GACzBpM,EAAE,WAAWwK,YAAYygB,GAAoB,YAE7C,MAAMiE,EAAiBhiC,SAAS4D,cAAc,OAC9Co+B,EAAe7M,GAAK,mBACA,WAAhBhK,GACF6W,EAAej9B,YAAc2mB,GAA4BwF,IAChC,eAAhB/F,KACT6W,EAAej9B,YAAc2mB,GAA4B0F,GAAsB,KAGjFte,EAAE,WAAWwK,YAAY0kB,GAwCrBC,IAEgB,QAAhB/W,IACiB,QAAhBA,KAA6C,IAApBC,GAAY,KA5c5C,WACE,GAAkC,IAA9B/D,EAAU8a,gBAAuB,CACnC,MAAM/C,EAAarsB,EAAE,mBACrB,IAAIqvB,EACuBA,EAAP,QAAhBjX,GAA+BC,GAAY,GAClCA,GAGbgU,EAAW7hB,YAAYygB,GAAoB,0BAC3C,MAAMqE,EAAOpiC,SAAS4D,cAAc,OAEpC,GADAw+B,EAAKjN,GAAK,6BACkB,IAAxBlC,GAAUkP,GAAO,GAAU,CAC7BC,EAAKr9B,YAAc2mB,GAA4BuH,GAAUkP,GAAO,IAChE,MAAM5C,EAAWt1B,KAAKC,MACnB+oB,GAAUkP,GAAO,GAAK5a,KAAKqR,UAAa,KAEvCzM,OAAOC,SAASmT,IAA0B,IAAbA,EAC/B6C,EAAKr9B,aAAe,KAAKw6B,EAAW,kBAEpC6C,EAAKr9B,aAAe,OAClBqiB,EAAUmF,eAAiB,IAAM,yBAGhC6V,EAAKr9B,YAAc,mBAC1Bo6B,EAAW7hB,YAAY8kB,GAEvBjD,EAAW7hB,YAAYygB,GAAoB,0BAC3C,MAAMsE,EAAOriC,SAAS4D,cAAc,OAEpC,GADAy+B,EAAKlN,GAAK,6BACkB,IAAxBlC,GAAUkP,GAAO,GAAU,CAC7BE,EAAKt9B,YAAc2mB,GAA4BuH,GAAUkP,GAAO,IAChE,MAAM5C,EAAWt1B,KAAKC,MACnB+oB,GAAUkP,GAAO,GAAK5a,KAAKqR,UAAa,KAEvCzM,OAAOC,SAASmT,IAA0B,IAAbA,EAC/B8C,EAAKt9B,aAAe,KAAKw6B,EAAW,kBAEpC8C,EAAKt9B,aAAe,OAClBqiB,EAAUmF,eAAiB,IAAM,yBAGhC8V,EAAKt9B,YAAc,mBAC1Bo6B,EAAW7hB,YAAY+kB,GAEvBlD,EAAW7hB,YAAYygB,GAAoB,0BAC3C,MAAMuE,EAAOtiC,SAAS4D,cAAc,OAEpC,GADA0+B,EAAKnN,GAAK,6BACkB,IAAxBlC,GAAUkP,GAAO,GAAU,CAC7BG,EAAKv9B,YAAc2mB,GAA4BuH,GAAUkP,GAAO,IAChE,MAAM5C,EAAWt1B,KAAKC,MACnB+oB,GAAUkP,GAAO,GAAK5a,KAAKqR,UAAa,KAEvCzM,OAAOC,SAASmT,IAA0B,IAAbA,EAC/B+C,EAAKv9B,aAAe,KAAKw6B,EAAW,kBAEpC+C,EAAKv9B,aAAe,OAClBqiB,EAAUmF,eAAiB,IAAM,yBAGhC+V,EAAKv9B,YAAc,mBAC1Bo6B,EAAW7hB,YAAYglB,GAEvBxvB,EAAE,iBAAiBwK,YAAY6hB,QAC1BrsB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OA+YtCujB,GA/LN,WACE,GAAoB,MAAhBrX,IAAuC,MAAhBA,GAAqB,CACgB,OAA1DlrB,SAASwiC,eAAe,gCAC1B1vB,EAAE,iBAAiBwK,YAnuBzB,WACE,MAAMmlB,EAAcziC,SAAS4D,cAAc,OAC3C6+B,EAAY94B,MAAMgI,SAAW,WAC7B8wB,EAAY94B,MAAMqV,QAAU,QAC5ByjB,EAAY94B,MAAMqC,KAAO,OACzBy2B,EAAY94B,MAAMkW,OAAS,OAC3B4iB,EAAYtN,GAAK,6BAEjB,MAAMuN,EAAS,SACbC,EACArzB,EACAszB,EACAC,EACAC,GAEA,MAAMrnB,EAAMzb,SAAS4D,cAAc,OACnC6X,EAAI0Z,GAAKwN,EACTlnB,EAAI9R,MAAMqV,QAAU,OACpBvD,EAAI9R,MAAMo5B,WAAa,wBACvBtnB,EAAItZ,UAnuDgB,WAmuDcmN,EAClCmM,EAAI9R,MAAMwK,QAAU,MACpBsH,EAAI9R,MAAMqB,WAAa,8BACvB,MAAMg4B,EAAWhjC,SAAS4D,cAAc,OACxC6X,EAAI6B,YAAY0lB,GAChB,MAAMC,EAAYjjC,SAAS4D,cAAc,QACzCq/B,EAAU9gC,UAAY8mB,EAAgB3Z,EACtC2zB,EAAUt5B,MAAMq0B,WAAa,OAC7BiF,EAAUl+B,YAAc69B,EACxBI,EAAS1lB,YAAY2lB,GACrBD,EAAS1lB,YAAYtd,SAASqgB,eAAewiB,IAC7C,MAAMK,EAAaljC,SAAS4D,cAAc,OAC1C6X,EAAI6B,YAAY4lB,GAChB,MAAMC,EAAcnjC,SAAS4D,cAAc,QAI3C,OAHAu/B,EAAYhO,GAAK2N,EACjBI,EAAW5lB,YAAYtd,SAASqgB,eAAe,cAC/C6iB,EAAW5lB,YAAY6lB,GAChB1nB,GA+DT,OA5DAgnB,EAAYnlB,YACVolB,EACE,yBACAnZ,EACA,YACA,uFACA,+BAGJkZ,EAAYl+B,WAAWoF,MAAMy0B,aAAe,MAC5CqE,EAAYnlB,YACVolB,EACE,+BACArZ,EACA,YACA,gGACA,qCAGJoZ,EAAYxI,UAAUtwB,MAAMy0B,aAAe,MAC3CqE,EAAYnlB,YACVolB,EACE,2BACAlZ,EACA,YACA,oGACA,iCAGJiZ,EAAYxI,UAAUtwB,MAAMy0B,aAAe,MAC3CqE,EAAYnlB,YACVolB,EACE,iCACAlZ,EACA,YACA,6GACA,uCAGJiZ,EAAYxI,UAAUtwB,MAAMy0B,aAAe,MAC3CqE,EAAYnlB,YACVolB,EACE,2BACAlZ,EACA,YACA,qJACA,iCAGJiZ,EAAYxI,UAAUtwB,MAAMy0B,aAAe,MAC3CqE,EAAYnlB,YACVolB,EACE,wBACAnZ,EACA,YACA,2EAA2EnC,EAAUgc,8BACrF,8BAIGX,EAgoB4BY,IAC/BrE,MAG4B,IAA1B5X,EAAU6X,YACZnsB,EAAE,8BAA8BnJ,MAAMkI,MAAQ,MAE9CiB,EAAE,8BAA8BnJ,MAAMsC,IAAM,GAC1C6G,EAAE,WAAWxG,iBAGjBwG,EAAE,8BAA8BnJ,MAAMkG,MACpCiD,EAAE,WAAWzG,YAAc,EADiB,KAI9C,MAAM2pB,EAASzO,KAAKmT,QAAU3B,KAAuB/N,EAC/CsY,EAAkBlc,EAAUmc,YAActY,GAAqB,EACrE,IAAIuY,EAAa3T,GACjB,GAA8B,IAA1BzI,EAAUmc,YAAmB,CAC/B,IAAIE,EAAcxY,GAClBwY,GAAe5E,KACf2E,GAA6B,GAAdC,EAAmB,GAAM,IAc1C,GAXgC,IAA5Brc,EAAUsc,eACR1N,EAASwN,IAA+B,MAAhBtY,IAAwC,IAAjB3D,KAAKoP,UACtD7jB,EAAE,0BAA0BnJ,MAAMqV,QAAU,GAC5ClM,EAAE,8BAA8B/N,YAAc,GAAG2mB,GAC/C8X,EAAaxN,OACTlJ,IACH0W,EAAaxN,IAAWyC,KAAW6K,QAGnCxwB,EAAE,0BAA0BnJ,MAAMqV,QAAU,OAEb,IAAlCoI,EAAUuc,oBAA2B,CACvC,MAAMC,EAAgC,EAAbJ,EAEvBxN,EAAS4N,IACQ,MAAhB1Y,IAAwC,IAAjB3D,KAAKoP,UAE7B7jB,EAAE,gCAAgCnJ,MAAMqV,QAAU,GAClDlM,EAAE,oCAAoC/N,YAAc,GAAG2mB,GACrDkY,EAAmB5N,OACflJ,IACH8W,EAAmB5N,IAAWyC,KAAW6K,QAEvCxwB,EAAE,gCAAgCnJ,MAAMqV,QAAU,YACpDlM,EAAE,gCAAgCnJ,MAAMqV,QAAU,OAEzD,GAAkC,IAA9BoI,EAAUyc,gBAAuB,CACnC,MAAMC,EAA4B,EAAbN,EAEnBxN,EAAS8N,IACQ,MAAhB5Y,IAAwC,IAAjB3D,KAAKoP,UAE7B7jB,EAAE,4BAA4BnJ,MAAMqV,QAAU,GAC9ClM,EAAE,gCAAgC/N,YAAc,GAAG2mB,GACjDoY,EAAe9N,OACXlJ,IACHgX,EAAe9N,IAAWyC,KAAW6K,QAEnCxwB,EAAE,4BAA4BnJ,MAAMqV,QAAU,YAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,OAErD,GAAwC,IAApCoI,EAAU2c,sBAA6B,CACzC,MAAMC,EAAkC,EAAbR,EAAiB,EAE1CxN,EAASgO,IACQ,MAAhB9Y,IAAwC,IAAjB3D,KAAKoP,UAE7B7jB,EAAE,kCAAkCnJ,MAAMqV,QAAU,GACpDlM,EAAE,sCAAsC/N,YAAc,GAAG2mB,GACvDsY,EAAqBhO,OACjBlJ,IACHkX,EAAqBhO,IAAWyC,KAAW6K,QAEzCxwB,EAAE,kCAAkCnJ,MAAMqV,QAAU,YACtDlM,EAAE,kCAAkCnJ,MAAMqV,QAAU,OAG3B,IAA9BoI,EAAU6c,iBACV1c,KAAKyN,QAAQ,gBAAgBU,gBAG3BrF,IACA2F,EAAS3F,KACQ,MAAhBnF,IAAwC,IAAjB3D,KAAKoP,UAE7B7jB,EAAE,4BAA4BnJ,MAAMqV,QAAU,GAC9ClM,EAAE,gCAAgC/N,YAAc,GAAG2mB,GACjD2E,GAAe2F,OACXlJ,IACHuD,GAAe2F,IAAWyC,KAAW6K,QAGrCxwB,EAAE,4BAA4BnJ,MAAMqV,QAAU,OAEjDoI,EAAUgc,aAAe,GAEzBpN,EAAS5O,EAAUgc,aAAe3K,OACjB,MAAhBvN,IAAwC,IAAjB3D,KAAKoP,UAE7B7jB,EAAE,yBAAyBnJ,MAAMqV,QAAU,GAE3ClM,EACE,yBACAoxB,SAAS,GAAGn/B,YAAc,2EAA2EqiB,EAAUgc,8BACjHtwB,EAAE,6BAA6B/N,YAAc,GAAG2mB,GAC9CtE,EAAUgc,aAAe3K,KAAWzC,OAChClJ,IACH1F,EAAUgc,aAAe3K,KAAWzC,IAClCyC,KAAW6K,QAGbxwB,EAAE,yBAAyBnJ,MAAMqV,QAAU,YACL,OAApClM,EAAE,+BACXA,EAAE,8BAA8B9J,SAyEhCm7B,QACgC,OAAvBrxB,EAAE,kBAE6B,OAApCA,EAAE,+BACJA,EAAE,8BAA8B9J,SA0FtC,SAASo7B,KAEP,GACE7c,KAAK8c,MAAMC,UACX/c,KAAKgd,MAAQ,IAAO,GACJ,UAAhBhd,KAAKid,QACLpd,EAAUqd,MACV,CACA,MAAM/K,EAAQ15B,SAASwiC,eAAe,wBAClC9I,IACFA,EAAMgL,UAAYnd,KAAKod,QACV,GAAXpd,KAAKqX,IAAYrX,KAAKqd,GAAgB,GAAXrd,KAAKqX,KAChC,IA6BN,GAvBAlI,KACAU,KA3hDF,WACE,GAA2B,IAAvBhQ,EAAU2T,SAAgB,CAE5B,MAAM8J,EAAiB/xB,EAAE,cAAczG,YAAc,IAE/Cy4B,EAAiBhyB,EAAE,cAAczG,YAAc,IACrD,IAAI04B,EAAiB,EAIkB,IAArCxd,KAAKyd,aAAaC,OAAOC,SACxB3d,KAAK4d,IAAI,uBA+CLryB,EAAE,gBAAgBnJ,MAAMqV,QAAU,QA7CvClM,EAAE,gBAAgBnJ,MAAMqV,QAAU,GAClClM,EAAE,sBAAsBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MAC3CD,KAAK6D,IACJ,EACAyZ,KAAKyd,aAAaC,OAAOG,QAAU7d,KAAKyd,aAAaC,OAAOlY,MAE5D8X,EACAtd,KAAKyd,aAAaC,OAAOI,aAEzBje,EAAUke,iBAAmB,EAC/BxyB,EAAE,sBAAsB/N,YAAckF,KAAKoL,MACxCkS,KAAKyd,aAAaC,OAAOG,QAAU7d,KAAKyd,aAAaC,OAAOlY,MAC3DxF,KAAKqX,KAEN9rB,EAAE,sBAAsB/N,YAAc,GAEzCwiB,KAAKyd,aAAaC,OAAOG,UAAY7d,KAAKyd,aAAaC,OAAOI,SAE9DvyB,EAAE,sBAAsBnJ,MAAM6vB,qBAAuB,OACrD1mB,EAAE,sBAAsBnJ,MAAM8vB,wBAA0B,SAExD3mB,EAAE,sBAAsBnJ,MAAM6vB,qBAAuB,GACrD1mB,EAAE,sBAAsBnJ,MAAM8vB,wBAA0B,IAE1D3mB,EAAE,mBAAmBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MACxCD,KAAK2D,IACJ2Z,KAAKyd,aAAaC,OAAOI,QAAU9d,KAAKyd,aAAaC,OAAOG,QAC5D7d,KAAKyd,aAAaC,OAAOI,QAAU9d,KAAKyd,aAAaC,OAAOlY,MAE5D8X,EACAtd,KAAKyd,aAAaC,OAAOI,aAEzBje,EAAUke,iBAAmB,EAC/BxyB,EAAE,mBAAmB/N,YAAckF,KAAKoL,KACtCpL,KAAK2D,IACH2Z,KAAKyd,aAAaC,OAAOI,QAAU9d,KAAKyd,aAAaC,OAAOG,QAC5D7d,KAAKyd,aAAaC,OAAOI,QAAU9d,KAAKyd,aAAaC,OAAOlY,MAC1DxF,KAAKqX,KAER9rB,EAAE,mBAAmB/N,YAAc,GACxC+N,EAAE,oBAAoB/N,YAAckF,KAAKoL,MACtCkS,KAAKyd,aAAaC,OAAOI,QAAU9d,KAAKyd,aAAaC,OAAOlY,MAC3DxF,KAAKqX,KAETmG,GAAkB,GAKF,cAAhBxd,KAAKge,QACkC,IAAvChe,KAAKyd,aAAaQ,SAASN,SAE3BpyB,EAAE,iBAAiBnJ,MAAMqV,QAAU,GACnClM,EAAE,uBAAuBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MAC5CD,KAAK6D,IACJ,EACAyZ,KAAKyd,aAAaQ,SAASJ,QAAU7d,KAAKyd,aAAaQ,SAASzY,MAEhE8X,EACAtd,KAAKyd,aAAaQ,SAASH,aAE3Bje,EAAUke,iBAAmB,EAC/BxyB,EAAE,uBAAuB/N,YAAckF,KAAKoL,MACzCkS,KAAKyd,aAAaQ,SAASJ,QAC1B7d,KAAKyd,aAAaQ,SAASzY,MAC3BxF,KAAKqX,KAEN9rB,EAAE,uBAAuB/N,YAAc,GAC5C+N,EAAE,oBAAoBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MACzCD,KAAK2D,IACJ2Z,KAAKyd,aAAaQ,SAASH,QACzB9d,KAAKyd,aAAaQ,SAASJ,QAC7B7d,KAAKyd,aAAaQ,SAASH,QAAU9d,KAAKyd,aAAaQ,SAASzY,MAEhE8X,EACAtd,KAAKyd,aAAaQ,SAASH,aAE3Bje,EAAUke,iBAAmB,EAC/BxyB,EAAE,oBAAoB/N,YAAckF,KAAKoL,KACvCpL,KAAK2D,IACH2Z,KAAKyd,aAAaQ,SAASH,QACzB9d,KAAKyd,aAAaQ,SAASJ,QAC7B7d,KAAKyd,aAAaQ,SAASH,QACzB9d,KAAKyd,aAAaQ,SAASzY,MAC3BxF,KAAKqX,KAER9rB,EAAE,oBAAoB/N,YAAc,GACzC+N,EAAE,qBAAqB/N,YAAckF,KAAKoL,MACvCkS,KAAKyd,aAAaQ,SAASH,QAAU9d,KAAKyd,aAAaQ,SAASzY,MAC/DxF,KAAKqX,KAETmG,GAAkB,GAElBjyB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAIrC,MAAMymB,EAAgB,GACtB3yB,EAAE,wBAAwBoM,UAAY,GACtCha,OAAO6C,KAAKwf,KAAKuX,OAAOjI,SAASn1B,IAC/B,GAAI6lB,KAAKuX,MAAMp9B,GAAI,CACjB,MAAMg4B,EAAQV,GAAYzR,KAAKuX,MAAMp9B,GAAGuE,KAAMshB,KAAKuX,MAAMp9B,GAAGuE,KAAM,CAChE,CAAEkvB,GAAI,GAAG5N,KAAKuX,MAAMp9B,GAAGuE,aAEzByzB,EAAM/vB,MAAMqV,QAAU,GACtB,IAAI0mB,EAAc,GAGhBA,OAD6C,IAApCjb,EAAYlD,KAAKuX,MAAMp9B,GAAGuE,MACrBwkB,EAAYlD,KAAKuX,MAAMp9B,GAAGuE,MACrBujB,EACrBkQ,EAAMO,UAAUiK,SAAS,GAAG/hC,UAAY+mB,EAAgBwc,EACxDhM,EAAMO,UAAUiK,SAAS,GAAGv6B,MAAM2F,MAAQ,QACR,IAA9B8X,EAAUke,gBACZ5L,EAAMO,UAAUiK,SAAS,GAAGn/B,YAAc,GAAGkF,KAAKC,MACzCqd,KAAKuX,MAAMp9B,GAAGqrB,KAAOxF,KAAKuX,MAAMp9B,GAAG2jC,QAA1C,QAEC3L,EAAMO,UAAUiK,SAAS,GAAGn/B,YAAc,GAC/C20B,EAAMO,UAAUiK,SAAS,GAAGv6B,MAAMkG,MAAQ,GAAG5F,KAAKC,MAC/Cqd,KAAKuX,MAAMp9B,GAAGqrB,MACZ+X,EAC8D,EAA7D76B,KAAKoL,KAAKkS,KAAKuX,MAAMp9B,GAAGqrB,KAAOxF,KAAKqX,KAAKz0B,WAAWxI,QACtD4lB,KAAKuX,MAAMp9B,GAAG2jC,aAElB3L,EAAMO,UAAUiK,SAAS,GAAGn/B,YAAckF,KAAKoL,KAC7CkS,KAAKuX,MAAMp9B,GAAGqrB,KAAOxF,KAAKqX,KAE5BmG,GAAkB,EAClBU,EAAcle,KAAKuX,MAAMp9B,GAAGuE,MAAQyzB,MAGxCx0B,OAAO6C,KAAK09B,GAAe5O,SAASn1B,IAClCoR,EAAE,wBAAwBwK,YAAYmoB,EAAc/jC,OAG/B,IAAnBqjC,IACFjyB,EAAE,cAAcnJ,MAAMmG,OAA6B,GAAjBi1B,EAAsB,EAAzB,MAE7BzZ,KAAuByZ,IACzBzZ,GAAqByZ,EACrBjK,OAs4CJ6K,GAGAxL,KAGA+E,KAtGF,WACE,GAA+B,IAA3B9X,EAAUwe,cAA8C,IAAxB3b,EAA2B,CAE7D,IAAI4b,GAAiB,EACrB3gC,OAAO6C,KAAKwf,KAAKuR,WAAWjC,SAASn1B,IACnC,MAAMo2B,EAAKvQ,KAAKuR,UAAUp3B,GAC1B,GAAIo2B,EAAGgO,MAAQ,GAAKhO,EAAGiO,UAErB,GADAF,GAAiB,EAEkB,IAAjC1b,EAA0BzoB,SACOI,IAAjCqoB,EAA0BzoB,GAC1B,CACA,MAAMskC,EAAchmC,SAAS4D,cAAc,OACrCqiC,EAAWjmC,SAAS4D,cAAc,OACxCqiC,EAASt8B,MAAMu8B,SAAW,QAC1BD,EAASt8B,MAAMy0B,aAAe,MAC9B,MAAMlG,EAAMl4B,SAAS4D,cAAc,OACnCs0B,EAAIvuB,MAAMuW,UAAY,SACtBgY,EAAI/C,GAAK,oBACT8Q,EAAS3oB,YAAY4a,GACrB8N,EAAY1oB,YAAY2oB,GACxB1e,KAAK2W,QAAQhlB,KAAK9Y,KAAM+lC,OAAOH,EAAY9mB,YAC3CgL,EAAkBxoB,EAClByoB,EAA0BzoB,GAAK,QAGjCyoB,EAA0BzoB,GAAK,KAG9BmkC,GACHte,KAAK2W,QAAQxlB,QA2EjB0tB,GAjEF,WACE,GAA+B,IAA3Bhf,EAAUwe,cAAiD,OAA3B9yB,EAAE,qBAA+B,CACnE,IAAIuzB,OAAEA,GAAW9e,KAAKuR,UAAU5O,GAC5Boc,EAAS,IAKb,GAJI/e,KAAK4d,IAAI,6BAA4BmB,GAAU,MACN,IAAzC/e,KAAKuR,UAAU5O,GAAiBnoB,OAAYukC,GAAU,GAC1DD,GAAUC,EACN/e,KAAK4d,IAAI,mBAAkBkB,GAAU,MACrCzS,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASpO,KAAKsN,OAAO,SACZ,IAAXc,EAAc0Q,GAAU,KACR,IAAX1Q,EAAc0Q,GAAU,IACb,IAAX1Q,IAAc0Q,GAAU,MAEnCvzB,EAAE,qBAAqB/N,YAAc2mB,GAA4B2a,IAoDnEE,GAl4CEnf,EAAUof,SACM,UAAhBjf,KAAKid,SACJjd,KAAKgd,MAAQ,IAAiB,EAAXhd,KAAKqX,MAAa,IACrCrX,KAAKgd,MAAQ,GAAKhd,KAAKqX,KAAQ,GAEhCrX,KAAKkf,aAm4CPpf,IAGID,EAAU6E,MAAO,CACnB,IAAInpB,EAAMgQ,EAAE,WAAWoM,UAAU5W,QAC/B,cACAojB,GAA4BnE,KAAKmT,UAE/BnT,KAAK8c,MAAMqC,YAAW5jC,EAAM,2BAA2BA,YAC3DgQ,EAAE,WAAWoM,UAAYpc,GAO7B,SAAS6jC,KAEPtZ,GAA8BuZ,UAAUrf,KAAKsf,kBAgB/C,MAAMC,GACJC,YAAYC,GACV5mC,KAAK4mC,UAAYA,EACjB5mC,KAAK6mC,MAAQ,GAGfF,UAAUG,GACJ9mC,KAAK6mC,MAAMzjC,KAAK0jC,GAAY9mC,KAAK4mC,WACnC5mC,KAAK6mC,MAAM5gB,QASf0gB,YAAYI,GACV,IAAIpa,EAAOoa,EACPpa,EAAO3sB,KAAK4mC,YAAWja,EAAO3sB,KAAK4mC,WACnCja,EAAO3sB,KAAK6mC,MAAMtlC,SAAQorB,EAAO3sB,KAAK6mC,MAAMtlC,QAChD,IAAI0M,EAAM,EACV,IACE,IAAI3M,EAAItB,KAAK6mC,MAAMtlC,OAAS,EAC5BD,GAAK,GAAKA,EAAItB,KAAK6mC,MAAMtlC,OAAS,EAAIorB,EACtCrrB,IAEA2M,GAAOjO,KAAK6mC,MAAMvlC,GAEpB,OAAY,IAAR2M,EACK,EAEFA,EAAM0e,EAGfga,QAAQI,GACN,IAAIpa,EAAOoa,EAGX,OAFIpa,EAAO3sB,KAAK4mC,YAAWja,EAAO3sB,KAAK4mC,WACnCja,EAAO3sB,KAAK6mC,MAAMtlC,SAAQorB,EAAO3sB,KAAK6mC,MAAMtlC,QACnC,IAATorB,EAAmB,EAChB3sB,KAAK6mC,MAAMxhB,OAAOsH,GAAMqa,QAAO,CAAC78B,EAAGP,IAAMO,EAAIP,GAAG,IA+B3D,SAASq9B,KACP,MAAMC,EAAWr9B,KAAKkE,MAAMo5B,KAAKC,MAAQ,KAEzC,GAAKjgB,KAAKqd,EAAIrd,KAAKqX,IAAO,GAAM,EAAG,CACjC,IAAI6I,EAAclgB,KAAKmT,QAAU1H,GAC7BzL,KAAKsR,UAAY,IAAG4O,GAAevW,IACvCsB,GAAyBvoB,KAAK6D,IAAIyZ,KAAKmgB,cAAeD,GACtDA,GAAe,IAGf,MAAME,EAAWL,EAAW1Z,GACtBga,EAAc39B,KAAK6D,IAAI,EAAGyZ,KAAKmT,QAAU7M,IAAoB8Z,EAC7DE,EACJ59B,KAAK6D,IAAI,EAAGojB,GAAsBpD,IAAyB6Z,EACvDG,EACJ79B,KAAK6D,IAAI,EAAGsjB,GAAsB,GAAKrD,IACvC4Z,EACII,EAAgB99B,KAAK6D,IAAI,EAAG25B,EAAc3W,IAAmB6W,EAC7DK,GAAiBzgB,KAAK0gB,aAAeja,IAAmB2Z,EAC9D,IAAK,IAAIjmC,EAAI,EAAGA,EAAIimC,EAAUjmC,IAC5B4rB,GAAYsZ,UAAUgB,GACtBra,GAAUqZ,UAAUiB,GACpBra,GAAiBoZ,UAAUkB,GAC3Bra,GAAWmZ,UAAUmB,GACrBra,GAAWkZ,UAAUoB,GAIvBpa,GAAoB0Z,EACpBzZ,GAAmBtG,KAAKmT,QACxB5M,GAAwBoD,GACxBnD,GAA+BqD,GAAsB,GACrDN,GAAkB2W,EAClBzZ,GAAkBzG,KAAK0gB,aAGvB,MAAMC,EAAY3d,EAAYnD,EAAU+gB,YACxCla,GAAuBX,GAAY8a,YAAYF,GAC/Cha,GAAwBX,GAAU6a,YAAYF,GAC9C/Z,GAA+BX,GAAiB4a,YAAYF,GAC5D9Z,GAAyBX,GAAW2a,YAAYF,GAChD7Z,GAAkBJ,GACU,IAAxB7G,EAAUuR,YAAiBtK,IAAmBH,IACtB,IAAxB9G,EAAUuR,YACZtK,IAAmBF,IAErB,MAAMka,EACJ9gB,KAAK+gB,YAAY,mBAAqB/gB,KAAK4d,IAAI,iBAG/C1S,GADE4V,GAAkC,IAAxBjhB,EAAUuR,UAEpB1K,GACAC,IACCma,EAASja,GAAyB,GACRC,GAE/BmD,GAAqB9D,GAAW0a,YAC9B5d,EAAWpD,EAAUmhB,iBAkB3B,SAASC,GAAW1Q,EAAIxC,GACtB,IAAIhmB,EAAQ,GAmBZ,OAjBsCA,EAAlCwoB,EAAG9kB,IAAM,GAAK8kB,EAAG9kB,KAAOgZ,IAAkBvC,EACrCqO,EAAG9kB,GAAK6f,GAAoB1J,EAC5B2O,EAAG9kB,KAAO6f,GAAoBzJ,EAC9B0O,EAAG9kB,GAAK8f,GAAa,IAAI,GAAYzJ,EACrCyO,EAAG9kB,GAAK8f,GAAa,IAAI,GAAYxJ,EACrCwO,EAAG9kB,GAAK8f,GAAa,IAAI,GAAYvJ,EACjCC,EAGiC,IAA1C2C,OAAO/E,EAAUqhB,sBACfnT,EAAQmD,KAAWtM,OAAO/E,EAAUqhB,uBACtCn5B,EAAQ6Z,GAGR/B,EAAUshB,uBACRpT,EAAQ/N,KAAKmT,QAAU,IAAGprB,EAAQia,GAEjCja,EAiBT,SAASq5B,GAAY5hC,EAAQivB,GAC3B9wB,OAAO6C,KAAKhB,GAAQ8vB,SAASn1B,IAC3B,GAAI0lB,EAAUwhB,eAA4B,IAAX5S,EAC7BjvB,EAAOrF,GAAG4N,MAAQma,MADpB,CAIA1iB,EAAOrF,GAAG4N,MAAQk5B,GAChBzhC,EAAOrF,GACP6lB,KAAKyN,QAAQtzB,GAAGmnC,YAAY7S,IAG9B,IAAK,IAAIgC,EAAI,EAAGA,EAAI5Q,EAAU0hB,aAAc9Q,IACtCjxB,EAAOrF,GAAGsR,KAAO8f,GAAakF,GAAG,KAAIjxB,EAAOrF,GAAG4N,MAAQma,OAKjE,SAASsf,GAAQhiC,EAAQivB,GACvB9wB,OAAO6C,KAAKhB,GAAQ8vB,SAASn1B,IAC3B,MAAM4zB,EAAQ/N,KAAKyN,QAAQtzB,GAAGmnC,YAAY7S,GACtCzO,KAAKqR,UACP7xB,EAAOrF,GAAGsR,GACR/I,KAAK6D,IAAIwnB,GAAS/N,KAAKmT,QAAU3B,MAAuB,GACtDxR,KAAKqR,UACPtD,EAAQvuB,EAAOrF,GAAGo4B,MACf/yB,EAAOrF,GAAGsR,GAAKsiB,EAAQvuB,EAAOrF,GAAGo4B,MAClC1S,EAAUwhB,eAA4B,IAAX5S,GAC/BlD,GAAatvB,KAAK,CAACuD,EAAOrF,GAAGsR,GAAIgjB,OA8EvC,SAASgT,MAtET,WACEnW,GAAa7G,IACb8G,GAAe,QACuB,IAA3B1L,EAAU0hB,eAA8B1hB,EAAU0hB,aAAe,GAG5EC,GAAQhY,GAAe,GACvBgY,GAAQ/X,GAAgB,IACxB+X,GAAQ9X,GAAiB,KAGzB6B,GAAaoE,MAAK,CAAC3sB,EAAGP,IAAMO,EAAE,GAAKP,EAAE,KACrC,IAAIi/B,EAAa,EACjB,GAAI7hB,EAAUshB,sBACZ,KAAO5V,GAAamW,GAAY,GAAK1hB,KAAKmT,UACxCuO,GAAc,EACVnW,GAAanxB,SAAWsnC,EAAa,KAK7CpW,GAAaC,GAAa1L,EAAU0hB,cAAcG,GAElDN,GAAY5X,GAAe,GAC3B4X,GAAY3X,GAAgB,IAC5B2X,GAAY1X,GAAiB,KA8C7BiY,GAjCAhkC,OAAO6C,KAAKwpB,IAAesF,SAASn1B,IAC9B6lB,KAAKqR,UACPrH,GAAc7vB,GAAGsR,GACf/I,KAAK6D,IACHyZ,KAAK2V,SAASx7B,GAAGm+B,YAActY,KAAKmT,QAAU3B,MAC9C,GAEAxR,KAAKqR,UACPrR,KAAK2V,SAASx7B,GAAGm+B,WAAatO,GAAc7vB,GAAGo4B,MAEjDvI,GAAc7vB,GAAGsR,GACfuU,KAAK2V,SAASx7B,GAAGm+B,WAAatO,GAAc7vB,GAAGo4B,MAC/C3N,OAAOnJ,MAAMuO,GAAc7vB,GAAGsR,MAAKue,GAAc7vB,GAAGsR,GAAKgZ,KAE7DuF,GAAc7vB,GAAG4N,MAAQk5B,GACvBjX,GAAc7vB,GACd6lB,KAAK2V,SAASx7B,GAAGm+B,eAiCvB,SAASsJ,GACPtT,EACAC,EACA5kB,EACA6kB,EACAwJ,GAEA,IAAInJ,EAAiBllB,EACjBmlB,EAAO,EACX,IAAK,IAAI30B,EAAI,EAAGA,EAAI69B,EAAU79B,GAAK,EAAG,CACpC,IAAI4zB,EACFQ,EAAYvO,KAAKgP,eAAiBtsB,KAAK6D,IAAI,EAAGsoB,EAAiBL,GACjET,EAAQ/N,KAAKiP,oBAAoBX,EAAOP,GACxCA,EAAQrrB,KAAKoL,KAAKigB,GAClBe,GAAQf,EACRc,GAAkB,EAEpB,OAAOC,EA0CT,SAAS+S,GAAOpV,GACVF,GAAgBE,IACgB,IAA9BF,GAAgBE,GAAM8J,MACxBhK,GAAgBE,GAAM8J,IAAM,EACS,WAAjCvW,KAAKgU,aAAavH,GAAMS,OAAmB5F,IAAwB,IAuB7E,SAASwa,KACP9Z,GAAe,EACf,IAAImM,EAAO,EAEX,MAAM4N,EAAO,GACbpkC,OAAO6C,KAAKwf,KAAKyN,SAAS6B,SAASn1B,IACjC,GAAI6lB,KAAKyN,QAAQtzB,GAAGg0B,gBAAkBnO,KAAKyN,QAAQtzB,GAAGqzB,SAASuU,KAAM,CACnE,MAAMC,EAAShiB,KAAKyN,QAAQtzB,GAAGqzB,SAASuU,KACxCpkC,OAAO6C,KAAKwhC,GAAQ1S,SAAS2S,IACvBF,EAAKE,GAAKF,EAAKE,IAAOD,EAAOC,GAC5BF,EAAKE,GAAMD,EAAOC,UAI7Bla,GAAUga,EAEiB,IAAvB/hB,KAAKiN,gBACPkH,GAEE,IADA1sB,WAAW+f,IAEXD,GA9EN,WACE,IAAI2a,EAAe,EAWnB,GAVInV,GAAO,0BAAyBmV,GAAgB,KAChDnV,GAAO,2BAA0BmV,GAAgB,IACjDnV,GAAO,qBAAoBmV,GAAgB,KAC3CnV,GAAO,4BAA2BmV,GAAgB,KAClDnV,GAAO,kBAAiBmV,GAAgB,KAE5CA,GAAgB,EAAgC,IAA5B1V,GAAY,cAC5BO,GAAO,iBAAgBmV,GAAgB,MACvCnV,GAAO,kBAAiBmV,GAAgB,MACxCnV,GAAO,kBAAiBmV,GAAgB,MACxCliB,KAAKsN,OAAQ,CACf,MAAMc,EAASf,GAAU,YACV,IAAXe,EAAc8T,GAAgB,GACd,IAAX9T,EAAc8T,GAAgB,GACnB,IAAX9T,IAAc8T,GAAgB,IAEzC,OAAOA,EA6DHC,IAEJhO,GAAQtH,GAAO,OAEXE,GAAO,YAAqC,IAAvB/M,KAAKiN,gBAC5BkH,GAAQ,EAAI,IAAOnU,KAAKoiB,SAE1BzkC,OAAO6C,KAAKwf,KAAKqiB,gBAAgB/S,SAASn1B,IACxC,MAAMo2B,EAAKvQ,KAAKqiB,eAAeloC,GAC3B4yB,GAAOwD,EAAG7xB,QAIY,mBAAb6xB,EAAGqF,MACZzB,GAAQ,EAAuD,IAAnD7H,GAAYiE,EAAG7xB,MAAMk3B,MAAMtJ,GAAYiE,EAAG7xB,OACjDy1B,GAAQ,EAAe,IAAX5D,EAAGqF,UAItB7I,GAAO,iCAAgCoH,GAAQ,MAC/CpH,GAAO,0BAAyBoH,GAAQ,MACxCpH,GAAO,sBAAqBoH,GAAQ,MACpCpH,GAAO,iBAAgBoH,GAAQ,MAC/BpH,GAAO,kBAAiBoH,GAAQ,MAEhCpH,GAAO,yBAAwBoH,GAAQ,MACvCpH,GAAO,wBAAuBoH,GAAQ,MACtCpH,GAAO,oBAAmBoH,GAAQ,MAClCpH,GAAO,sBAAqBoH,GAAQ,MACpCpH,GAAO,sBAAqBoH,GAAQ,KAEpCpH,GAAO,kBAAiBoH,GAAQ,MAChCpH,GAAO,kBAAiBoH,GAAQ,MAEhCpH,GAAO,kBAAiBoH,GAAQ,MAGpC,IAAImO,EAAY,EAChB,GAAIjV,GAAW,CACb,IAAIe,EAASf,GAAU,cACR,IAAXe,EAAc+F,GAAQ,KACN,IAAX/F,EAAc+F,GAAQ,IACX,IAAX/F,IAAc+F,GAAQ,MAE/B/F,EAASf,GAAU,QACJ,IAAXe,EACF+F,GACE,EAAI,IAAOzxB,KAAK6/B,IAAKvC,KAAKC,MAAQ,IAAO,MAAiBv9B,KAAKiU,GAAK,GACpD,IAAXyX,EACP+F,GACE,EAAI,IAAOzxB,KAAK6/B,IAAKvC,KAAKC,MAAQ,IAAO,MAAkBv9B,KAAKiU,GAAK,GACrD,IAAXyX,IACP+F,GACE,EAAI,IAAOzxB,KAAK6/B,IAAKvC,KAAKC,MAAQ,IAAO,MAAkBv9B,KAAKiU,GAAK,IAEzEyX,EAASf,GAAU,aACJ,IAAXe,EAAckU,GAAa,IACX,IAAXlU,EAAckU,GAAa,IAChB,IAAXlU,IAAckU,GAAa,KAEpClU,EAASf,GAAU,YACJ,IAAXe,EAAckU,GAAa,IACX,IAAXlU,EAAckU,GAAa,KAChB,IAAXlU,IAAckU,GAAa,MAEpClU,EAASf,GAAU,SACJ,IAAXe,EAAckU,GAAa,IACX,IAAXlU,EAAckU,GAAa,IAChB,IAAXlU,IAAckU,GAAa,KAGlCvV,GAAO,oBAAmBoH,GAAQ,EAA4B,KAAvBnU,KAAKwiB,WAAa,IAE7D,MAAMC,EAAenb,GAAuB,GAC5C,IAAIob,EAAW,EAIf,GAHI3V,GAAO,8BAA6B2V,GAAY,MAEpDA,GAAY,EAAoC,IAAhClW,GAAY,kBACxBa,GAAW,CACb,MAAMe,EAASf,GAAU,UACV,IAAXe,EAAcsU,GAAY,IACV,IAAXtU,EAAcsU,GAAY,KACf,IAAXtU,IAAcsU,GAAY,MAErCA,GAAY7V,GAAO,QAEnB,IAAI8V,EAAU,EAEV5V,GAAO,oBAAmB4V,GAAW,EAAmB,GAAfF,EAAqBC,GAC9D3V,GAAO,oBAAmB4V,GAAW,EAAmB,KAAfF,EAAuBC,GAChE3V,GAAO,sBAAqB4V,GAAW,EAAmB,IAAfF,EAAsBC,GACjE3V,GAAO,sBACT4V,GAAW,EAAmB,KAAfF,EAAuBC,GACpC3V,GAAO,qBAAoB4V,GAAW,EAAmB,GAAfF,EAAqBC,GAC/D3V,GAAO,wBACT4V,GAAW,EAAmB,GAAfF,EAAqBC,GAClC3V,GAAO,wBACT4V,GAAW,EAAmB,GAAfF,EAAqBC,GAClC3V,GAAO,oBAAmB4V,GAAW,EAAmB,GAAfF,EAAqBC,GAC9D3V,GAAO,wBACT4V,GAAW,EAAmB,GAAfF,EAAqBC,GAClC3V,GAAO,+CACT4V,GAAW,EAAmB,KAAfF,EAAuBC,GACpC3V,GAAO,uBACT4V,GAAW,EAAmB,IAAfF,EAAsBC,GACnC3V,GAAO,qBAAoB4V,GAAW,EAAmB,KAAfF,EAAuBC,GACjE3V,GAAO,uBACT4V,GAAW,EAAmB,KAAfF,EAAuBC,GACpC3V,GAAO,mBAAkB4V,GAAW,EAAmB,GAAfF,EAAqBC,GAC7D3V,GAAO,kBAAiB4V,GAAW,EAAmB,IAAfF,EAAsBC,GAEjE/kC,OAAO6C,KAAK6rB,IAAYiD,SAASn1B,IAC/B,MAAMo2B,EAAKlE,GAAWlyB,GACtB,IAAIyoC,EAAYrS,EAAGyE,IAAIzE,GACI,IAAvBvQ,KAAKiN,gBACP2V,IAAc,EAAe,IAAXrS,EAAGsF,OAAgByM,GAEzB,YAAZ/R,EAAG7xB,MACHquB,GAAO,sDAEP6V,GAAa,EAAI,IAAOH,EAAeC,GACzC1a,IAAgBuI,EAAG9B,OAASmU,KAG1B7V,GAAO,WAAU/E,IAAgB,GAErCmM,GAAQwO,EAER,IAAIE,EAAU,EAad,GAZI9V,GAAO,iBAAgB8V,GAAW,MAClC9V,GAAO,cAAa8V,GAAW,MAC/B9V,GAAO,gBAAe8V,GAAW,MACjC9V,GAAO,eAAc8V,GAAW,MAChC9V,GAAO,eAAc8V,GAAW,MAChC9V,GAAO,iBAAgB8V,GAAW,MAClC9V,GAAO,mBAAkB8V,GAAW,MACpC9V,GAAO,gBAAe8V,GAAW,MACjC9V,GAAO,eAAc8V,GAAW,MAChC9V,GAAO,eAAc8V,GAAW,MAChC9V,GAAO,gBAAe8V,GAAW,MACjC9V,GAAO,eAAc8V,GAAW,MAChC9V,GAAO,eAAgB,CAEzB,IAAI+V,EACuD,GAAxDpgC,KAAKkE,OAAOo5B,KAAKC,MAAQjgB,KAAK+iB,WAAa,IAAO,IACnD,GACA,GACA,GACFD,EAAMpgC,KAAK2D,IAAIy8B,EAAK,KAEpBzZ,GAAe,EAAiC,IAA5B,GAAK,EAAIyZ,EAAM,MAAQ,GAC3CD,GAAWxZ,GAEb8K,GAAQ0O,EAEJ9V,GAAO,kBAAiBoH,GAAQ,EAAgC,IAA5BzxB,KAAK2D,IAAI,IAAK2Z,KAAKgjB,QAG3D7O,GAAQ,EAAI3H,GAAY,oBAExB,MAAMyW,EAAejb,GAAemM,EACpCx2B,OAAO6C,KAAKwf,KAAKkjB,iBAAiB5T,SAASn1B,IACrC8oC,GAAgBjjB,KAAKkjB,gBAAgB/oC,GAAGgpC,WAC1CtB,GAAO7hB,KAAKkjB,gBAAgB/oC,GAAGuE,SAGnCupB,GAAkBgb,EAElB,MAAM7lC,EAAEA,GAAM4iB,KAAKyd,aAAaC,OAC1B0F,EAAW5W,GAAY,oBAC7B,IAAK,IAAIryB,EAAI,EAAGA,EAAIiD,EAAGjD,IACrBg6B,GAAQ,EAAe,KAAXiP,EAGd,MAAM1kC,EAAOshB,KAAKqjB,WAAW5oC,cAM7B,GALa,WAATiE,EAAmBy1B,GAAQ,IACb,WAATz1B,IAAmBy1B,GAAQ,KAEhCpH,GAAO,oBAAmBoH,GAAQ,KAElCpH,GAAO,uBAAwB,CACjC,IAAIuW,EAAmB,IACvB,GAAIvW,GAAO,iBAAkB,CAC3B,MAAMwW,EAAWvjB,KAAKwjB,qBACtB7lC,OAAO6C,KAAK+iC,GAAUjU,SAASn1B,IACzB4yB,GAAOwW,EAASppC,MAAKmpC,GAAoB,OAGjDnP,GAAQmP,EAEV,GAAIvW,GAAO,yBAA0B,CACnC,IAAI0W,EAAW,GACX1W,GAAO,yBAAwB0W,GAAY,IAC/CtP,GAAQ,EAAIsP,EAGV1W,GAAO,uBAAsBoH,GAAQ,KACrCpH,GAAO,wBAAuBoH,GAAQ,GAE1CnM,GAAehI,KAAK0jB,kBAAkB,MAAO1b,IAE7CmM,GAAQmD,KAERtP,IAAgBmM,EASlB,MAAMwP,GAAW,CACf,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAIIC,GAAe,CACnB,gBACA,gBACA,cACA,gBACA,kBACA,kBACA,kBAIIC,GAAgB,CACpB,0BACA,qBACA,mBACA,iBACA,sBACA,gBACA,oBAIIC,GAAa,CACjB,sBACA,wBACA,sBACA,yBACA,wBACA,yBACA,wBAIIC,GAAa,CACjB,qBACA,oBACA,oBACA,yBACA,cACA,WACA,eAkCF,SAASC,GAAavX,GACpB,OAAOF,GAAgBE,GAAQF,GAAgBE,GAAM8J,IAAM,EAe7D,SAAS0N,KACP,IAAIC,EAAW,EACfvmC,OAAO6C,KAAKwf,KAAKmV,kBAAkB7F,SAASn1B,IACtC4yB,GAAO/M,KAAKmV,iBAAiBh7B,MAAK+pC,GAAY,OAE/CF,GAAa,UAAYE,GAAY,GAAGrC,GAAO,UAC/CmC,GAAa,YAAcE,GAAY,IAAIrC,GAAO,WAEvD,IAAIsC,EAAiB,EACjBC,EAAgB,EAChBC,EAAS,EACTC,EAAY,IAChB3mC,OAAO6C,KAAK6rB,IAAYiD,SAASn1B,IAC/BgqC,GAAkB9X,GAAWlyB,GAAGs0B,OAChC6V,EAAY5hC,KAAK2D,IAAIgmB,GAAWlyB,GAAGs0B,OAAQ6V,GACtCN,GAAa,kBAEd3X,GAAWlyB,GAAGs0B,OACd/rB,KAAK2D,IAAI,IAAK,IAAM2Z,KAAKukB,YAAYnqC,OAAS4lB,KAAKyN,QAAQtzB,GAAGyzB,GAAK,MAEnEwW,EAAgB,GAEfJ,GAAa,YAEd3X,GAAWlyB,GAAGs0B,OACmC,IAAhDzO,KAAKukB,YAAYnqC,OAAS4lB,KAAKyN,QAAQtzB,GAAGyzB,MAE3CyW,EAAS,MAGXC,GAAa,GAAGzC,GAAO,uBACL,IAAlBuC,GAAqBvC,GAAO,iBACjB,IAAXwC,GAAcxC,GAAO,WACrByC,GAAa,KAAKzC,GAAO,cACzByC,GAAa,KAAKzC,GAAO,yBACzByC,GAAa,KAAKzC,GAAO,gBACzByC,GAAa,KAAKzC,GAAO,2BACzByC,GAAa,KAAKzC,GAAO,iBACzByC,GAAa,KAAKzC,GAAO,4BACzByC,GAAa,KAAKzC,GAAO,oBACzByC,GAAa,KAAKzC,GAAO,+BACzByC,GAAa,KAAKzC,GAAO,kBACzByC,GAAa,KAAKzC,GAAO,6BACzByC,GAAa,KAAKzC,GAAO,iBAEzBsC,GAAkB,KAAKtC,GAAO,WAC9BsC,GAAkB,KAAKtC,GAAO,aAC9BsC,GAAkB,KAAMtC,GAAO,YAC/BsC,GAAkB,KAAMtC,GAAO,sBAC/BsC,GAAkB,KAAMtC,GAAO,gBAC/BsC,GAAkB,KAAMtC,GAAO,gBAE/Bza,IAAoB,IAAIya,GAAO,YAC/Bza,IAAoB,IAAIya,GAAO,aAC/Bza,IAAoB,KAAKya,GAAO,YAChCza,IAAoB,KAAKya,GAAO,oBAChCza,IAAoB,KAAKya,GAAO,oBAChCza,IAAoB,KAAKya,GAAO,oCAEhCsC,GAAkB,KAAQ/c,IAAoB,KAAKya,GAAO,YAC1DsC,GAAkB,KAAQ/c,IAAoB,KAChDya,GAAO,qBAELxV,GAAWmY,OAAO/V,OAASpC,GAAWuI,QAAQnG,QAAU,KAC1DoT,GAAO,qBAET,IAAI4C,GAAkB,EACtB9mC,OAAO6C,KAAKojC,IAActU,SAASn1B,IAC5B4yB,GAAO6W,GAAazpC,MAAKsqC,GAAkB,MAE9CA,GAAiB5C,GAAO,kBAE5B,IAAI6C,GAAmB,EAMvB,GALA/mC,OAAO6C,KAAKqjC,IAAevU,SAASn1B,IAC7B4yB,GAAO8W,GAAc1pC,MAAKuqC,GAAmB,MAEhDA,GAAkB7C,GAAO,eAEzB9U,GAAO,mBAAoB,CAC7B,MAAM4X,EAAO3kB,KAAKqU,MAAMnG,QAAQqV,SAChC,IAAIqB,EAAW,EACfjnC,OAAO6C,KAAKmkC,GAAMrV,SAASn1B,IACrB4yB,GAAO4X,EAAKxqC,GAAGuE,QAAOkmC,GAAY,MAEpCA,GAAYD,EAAKvqC,QAAQynC,GAAO,cA6OxC,SAASgD,GAAoBpW,GAC3B,MAAMqW,EAAS,GAQf,OAPAnnC,OAAO6C,KAAKwf,KAAKyN,SAAS6B,SAASn1B,IACjC2qC,EAAO3qC,GAAK,GACZ2qC,EAAO3qC,GAAGo4B,MA/Nd,SAAiCzE,EAAUW,GACzCsH,KACA1J,GAAWyB,GAAUW,QAAUA,EAC/B,MAAM8B,EAAKlE,GAAWyB,GAEL,WAAbA,GACEyC,EAAG9B,QAAU,GAAGoT,GAAO,SACvBtR,EAAG9B,QAAU,GAAGoT,GAAO,gBACvBtR,EAAG9B,QAAU,IAAIoT,GAAO,eACxBtR,EAAG9B,QAAU,KAAKoT,GAAO,mBACzBtR,EAAG9B,QAAU,KAAKoT,GAAO,eACzBtR,EAAG9B,QAAU,KAAKoT,GAAO,uBACzBtR,EAAG9B,QAAU,KAAKoT,GAAO,SACzBtR,EAAG9B,QAAU,KAAKoT,GAAO,kCACzBtR,EAAG9B,QAAU,KAAKoT,GAAO,iCACzBtR,EAAG9B,QAAU,KAAKoT,GAAO,wBACzBtR,EAAG9B,QAAU,KAAKoT,GAAO,yBAE7BlkC,OAAO6C,KAAKwf,KAAKyN,QAAQ8C,EAAG7xB,MAAMqmC,eAAezV,SAASmB,IAEtDF,EAAG9B,QACHzO,KAAKqU,MAAMrU,KAAKyN,QAAQ8C,EAAG7xB,MAAMqmC,cAActU,GAAGtD,MAAM6X,cAExDnD,GAAO7hB,KAAKyN,QAAQ8C,EAAG7xB,MAAMqmC,cAActU,GAAG/xB,SAKpD,MAAMumC,EAAwB3d,GAU9B,OARAwa,KAEAmC,KAEIgB,IAA0B3d,IAC5Bwa,KAGK9Z,GAAehI,KAAKqR,UAyLP6T,CAAwB/qC,EAAGs0B,GAC9B,IAAXA,IACFxH,GAA2B,MAGxB6d,EA6BT,SAASK,KACPxnC,OAAO6C,KAAKwf,KAAKyN,SAAS6B,SAASn1B,IACjCqvB,GAAcrvB,GAAG4zB,MAAQ6T,GACvB5hB,KAAKyN,QAAQtzB,GACb6lB,KAAKyN,QAAQtzB,GAAGo0B,UAChBvO,KAAKyN,QAAQtzB,GAAGs0B,OAChBzO,KAAKyN,QAAQtzB,GAAGq0B,KAChB,GAEF/E,GAAetvB,GAAG4zB,MAAQ6T,GACxB5hB,KAAKyN,QAAQtzB,GACb6lB,KAAKyN,QAAQtzB,GAAGo0B,UAChBvO,KAAKyN,QAAQtzB,GAAGs0B,OAChBzO,KAAKyN,QAAQtzB,GAAGq0B,KAChB,IAEF9E,GAAgBvvB,GAAG4zB,MAAQ6T,GACzB5hB,KAAKyN,QAAQtzB,GACb6lB,KAAKyN,QAAQtzB,GAAGo0B,UAChBvO,KAAKyN,QAAQtzB,GAAGs0B,OAChBzO,KAAKyN,QAAQtzB,GAAGq0B,KAChB,QASN,SAAS4W,KAEP5b,GAAgBqb,GAAoB,GACpCpb,GAAiBob,GAAoB,IACrCnb,GAAkBmb,GAAoB,KAvDtC7a,GAAgB,GAChBrsB,OAAO6C,KAAKwf,KAAK2V,UAAUrG,SAASn1B,IAClC,MAAMkrC,EAtFV,SAAgCtU,GAC9B,GACkC,WAAhC/Q,KAAK2V,SAAS5E,GAAS7D,MACY,IAAlClN,KAAK2V,SAAS5E,GAAS3D,QACtBpN,KAAK2V,SAAS5E,GAASuU,UACS,aAAhCtlB,KAAK2V,SAAS5E,GAAS7D,KACzB,CACA6I,KACkC,yBAA9BzJ,GAAYyE,GAASryB,KACvB4tB,GAAY,yBAAyBc,OAAS,EACP,uBAA9Bd,GAAYyE,GAASryB,KAC9B4tB,GAAY,uBAAuBc,OAAS,EAE5Cd,GAAYyE,GAAS3D,QAAUd,GAAYyE,GAAS3D,OAAS,GAAK,EAEzDd,GAAYyE,GACnB/Q,KAAKulB,qBAAqBvlB,KAAK2V,SAAS5E,GAAS7D,QACnD9F,IAAoB,GAEN,iBAAZ2J,GACF1J,IAAc,EACVA,GAAa,GAAGwa,GAAO,aACvBxa,IAAc,GAAGwa,GAAO,kBACP,mBAAZ9Q,EACT8Q,GAAO,cACc,yBAAZ9Q,EACT8Q,GAAO,kBACc,iBAAZ9Q,GACT8Q,GAAO,aAGT,MAAMoD,EAAwB3d,GAE9Bwa,KAEAmC,KAEIgB,IAA0B3d,IAC5Bwa,KAGF,MAAM0D,EAvIV,WACE,IAAIlkC,EAAM,EACNyrB,GAAO,sBAAqBzrB,GAAO,IACnCyrB,GAAO,qBAAoBzrB,GAAO,GAClCyrB,GAAO,qBAAoBzrB,GAAO,IAClCyrB,GAAO,sBAAqBzrB,GAAO,IACnCyrB,GAAO,yBAAwBzrB,GAAO,IACtCyrB,GAAO,yBAAwBzrB,GAAO,IACtCyrB,GAAO,wBAAuBzrB,GAAO,IACrCyrB,GAAO,wBAAuBzrB,GAAO,IACrCyrB,GAAO,uBAAsBzrB,GAAO,IACpCyrB,GAAO,uBAAsBzrB,GAAO,IACxC,IAAI8iB,EAAM,EACVzmB,OAAO6C,KAAK6rB,IAAYiD,SAASn1B,IAC/BiqB,GAAOiI,GAAWlyB,GAAGs0B,UAEvBrK,GAAOiI,GAAWmY,OAAO/V,OACzBntB,GAAO8iB,EAGH2I,GAAO,mBAAkBzrB,GAAsB,IAAf0mB,IAChC+E,GAAO,gBAAezrB,GAAsB,IAAf0mB,IAC7B+E,GAAO,oBAAmBzrB,GAAsB,IAAf0mB,IACjC+E,GAAO,sBAAqBzrB,GAAsB,IAAf0mB,IACnC+E,GAAO,uBAAsBzrB,GAAsB,IAAf0mB,IACpC+E,GAAO,mBAAkBzrB,GAAsB,IAAf0mB,IAChC+E,GAAO,qBAAoBzrB,GAAsB,IAAf0mB,IAClC+E,GAAO,sBAAqBzrB,GAAsB,IAAf0mB,IACnC+E,GAAO,sBAAqBzrB,GAAsB,IAAf0mB,IACnC+E,GAAO,qBAAoBzrB,GAAsB,IAAf0mB,IAClC+E,GAAO,yBAAwBzrB,GAAsB,IAAf0mB,IACtC+E,GAAO,sBAAqBzrB,GAAsB,IAAf0mB,IACnC+E,GAAO,sBAAqBzrB,GAAsB,IAAf0mB,IAEnC+E,GAAO,kBAAiBzrB,GAAsB,IAAf0mB,IAEnC,IAAImM,EAAO,EAiBX,GAhBIpH,GAAO,qBAAoBoH,GAAQ,KACnCpH,GAAO,gBAAeoH,GAAQ,KAC9BpH,GAAO,iBAAgBoH,GAAQ,KAC/BpH,GAAO,iBAAgBoH,GAAQ,MAE/BpH,GAAO,iBACToH,GACE,EACA,IACEzxB,KAAK2D,IACH2Z,KAAKyN,QAAQ+W,OAAO3O,MACpB9I,GAAO,mBAAqB,GAAK,KAIzCoH,GAAQtH,GAAO,SACXR,GAAWkB,OAAOY,gBAChBd,GAAW,CACb,MAAMe,EAASf,GAAU,SACV,IAAXe,EAAc+F,GAAQ,KACN,IAAX/F,EAAc+F,GAAQ,IACX,IAAX/F,IAAc+F,GAAQ,MAInCx2B,OAAO6C,KAAKwf,KAAKuX,OAAOjI,SAASn1B,SACQ,IAA5B6lB,KAAKuX,MAAMp9B,GAAGsrC,YACvBtR,GAAQnU,KAAKuX,MAAMp9B,GAAGsrC,cAI1BtR,GAAQ,EAAmC,IAA/B3H,GAAY,iBAGxB,IAAIkZ,EACFvR,EACAnU,KAAKkV,WACH,EACAnI,GAAO,2BACLA,GAAO,kCACPA,GAAO,gBACTzrB,GAOJ,OAJAokC,EAAM1lB,KAAK0jB,kBAAkB,kBAAmBgC,GAE5C1lB,KAAKiO,QAAQ,mBAAkByX,EAAM1lB,KAAKuX,MAAM,iBAAiB3B,OAE9D8P,EAkDgBC,GAAa3lB,KAAKsf,iBACvC,OAAIkG,EACK,CAACxd,GAAehI,KAAKqR,UAAWmU,GAElC,CAACxd,GAAehI,KAAKqR,WAE9B,MAAO,GAuCeuU,CAAuBzrC,GACjC,iBAANA,GACF6vB,GAAc7vB,GAAK,CAAEo4B,MAAOvS,KAAKqR,UAAY3K,IACjB,IAAxB7G,EAAUuR,UACZpH,GAAc7vB,GAAGo4B,OAAS5L,GACK,IAAxB9G,EAAUuR,YACjBpH,GAAc7vB,GAAGo4B,OAAS3L,IACvBhC,OAAOC,SAASmF,GAAc7vB,GAAGo4B,SAAQvI,GAAc7vB,GAAGo4B,MAAQ,KAEvEvI,GAAc7vB,GAAK,GACfkrC,EAAY,KAAIrb,GAAc7vB,GAAGo4B,MAAQ8S,EAAY,IACrDA,EAAY,KAAIrb,GAAc7vB,GAAGo+B,WAAa8M,EAAY,QA6DpE,SAASQ,GAAqBC,EAAOC,EAAW5R,GAC9C,IAAI6R,EAAiB,EACjBlX,EAAO,EACPmX,EAAW,EACXC,EAAe,EACfC,EACF,EAAIzjC,KAAK6D,IAAI,EAAG7D,KAAKoL,KAAKpL,KAAK4iB,IAAItF,KAAKmT,SAAWzwB,KAAK0jC,MAAQ,IAClE,KAAOH,EAAWF,EAAY5R,GAC5BrF,EAAOpsB,KAAK6D,IACVu/B,EACApjC,KAAK2D,IACH3D,KAAKkE,MAAO,EAAI,EAAK,IAAMu/B,EAAQL,EAAQ3R,GAC3C4R,EAAY5R,IAGhB8R,EAAWvjC,KAAK6D,IACdu/B,EACApjC,KAAK2D,IACH3D,KAAKkE,MAAO,EAAI,EAAK,KAAOu/B,EAAQ,GAAKL,EAAQ3R,GACjD4R,EAAY5R,IAGhB+R,EAAexjC,KAAKkE,MAAO,EAAI,EAAK,KAAOu/B,EAAQ,GAAKL,EAAQ3R,GAChE6R,GAAkBlX,EAClBqX,GAAS,EAEX,MAAO,CAACH,EAAgBlX,EAAMoX,GAmBhC,SAASG,KACP,IAAIN,EAEF,GADA/c,GAEA,GACA,EACAC,GAEF,MAAMqd,EAAchP,KAChBgP,EAAc,EAAGP,GAAaO,EAC7BP,EAAY,EAEjBxb,GAAsBsb,GACpB,EACAE,EACA7c,IAEFmB,GAA+C,EAAzBE,GAAoB,GAAUrB,GACpDoB,GACEC,GAAoB,GAAK,GAAK,GAAK,EAAItB,GAEzCyB,GAA2Bmb,GACzB,EACAE,EACA5c,IAEFqB,GACiC,EAA9BE,GAAyB,GAAUvB,GACtCsB,GACEC,GAAyB,GACzB,GACA,GACA,EACAzB,GAEF4B,GAA4Bgb,GAC1B,EACY,EAAZE,EACA7c,IAEFyB,GACkC,EAA/BE,GAA0B,GAAU3B,GACvC0B,GACEC,GAA0B,GAC1B,GACA,GACA,EACA5B,GAEF+B,GAAiC6a,GAC/B,EACY,EAAZE,EACA5c,IAEF2B,GACuC,EAApCE,GAA+B,GAAU7B,GAC5C4B,GACEC,GAA+B,GAC/B,GACA,GACA,EACA/B,GAYJ,SAASsd,KACP,MAAMxG,EAAWr9B,KAAKkE,MAAMo5B,KAAKC,MAAQ,KAEzC,GAAKjgB,KAAKqd,EAAIrd,KAAKqX,IAAO,GAAM,EAAG,CACjC,MAAMmP,EAAaxmB,KAAKymB,gBAAgBzmB,KAAK0mB,cAIvCC,EAHiBjkC,KAAKkE,MAC1BoZ,KAAKymB,gBAAgBzmB,KAAK0mB,aAAe1mB,KAAKmgB,gBAERz9B,KAAKkE,MAAM4/B,GAG7CpG,EAAWL,EAAWhZ,GACtB6f,EACJlkC,KAAK6D,IAAI,EAAGogC,EAAiB3f,IAA0BoZ,EACzD,IAAK,IAAIjmC,EAAI,EAAGA,EAAIimC,EAAUjmC,IAC5BisB,GAAkBiZ,UAAUuH,GAI9B7f,GAAyBgZ,EACzB/Y,GAAyB2f,EAGzBvd,GAAmBhD,GAAkBya,YAAY,IA6HrD,SAASgG,KACP3c,GAAuB,GACvBE,GAA8B,GAC9BD,GAA+B,GAC/B,MAAMwa,EAAO,GAEbhnC,OAAO6C,KAAKwf,KAAK2V,UAAUrG,SAASn1B,IAClCwqC,EAAK1oC,KAAK+jB,KAAK2V,SAASx7B,OAO1BwqC,EAAKhV,MALW,SAAU3sB,EAAGP,GAC3B,OAAIO,EAAEiuB,MAAQxuB,EAAEwuB,MAAc,EAC1BjuB,EAAEiuB,MAAQxuB,EAAEwuB,OAAe,EACxB,KAITtzB,OAAO6C,KAAKmkC,GAAMrV,SAASn1B,IACzB,MAAMo2B,EAAKoU,EAAKxqC,GAEhB,GAAkB,IAAdo2B,EAAGnD,OAAc,CACnB,IAAI7xB,EAAM,GAEVA,GArDN,SAAsBg1B,GACpB,IAAIuW,EAAU,wBACE,aAAZvW,EAAGrD,OAAqB4Z,GAAW,aAEvC,IAAIC,EAAU,EACT/mB,KAAK8c,MAAMkK,SAAQD,EAAU,GAC9BA,IAASD,GAAW,YAExB,IAAIG,KAAEA,GAAS1W,EACXA,EAAG2W,eAAcD,EAAO1W,EAAG2W,gBAC/B,MAAMvQ,EAAU,0DAA0DpG,EAAG3C,kBAC7E,MAAO,eAAekZ,SACrB9mB,KAAKmnB,kBAAkBxQ,EAAS,OAAO,kBAEtCsQ,EAAK,GAAK,yBAAyBA,EAAK,OAAS,yBACjB,IAAVA,EAAK,QAAwB,IAAVA,EAAK,oBAsCrCG,CAAa7W,GACJ,aAAZA,EAAGrD,KAAqB/C,IAAgC5uB,EACvC,WAAZg1B,EAAGrD,KAAmB9C,IAA+B7uB,EAEhD,WAAZg1B,EAAGrD,MACS,WAAZqD,EAAGrD,MACS,UAAZqD,EAAGrD,OAEHhD,IAAwB3uB,OAchC,SAAS8rC,KACP,GAAoB,cAAhBrnB,KAAKge,OAAwB,CAC/B,IAAIrhC,EAAuB,GAAjBqjB,KAAKqR,UACXrR,KAAKiO,QAAQ,kBAAiBtxB,GAAO,IACrCqjB,KAAKiO,QAAQ,YAAWtxB,GAAO,KACnC2sB,GAAe5mB,KAAK6D,IAAI,GAAI5J,GACxBqjB,KAAK4d,IAAI,gCAA+BtU,IAAgB,IAehE,SAASge,KACPhf,GAA2C,IAA7BU,GAAoC,IAClDV,IAAcW,GACd,MAAMqd,EAAchP,KAChBgP,EAAc,EAAGhe,IAAcge,EAC9Bhe,GAAa,EAClBC,GAAmBW,IAAuC,IAAbZ,IAAqB,GAClEE,GAAwBW,IAAsC,IAAbb,IAAqB,GACtEG,GAAgC,EAAbH,GACnBI,GACEQ,IAA6C,IAAnBT,IAA2B,GACvDE,GACEQ,IAA4C,IAAnBV,IAA2B,GACtDG,GAA4B,EAAbN,GACfO,GAAoC,IAAfD,GAErBE,GAAe,EACf,IAAIviB,EAAM,EACNnJ,EAAI,EACRO,OAAO6C,KAAKwf,KAAKyN,SAAS6B,SAASn1B,IAC7B6lB,KAAKyN,QAAQtzB,GAAGs0B,OAASloB,IAAKA,EAAMyZ,KAAKyN,QAAQtzB,GAAGs0B,QACpDzO,KAAKyN,QAAQtzB,GAAGs0B,OAAS,IAAGrxB,GAAK,MAEvCO,OAAO6C,KAAKwf,KAAKyN,SAAS6B,SAASn1B,KAE9B6lB,KAAKyN,QAAQtzB,GAAGs0B,OAASloB,GAAa,IAANnJ,IACjC4iB,KAAKyN,QAAQtzB,GAAGs0B,OAAS,KACD,EAAxBzO,KAAKyN,QAAQtzB,GAAG4zB,MAAYjF,KAE5BA,GAAuC,EAAxB9I,KAAKyN,QAAQtzB,GAAG4zB,MAC/BhF,GAAuB5uB,MAQ7B,SAASotC,KACP,IAAIC,EAAa,EACbC,EAAY,EACZtT,EAAO,EAGPpH,GAAO,4BAA2BoH,GAAQ,MAC1CpH,GAAO,iBAAgBoH,GAAQ,MAEnCqT,GAAc,EAA+C,GAA3CxnB,KAAKojB,SAAS,2BAChCoE,GAAcxnB,KAAK0nB,IAAI,oBACvBD,GAAa,EAAuC,GAAnCznB,KAAKojB,SAAS,mBAC/BqE,GAAaznB,KAAK0nB,IAAI,mBAGtBxe,GAAyBiL,EAAOqT,EAChCre,GAAwBgL,EAAOsT,EAM/Bxe,GAAoC,EACD,IAA/BjJ,KAAKyd,aAAaC,OAAOtgC,IAC3B6rB,IACE,EAAwC,KAApCjJ,KAAKojB,SAAS,qBAkBxB,SAASuE,KACPhe,GAAsB,EACtBC,GAAuB,EACvBC,GAAwB,CAAC,EAAG,MAC5B,IAAK,IAAI1vB,EAAI,EAAGA,EAAI6lB,KAAKuR,UAAUn3B,OAAQD,IAAK,CAC9C,IAAI2kC,OAAEA,GAAW9e,KAAKuR,UAAUp3B,GAC5B4kC,EAAS,IAKb,GAJI/e,KAAK4d,IAAI,6BAA4BmB,GAAU,MACpB,IAA3B/e,KAAKuR,UAAUp3B,GAAGK,OAAYukC,GAAU,GAC5CD,GAAUC,EACN/e,KAAK4d,IAAI,mBAAkBkB,GAAU,MACrCzS,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASpO,KAAKsN,OAAO,SACZ,IAAXc,EAAc0Q,GAAU,KACR,IAAX1Q,EAAc0Q,GAAU,IACb,IAAX1Q,IAAc0Q,GAAU,MAEnCnV,IAAuBmV,EACQ,IAA3B9e,KAAKuR,UAAUp3B,GAAGK,OACpBovB,IAAwBkV,EACpBA,EAASjV,GAAsB,KACjCA,GAAwB,CAACiV,EAAQ3kC,MAwBzC,SAASytC,KACPjU,KACAgU,KACAL,KACAC,KACAlB,KACAQ,KACAQ,KAhiDAthB,GAAc,IAAIwZ,GAAWvc,EAAYA,EAAY5oB,OAAS,IAC9D4rB,GAAY,IAAIuZ,GAAWvc,EAAYA,EAAY5oB,OAAS,IAC5D6rB,GAAmB,IAAIsZ,GAAWvc,EAAYA,EAAY5oB,OAAS,IACnE8rB,GAAa,IAAIqZ,GAAWvc,EAAYA,EAAY5oB,OAAS,IAC7D+rB,GAAa,IAAIoZ,GAAWtc,EAAWA,EAAW7oB,OAAS,IA8hD3DgsB,GAAoB,IAAImZ,GAAW,GACnCzZ,GAAgC,IAAIyZ,GACE,GAApCtc,EAAWA,EAAW7oB,OAAS,IAEjCmsC,KACAzG,KACAsF,KACAD,KACA1D,KAKF,MA8ImCoG,GA9Ib,CACpB1W,QAAS,EACTyP,WAAY,EACZI,cAAe,EACf5P,UAAW,EACX1M,MAAO,EACPF,cAAe,EACfQ,eAAgB,EAChBD,YAAa,OACbY,WAAY,EACZmiB,aAAc,EACd9U,cAAe,EACf3D,YAAa,EACb8R,sBAAuB,EACvBI,aAAc,EACdF,cAAe,EACfH,oBAAqB,EACrBtf,WAAY,UACZC,YAAa,UACbC,aAAc,UACdC,aAAc,UACdC,UAAW,UACXC,aAAc,UACdC,WAAY,UACZC,WAAY,UACZC,YAAa,UACbyQ,OAAQ,EACRW,SAAU,EACVC,YAAa,EACbsK,gBAAiB,EACjBjO,YAAa,EACbiY,mBAAoB,EACpBvY,cAAe,EACfoB,aAAc,EACdoX,eAAgB,EAChBC,YAAa,EACbC,QAAS,EACTC,QAAS,EACTpoB,gBAAiB,EACjBqoB,oBAAqB,EACrBrQ,oBAAqB,EACrBsQ,YAAa,EACblM,cAAe,EACfC,oBAAqB,EACrBE,gBAAiB,EACjBE,sBAAuB,EACvBE,gBAAiB,EACjBb,aAAc,EACdG,YAAa,EACbtE,YAAa,EACbyB,YAAa,EACbkF,aAAc,EACd1F,YAAa,EACbkB,aAAc,EACdc,gBAAiB,EACjB2N,oBAAqB,EACrBpL,MAAO,EACPqL,gBAAiB,EACjBC,oBAAqB,EACrBvJ,QAAS,EACTwJ,oBAAqB,EACrBC,aAAc,EACdzkB,MAAO,EACP0kB,aAAc,EACdC,eAAgB,EAChBC,QAAS,EACTC,cAAe,UACfC,QAAS,EACTC,SAAU,IACVC,WAAY,6DACZC,oBAAqB,EACrBC,aAAc,EACdC,mBAAoB,UACpBC,aAAc,EACdC,cAAe,IACfC,gBACE,gEACFC,gBAAiB,EACjBC,SAAU,EACVC,eAAgB,UAChBC,SAAU,EACVC,UAAW,IACXC,YACE,oEACFC,UAAW,EACXC,gBAAiB,UACjBC,UAAW,EACXC,WAAY,IACZC,aAAc,+DACdC,kBAAmB,EACnBC,WAAY,EACZC,iBAAkB,UAClBC,WAAY,EACZC,YAAa,IACbC,cACE,gEACFC,qBAAsB,EACtBC,cAAe,EACfC,oBAAqB,UACrBC,cAAe,EACfC,eAAgB,IAChBC,iBACE,6DACFC,wBAAyB,EACzBC,iBAAkB,EAClBC,uBAAwB,UACxBC,iBAAkB,EAClBC,kBAAmB,IACnBC,oBACE,8DACFC,aAAc,EACdnnB,kBAAmB,EACnBonB,OAAQ,CACNC,UAAW,EACXC,YAAa,EACbC,SAAU,EACVC,QAAS,EACTC,YAAa,EACbC,QAAS,EACTC,WAAY,EACZC,aAAc,EACdC,oBAAqB,EACrBC,eAAgB,EAChBC,eAAgB,EAChBC,gBAAiB,EACjBC,iBAAkB,EAClBC,iBAAkB,EAClBC,kBAAmB,EACnBC,qBAAsB,EACtBC,cAAe,EACfC,MAAO,EACPC,MAAO,EACPC,OAAQ,EACRC,OAAQ,EACRC,SAAU,EACVC,MAAO,EACPC,IAAK,EACLC,KAAM,EACNC,QAAS,IAoCsBC,GAvBnC,SAAsCC,GACpC,GAAoB,IAAhBA,EAAmB,CAErB,MAAMC,EAA2B,WAC/B,IACErB,aAAasB,oBAAoBC,OACjC,MAAO/xC,GACP,OAAO,EAET,OAAO,GAIH,iBAAkB1C,OAEbu0C,IACTrB,aAAasB,oBAAoBC,OAEjCvB,aAAasB,oBAJbpyC,QAAQsqB,IAAI,kDAoBlB,SAASgoB,KACkB,IAArBztB,EAAUgT,QACZtnB,EAAE,YAAYnJ,MAAMqV,QAAU,GAC9Bmb,MAEArnB,EAAE,YAAYnJ,MAAMqV,QAAU,OAEhC8b,KAwGF,SAASga,KACPC,cACAxtB,KAAKytB,eACLztB,KAAK0tB,kBAEL9a,KACAzD,KACAU,KAuBF,SAAS8d,KACmB,IAAtB9tB,EAAUsoB,SAAiBnnB,EAAwB,EACjDmK,GAA0ByiB,MAC5BriC,EAAE,aAAasiC,KACb,mEAEFtiC,EAAE,aAAasiC,KACb,oEAEJtiC,EAAE,aAAasiC,KACb,uDAQN,MAAMC,GACJtO,YAAYhlC,EAAMuzC,GAChBl1C,KAAK2B,KAAOA,EACZ3B,KAAKk1C,MAAQA,GAKjB,MAAMC,WAAwBF,GAC5BtO,YAAYhlC,EAAMuzC,EAAOE,EAAOC,EAAMC,EAAQjvC,EAAO,MACnDkvC,MAAM5zC,EAAMuzC,GACZl1C,KAAKo1C,MAAQA,EACbp1C,KAAKq1C,KAAOA,EACZr1C,KAAKs1C,OAASA,EACVjvC,IACFrG,KAAKqG,KAAOA,IAKlB,MAAMmvC,WAAuBP,GAC3BtO,YAAYhlC,EAAMuzC,EAAOG,GACvBE,MAAM5zC,EAAMuzC,GACZl1C,KAAKq1C,KAAOA,GAKhB,MAAMI,WAAsBR,GAC1BtO,YAAYhlC,EAAMuzC,EAAOE,EAAOC,GAC9BE,MAAM5zC,EAAMuzC,GACZl1C,KAAKo1C,MAAQA,EACbp1C,KAAKq1C,KAAOA,EACZ,IAAK,IAAI/zC,EAAI,EAAGA,EAAI,IAAKA,IACvBtB,KAAKo1C,MAAM9zC,GAAK,GAAGA,MAMzB,MAAMo0C,WAA2BT,GAC/BtO,YAAYhlC,EAAMuzC,EAAOE,EAAOC,EAAM7nC,EAAKE,GACzC6nC,MAAM5zC,EAAMuzC,GACZl1C,KAAKo1C,MAAQA,EACbp1C,KAAKq1C,KAAOA,EACZr1C,KAAKwN,IAAMA,EACXxN,KAAK0N,IAAMA,GAyBf,MAwzBmCioC,GAxzBpB,CAEbrd,QAAS,IAAI6c,GACX,OACA,cACA,CAAC,6BAA8B,8BAC/B,kFACA,GAEFpN,WAAY,IAAIoN,GACd,OACA,cACA,CACE,0BACA,0BACA,0BACA,yBACA,yBACA,0BACA,0BACA,2BAEF,4DACA,GAEFhN,cAAe,IAAIgN,GACjB,OACA,cACA,CACE,4BACA,4BACA,6BACA,6BACA,8BAEF,uDACA,GAEF5c,UAAW,IAAI4c,GACb,OACA,cACA,CACE,+BACA,8BACA,6CAEF,qGACA,GACA,WACElmB,IAAY,KAKhBpD,MAAO,IAAIspB,GACT,OACA,WACA,CACE,uBACA,SACA,cACA,4BACA,sBACA,wBAEF,yCACA,GACA,WACET,QAGJ/oB,cAAe,IAAIwpB,GACjB,OACA,WACA,CAAC,aAAc,aAAc,cAC7B,oIACA,GACA,WACET,QAGJvoB,eAAgB,IAAIgpB,GAClB,OACA,WACA,CAAC,4BAA6B,mBAC9B,qDACA,GACA,WACET,QAGJxoB,YAAa,IAAIwpB,GACf,WACA,WACA,2BACA,8KACA,EACA,WAEF5oB,WAAY,IAAIqoB,GACd,OACA,WACA,CAAC,0BAA2B,uBAC5B,0BACA,GAEFlG,aAAc,IAAIkG,GAChB,OACA,WACA,CAAC,oBAAqB,oBACtB,mEACA,GACA,WAlU6B,IAA3BnuB,EAAUioB,aAAoB9nB,KAAKod,QAAU3a,EAC5CzC,KAAKod,QAAU3b,EAAgB2b,WAqUpCpK,cAAe,IAAIgb,GACjB,OACA,WACA,CAAC,yBAA0B,mBAC3B,sKACA,GAIF3e,YAAa,IAAI2e,GACf,OACA,UACA,CAAC,uBAAwB,uBACzB,yBACA,GACA,WACE7e,QAGJgS,sBAAuB,IAAI6M,GACzB,OACA,UACA,CAAC,2BAA4B,sBAC7B,0KACA,GAEFzM,aAAc,IAAIyM,GAChB,OACA,UACA,CACE,mBACA,kBACA,0BACA,gCAEF,sGACA,GAEF3M,cAAe,IAAI2M,GACjB,OACA,UACA,CAAC,mBAAoB,mBACrB,sJACA,GAEF9M,oBAAqB,IAAIqN,GACvB,WACA,UACA,oCACA,wMACA,EACA9pB,KAEF7C,WAAY,IAAIysB,GACd,SACA,UACA,6HAEFxsB,YAAa,IAAIwsB,GACf,SACA,UACA,yGAEFvsB,aAAc,IAAIusB,GAChB,SACA,UACA,qHAEFtsB,aAAc,IAAIssB,GAChB,SACA,UACA,4HAEFrsB,UAAW,IAAIqsB,GACb,SACA,UACA,gHAEFpsB,aAAc,IAAIosB,GAChB,SACA,UACA,8HAEFnsB,WAAY,IAAImsB,GACd,SACA,UACA,wGAEFlsB,WAAY,IAAIksB,GACd,SACA,UACA,sDAEFjsB,YAAa,IAAIisB,GACf,SACA,UACA,yDAIFxb,OAAQ,IAAImb,GACV,OACA,cACA,CAAC,iBAAkB,iBACnB,wBACA,GACA,WACEV,QAGJ9Z,SAAU,IAAIwa,GACZ,OACA,cACA,CAAC,gBAAiB,gBAClB,+FACA,GACA,WACEta,QAGJD,YAAa,IAAIua,GACf,OACA,cACA,CAAC,gCAAiC,+BAClC,8BACA,GACA,WAz3H4B,IAA1BnuB,EAAU4T,aACZloB,EAAE,cAAcnJ,MAAMkG,MAAQ,MAC9BiD,EAAE,cAAcnJ,MAAMkW,OAAS,GAC/B/M,EAAE,QAAQkjC,aAAaljC,EAAE,cAAeA,EAAE,kBAE1CA,EAAE,cAAcnJ,MAAMkG,MAAQ,OAC9BiD,EAAE,cAAcnJ,MAAMkW,OAAS,MAC/B/M,EAAE,WAAWwK,YAAYxK,EAAE,gBAE7BgoB,QAo3HAwK,gBAAiB,IAAIiQ,GACnB,OACA,cACA,CACE,wBACA,iCACA,0BAEF,+DACA,GAEFle,YAAa,IAAIke,GACf,OACA,cACA,CACE,0BACA,8BACA,kCAEF,yDACA,GACA,WA3a2B,IAAzBnuB,EAAU6uB,YAEZnjC,EAAE,gBAAgBnJ,MAAMqV,QAAU,GAClCoY,MACkC,IAAzBhQ,EAAU6uB,YAEnBnjC,EAAE,gBAAgBnJ,MAAMqV,QAAU,OAClCoY,OAGAtkB,EAAE,gBAAgBnJ,MAAMqV,QAAU,OAClCuI,KAAK0tB,sBAoaP3F,mBAAoB,IAAIiG,GACtB,OACA,cACA,CAAC,iCAAkC,iCACnC,+FACA,GACA,WA9ZmC,IAAjCnuB,EAAUkoB,oBAEZx8B,EAAE,gBAAgBnJ,MAAMgI,SAAW,SACnCmB,EAAE,gBAAgBnJ,MAAMsC,IAAM,OAE9B6G,EAAE,gBAAgBnJ,MAAMgI,SAAW,MA6ZrColB,cAAe,IAAIwe,GACjB,OACA,cACA,CACE,0BACA,oCACA,4CAEF,kEACA,GACA,WACE7e,QAGJyB,aAAc,IAAIod,GAChB,OACA,cACA,CAAC,yBAA0B,qBAC3B,iEACA,GACA,WACEne,QAGJmY,eAAgB,IAAIgG,GAClB,OACA,cACA,CAAC,6BAA8B,6BAC/B,kFACA,GAEF/F,YAAa,IAAI+F,GACf,OACA,cACA,CAAC,iCAAkC,iCACnC,+DACA,GAEF9F,QAAS,IAAI8F,GACX,OACA,cACA,CAAC,0BAA2B,0BAC5B,yDACA,GACA,WAxgBwB,IAAtBnuB,EAAUqoB,QACZvqC,OAAO6C,KAAKwjB,IAAUsL,SAASn1B,IAC7B6pB,GAAS7pB,GAAGiI,MAAMqV,QAAU,QAC5BuM,GAAS7pB,GAAGiI,MAAMqC,KAAO+mB,GAAwBrxB,GAAGoR,EAAEnJ,MAAMqC,KAC5Duf,GAAS7pB,GAAGiI,MAAMsC,IAAM8mB,GAAwBrxB,GAAGoR,EAAEnJ,MAAMsC,OAG7D/G,OAAO6C,KAAKwjB,IAAUsL,SAASn1B,GAAO6pB,GAAS7pB,GAAGiI,MAAMqV,QAAU,YAqgBpE0wB,QAAS,IAAI6F,GACX,OACA,cACA,CAAC,cAAe,cAChB,2CACA,GACA,WACEL,QAGJ5tB,gBAAiB,IAAIiuB,GACnB,OACA,cACA,CAAC,6BAA8B,6BAC/B,kEACA,GACA,WACEluB,OAGJsoB,oBAAqB,IAAI4F,GACvB,OACA,cACA,CAAC,qCAAsC,qCACvC,+FACA,GACA,WAnhBEnuB,EAAUuoB,oBACZ78B,EAAE,uBAAuBnJ,MAAMqV,QAAU,GAEzClM,EAAE,uBAAuBnJ,MAAMqV,QAAU,UAshB3CsgB,oBAAqB,IAAIiW,GACvB,OACA,UACA,CACE,2CACA,2CAEF,kDACA,GAEF3F,YAAa,IAAI2F,GACf,OACA,UACA,CACE,iDACA,iDAEF,qDACA,GAEF7R,cAAe,IAAI6R,GACjB,OACA,UACA,CAAC,4BAA6B,4BAC9B,kGACA,GAEF5R,oBAAqB,IAAI4R,GACvB,OACA,UACA,CAAC,mCAAoC,mCACrC,2GACA,GAEF1R,gBAAiB,IAAI0R,GACnB,OACA,UACA,CAAC,8BAA+B,8BAChC,+GACA,GAEFxR,sBAAuB,IAAIwR,GACzB,OACA,UACA,CAAC,qCAAsC,qCACvC,kIACA,GAEFtR,gBAAiB,IAAIsR,GACnB,OACA,UACA,CAAC,8BAA+B,8BAChC,qJACA,GAEFnS,aAAc,IAAI0S,GAChB,WACA,UACA,mCACA,gKACA,EACA9pB,KAEFuX,YAAa,IAAIgS,GACf,OACA,UACA,CACE,+CACA,+CAEF,2EACA,GAEFtW,YAAa,IAAIsW,GACf,OACA,UACA,CAAC,kCAAmC,qCACpC,kCACA,GACA,WACEvW,QAGJ0B,YAAa,IAAI6U,GACf,OACA,UACA,CAAC,mCAAoC,mCACrC,6CACA,GAEF3P,aAAc,IAAI2P,GAChB,OACA,UACA,CAAC,uBAAwB,uBACzB,oEACA,GAEFrV,YAAa,IAAIqV,GACf,OACA,UACA,CAAC,yBAA0B,yBAC3B,4DACA,GAEFnU,aAAc,IAAImU,GAChB,OACA,UACA,CAAC,2BAA4B,2BAC7B,yDACA,GAEFrT,gBAAiB,IAAIqT,GACnB,OACA,UACA,CAAC,uBAAwB,uBACzB,iDACA,GAEF1F,oBAAqB,IAAI0F,GACvB,OACA,UACA,CAAC,qCAAsC,qCACvC,+CACA,GAIF9Q,MAAO,IAAI8Q,GACT,OACA,aACA,CAAC,iBAAkB,iBACnB,oCACA,GAEFzF,gBAAiB,IAAIyF,GACnB,OACA,aACA,CAAC,uBAAwB,uBACzB,6CACA,GAEFxF,oBAAqB,IAAIwF,GACvB,OACA,aACA,CACE,2BACA,iCACA,iCACA,+BAEF,mEACA,GAEF/O,QAAS,IAAI+O,GACX,OACA,aACA,CAAC,mCAAoC,+BACrC,wCACA,GAEFvF,oBAAqB,IAAI8F,GACvB,WACA,aACA,0BACA,8GACA,EACA9pB,KAEFikB,aAAc,IAAIsF,GAChB,OACA,aACA,CAAC,gBAAiB,gBAClB,4FACA,GAIF/pB,MAAO,IAAI+pB,GACT,OACA,sBACA,CAAC,YAAa,WAAY,8BAC1B,8LACA,GAEFrF,aAAc,IAAIqF,GAChB,OACA,sBACA,CAAC,mCAAoC,mCACrC,kLACA,GAEFpF,eAAgB,IAAIoF,GAClB,OACA,iBACA,CAAC,mBAAoB,mBACrB,mDACA,GACA,WACEf,GAAoCptB,EAAU+oB,mBAGlDC,QAAS,IAAImF,GACX,OACA,iBACA,CAAC,YAAa,YACd,iCACA,GAEFlF,cAAe,IAAIuF,GACjB,SACA,iBACA,wDAEFtF,QAAS,IAAIiF,GACX,OACA,iBACA,CAAC,YAAa,YACd,iCACA,GAEFhF,SAAU,IAAIsF,GAAc,MAAO,iBAAkB,GAAI,UACzDrF,WAAY,IAAI+E,GACd,MACA,iBACA,aACA,6DAEF9E,oBAAqB,IAAI8E,GACvB,OACA,iBACA,CAAC,mBAAoB,mBACrB,8DACA,GACA,WACEf,GAAoCptB,EAAUqpB,wBAGlDC,aAAc,IAAI6E,GAChB,OACA,iBACA,CAAC,YAAa,YACd,wCACA,GAEF5E,mBAAoB,IAAIiF,GACtB,SACA,iBACA,6DAEFhF,aAAc,IAAI2E,GAChB,OACA,iBACA,CAAC,YAAa,YACd,wCACA,GAEF1E,cAAe,IAAIgF,GAAc,MAAO,iBAAkB,GAAI,UAC9D/E,gBAAiB,IAAIyE,GACnB,MACA,iBACA,aACA,sEAEFxE,gBAAiB,IAAIwE,GACnB,OACA,kBACA,CAAC,mBAAoB,mBACrB,yCACA,GACA,WACEf,GAAoCptB,EAAU2pB,oBAGlDC,SAAU,IAAIuE,GACZ,OACA,kBACA,CAAC,YAAa,YACd,gCACA,GAEFtE,eAAgB,IAAI2E,GAClB,SACA,kBACA,kEAEF1E,SAAU,IAAIqE,GACZ,OACA,kBACA,CAAC,YAAa,YACd,gCACA,GAEFpE,UAAW,IAAI0E,GAAc,MAAO,kBAAmB,GAAI,UAC3DzE,YAAa,IAAImE,GACf,MACA,kBACA,aACA,6DAEFlE,UAAW,IAAIkE,GACb,OACA,mBACA,CAAC,wBAAyB,YAC1B,+BACA,GAEFjE,gBAAiB,IAAIsE,GACnB,SACA,mBACA,4DAEFrE,UAAW,IAAIgE,GACb,OACA,mBACA,CAAC,YAAa,YACd,+BACA,GAEF/D,WAAY,IAAIqE,GAAc,MAAO,mBAAoB,GAAI,UAC7DpE,aAAc,IAAI8D,GAChB,MACA,mBACA,yBACA,uDAEF7D,kBAAmB,IAAI6D,GACrB,OACA,mBACA,CAAC,mBAAoB,mBACrB,oDACA,GACA,WACEf,GAAoCptB,EAAUsqB,sBAGlDC,WAAY,IAAI4D,GACd,OACA,mBACA,CAAC,YAAa,YACd,2CACA,GAEF3D,iBAAkB,IAAIgE,GACpB,SACA,mBACA,2DAEF/D,WAAY,IAAI0D,GACd,OACA,mBACA,CAAC,YAAa,YACd,2CACA,GAEFzD,YAAa,IAAI+D,GAAc,MAAO,mBAAoB,GAAI,UAC9D9D,cAAe,IAAIwD,GACjB,MACA,mBACA,aACA,2DAEFvD,qBAAsB,IAAIuD,GACxB,OACA,oBACA,CAAC,mBAAoB,mBACrB,iDACA,GACA,WACEf,GAAoCptB,EAAU4qB,yBAGlDC,cAAe,IAAIsD,GACjB,OACA,oBACA,CAAC,YAAa,YACd,wCACA,GAEFrD,oBAAqB,IAAI0D,GACvB,SACA,oBACA,8DAEFzD,cAAe,IAAIoD,GACjB,OACA,oBACA,CAAC,YAAa,YACd,wCACA,GAEFnD,eAAgB,IAAIyD,GAAc,MAAO,oBAAqB,GAAI,UAClExD,iBAAkB,IAAIkD,GACpB,MACA,oBACA,aACA,yDAEFjD,wBAAyB,IAAIiD,GAC3B,OACA,uBACA,CAAC,mBAAoB,mBACrB,2EACA,GACA,WACEf,GAAoCptB,EAAUkrB,4BAGlDC,iBAAkB,IAAIgD,GACpB,OACA,uBACA,CAAC,YAAa,YACd,kEACA,GAEF/C,uBAAwB,IAAIoD,GAC1B,SACA,uBACA,sEAEFnD,iBAAkB,IAAI8C,GACpB,OACA,uBACA,CAAC,YAAa,YACd,kEACA,GAEF7C,kBAAmB,IAAImD,GACrB,MACA,uBACA,GACA,UAEFlD,oBAAqB,IAAI4C,GACvB,MACA,uBACA,aACA,mFAIF3C,aAAc,IAAI2C,GAChB,OACA,gBACA,CAAC,wBAAyB,wBAC1B,mIACA,GAEF9pB,kBAAmB,IAAI8pB,GACrB,OACA,gBACA,CACE,iCACA,gCACA,0CAEF,8MACA,GACA,WACEhuB,KAAKkf,iBAiBX,SAASyP,KACP,OAAOnzC,KAAKozC,UAAU,CACpBC,kBAAmB3qB,GACnB4qB,SAAUjvB,EACVkvB,QAAS,YAkMb,SAASC,KACP,GAAI5mB,KAAyBpI,KAAKivB,aAAennB,GAAW,CAC1D,GACE9H,KAAKivB,YAAc,IACnBjvB,KAAKkvB,aAAalvB,KAAKivB,aAAaE,IAAIvsC,WAAWwsC,SAAS,aAC5D,CACA,IAAI5vC,EAASwgB,KAAKkvB,aAAalvB,KAAKivB,aAAaE,IAC9CvsC,WACA/H,MAAM,mBAAmB,GAC5B,MAAM4zB,EAASzO,KAAKkvB,aAAalvB,KAAKivB,aAAaE,IAChDvsC,WACA/H,MAAM,sBAAsB,GAC/B,GAAe,MAAX2E,EAEF,GADAA,EAASA,EAAO6vC,WAAW,IAAK,IAC5BrvB,KAAKyN,QAAQjuB,GAAQivB,OAASA,EAChCpG,GAAyB,mCACpB,CACL,IAAIinB,EAAO,EACXvZ,KACA,IAAK,IAAI57B,EAAI,EAAGA,EAAIs0B,EAAQt0B,IAAK,CAC/B,IAAI4zB,EACF1B,GAAW7sB,GAAQ+uB,UACnBvO,KAAKgP,eACHtsB,KAAK6D,IACH,EACA8lB,GAAW7sB,GAAQivB,OAAS,EAAIpC,GAAW7sB,GAAQgvB,MAEzDT,EAAQ/N,KAAKiP,oBAAoB5C,GAAW7sB,GAASuuB,GACrDA,EAAQrrB,KAAKoL,KAAKigB,GAClBuhB,GAAQvhB,EACR1B,GAAW7sB,GAAQivB,QAAU,EAE/BpG,GAAyB,kBAAkBlE,GAA4BmrB,SAEpE,CACL,IAAIA,EAAO,EACXvZ,KACAp4B,OAAO6C,KAAKwf,KAAKyN,SAAS6B,SAASmB,IAEjC,GADAjxB,EAASixB,EACLzQ,KAAKyN,QAAQjuB,GAAQivB,OAASA,EAChCpG,GAAyB,mCAD3B,CAIA,IAAK,IAAIluB,EAAI,EAAGA,EAAIs0B,EAAQt0B,IAAK,CAC/B,IAAI4zB,EACF1B,GAAW7sB,GAAQ+uB,UACnBvO,KAAKgP,eACHtsB,KAAK6D,IACH,EACA8lB,GAAW7sB,GAAQivB,OAAS,EAAIpC,GAAW7sB,GAAQgvB,MAEzDT,EAAQ/N,KAAKiP,oBAAoB5C,GAAW7sB,GAASuuB,GACrDA,EAAQrrB,KAAKoL,KAAKigB,GAClBuhB,GAAQvhB,EACR1B,GAAW7sB,GAAQivB,QAAU,EAE/BpG,GAAyB,kBAAkBlE,GAA4BmrB,UAI7ElnB,GAAuBpI,KAAKivB,aAkBhC,SAASM,GAAmB7hB,EAAK4I,GAC/BP,KACa,IAATO,EAAY3O,GAAU+F,EACR,IAAT4I,EAAY1O,GAAU8F,EACb,IAAT4I,IAAYzO,GAAU6F,GAE/B,MAAMuX,EAAwB3d,GAO9B,OANAwa,KAEAmC,KACIgB,IAA0B3d,IAC5Bwa,KAEK9Z,GAAehI,KAAKqR,UAoD7B,SAASme,KAEPnjB,GAAa,GACb1uB,OAAO6C,KAAKwf,KAAKyN,SAAS6B,SAASn1B,IACjCkyB,GAAWlyB,GAAK46B,GAAoB56B,MAItCmyB,GAAc,GACd3uB,OAAO6C,KAAKwf,KAAK2V,UAAUrG,SAASn1B,IAClCmyB,GAAYnyB,GAAKs7B,GAAYt7B,MAI/BoyB,GAAkB,GAClB5uB,OAAO6C,KAAKwf,KAAKgU,cAAc1E,SAASn1B,IACtCoyB,GAAgBpyB,GAAK25B,GAAgB35B,MAEvC47B,KAMF,IAAI0Z,IAAiB,EAerB,SAASC,GAAMthC,EAAMuhC,EAAQrrB,IAGD,IAAtBzE,EAAU8vB,IAAiBrrB,IAClB,IAATlW,IACmB,IAAnBqhC,IACO,IAATrhC,GAEA7C,EAAE,iBAAiBnJ,MAAM4U,gBAAkB6I,EAAU,SAAS8vB,KAC9DpkC,EAAE,iBAAiBnJ,MAAM6U,QAAU,MACtB,IAAT7I,GACF7C,EAAE,iBAAiBnJ,MAAMqV,QAAU,SACnCm4B,YAAW,WACTF,GAAM,EAAGC,GAAQ,KAChB,IAAO3vB,KAAKqX,MAEfuY,YAAW,WACTF,GAAM,EAAGC,GAAQ,KAChB,IAAO3vB,KAAKqX,MAEC,IAATjpB,GACT7C,EAAE,iBAAiBnJ,MAAM6U,QAAU,IACnC24B,YAAW,WACTF,GAAM,EAAGC,GAAQ,KAChB,IAAO3vB,KAAKqX,MACG,IAATjpB,IAAY7C,EAAE,iBAAiBnJ,MAAMqV,QAAU,QAe5D,SAASo4B,GAAgBC,EAAKC,EAAWC,EAAW1rB,GAElD,IAA8B,IAAzBzE,EAAUkwB,IAAoBzrB,KAA8B,IAAnBmrB,GAA0B,CAEtE,MAAMQ,EAAQ,IAAIC,MAAMJ,GACpBjwB,EAAU8oB,aACZsH,EAAME,OAAUtwB,EAAUmwB,GAAa,KAAQhwB,KAAKmwB,OAAS,KAC1DF,EAAME,OAAStwB,EAAUmwB,GAAa,IAC3CC,EAAMG,QAoFV,SAASC,GAAmBC,EAAcC,EAAOC,GAGjB,IAA5B3wB,EAAUywB,IACmB,WAA7B73C,SAASg4C,kBACU,IAAnBhB,IAIA,IAAI3D,aAAayE,EAAO,CAAEl3B,KAAMm3B,EAASE,MAFtB,yDAkRvB,SAASC,KAKP,GAJI7sB,KAAoB9D,KAAK4wB,WAC3B9sB,GAAkB9D,KAAK4wB,SA7drB5wB,KAAK4wB,UACPrlC,EAAE,QAAQnJ,MAAMkW,OAAS,MACA,IAArBuH,EAAUgT,SAActnB,EAAE,YAAYnJ,MAAMqV,QAAU,QAC/B,IAAvBoI,EAAU2T,WAAgBjoB,EAAE,cAAcnJ,MAAMqV,QAAU,UAE9D61B,KACA5Z,MAEFN,OAwdKpT,KAAK4wB,UAAiC,IAArB5wB,KAAK6wB,YAAmB,CAExCxwB,IAAiB1iB,OAAO6C,KAAKwf,KAAK8wB,MAAM12C,SAC1Co1C,KACA5H,KACAvnB,EAAe1iB,OAAO6C,KAAKwf,KAAK8wB,MAAM12C,QAIpC0tB,KACFsd,KApsBAplB,KAAK4d,IAAI,wBAjBb7H,KACAzJ,GAAY,uBAAuBc,OAAS,EAC5C0U,KAgBE9Y,GAfKhB,IAgBAgB,GAA6BhJ,KAAKqR,UAqsBrCkW,KACAD,KACAT,KACAR,KACA2I,KApgBN,WACE,IAAK,IAAIthB,EAAM,EAAGA,EAAM,GAAIA,GAAO,EACjC,IAAK,IAAI4I,EAAO,EAAGA,EAAO,EAAGA,GAAQ,EACnC5K,GAAUgC,GAAK4I,GAAQiZ,GAAmB7hB,EAAK4I,GAkgB/Cya,GAEA1J,KAzoBN,WACE,IAAI2J,EAAY,EAEhB,GAAIhxB,KAAKyN,QAAQwjB,KAAK9iB,eAAgB,CACpC,MAAM+iB,EAAclxB,KAAKyN,QAAQwjB,KAAKzjB,SAAS2jB,MAC/C,IAAIC,EAAW,EACfzzC,OAAO6C,KAAK0wC,GAAa5hB,SAASn1B,IAChC,MAAMk3C,EAAaH,EAAY/2C,GAC/Bi3C,GAAYC,EAAWC,MAAQD,EAAW10C,OAE5Cq0C,GAAaI,EAAWpxB,KAAKuxB,oBAG/BP,GAlEF,WACE,IAAIA,EAAY,EAEhBjb,KAGA,IAAIyb,EAAuB,EACL,IAAlB/pB,IAAyC,KAAlBA,KACzB+pB,GAAwB,GAEH,IAAnB9pB,IAA2C,KAAnBA,KAC1B8pB,GAAwB,GAE1B/pB,GAAgB,EAChBC,GAAiB,GAGjB,IAAK,IAAIvtB,EAAI,EAAGA,EAAIq3C,IAAwBr3C,EAAG,CAC7C,IAAIs3C,EAAkB,SACtB9zC,OAAO6C,KAAK6rB,IAAYiD,SAASmB,IAC3BpE,GAAWoE,GAAGhC,OAAS,IACzBgjB,EAAkBhhB,MAGtBpE,GAAWolB,GAAiBhjB,QAAU,EACtCtH,IAAqB,EAevB,OAXAxpB,OAAO6C,KAAK6rB,IAAYiD,SAASn1B,IAC/B,MAAMo2B,EAAKlE,GAAWlyB,GACtB62C,GAAa3iB,GACXrO,KAAKyN,QAAQ8C,EAAG7xB,MAChBshB,KAAKyN,QAAQtzB,GAAGo0B,UAChBgC,EAAG9B,OACHzO,KAAKyN,QAAQtzB,GAAGq0B,KAChB+B,EAAG9B,WAIAuiB,EA0BMU,GACbjmB,GAAqBulB,EA4nBjBW,GAEA7pB,GAAY,GAId,MAAM8pB,EAAe5xB,KAAKojB,SAAS,kBAAoB,GAClDlc,IAAqB0qB,GACxB1qB,IAAoB,EACpBD,GAA2B,GAClBC,KAAsB0qB,IAC/B1qB,IAAoB,EACpBD,GAA2B,GAGzBA,KACFke,KACAle,GAA2B,GA7wBjC,WAEE0gB,KAEAlG,KAzCF,WACE3X,GAA2B,EAC3B,IAAIgJ,EAAQ,EACZn1B,OAAO6C,KAAKwf,KAAKuR,WAAWjC,SAASn1B,IACH,IAA5B6lB,KAAKuR,UAAUp3B,GAAGokC,QAAazL,GAAS,MAE9C,IAAI+e,EAAU,EACd,GAAIxlB,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASpO,KAAKsN,OAAO,SACZ,IAAXc,EAAcyjB,GAAW,KACT,IAAXzjB,EAAcyjB,GAAW,IACd,IAAXzjB,IAAcyjB,GAAW,MAEpC9nB,GAAyB+I,EACzBhJ,GACEgJ,GACS,IAARA,EAAe,MACuB,IAAtC9S,KAAK4d,IAAI,2BAAoC,IACjB,IAA5B5d,KAAK4d,IAAI,iBAA0B,GACpCiU,EAuBFC,GACAhS,KACAyG,KAEA,MAAMwL,EACJ/xB,KAAKgyB,oBACHtvC,KAAKkE,MAAMoZ,KAAKymB,gBAAgBzmB,KAAK0mB,aAAe1mB,KAAKmgB,gBACvD,IAEHngB,KAAKmgB,cAAgBngB,KAAK0mB,cAC7Brb,GAA4B9F,GAAWwsB,EAAgB7gB,MAiwBrD+gB,GAxSF9wB,EAA+B,EAC/BqK,GAA0B,GAC1B7tB,OAAO6C,KAAKwf,KAAKkyB,UAAU5iB,SAASn1B,IAClCqxB,GAAwBxL,KAAKkyB,SAAS/3C,GAAGyzB,IAAM5N,KAAKkyB,SAAS/3C,GACzD6lB,KAAKkyB,SAAS/3C,GAAGg4C,WAAuC,WAA1BnyB,KAAKkyB,SAAS/3C,GAAGK,OACjD2wB,GAA4BnL,KAAKkyB,SAAS/3C,GAC1CgnB,GAAgC,MAWpCxjB,OAAO6C,KAAKwjB,IAAUsL,SAASn1B,SACa,IAA/BqxB,GAAwBrxB,KACjC6pB,GAAS7pB,GAAGmf,WAAWrc,YAAY+mB,GAAS7pB,WACrC6pB,GAAS7pB,OAGhB6mB,IAA0BhB,KAAKyd,aAAaC,OAAOtgC,GACrD4jB,EAAwBhB,KAAKyd,aAAaC,OAAOtgC,EAC7C4jB,IACEC,EAA+BE,IACjCuuB,GAAM,EAAG,WAAW,GACpBG,GAAgBhwB,EAAUopB,WAAY,UAAW,YAAY,GAC7DoH,GACE,iBACA,wBACA,+CAIJ1yC,OAAO6C,KAAKwf,KAAKkyB,UAAU5iB,SAASn1B,SACW,IAAlC6pB,GAAShE,KAAKkyB,SAAS/3C,GAAGyzB,KAnH7C,SAAuBwkB,GACrB,MAAMlK,EAAUzvC,SAAS4D,cAAc,OACvC6rC,EAAQta,GAAK,UAAUwkB,EAAOxkB,KAC9Bsa,EAAQ9lC,MAAMkG,MAAQ,OACtB4/B,EAAQ9lC,MAAMmG,OAAS,OACvB2/B,EAAQ9lC,MAAMgI,SAAW,WACzB89B,EAAQ9lC,MAAMyU,OAAS,cACvBqxB,EAAQ9lC,MAAMuW,UAAY,SAC1BuvB,EAAQ9lC,MAAMyW,WAAa,OAC3BqvB,EAAQ9lC,MAAMiwC,WAAa,2BAC3BnK,EAAQ9lC,MAAMyvB,SAAW,OACzBqW,EAAQ9lC,MAAM+U,OAAS,UACvB+wB,EAAQ9lC,MAAMqV,QAAU,QACE,IAAtBoI,EAAUqoB,UAAeA,EAAQ9lC,MAAMqV,QAAU,QACrDywB,EAAQ9lC,MAAMqC,KAAO2tC,EAAO7mC,EAAEnJ,MAAMqC,KACpCyjC,EAAQ9lC,MAAMsC,IAAM0tC,EAAO7mC,EAAEnJ,MAAMsC,IACnCwjC,EAAQoK,QAAU,WAChBF,EAAOG,OAETrK,EAAQsK,YAAc,WACpBJ,EAAO7mC,EAAEnJ,MAAMqwC,OACb,gEACFL,EAAO7mC,EAAEnJ,MAAMswC,aACb,iEAEJxK,EAAQyK,WAAa,WACnBP,EAAO7mC,EAAEnJ,MAAMqwC,OAAS,GACxBL,EAAO7mC,EAAEnJ,MAAMswC,aAAe,IAGhC1uB,GAASouB,EAAOxkB,IAAMsa,EACtB38B,EAAE,YAAYwK,YAAYmyB,GAqFlB0K,CAAc5yB,KAAKkyB,SAAS/3C,QAIlCwzC,KACA1sB,EAA+BE,EACM,IAAjCA,IAAoCgK,GAA4B,IACrC,IAAtBtL,EAAUqoB,SAAiBlnB,GACpCrjB,OAAO6C,KAAKwjB,IAAUsL,SAASn1B,IAC7B6pB,GAAS7pB,GAAGiI,MAAM6U,QAAUuU,GAAwBrxB,GAAGoR,EAAEnJ,MAAM6U,QAC/D+M,GAAS7pB,GAAGiI,MAAMywC,UAChBrnB,GAAwBrxB,GAAGoR,EAAEnJ,MAAMywC,UACrC7uB,GAAS7pB,GAAGqD,YAAckF,KAAKoL,KAC7B0d,GAAwBrxB,GAAG24C,KAAO9yB,KAAKqX,QAiF3CvW,KACCd,KAAK+yB,cAA2C,YAA3B/yB,KAAK+yB,aAAav4C,QAExCsmB,EACEd,KAAK+yB,cAA2C,YAA3B/yB,KAAK+yB,aAAav4C,KACrCsmB,IACF4uB,GAAM,EAAG,gBAAgB,GACzBG,GACEhwB,EAAU0pB,gBACV,eACA,iBACA,GAEF8G,GACE,sBACA,uBACA,kDA9CFxvB,IAAyBb,KAAKyd,aAAaQ,SAASN,UACtD9c,EAAuBb,KAAKyd,aAAaQ,SAASN,QAClDhgC,OAAO6C,KAAKwf,KAAKkyB,UAAU5iB,SAASn1B,IAC9B6lB,KAAKkyB,SAAS/3C,GAAGg4C,WAAuC,aAA1BnyB,KAAKkyB,SAAS/3C,GAAGK,OACjD4wB,GAAwBpL,KAAKkyB,SAAS/3C,OAG1Cu1C,GAAM,EAAG,YAAY,GACrBG,GAAgBhwB,EAAUgqB,YAAa,WAAY,aAAa,GAChEwG,GACE,kBACA,oBACA,0CAtNFrwB,KAAKyN,QAAQmM,KAAKzL,gBAClBpN,IAAuBf,KAAKyN,QAAQmM,KAAKpM,SAASwlB,WAEvB,IAAvBjyB,GAA4BA,EAAqBif,KAAKC,QACxDyP,GAAM,EAAG,aAAa,GACtBG,GAAgBhwB,EAAUqqB,aAAc,YAAa,cAAc,IAErEnpB,EAAqBf,KAAKyN,QAAQmM,KAAKpM,SAASwlB,UAiKpD,WACE,GACEhzB,KAAKyN,QAAQ,gBAAgBU,gBACH,IAA1BtO,EAAUooB,YACV,CACA,MAAMza,SAAEA,GAAaxN,KAAKyN,QAAQ,gBAC9BD,EAAS4J,MAAQ5J,EAAS4L,OAAQlY,GAAmB,EAC/CA,IACRA,GAAmB,EACnBwuB,GAAM,EAAG,cAAc,GACvBG,GAAgBhwB,EAAU2qB,cAAe,aAAc,eAAe,GACtE6F,GACE,oBACA,mBACA,6CA6NJ4C,GA1IJ,WACE,GAAIjzB,KAAKC,WAAa,EAAG,CACvB,IAAIizB,EAAmB,EACvBv1C,OAAO6C,KAAKwf,KAAKuR,WAAWjC,SAASn1B,IACH,IAA5B6lB,KAAKuR,UAAUp3B,GAAGokC,QAAa2U,GAAoB,MAErDA,EAAmB9xB,GACrBA,EAAoB8xB,EAElBA,IAAqBlzB,KAAKmzB,mBAC1BtzB,EAAUmrB,iBAEV0E,GAAM,EAAG,oBAAoB,GAE7BA,GAAM,EAAG,iBAAiB,GAG1BwD,IAAqBlzB,KAAKmzB,mBAC1BtzB,EAAUqrB,iBAEV2E,GACEhwB,EAAUurB,oBACV,mBACA,qBACA,GAGFyE,GACEhwB,EAAUirB,iBACV,gBACA,kBACA,GAIFoI,IAAqBlzB,KAAKmzB,mBAC1BtzB,EAAUkrB,wBAEVsF,GACE,0BACA,4BACA,sDAGFA,GACE,uBACA,sBACA,gCAIJjvB,EAAoB8xB,GAwFtBE,IAaJ,SAASC,KACP,IAAI93C,EAAM,GACV,IAAK,IAAIpB,EAAI,EAAGA,EAAIkoB,EAAgBjoB,OAAQD,IAC1CoB,GAAO,UAAoB8mB,EAAgBloB,eACzC0lB,EAAU,SAASwC,EAAgBloB,aAGvC,IAAK,IAAIA,EAAI,EAAGA,EAAIkoB,EAAgBjoB,OAAQD,IAC1CoB,GAAO,UAAoB8mB,EAAgBloB,0BACzC0lB,EAAU,SAASwC,EAAgBloB,aAGvC,IAAK,IAAIA,EAAI,EAAGA,EAAIkoB,EAAgBjoB,OAAQD,IAC1CoB,GAAO,YAAsB8mB,EAAgBloB,0BAC3C0lB,EAAU,SAASwC,EAAgBloB,aAGvCoR,EAAE,SAAS/N,YAAcjC,EACzB4zB,KAmBF,SAASmkB,KACP,MAAMC,EAAaC,YACjBC,SAASC,aAAaC,QAAQ,sBAAsB3yC,MAAM,SAAS,IAE/D4yC,EAAoBL,EAAW14C,MAAM,wBAC3C,GAA0B,OAAtB+4C,EAA4B,CAC9B,MAAMC,EAAgBN,EAAWxyC,QAC/B6yC,EAAkB,GAClB,iBAAiBjF,QAEnB+E,aAAaI,QACX,oBACAlV,OAAO,GAAGmV,YAAYF,aAS5B,SAASG,GAAWlF,GAKlB,QAHqC,IAA1B4E,aAAaO,iBACfP,aAAaO,cAEL15C,IAAbu0C,EAAwB,CAC1BjvB,EAAYivB,OAEoB,IAArBjvB,EAAUq0B,eACZr0B,EAAUq0B,YAEc,IAAtBr0B,EAAU6rB,gBACZ7rB,EAAU6rB,QAInB,IAAIyI,GAAM,EACVx2C,OAAO6C,KAAKqnC,IAAiBvY,SAASn1B,SACR,IAAjB0lB,EAAU1lB,IACnBg6C,GAAM,EACNt0B,EAAU1lB,GAAK0tC,GAAgB1tC,IAChB,WAANA,GACTwD,OAAO6C,KAAKqnC,GAAgByD,QAAQhc,SAASmB,SAEd,IAApB5Q,EAAU1lB,GAAGs2B,IAClB5Q,EAAU1lB,GAAGs2B,IAAM,GAAK5Q,EAAU1lB,GAAGs2B,GAAK,IAE5C0jB,GAAM,EACNt0B,EAAU1lB,GAAGs2B,GAAKoX,GAAgB1tC,GAAGs2B,UAKzC0jB,GAAKb,KACT3C,KACAhzC,OAAO6C,KAAKqnC,IAAiBvY,SAASn1B,IAC1B,WAANA,QAAkD,IAAzBq0C,GAAar0C,GAAG+E,MAC3CsvC,GAAar0C,GAAG+E,eAKpB80C,GAAWnM,IAEb7nB,KAAKkf,aACLmU,KAkJF,SAASe,KACPz2C,OAAO6C,KAAKwf,KAAKuR,WAAWjC,SAASn1B,IAC/B6lB,KAAKuR,UAAUp3B,GAAG2kC,OAAS,GAAgC,IAA3B9e,KAAKuR,UAAUp3B,GAAGK,OACpDwlB,KAAKuR,UAAUp3B,GAAGk6C,GAAK,MA6C7B,SAASC,GAAc95C,EAAMkE,GAC3B,GAAa,MAATlE,EAAc,CAIhB,GAFA+Q,EAAE,WAAWoM,UAAYqI,KAAKyN,QAAQ/uB,GAAMi4B,UAEd,IAA1B9W,EAAUwoB,YAAmB,CAC/B,MAAMkM,EAAa3S,GACjB5hB,KAAKyN,QAAQ/uB,GACbshB,KAAKyN,QAAQ/uB,GAAM6vB,UACnB,EACAvO,KAAKyN,QAAQ/uB,GAAM8vB,KACnBxO,KAAKyN,QAAQ/uB,GAAM+vB,QAEf+lB,EAAiBD,EAAav0B,KAAKyN,QAAQ/uB,GAAM23B,aACnDme,EAAiB,IACnBjpC,EAAE,WAAWoM,UAAYpM,EAAE,WACxBoM,UAAU3W,MAAM,gBAChB6C,KACC,wBAAwBsgB,GAA4BqwB,UACnB,IAA/B9xC,KAAKkE,MAAM4tC,GAAwB,SAAW,+BAE9C5uB,IACG2uB,EAAav0B,KAAKyN,QAAQ/uB,GAAM23B,eAC9BrW,KAAKyN,QAAQ/uB,GAAM+1C,eAAiBz0B,KAAK00B,gBAC5C7uB,iBAKU,IAAlB7F,KAAKoP,UASP7jB,EAAE,WAAWoM,UAAYpM,EAAE,WACxBoM,UAAU3W,MAAMmjB,GAA4BnE,KAAKyN,QAAQ/uB,GAAMw0B,YAC/DrvB,KACCsgB,IACGnE,KAAKyN,QAAQ/uB,GACdshB,KAAKyN,QAAQ/uB,GAAM6vB,UACnBvO,KAAKyN,QAAQ/uB,GAAM+vB,OACnBzO,KAAKyN,QAAQ/uB,GAAM8vB,KACnBxO,KAAK+O,QACL,WAIH,GAAa,MAATv0B,EAAc,CAEvB,IAAKwlB,KAAKsQ,gBAAgB5xB,GAAO,MAAO,GACxC6M,EAAE,WAAWoM,UAAYqI,KAAK20B,aAC5B30B,KAAKsQ,gBAAgB5xB,GACrB,aAEgB,MAATlE,EAAc+Q,EAAE,WAAWoM,UAAYqI,KAAK40B,cAErC,MAATp6C,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAKyN,QAAQ,gBAAgBD,SAASqnB,aAC7Dn2C,EADuBshB,GAIT,MAATxlB,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAKukB,YAAY,GAAG/W,SAASsnB,YACpDp2C,EAAK,GACLA,EAAK,GAFkBshB,GAKT,OAATxlB,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAKukB,YAAY,GAAG/W,SAASunB,YAAY,EAAzC/0B,GACT,OAATxlB,EAAe+Q,EAAE,WAAWoM,UAAY,GAC/B,QAATnd,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAKyN,QAAQF,OAAOC,SAASwnB,WAAWt2C,EAAxCshB,GACT,QAATxlB,IACP+Q,EAAE,WAAWoM,UAAYqI,KAAKyN,QAAQF,OAAOC,SAASynB,YACpDv2C,EAAK,GADkBshB,IAK3B,GACY,MAATxlB,GAAiC,IAAjBwlB,KAAKoP,SACb,MAAT50B,GACS,MAATA,GACS,MAATA,GACU,MAATA,IAAiBwlB,KAAKxf,KAAK,KACnB,OAAThG,GACS,OAATA,GACS,QAATA,GACU,QAATA,IAA+B,IAAbkE,EAAK,GACxB,CACA,MAAMw2C,EAAOz8C,SAAS4D,cAAc,OACpC64C,EAAKtnB,GAAK,gBACVriB,EAAE,WAAWwK,YAAYm/B,GAS3B,OALAvxB,GAAcnpB,EACdopB,GAAcllB,EAEdi5B,KAEOpsB,EAAE,WAAWoM,UA6GtB,SAASw9B,KACHn1B,KAAKyN,QAAQ,gBAAgBU,gBAC/BxwB,OAAO6C,KAAKwf,KAAKyN,QAAQ,gBAAgBD,SAAS0L,YAAY5J,SAC3Dn1B,IAC4C,OAAvCoR,EAAE,gBAAgBpR,KAAKq4C,cACzBjxB,EAAsBpnB,GAAKoR,EAAE,gBAAgBpR,KAAKq4C,YAClDjnC,EAAE,gBAAgBpR,KAAKq4C,YAAc,WACnCxyB,KAAK2W,QAAQye,QAAU,EACvBp1B,KAAK2W,QAAQhlB,KACX9Y,MACA,WACE,OAAOy7C,GAAc,IAAK,GAAGn6C,OAE/B,QAEF6lB,KAAK2W,QAAQ0e,cAoBzB,SAASC,KACP,IACG30B,GACDX,KAAKyN,QAAQ,gBAAgBU,eAC7B,CACA,MAAMX,SAAEA,GAAaxN,KAAKyN,QAAQ,gBAClChN,EAAqB+M,EAAS7b,KAC9BqO,KAAKyN,QAAQ,gBAAgBD,SAAS7b,KAAO,WAC3C8O,IAC8B,IAA1BZ,EAAUooB,aAAqBza,EAAS4J,MAAQ5J,EAAS4L,SAC3D5L,EAAS+nB,cAAc59B,WAAa,KAAK4N,GACvCyR,GACExJ,EAAS4J,MACT5J,EAAS4L,OACT5L,EAAS4L,cAKjBzY,GAA+B,GAkCnC,SAAS60B,MA3BT,WACE,IACG90B,GACDV,KAAKyN,QAAQ,gBAAgBU,eAC7B,CACA,MAAMX,SAAEA,GAAaxN,KAAKyN,QAAQ,gBAClClN,EAAuBiN,EAASioB,OAChCj1B,EAA0B,IAAI5kB,SAC5B,UAAU4xB,EAASioB,OAChB7yC,WACA5B,MAAM,SACN6C,KAAK,8CAEVmc,KAAKyN,QAAQ,gBAAgBD,SAASioB,OAAS,WAC7Cj1B,IACA20B,KACAx0B,GAA+B,EAC/B20B,KAEA50B,GAAiC,IASrCg1B,GACAJ,KAiJF,IAAIp8C,GAAUkmB,EAAoB,KAC9Bu2B,GAA+Bv2B,EAAoBhiB,EAAElE,IA+OzD,MAAM08C,GAA6B,WA8BnC,SAASC,GAAmBlG,GACG,OAAzBpkC,EAAE,SAASokC,OACbpkC,EAAE,SAASokC,UAAeh4B,UAAY,GAAGpM,EAAE,SAASokC,KAAUpyC,SAC9DsiB,EAAU8vB,GAAUjtC,KAAKC,MAAM4I,EAAE,SAASokC,KAAUpyC,QAEtD+1C,KAQF,SAASwC,GAAanG,GACpB9vB,EAAUyrB,OAAOqE,IAAW,EACxB9vB,EAAUyrB,OAAOqE,GAAU,IAAG9vB,EAAUyrB,OAAOqE,GAAU,GAC7D2D,KAiBF,SAASyC,GAAYlwB,EAAM8pB,GACzB,MAAMhf,EAAMl4B,SAAS4D,cAAc,OACnCs0B,EAAI/1B,UAAY,QAChB+1B,EAAIvuB,MAAMwK,QAAU,WACpB+jB,EAAIvuB,MAAM6U,QAAU,MACpB0Z,EAAIvuB,MAAMyvB,SAAW,OACrBlB,EAAIvuB,MAAMiwC,WAAa,2BACvB1hB,EAAI5a,YAAYtd,SAASqgB,eAAe,GAAG+M,OAC3C,MAAMmwB,EAAOv9C,SAAS4D,cAAc,QAiBpC,OAhBA25C,EAAK5zC,MAAM+U,OAAS,UACpB6+B,EAAK5zC,MAAMqV,QAAU,eACrBu+B,EAAK5zC,MAAMmG,OAAS,OACpBytC,EAAK5zC,MAAMkG,MAAQ,OACnB0tC,EAAK5zC,MAAMsU,aAAe,MAC1Bs/B,EAAK5zC,MAAMuW,UAAY,SACvBq9B,EAAK5zC,MAAM4U,gBAAkB,UAC7Bg/B,EAAK5zC,MAAM2F,MAAQ,QACnBiuC,EAAK5zC,MAAMyvB,SAAW,OACtBmkB,EAAK5zC,MAAM2vB,cAAgB,SAC3BikB,EAAKx4C,YAAcqiB,EAAUyrB,OAAOqE,GAAU,IAAM,IACpDqG,EAAK1D,QAAU,WACbwD,GAAanG,GACb3vB,KAAKkf,cAEPvO,EAAI5a,YAAYigC,GACTrlB,EAYT,SAASslB,GAAaz7C,EAAMkE,EAAMmnB,EAAM4Y,GACtC,MAAM9N,EAAMl4B,SAAS4D,cAAc,OACnCs0B,EAAI/1B,UAAY,UAEhB,MAAMs7C,EAAcz9C,SAAS4D,cAAc,KAG3C,GAFA65C,EAAY14C,YAAckB,EAC1BiyB,EAAI5a,YAAYmgC,GACH,gBAAT17C,EAAwB,CAC1Bm2B,EAAI/1B,UAAY,UAChB+1B,EAAI5a,YAAYtd,SAASqgB,eAAe,MAExC,MAAM6d,EAAUl+B,SAAS4D,cAAc,QACvCs6B,EAAQgc,WAAa,WACnB3yB,KAAK2W,QAAQxlB,QAEfwlB,EAAQ6b,YAAc,WACpBxyB,KAAK2W,QAAQhlB,KACX9Y,KACA+lC,OAAOrc,EAAsBkc,GAAa9mB,aAG9Cgf,EAAQv0B,MAAM+U,OAAS,UACvBwf,EAAQv0B,MAAMqV,QAAU,eACxBkf,EAAQv0B,MAAMmG,OAAS,OACvBouB,EAAQv0B,MAAMkG,MAAQ,OACtBquB,EAAQv0B,MAAMsU,aAAe,MAC7BigB,EAAQv0B,MAAMuW,UAAY,SAC1Bge,EAAQv0B,MAAM4U,gBAAkB,UAChC2f,EAAQv0B,MAAM2F,MAAQ,QACtB4uB,EAAQv0B,MAAMyvB,SAAW,MACzB8E,EAAQv0B,MAAM2vB,cAAgB,SAC9B4E,EAAQn5B,YAAc,IACtBmzB,EAAI5a,YAAY4gB,GAIlB,OAFAhG,EAAI5a,YAAYtd,SAASqgB,eAAe,OACxC6X,EAAI5a,YAAY8P,GACT8K,EAQT,SAASwlB,GAAcC,GACrB,MAAMC,EAAO59C,SAAS69C,yBACtBD,EAAKtgC,YAAYtd,SAASqgB,eAAe,GAAGs9B,EAAYh8C,YACxD,MAAM47C,EAAOv9C,SAAS4D,cAAc,QACpC25C,EAAKrD,WAAa,WAChB3yB,KAAK2W,QAAQxlB,QAEf,MAAMstB,EAAchmC,SAAS4D,cAAc,OACrCk6C,EAAU99C,SAAS4D,cAAc,OACvCk6C,EAAQn0C,MAAMu8B,SAAW,QACzB4X,EAAQn0C,MAAMy0B,aAAe,MAC7B,MAAM0Z,EAAQ93C,SAAS4D,cAAc,OA4BrC,OA3BAk0C,EAAM31C,UAAY,OAClB21C,EAAMnuC,MAAMy0B,aAAe,MAC3B0Z,EAAMnuC,MAAMuW,UAAY,SACxB43B,EAAM/yC,YAAc,UACpB+4C,EAAQxgC,YAAYw6B,GACpB5yC,OAAO6C,KAAK41C,GAAa9mB,SAASn1B,IAChC,MAAMw2B,EAAMl4B,SAAS4D,cAAc,OACnCs0B,EAAIvuB,MAAMuW,UAAY,SACtBgY,EAAI5a,YAAYtd,SAASqgB,eAAes9B,EAAYj8C,KACpDo8C,EAAQxgC,YAAY4a,MAEtB8N,EAAY1oB,YAAYwgC,GACxBP,EAAKxD,YAAc,WACjBxyB,KAAK2W,QAAQhlB,KAAK9Y,KAAM+lC,OAAOH,EAAY9mB,aAE7Cq+B,EAAK5zC,MAAM+U,OAAS,UACpB6+B,EAAK5zC,MAAMqV,QAAU,eACrBu+B,EAAK5zC,MAAMmG,OAAS,OACpBytC,EAAK5zC,MAAMkG,MAAQ,OACnB0tC,EAAK5zC,MAAMsU,aAAe,MAC1Bs/B,EAAK5zC,MAAMuW,UAAY,SACvBq9B,EAAK5zC,MAAM4U,gBAAkB,UAC7Bg/B,EAAK5zC,MAAM2F,MAAQ,QACnBiuC,EAAK5zC,MAAMyvB,SAAW,MACtBmkB,EAAK5zC,MAAM2vB,cAAgB,SAC3BikB,EAAKx4C,YAAc,IACnB64C,EAAKtgC,YAAYigC,GACVK,EAw8BT,SAASG,GAA+BjmB,GACtC,MAAMkmB,EAAO,GACb,IAAIC,EAAa,EACbC,EAAU,IACV1P,KAAEA,GAAS1W,GACX2d,KAAEA,GAAS3d,GAEXvQ,KAAK4d,IAAI,eAAkB5d,KAAK42B,QAAsB,UAAZrmB,EAAGrD,QAC/CwpB,EAAa,GAEC,WAAZnmB,EAAGrD,KAAmBupB,EAAKx6C,KAAK,qBAAsB,WACrDw6C,EAAKx6C,KAAK,cAAe,GAC9Bw6C,EAAKx6C,KAAK,SAAU,GAEhBy6C,GAAyB,IAAXnmB,EAAGgG,IAAWkgB,EAAKx6C,KAAK,gBAAiB,WAClDy6C,GAAcnmB,EAAGgG,IAAM,GAAGkgB,EAAKx6C,KAAK,iBAAkB,WAE/D,IAAK,IAAI9B,EAAI,EAAGA,EAAIs8C,EAAKr8C,OAAQD,GAAK,EAChCA,EAAI,GAAM,IACZw8C,GAAW,kCACO,IAAhBF,EAAKt8C,EAAI,GAAW,OAASs8C,EAAKt8C,EAAI,SACjCs8C,EAAKt8C,aAQhB,OANAw8C,EAAUA,EAAQlkB,UAAU,GAExBlC,EAAG2W,eAAcD,EAAO1W,EAAG2W,gBAE3B3W,EAAGsmB,WAAU3I,EAAO3d,EAAGsmB,SAAS,UAE7B,yJAEM,IAAV5P,EAAK,QACS,IAAVA,EAAK,sCACQ1W,EAAG7xB,iBACrBi4C,qDAA2DzI,oBAE3DluB,KAAK42B,OACD,oCAAoCrmB,EAAG3C,gBAAgBlrB,KAAKkE,MAC1D2pB,EAAGU,SACDV,EAAGpD,KAAO,aAAaoD,EAAGpD,OAAS,WACvC,KAqGR,SAAS2pB,GAAavG,GACpB,MAAMwG,EAAQt+C,SAAS4D,cAAc,OAiCrC,GAhCA06C,EAAMn8C,UAAY,aAClBm8C,EAAMhhC,YAAYw6B,GAElBwG,EAAMhhC,YAAYggC,GAAY,gBAAiB,UAC3Cl2B,EAAUyrB,OAAOkB,OACnBuK,EAAMhhC,YAtkCV,WAEE,MAAMihC,EAAkBh3B,KAAKojB,SAAS,oBAClC,2CACA,6BAEE6T,EAAUx+C,SAAS4D,cAAc,OACvC46C,EAAQr8C,UAAY,sBAEpB,MAAMs8C,EACJl3B,KAAKmT,QAAU3B,KAAuBlJ,GAAatG,EAAYH,EAC3Ds1B,EACJn3B,KAAKmT,QAAU3B,KAAuBlJ,GAClC/C,IACG+C,IAActI,KAAKmT,QAAU3B,OAAyBN,MAEzD,GACAkmB,EAAe3+C,SAAS69C,yBACxBe,EAAe5+C,SAAS4D,cAAc,QAK5C,GAJAg7C,EAAaj1C,MAAMq0B,WAAa,OAChC4gB,EAAaz8C,UAAY8mB,EAAgBw1B,EACzCG,EAAa75C,YAAc2mB,GAA4BmE,IACvD8uB,EAAarhC,YAAYshC,GACP,KAAdF,EAAkB,CACpB,MAAMG,EAAgB7+C,SAAS4D,cAAc,SAC7Ci7C,EAAc95C,YAAc,KAAK25C,KACjCC,EAAarhC,YAAYuhC,GAE3BL,EAAQlhC,YACNkgC,GACE,cACA,4BACAmB,EACAJ,IAIJ,MAAMO,EACJv3B,KAAKmT,QAAU3B,KAAuB/I,GAClCzG,EACAH,EACA21B,EACJx3B,KAAKmT,QAAU3B,KAAuB/I,GAClClD,IACGkD,IAAoBzI,KAAKmT,QAAU3B,OAAyBN,MAE/D,GACAumB,EAAmBh/C,SAAS69C,yBAC5BoB,EAAmBj/C,SAAS4D,cAAc,QAKhD,GAJAq7C,EAAiBt1C,MAAMq0B,WAAa,OACpCihB,EAAiB98C,UAAY8mB,EAAgB61B,EAC7CG,EAAiBl6C,YAAc2mB,GAA4BsE,IAC3DgvB,EAAiB1hC,YAAY2hC,GACL,KAApBF,EAAwB,CAC1B,MAAMG,EAAoBl/C,SAAS4D,cAAc,SACjDs7C,EAAkBn6C,YAAc,KAAKg6C,KACrCC,EAAiB1hC,YAAY4hC,GAE/BV,EAAQlhC,YACNkgC,GACE,cACA,qCACAwB,EACAT,IAIJ,MAAMY,EAAarvB,KAAqBC,GAElCqvB,EAAqBp/C,SAAS4D,cAAc,QAClDw7C,EAAmBz1C,MAAMq0B,WAAa,OACtCohB,EAAmBj9C,UAAY8mB,EAAgB6G,GAC/CsvB,EAAmBr6C,YACjB2mB,GAA4BoE,KAC3BqvB,EAAa,MAAMzzB,GAA4BqE,MAA2B,IAC7EyuB,EAAQlhC,YACNkgC,GACE,cACA,yBAAwB2B,EAAa,oBAAsB,IAC3DC,EACAb,IAIJ,MAAMc,EAA2Br/C,SAAS4D,cAAc,QACxDy7C,EAAyB11C,MAAMq0B,WAAa,OAC5CqhB,EAAyBl9C,UAAY8mB,EAAgBo2B,EACrDA,EAAyBt6C,YACvB2mB,GAA4BuE,KAC3BkvB,EAAa,MAAMzzB,GAA4BwE,MAAiC,IACnFsuB,EAAQlhC,YACNkgC,GACE,cACA,kCAAiC2B,EAAa,oBAAsB,IACpEE,EACAd,IAIJ,MAAMe,EACJr1C,KAAK2D,IACqC,KAAvC2Z,KAAKmT,QAAU3B,MAChBxI,GAA6BC,GAAoC,GAAK,IACpE,GACA+uB,EAAev/C,SAAS4D,cAAc,QAc5C,OAbA27C,EAAa51C,MAAMq0B,WAAa,OAChCuhB,EAAap9C,UAAY8mB,EAAgBs2B,EACzCA,EAAax6C,YACX2mB,GAA4B+E,GAAyB6uB,IACpDH,EAAa,MAAMzzB,GAA4BgF,GAAwB4uB,KAAkB,IAC5Fd,EAAQlhC,YACNkgC,GACE,cACA,yBAAwB2B,EAAa,oBAAsB,IAC3DI,EACAhB,IAGGC,EAg9BagB,IAGpBlB,EAAMhhC,YAAYggC,GAAY,gBAAiB,UAC3Cl2B,EAAUyrB,OAAOmB,OACnBsK,EAAMhhC,YA98BV,WAEE,MAAMihC,EAAkBh3B,KAAKojB,SAAS,oBAClC,2CACA,6BAEE6T,EAAUx+C,SAAS4D,cAAc,OACvC46C,EAAQr8C,UAAY,sBAEpB,MAAMs9C,EACJl4B,KAAKmT,QAAU3B,KAAuBnH,GAClCrI,EACAH,EACAs2B,EACJn4B,KAAKmT,QAAU3B,KAAuBnH,GAClC9E,IACG8E,IAAsBrK,KAAKmT,QAAU3B,OACpCN,MAEJ,GACAknB,EAAe3/C,SAAS69C,yBACxB+B,EAAe5/C,SAAS4D,cAAc,QAK5C,GAJAg8C,EAAaj2C,MAAMq0B,WAAa,OAChC4hB,EAAaz9C,UAAY8mB,EAAgBw2B,EACzCG,EAAa76C,YAAc2mB,GAA4BkG,IACvD+tB,EAAariC,YAAYsiC,GACP,KAAdF,EAAkB,CACpB,MAAMG,EAAgB7/C,SAAS4D,cAAc,SAC7Ci8C,EAAc96C,YAAc,KAAK26C,KACjCC,EAAariC,YAAYuiC,GAE3BrB,EAAQlhC,YACNkgC,GACE,cACA,2BACAmC,EACApB,IAIJ,MAAMuB,EACJv4B,KAAKmT,QAAU3B,KAAuBhH,GAClCxI,EACAH,EACA22B,EACJx4B,KAAKmT,QAAU3B,KAAuBhH,GAClCjF,IACGiF,IAA2BxK,KAAKmT,QAAU3B,OACzCN,MAEJ,GACAunB,EAAoBhgD,SAAS69C,yBAC7BoC,EAAoBjgD,SAAS4D,cAAc,QAKjD,GAJAq8C,EAAkBt2C,MAAMq0B,WAAa,OACrCiiB,EAAkB99C,UAAY8mB,EAAgB62B,EAC9CG,EAAkBl7C,YAAc2mB,GAA4BqG,IAC5DiuB,EAAkB1iC,YAAY2iC,GACP,KAAnBF,EAAuB,CACzB,MAAMG,EAAqBlgD,SAAS4D,cAAc,SAClDs8C,EAAmBn7C,YAAc,KAAKg7C,KACtCC,EAAkB1iC,YAAY4iC,GAEhC1B,EAAQlhC,YACNkgC,GACE,cACA,mCACAwC,EACAzB,IAIJ,MAAM4B,EACJ54B,KAAKmT,QAAU3B,KAAuB7G,GAClC3I,EACAH,EACAg3B,EACJ74B,KAAKmT,QAAU3B,KAAuB7G,GAClCpF,IACGoF,IAA4B3K,KAAKmT,QAAU3B,OAC1CN,MAEJ,GACA4nB,EAAmBrgD,SAAS69C,yBAC5ByC,EAAmBtgD,SAAS4D,cAAc,QAKhD,GAJA08C,EAAiB32C,MAAMq0B,WAAa,OACpCsiB,EAAiBn+C,UAAY8mB,EAAgBk3B,EAC7CG,EAAiBv7C,YAAc2mB,GAA4BwG,IAC3DmuB,EAAiB/iC,YAAYgjC,GACL,KAApBF,EAAwB,CAC1B,MAAMG,EAAoBvgD,SAAS4D,cAAc,SACjD28C,EAAkBx7C,YAAc,KAAKq7C,KACrCC,EAAiB/iC,YAAYijC,GAE/B/B,EAAQlhC,YACNkgC,GACE,cACA,oCACA6C,EACA9B,IAIJ,MAAMiC,EACJj5B,KAAKmT,QAAU3B,KAAuB1G,GAClC9I,EACAH,EACAq3B,EACJl5B,KAAKmT,QAAU3B,KAAuB1G,GAClCvF,IACGuF,IACE9K,KAAKmT,QAAU3B,OAChBN,MAEJ,GACAioB,EAAwB1gD,SAAS69C,yBACjC8C,EAAwB3gD,SAAS4D,cAAc,QAKrD,GAJA+8C,EAAsBh3C,MAAMq0B,WAAa,OACzC2iB,EAAsBx+C,UAAY8mB,EAAgBu3B,EAClDG,EAAsB57C,YAAc2mB,GAA4B2G,IAChEquB,EAAsBpjC,YAAYqjC,GACL,KAAzBF,EAA6B,CAC/B,MAAMG,EAAyB5gD,SAAS4D,cAAc,SACtDg9C,EAAuB77C,YAAc,KAAK07C,KAC1CC,EAAsBpjC,YAAYsjC,GAEpCpC,EAAQlhC,YACNkgC,GACE,cACA,4CACAkD,EACAnC,IAIJC,EAAQlhC,YACNkgC,GACE,cACA,wCACAx9C,SAASqgB,eACP,GAAGqL,GAA4BoG,GAAoB,SAASpG,GAC1DuG,GAAyB,OAG7BssB,IAIJC,EAAQlhC,YACNkgC,GACE,cACA,iDACAx9C,SAASqgB,eACP,GAAGqL,GAA4B0G,GAA0B,SAAS1G,GAChE0G,GAA0B,OAG9BmsB,IAIJ,MAAMsC,EAAc52C,KAAK2D,IACN,GAAjB2Z,KAAKqR,UAAiB,GAAK,EAAIpI,GAChB,GAAfjJ,KAAKmT,SAEDomB,EAAW1T,GACf,EACAyT,EACApwB,IACA,GACIswB,EAAgB3T,GACpB,EACAyT,EACAnwB,IACA,GAoCF,OAnCA8tB,EAAQlhC,YACNkgC,GACE,cACA,wCACAx9C,SAASqgB,eACP,GAAGqL,GAA4Bo1B,QAAep1B,GAA4Bq1B,MAE5ExC,IAIJC,EAAQlhC,YACNkgC,GACE,cACA,oCACAx9C,SAASqgB,eACP,GAAGqL,GAA4BmG,SAA6BnG,GAC1DsG,OAGJ,8BAGJwsB,EAAQlhC,YACNkgC,GACE,cACA,6CACAx9C,SAASqgB,eACP,GAAGqL,GAA4ByG,SAAmCzG,GAChE4G,OAGJ,8BAGGksB,EA6vBawC,IAGhBz5B,KAAKyN,QAAQ,gBAAgBU,iBAC/B4oB,EAAMhhC,YAAYggC,GAAY,SAAU,WACpCl2B,EAAUyrB,OAAOoB,QACnBqK,EAAMhhC,YA5vBZ,WACE,MAAMkhC,EAAUx+C,SAAS4D,cAAc,OACvC46C,EAAQr8C,UAAY,uBAEpB,MAAM8+C,EACJ15B,KAAKmT,QAAU3B,KAAuB5I,GAClC5G,EACAH,EACA83B,EACJ35B,KAAKmT,QAAU3B,KAAuB5I,GAClCrD,IACGqD,IAAgB5I,KAAKmT,QAAU3B,OAAyBN,MAE3D,GAEA0oB,EAAiBnhD,SAAS69C,yBAC1BuD,EAAiBphD,SAAS4D,cAAc,QAK9C,GAJAw9C,EAAez3C,MAAMq0B,WAAa,OAClCojB,EAAej/C,UAAY8mB,EAAgBg4B,EAC3CG,EAAer8C,YAAc2mB,GAA4ByE,IACzDgxB,EAAe7jC,YAAY8jC,GACP,KAAhBF,EAAoB,CACtB,MAAMG,EAAkBrhD,SAAS4D,cAAc,SAC/Cy9C,EAAgBt8C,YAAc,KAAKm8C,KACnCC,EAAe7jC,YAAY+jC,GAE7B7C,EAAQlhC,YACNkgC,GACE,cACA,yCACA2D,EACA,+BAGJ3C,EAAQlhC,YACNkgC,GACE,cACA,qCACAx9C,SAASqgB,eAAeqL,GAA4B0E,KACpD,+BAIJ,MAAMkxB,EACJ/5B,KAAKmT,QAAU3B,KAAsC,EAAf5I,GAClC5G,EACAH,EACAm4B,EAAmBt3C,KAAK2D,IACY,KAAvC2Z,KAAKmT,QAAU3B,MACa,GAA7BxI,GAAkC,IAE9BixB,EACJj6B,KAAKmT,QAAU3B,KAAsC,EAAf5I,GAClCrD,IACkB,EAAfqD,IAAoB5I,KAAKmT,QAAU3B,OAAyBN,MAE/D,GAEAgpB,EAAuBzhD,SAAS69C,yBAChC6D,EAAuB1hD,SAAS4D,cAAc,QAKpD,GAJA89C,EAAqB/3C,MAAMq0B,WAAa,OACxC0jB,EAAqBv/C,UAAY8mB,EAAgBq4B,EACjDI,EAAqB38C,YAAc2mB,GAA2C,EAAfyE,IAC/DsxB,EAAqBnkC,YAAYokC,GACP,KAAtBF,EAA0B,CAC5B,MAAMG,EAAwB3hD,SAAS4D,cAAc,SACrD+9C,EAAsB58C,YAAc,KAAKy8C,KACzCC,EAAqBnkC,YAAYqkC,GAsCnC,OApCAnD,EAAQlhC,YACNkgC,GACE,cACA,kDACAiE,EACA,+BAGJjD,EAAQlhC,YACNkgC,GACE,cACA,8CACAx9C,SAASqgB,eAAeqL,GAAiD,EAArB0E,KACpD,+BAGJouB,EAAQlhC,YACNkgC,GACE,cACA,qCACAx9C,SAASqgB,eAAeqL,GAA4B61B,IACpD,+BAGAlxB,IACFmuB,EAAQlhC,YACNkgC,GACE,cACA,mEACAx9C,SAASqgB,eACP,GAAGqL,GAA4B2E,QAAkBC,OAEnD,+BAICkuB,EAmpBeoD,KAIlBr6B,KAAKyN,QAAQmM,KAAKzL,iBACpB4oB,EAAMhhC,YAAYggC,GAAY,SAAU,WACpCl2B,EAAUyrB,OAAOqB,QACnBoK,EAAMhhC,YAnpBZ,WACE,MAAMkhC,EAAUx+C,SAAS4D,cAAc,OACvC46C,EAAQr8C,UAAY,uBAEpB,MAAM0/C,EACJt6B,KAAKmT,QAA2B,GAAjBnT,KAAKqR,UAAiB,GAAK,IAAMrP,EAAYH,EACxD04B,EAAgB9hD,SAAS4D,cAAc,QAC7Ck+C,EAAcn4C,MAAMq0B,WAAa,OACjC8jB,EAAc3/C,UAAY8mB,EAAgB44B,EAC1CC,EAAc/8C,YAAc2mB,GAA6C,GAAjBnE,KAAKqR,UAAiB,GAAK,KACnF4lB,EAAQlhC,YACNkgC,GACE,QACA,iDACAsE,IAIJ,MAAMC,EACJx6B,KAAKmT,QAA2B,GAAjBnT,KAAKqR,UAAiB,IAAMrP,EAAYH,EACnD44B,EAAgBhiD,SAAS4D,cAAc,QAC7Co+C,EAAcr4C,MAAMq0B,WAAa,OACjCgkB,EAAc7/C,UAAY8mB,EAAgB84B,EAC1CC,EAAcj9C,YAAc2mB,GAA6C,GAAjBnE,KAAKqR,UAAiB,KAC9E4lB,EAAQlhC,YACNkgC,GACE,QACA,iDACAwE,IAIJ,MAAMC,EACJ16B,KAAKmT,QAA2B,GAAjBnT,KAAKqR,UAAiB,GAAK,GAAKrP,EAAYH,EACvD84B,EAAgBliD,SAAS4D,cAAc,QAC7Cs+C,EAAcv4C,MAAMq0B,WAAa,OACjCkkB,EAAc//C,UAAY8mB,EAAgBg5B,EAC1CC,EAAcn9C,YAAc2mB,GAA6C,GAAjBnE,KAAKqR,UAAiB,GAAK,IACnF4lB,EAAQlhC,YACNkgC,GACE,QACA,iDACA0E,IAIJ,MAAMC,EACJ56B,KAAKmT,QAA2B,GAAjBnT,KAAKqR,UAAiB,GAAK,IAAMrP,EAAYH,EACxDg5B,EAAgBpiD,SAAS4D,cAAc,QAC7Cw+C,EAAcz4C,MAAMq0B,WAAa,OACjCokB,EAAcjgD,UAAY8mB,EAAgBk5B,EAC1CC,EAAcr9C,YAAc2mB,GAA6C,GAAjBnE,KAAKqR,UAAiB,GAAK,KACnF4lB,EAAQlhC,YACNkgC,GACE,QACA,iDACA4E,IAGJ,MAAMC,EAAoB,GAe1B,OAdAn9C,OAAO6C,KAAKujC,IAAYzU,SAASn1B,IAC1B6lB,KAAK+gB,YAAYgD,GAAW5pC,KAC/B2gD,EAAkB7+C,KAAK8nC,GAAW5pC,OAGL,IAA7B2gD,EAAkB1gD,QACpB68C,EAAQlhC,YACNkgC,GACE,QACA,kCACAE,GAAc2E,KAIb7D,EAykBe8D,KAItBhE,EAAMhhC,YAAYggC,GAAY,WAAY,aACtCl2B,EAAUyrB,OAAOsB,UACnBmK,EAAMhhC,YAxkBV,WACE,MAAMkhC,EAAUx+C,SAAS4D,cAAc,OACvC46C,EAAQr8C,UAAY,yBAEpB,MAAMogD,EAAkBt4C,KAAKkE,MAC3BoZ,KAAKymB,gBACHxb,GACEjL,KAAK0mB,aACL/c,IACC3J,KAAK+gB,YAAY,mBAAqB/gB,KAAK4d,IAAI,iBAC5CrU,GACA,KAGV0tB,EAAQlhC,YACNkgC,GACE,cACA,6BACAx9C,SAASqgB,eACP,GAAGqL,GAA4BnE,KAAKoW,eAAejS,GAA4B62B,MAEjF,+BAIJ,MAAMC,EAAav4C,KAAK6D,IACtB,EACAyZ,KAAKgyB,oBAAoBgJ,EAAkB,IACxC/vB,GACCjL,KAAK0mB,aACL/c,IAEE3J,KAAK+gB,YAAY,mBAAqB/gB,KAAK4d,IAAI,kBAC3CrU,GAGFA,GACA,KAEJ2xB,EAAkBziD,SAAS69C,yBACjC4E,EAAgBnlC,YAAYtd,SAASqgB,eAAeqL,GAA4B82B,KAChF,MAAME,EAAmB1iD,SAAS4D,cAAc,SAChD8+C,EAAiB39C,YAAc,KAAK+nB,GAClC01B,EAAa/vB,GACb,MAEFgwB,EAAgBnlC,YAAYolC,GAC5BlE,EAAQlhC,YACNkgC,GACE,cACA,wBACAiF,EACA,gCAIJjE,EAAQlhC,YACNkgC,GACE,cACA,6BACAx9C,SAASqgB,eACP,GAAGqL,GAA4BnE,KAAKo7B,oBAAoBj3B,GACtD62B,EAAkBh7B,KAAKoW,SAAWpW,KAAKo7B,kBAG3C,oCAIJnE,EAAQlhC,YACNkgC,GACE,QACA,6CACAx9C,SAASqgB,eAAeqL,GAA4BiF,GAAkB,MAI1E,MAAMiyB,EAAWz2B,OAAO/E,EAAU4oB,qBAClC,IAAK7jB,OAAOnJ,MAAM4/B,GAAW,CAC3B,MAAMC,EACJD,EACA34C,KAAKkE,MAAMoZ,KAAKymB,gBAAgBzmB,KAAK0mB,aAAe1mB,KAAKmgB,gBACvDmb,EAAoB,IACtBrE,EAAQlhC,YACNkgC,GACE,QACA,iDACAx9C,SAASqgB,eAAeqL,GAA4Bm3B,MAGxDrE,EAAQlhC,YACNkgC,GACE,QACA,mDACAx9C,SAASqgB,eACPyM,GAAW+1B,EAAoBlyB,QAOzC,MAAMmyB,EAr6BR,SAAoBC,GAElB,IAAIC,EAASz7B,KAAKqR,UAElB0E,KAE2C,IAAvCzJ,GAAY,gBAAgBc,SAC9Bd,GAAY,wBAAwBc,OAAS,EAC7Cd,GAAY,yBAAyBc,OAAS,EAC9Cd,GAAY,mBAAmBc,OAAS,EACxCd,GAAY,0BAA0Bc,OAAS,EAC/Cd,GAAY,gBAAgBc,OAAS,EAErC0U,KAEA2Z,EAASzzB,GAET+N,MAGE9K,IAA0B,KAAS4W,GAAO,aAC1C5W,IAA0B,KAAY4W,GAAO,YAC7C5W,IAA0B,MAAe4W,GAAO,gBAChD5W,IAA0B,MAAkB4W,GAAO,YACnD5W,IAA0B,MAAqB4W,GAAO,iBACtD5W,IAA0B,MAC5B4W,GAAO,kBACL5W,IAA0B,MAC5B4W,GAAO,iBACL5W,IAA0B,MAC5B4W,GAAO,cACL5W,IAA0B,MAC5B4W,GAAO,iBACL5W,IAA0B,MAC5B4W,GAAO,uBACL5W,IAA0B,MAC5B4W,GAAO,mBACL5W,IAA0B,MAC5B4W,GAAO,uBACL5W,IAA0B,MAC5B4W,GAAO,wBACL5W,IAA0B,MAC5B4W,GAAO,mBAEP5W,IAA0B,MAE1B4W,GAAO,WAEP5W,IACA,MAEA4W,GAAO,iBAEP5W,IACA,MAEA4W,GAAO,iCAETvV,GAAY,wBAAwBc,OAAS,EAC7Cd,GAAY,yBAAyBc,OAAS,EAC9Cd,GAAY,mBAAmBc,OAAS,EACxCd,GAAY,0BAA0Bc,OAAS,EAC/Cd,GAAY,gBAAgBc,OAAS,EAErC5F,GAAcg0B,EAEd,MAAMvW,EAAwB3d,GAE9Bwa,KAEAmC,KAEIgB,IAA0B3d,IAC5Bwa,KAGF,MAAM4Z,EAAW1zB,GAAeyzB,EAKhC,OAFAj0B,GAAcxH,KAAKoW,SAEZslB,EAo1BYC,CAAWX,GACxBY,EAAYnjD,SAAS69C,yBAC3BsF,EAAU7lC,YAAYtd,SAASqgB,eAAeqL,GAA4Bo3B,KAC1E,MAAMvjB,EAAWt1B,KAAKC,MAAO44C,EAAav7B,KAAKqR,UAAa,KAC5D,GAAIzM,OAAOC,SAASmT,IAA0B,IAAbA,EAAgB,CAC/C,MAAM6jB,EAAapjD,SAAS4D,cAAc,SAC1Cw/C,EAAWr+C,YAAc,KAAKw6B,EAAW,kBACzC4jB,EAAU7lC,YAAY8lC,GAExB5E,EAAQlhC,YACNkgC,GACE,cACA,qBACA2F,EACA,4BAIJ,MAAME,EAAkBp5C,KAAKkE,MAAMoZ,KAAKymB,gBAAgBzmB,KAAK0mB,eACvDqV,EAAWr5C,KAAKkE,MACpBoZ,KAAKymB,gBAAgBzmB,KAAK0mB,aAAe1mB,KAAKmgB,gBAE1C6b,EAAUD,EAAWD,EAC3B,IAAK97B,KAAK4d,IAAI,eAAgB,CAC5B,IAAIqe,EAAS,EAAKF,EAAW,GACzBE,EAAS,IAAGA,GAAU,IAC1B,MAAMC,EAAaF,EAAUC,EACvBE,EAAaJ,EAAWE,EACxBG,EAAQ3jD,SAAS69C,yBACvB8F,EAAMrmC,YACJtd,SAASqgB,eACP,GAAGqjC,EAAWl3B,sBAAsBi3B,EAAWj3B,sBAAsBg3B,OAGzEhF,EAAQlhC,YACNkgC,GAAa,QAAS,qCAAsCmG,IAIhE,IAAKp8B,KAAK4d,IAAI,gBAAiB,CAC7B,IAAIye,EAAW,IAAON,EAAW,IAC7BM,EAAW,IAAGA,GAAY,KAC9B,MAAMC,EAAeN,EAAUK,EACzBE,EAAeR,EAAWM,EAC1BG,EAAU/jD,SAAS69C,yBACzBkG,EAAQzmC,YACNtd,SAASqgB,eACP,GAAGyjC,EAAat3B,sBAAsBq3B,EAAar3B,sBAAsBo3B,OAG7EpF,EAAQlhC,YACNkgC,GAAa,QAAS,sCAAuCuG,IAIjE,IAAKx8B,KAAK4d,IAAI,gBAAiB,CAC7B,IAAI6e,EAAc,OAAUV,EAAW,IACnCU,EAAc,IAAGA,GAAe,KACpC,MAAMC,EAAkBV,EAAUS,EAC5BE,EAAkBZ,EAAWU,EAC7BG,EAAankD,SAAS69C,yBAC5BsG,EAAW7mC,YACTtd,SAASqgB,eACP,GAAG6jC,EAAgB13B,sBAAsBy3B,EAAgBz3B,sBAAsBw3B,OAGnFxF,EAAQlhC,YACNkgC,GAAa,QAAS,sCAAuC2G,IAIjE,OAAO3F,EA2Za4F,IAGhB78B,KAAKsR,UAAY,IACnBylB,EAAMhhC,YAAYggC,GAAY,YAAa,UACvCl2B,EAAUyrB,OAAOuB,OAAO,CAC1B,MAAMiQ,EAAarkD,SAAS69C,yBAC5BwG,EAAW/mC,YACTtd,SAASqgB,eACP,GAAGqL,GAA4BwF,SAA0BxF,GACvDyF,SAIN,MAAMmzB,EAAUtkD,SAAS4D,cAAc,KACvC0gD,EAAQv/C,YAAc,iBACtBu/C,EAAQniD,UAAY,SACpBmiD,EAAQzK,QAAU,WAChB8B,MAEF0I,EAAW/mC,YAAYgnC,GACvBhG,EAAMhhC,YACJkgC,GACE,QACA,kCACA6G,IAGJ,MAAME,EAAiBvkD,SAAS69C,yBAChC0G,EAAejnC,YACbtd,SAASqgB,eAAe,GAAGqL,GAA4B0F,GAAsB,SAE/E,MAAMozB,EAAcxkD,SAAS4D,cAAc,KAC3C4gD,EAAYz/C,YAAc,qBAC1By/C,EAAYriD,UAAY,SACxBqiD,EAAY3K,QAAU,WACa,OAA7BzoB,GAAsB,KACxB7J,KAAKuR,UAAU1H,GAAsB,IAAIwqB,GAAK,IAElD2I,EAAejnC,YAAYknC,GAC3BlG,EAAMhhC,YACJkgC,GACE,QACA,6DAC+B,OAA7BpsB,GAAsB,GAClBA,GAAsB,GACtB,UAENmzB,IASR,GAHAjG,EAAMhhC,YA1cR,WACE,MAAMkhC,EAAUx+C,SAAS4D,cAAc,OACvC46C,EAAQr8C,UAAY,uBAEpB,IAAIsiD,GAAW,EACf,MAAMC,EAA0B,GAChCx/C,OAAO6C,KAAKojC,IAActU,SAASn1B,IAC5B6lB,KAAK4d,IAAIgG,GAAazpC,MACzBgjD,EAAwBlhD,KAAK2nC,GAAazpC,IAC1C+iD,GAAW,MAGf,MAAME,EAA0B,GAChCz/C,OAAO6C,KAAKqjC,IAAevU,SAASn1B,IAC7B6lB,KAAK4d,IAAIiG,GAAc1pC,MAC1BijD,EAAwBnhD,KAAK4nC,GAAc1pC,IAC3C+iD,GAAW,MAGf,MAAMG,EAA0B,GAChC1/C,OAAO6C,KAAKsjC,IAAYxU,SAASn1B,IAC1B6lB,KAAK4d,IAAIkG,GAAW3pC,MACvBkjD,EAAwBphD,KAAK6nC,GAAW3pC,IACxC+iD,GAAW,MAGf,MAAMI,EAAoB,GAC1B3/C,OAAO6C,KAAKwf,KAAKu9B,UAAUjuB,SAASn1B,IAC7B6lB,KAAK+gB,YAAY/gB,KAAKu9B,SAASpjD,MAClCmjD,EAAkBrhD,KAAK+jB,KAAKu9B,SAASpjD,IACrC+iD,GAAW,MAGf,MAAMM,EAAkB,GACxB7/C,OAAO6C,KAAKwf,KAAKy9B,cAAcnuB,SAASn1B,IACjC6lB,KAAK+gB,YAAY/gB,KAAKy9B,aAAatjD,MACtCqjD,EAAgBvhD,KAAK+jB,KAAKy9B,aAAatjD,IACvC+iD,GAAW,MAGf,MAAMpc,EACJ9gB,KAAK+gB,YAAY,mBAAqB/gB,KAAK4d,IAAI,iBAC3C8f,EAAU19B,KAAK4d,IAAI,eAEzB,IAAoB,cAAhB5d,KAAKge,QAA0Bkf,GAAYpc,GAAU4c,KACvDzG,EAAQlhC,YAAYggC,GAAY,kBAAmB,QAC/Cl2B,EAAUyrB,OAAOwB,KAAK,CACxB,GAAuC,IAAnCqQ,EAAwB/iD,OAAc,CACxC68C,EAAQlhC,YACNkgC,GACE,QACA,gCACAE,GAAcgH,KAGlB,IAAIQ,EAAoB,IAIxB,GAHI39B,KAAKkY,UAAU,oBAAmBylB,EAAoB,IACtD39B,KAAK4d,IAAI,gBAAe+f,GAAqB,IACjDA,GAAqB,EAAI39B,KAAK49B,eAC1B59B,KAAKsN,OAAQ,CACf,MAAMc,EAASpO,KAAKsN,OAAO,WACZ,IAAXc,EAAcuvB,GAAqB,GACnB,IAAXvvB,EAAcuvB,GAAqB,IACxB,IAAXvvB,IAAcuvB,GAAqB,KAE9C,MAAME,EAAwBV,EAAwB/iD,OAAS,EAC/D68C,EAAQlhC,YACNkgC,GACE,QACA,4DACAx9C,SAASqgB,eACP,GAAGqL,IACA,EAAIw5B,GAAqBE,EAAwB,WAC5C15B,IACL,EAAwB,GAApBw5B,GAA2BE,EAAwB,WAMlE,GAAuC,IAAnCT,EAAwBhjD,OAAc,CACxC68C,EAAQlhC,YACNkgC,GACE,QACA,gCACAE,GAAciH,KAGlB,IAAIU,EAAoB,GAIxB,GAHI99B,KAAKkY,UAAU,iBAAgB4lB,EAAoB,IACvDA,GAAqB,EAAI99B,KAAK49B,eAC1B59B,KAAK4d,IAAI,cAAakgB,GAAqB,KAC3C99B,KAAKsN,OAAQ,CACf,MAAMc,EAASpO,KAAKsN,OAAO,WACZ,IAAXc,EAAc0vB,GAAqB,GACnB,IAAX1vB,EAAc0vB,GAAqB,IACxB,IAAX1vB,IAAc0vB,GAAqB,KAE9C,MAAMD,EAAwBT,EAAwBhjD,OAAS,EAC/D68C,EAAQlhC,YACNkgC,GACE,QACA,6CACAx9C,SAASqgB,eACP,GAAGqL,IACA,EAAI25B,GAAqBD,EAAwB,WAMrB,IAAnCR,EAAwBjjD,QAC1B68C,EAAQlhC,YACNkgC,GACE,QACA,gCACAE,GAAckH,KAIpB,MAAMU,EAAc,SAAUC,GAC5B,IAAIC,EAAcD,GAAoB,EAAIh+B,KAAK49B,gBAI/C,GAHI59B,KAAKkY,UAAU,0BAAyB+lB,GAAe,IACvDj+B,KAAK4d,IAAI,cAAaqgB,GAAe,IACrCj+B,KAAK4d,IAAI,eAAcqgB,GAAe,IACtCj+B,KAAKsN,OAAQ,CACf,MAAMc,EAASpO,KAAKsN,OAAO,WACZ,IAAXc,EAAc6vB,GAAe,GACb,IAAX7vB,EAAc6vB,GAAe,IAClB,IAAX7vB,IAAc6vB,GAAe,KAGxC,MAAMC,EAAgB,EAAID,EACpBE,EAAen+B,KAAKu9B,SAASnjD,OAASkjD,EAAkBljD,OACxDgkD,EACJp+B,KAAKy9B,aAAarjD,OAASojD,EAAgBpjD,OACvCikD,EACY,GAAhBH,GAAuB,EAAIC,EAAen+B,KAAKu9B,SAASnjD,QACpDkkD,EAEJ,GADAJ,GAEC,EAAIE,EAAmBp+B,KAAKy9B,aAAarjD,QAKtCmkD,EAHY,GAAhBL,GAAuBC,EAAen+B,KAAKu9B,SAASnjD,QAEpC,GAAhB8jD,GAAuBE,EAAmBp+B,KAAKy9B,aAAarjD,QAM9D,MAAO,CAACikD,EAHI,GAAVE,GAAiB,EAAIJ,EAAen+B,KAAKu9B,SAASnjD,QAGvBkkD,EADjB,GAAVC,GAAiB,EAAIH,EAAmBp+B,KAAKy9B,aAAarjD,UAG7B,IAA7BkjD,EAAkBljD,SACpB68C,EAAQlhC,YACNkgC,GACE,QACA,oCACAE,GAAcmH,KAGlBrG,EAAQlhC,YACNkgC,GACE,QACA,yDACAx9C,SAASqgB,eACP,GAAGqL,GAAmD,IAAvB45B,EAAY,KAAM,UAAgB55B,GACzC,IAAtB45B,EAAY,IAAK,WAMI,IAA3BP,EAAgBpjD,SAClB68C,EAAQlhC,YACNkgC,GACE,QACA,kCACAE,GAAcqH,KAGlBvG,EAAQlhC,YACNkgC,GACE,QACA,6DACAx9C,SAASqgB,eACP,GAAGqL,GAAmD,IAAvB45B,EAAY,KAAM,UAAgB55B,GACzC,IAAtB45B,EAAY,IAAK,WAOP,cAAhB/9B,KAAKge,QACPiZ,EAAQlhC,YACNkgC,GACE,QACA,kBACAx9C,SAASqgB,eAAeqL,GAA4BmF,OAGtDwX,GACFmW,EAAQlhC,YACNkgC,GACE,cACA,wBACAx9C,SAASqgB,eAAeqL,GAA4BoF,KACpD,6BAIFm0B,GACFzG,EAAQlhC,YACNkgC,GACE,QACA,yBACAx9C,SAASqgB,eACJpW,KAAKC,MAA2B,KAApB0mB,GAAe,IAAc,IAA5C,OAOZ,OAAO4tB,EAyOWuH,IAElBzH,EAAMhhC,YAAYggC,GAAY,gBAAiB,SAC3Cl2B,EAAUyrB,OAAOyB,KAAM,CAqCzB,GApCAgK,EAAMhhC,YACJkgC,GACE,QACA,oCACEjzB,EAAYnD,EAAU+gB,YAAc,GAChC,GAAG5d,EAAYnD,EAAU+gB,sBACzB5d,EAAYnD,EAAU+gB,YAAc,IACV,IAAzB/gB,EAAU+gB,WAAmB,UAAY,eAEhDnoC,SAASqgB,eAAeqL,GAA4B+M,KAAU,MAGlE6lB,EAAMhhC,YACJkgC,GACE,QACA,0CACEhzB,EAAWpD,EAAUmhB,iBACQ,IAA5BnhB,EAAUmhB,cAAsB,UAAY,cAC/CvoC,SAASqgB,eAAeqL,GAA4B8F,GAAoB,MAG5E8sB,EAAMhhC,YACJkgC,GACE,QACA,+BAA+BhzB,EAAWpD,EAAUmhB,iBACtB,IAA5BnhB,EAAUmhB,cAAsB,UAAY,cAE9CvoC,SAASqgB,eACPqL,GACE2B,GAA8B24B,QAC5Bx0B,GAAqBhH,EAAWpD,EAAUmhB,oBAMhDhhB,KAAK4d,IAAI,mBAAoB,CAC/B,MAAMgH,EAAW,GACjBjnC,OAAO6C,KAAKmjC,IAAUrU,SAASn1B,IACxB6lB,KAAK4d,IAAI+F,GAASxpC,KACrByqC,EAAS3oC,KAAK0nC,GAASxpC,OAGH,IAApByqC,EAASxqC,QACX28C,EAAMhhC,YACJkgC,GACE,QACA,+BACAE,GAAcvR,KAatB,GATI/kB,EAAU6oB,cACZqO,EAAMhhC,YACJkgC,GACE,QACA,wBACAx9C,SAASqgB,eAAeqL,GAA4BnE,KAAK0+B,uBAI3D1+B,KAAK8c,MAAMC,SAAU,CACvB,MAAM5K,EAAQ15B,SAAS4D,cAAc,QACrC81B,EAAMvE,GAAK,uBACXuE,EAAMgL,UAAYnd,KAAKod,QACV,GAAXpd,KAAKqX,KAAYrX,KAAK4wB,SAAW,EAAI5wB,KAAKqd,GAAgB,GAAXrd,KAAKqX,MACpD,GAEF0f,EAAMhhC,YACJkgC,GAAa,QAAS,qBAAsB9jB,KAKlD5mB,EAAE,QAAQkjC,aAAasI,EAAOxrC,EAAE,QAAQmlB,WAAW,IAE/C7Q,EAAU0oB,iBA9wJdh9B,EAAE,QAAQmlB,WAAWpB,SAASqvB,IAC5B,GAAIA,EAAYhiB,SAAS,GACvB,GACwC,aAAtCgiB,EAAYhiB,SAAS,GAAGhlB,WACxBwS,GACA,CACA,MAAMy0B,EACJz0B,GAA6BtvB,MAAM,IAAIZ,OAAO,MAAO,MAAQ,GAC1DG,OAAS,EACRm2C,EAAQ93C,SAAS4D,cAAc,OACrCk0C,EAAM3iB,GAAK,iCACX2iB,EAAM31C,UAAY,UAClB,MAAMikD,EAAYpmD,SAAS4D,cAAc,OACzCwiD,EAAUlnC,UAAY,qCAAqCinC,KACzD5+B,KAAK8+B,iBAAiB1kD,WACnBsI,KAAKkE,MACPg4C,EAA0B5+B,KAAK8+B,iBAAiB1kD,OAAU,SAE7Dm2C,EAAMx6B,YAAY8oC,GAClBF,EAAY5oC,YAAYw6B,GACxB,MAAMhN,EAAW9qC,SAAS4D,cAAc,OACxCknC,EAAS3oC,UAAY,mBACrB2oC,EAAS5rB,UAAYwS,GACrBw0B,EAAY5oC,YAAYwtB,QACnB,GAA0C,aAAtCob,EAAYhiB,SAAS,GAAGhlB,UAA0B,CAC3D,GAAIuS,GAAsB,CACxB,MAAM60B,EACJ70B,GAAqBrvB,MAAM,IAAIZ,OAAO,MAAO,MAAQ,GAAGG,OAAS,EAC7Dm2C,EAAQ93C,SAAS4D,cAAc,OACrCk0C,EAAM3iB,GAAK,yBACX2iB,EAAM31C,UAAY,UAClB,MAAMikD,EAAYpmD,SAAS4D,cAAc,OACzCwiD,EAAUlnC,UAAY,mCAAmConC,KACvD/+B,KAAKoV,eAAe,IAAIh7B,OAAS4lB,KAAKoV,eAAe4pB,KAAK5kD,WACvDsI,KAAKkE,MACPm4C,GACE/+B,KAAKoV,eAAe,IAAIh7B,OACvB4lB,KAAKoV,eAAe4pB,KAAK5kD,QAC3B,SAEJm2C,EAAMx6B,YAAY8oC,GAClBF,EAAYlQ,aAAa8B,EAAOoO,EAAYjuB,WAAW,IACvD,MAAM6S,EAAW9qC,SAAS4D,cAAc,OACxCknC,EAAS3oC,UAAY,mBACrB2oC,EAAS5rB,UAAYuS,GACrBy0B,EAAYlQ,aACVlL,EACA9qC,SAASwiC,eAAe,0BAA0BgkB,aAGtD,GAAI70B,GAA6B,CAC/B,MAAM80B,EACJ90B,GAA4BvvB,MAAM,IAAIZ,OAAO,MAAO,MAAQ,GACzDG,OAAS,EACRm2C,EAAQ93C,SAAS4D,cAAc,OACrCk0C,EAAM3iB,GAAK,gCACX2iB,EAAM31C,UAAY,UAClB,MAAMikD,EAAYpmD,SAAS4D,cAAc,OACzCwiD,EAAUlnC,UAAY,mCAAmCunC,KACvDl/B,KAAKoV,eAAegd,OAAOh4C,WACxBsI,KAAKkE,MACPs4C,EAAwBl/B,KAAKoV,eAAegd,OAAOh4C,OAAU,SAEhEm2C,EAAMx6B,YAAY8oC,GAClBF,EAAY5oC,YAAYw6B,GACxB,MAAMhN,EAAW9qC,SAAS4D,cAAc,OACxCknC,EAAS3oC,UAAY,mBACrB2oC,EAAS5rB,UAAYyS,GACrBu0B,EAAY5oC,YAAYwtB,QA6sJ5B1jB,EAAU2oB,qBAtQhB,WACE,IAAI2W,EACAC,EACJzhD,OAAO0hD,OAAO5mD,SAASsB,iBAAiB,cAAcu1B,SAASn1B,IACzDA,EAAEqD,YAAY4xC,SAAS,mBACxB+P,EAASC,GAAiBjlD,EAAEmlD,cAAcvlD,iBACzC,4BAK8B,IAAlC8lB,EAAU2oB,qBACwB,IAAlC3oB,EAAU2oB,qBAEV7qC,OAAO0hD,OAAOF,EAAQxiB,UAAUrN,SAASiwB,IACvC,IAAKA,EAAa3kD,UAAUw0C,SAAS,WAAY,CAC/C,MAAMxhB,EAAK2xB,EAAajN,QAAQ1vC,WAAW/H,MAAM,oBAAoB,IAC/DosC,KAAEA,GAASjnB,KAAKw/B,iBAAiB5xB,GACvC2xB,EAAan9C,MAAMiW,mBAAqB,GAAc,IAAV4uB,EAAK,QACpC,IAAVA,EAAK,OAERsY,EAAa/M,YAAc,WACpBxyB,KAAKy/B,YACRz/B,KAAK0/B,WAAW7mD,MAChBmnB,KAAK2W,QAAQye,QAAU,EACvBp1B,KAAK2W,QAAQhlB,KACX9Y,MACA,WACE,OACS29C,GACLx2B,KAAKw/B,iBAAiB5xB,MAI5B,OAEF5N,KAAK2W,QAAQ0e,eAMnBx1B,EAAU2oB,qBAAuB,GACnC7qC,OAAO0hD,OAAOD,EAAcziB,UAAUrN,SAASiwB,IAC7C,IAAKA,EAAa3kD,UAAUw0C,SAAS,WAAY,CAC/C,MAAMxhB,EAAK2xB,EAAajN,QAAQ1vC,WAAW/H,MAAM,oBAAoB,IAC/DosC,KAAEA,GAASjnB,KAAKw/B,iBAAiB5xB,GAAIqZ,KAC3CsY,EAAan9C,MAAMiW,mBAAqB,GAAc,IAAV4uB,EAAK,QACpC,IAAVA,EAAK,OAERsY,EAAa/M,YAAc,WACpBxyB,KAAKy/B,YACRz/B,KAAK0/B,WAAW7mD,MAChBmnB,KAAK2W,QAAQye,QAAU,EACvBp1B,KAAK2W,QAAQhlB,KACX9Y,MACA,WACE,OACS29C,GACLx2B,KAAKw/B,iBAAiB5xB,MAI5B,OAEF5N,KAAK2W,QAAQ0e,eAsMrBsK,GAuDJ,MAAMC,GAAe,CACnBrU,UAAW,qBACXC,YAAa,cACbC,SAAU,WACVC,QAAS,4BACTC,YAAa,+BACbC,QAAS,WACTC,WAAY,aACZC,aAAc,gBACdS,cAAe,iBAIXsT,GAA2B,CAC/B9T,oBAAqB,wBACrBC,eAAgB,gBAChBC,eAAgB,iBAChBC,gBAAiB,iBACjBC,iBAAkB,cAClBC,iBAAkB,iBAClBC,kBAAmB,WACnBC,qBAAsB,qBAaxB,SAASwT,GAAiBnQ,EAAQ9pB,GAChC,MAAM8K,EAAMl4B,SAAS4D,cAAc,OACnCs0B,EAAI/1B,UAAY,QAEhB+1B,EAAIvuB,MAAM6U,QAAU,MACpB0Z,EAAIvuB,MAAMyvB,SAAW,OACrBlB,EAAI5a,YAAYtd,SAASqgB,eAAe,GAAG+M,OAC3C,MAAMmwB,EAAOv9C,SAAS4D,cAAc,QAiBpC,OAhBA25C,EAAK5zC,MAAM+U,OAAS,UACpB6+B,EAAK5zC,MAAMqV,QAAU,eACrBu+B,EAAK5zC,MAAMmG,OAAS,OACpBytC,EAAK5zC,MAAMkG,MAAQ,OACnB0tC,EAAK5zC,MAAMsU,aAAe,MAC1Bs/B,EAAK5zC,MAAMuW,UAAY,SACvBq9B,EAAK5zC,MAAM4U,gBAAkB,UAC7Bg/B,EAAK5zC,MAAM2F,MAAQ,QACnBiuC,EAAK5zC,MAAMyvB,SAAW,OACtBmkB,EAAK5zC,MAAM2vB,cAAgB,SAC3BikB,EAAKx4C,YAAcqiB,EAAUyrB,OAAOqE,GAAU,IAAM,IACpDqG,EAAK1D,QAAU,WACbwD,GAAanG,GACb3vB,KAAKkf,cAEPvO,EAAI5a,YAAYigC,GACTrlB,EA4FT,SAASovB,GAAiBpQ,GACxB,MAAMhf,EAAMl4B,SAAS4D,cAAc,OAKnC,GAJAs0B,EAAI/1B,UAAY,UACoB,IAAhCilB,EAAUqE,mBACZyM,EAAI5a,YAlCR,SAA6B45B,GAC3B,MAAMqQ,EAAUvnD,SAAS4D,cAAc,KAqBvC,OApBI6nB,GAAkBkrB,SAASO,IAC7BqQ,EAAQ7iB,UAAY,IACpB6iB,EAAQ59C,MAAM2F,MAAQ,UACjBi4C,EAAQ7iB,UAAY,IAC3B6iB,EAAQplD,UAAY,SACpBolD,EAAQ1N,QAAU,YA3DpB,SAAgC3C,GAC1BzrB,GAAkBkrB,SAASO,GAC7BzrB,GAAoBA,GAAkBuuB,QAAO,SAAUwN,GACrD,OAAOA,IAAQtQ,KAEdzrB,GAAkBjoB,KAAK0zC,GAuD1BuQ,CAAuBvQ,GACvB2D,KACAtzB,KAAKkf,cAEP8gB,EAAQxN,YAAc,WACpBxyB,KAAK2W,QAAQhlB,KACX9Y,KACA+lC,OAAOrc,EAAsB49B,4BAA4BxoC,aAG7DqoC,EAAQrN,WAAa,WACnB3yB,KAAK2W,QAAQxlB,QAEf6uC,EAAQjqC,YAAYtd,SAASqgB,eAAe,MACrCknC,EAYWI,CAAoBzQ,IAEJ,SAA9BnB,GAAamB,GAAQn1C,KAAiB,CACxC,MAAMwI,EAAIvK,SAAS4D,cAAc,KAC7BmyC,GAAamB,GAAQxB,QAAgC,IAAtBtuB,EAAU8vB,GAC3C3sC,EAAEpI,UAAY,aAEdoI,EAAEpI,UAAY,SAEhBoI,EAAE4qB,GAAKgoB,GAA6BjG,EACpC3sC,EAAEsvC,QAAU,YAzoDhB,SAAsB3C,GACpB9vB,EAAU8vB,IAAW,EAEjB9vB,EAAU8vB,KAAYnB,GAAamB,GAAQ1B,MAAM7zC,QACnDylB,EAAU8vB,GAAU,EAChBnB,GAAamB,GAAQxB,SACvB5iC,EAAEqqC,GAA6BjG,GAAQ/0C,UAAY,eAChD2Q,EAAEqqC,GAA6BjG,GAAQ/0C,UAAY,cAEjB,IAA9B4zC,GAAamB,GAAQzwC,MAC9BsvC,GAAamB,GAAQzwC,OAGvBqM,EAAEqqC,GAA6BjG,GAAQh4B,UACrC62B,GAAamB,GAAQ1B,MAAMpuB,EAAU8vB,IACvC2D,KA2nDI+M,CAAa1Q,IAEf3sC,EAAExF,YAAcgxC,GAAamB,GAAQ1B,MAAMpuB,EAAU8vB,IACrDhf,EAAI5a,YAAY/S,GAChB,MAAMirC,EAAQx1C,SAAS4D,cAAc,SAIrC,OAHA4xC,EAAMzwC,YAAcgxC,GAAamB,GAAQzB,KACzCD,EAAM7rC,MAAMyW,WAAa,MACzB8X,EAAI5a,YAAYk4B,GACTtd,EAET,GAAkC,QAA9B6d,GAAamB,GAAQn1C,KAAgB,CACvC,MAAM21C,EAAS13C,SAAS4D,cAAc,OACtC8zC,EAAOv1C,UAAY,YACnB,MAAM21C,EAAQ93C,SAAS4D,cAAc,OACrCk0C,EAAMnuC,MAAMk+C,MAAQ,OACpB/P,EAAM54B,UAAY62B,GAAamB,GAAQzB,KACvCiC,EAAOp6B,YAAYw6B,GACnB,MAAMgQ,EAAU9nD,SAAS4D,cAAc,OACvCkkD,EAAQ3yB,GAAK,SAAS+hB,SACtB4Q,EAAQn+C,MAAMk+C,MAAQ,QACtBC,EAAQ5oC,UAAY,GAAGkI,EAAU8vB,MACjCQ,EAAOp6B,YAAYwqC,GACnB,MAAMC,EAAS/nD,SAAS4D,cAAc,SACtCmkD,EAAO5lD,UAAY,SACnB4lD,EAAO5yB,GAAK,SAAS+hB,IACrB6Q,EAAOp+C,MAAMwU,MAAQ,OACrB4pC,EAAOhmD,KAAO,QACdgmD,EAAOn6C,IAAM,IACbm6C,EAAOj6C,IAAM,MACbi6C,EAAOC,KAAO,IACdD,EAAOjjD,MAAQsiB,EAAU8vB,GACzB6Q,EAAO/hC,QAAU,WACfo3B,GAAmBlG,IAErB6Q,EAAOE,SAAW,WAChB7K,GAAmBlG,IAErBQ,EAAOp6B,YAAYyqC,GACnB7vB,EAAI5a,YAAYo6B,GAChB,MAAMntC,EAAIvK,SAAS4D,cAAc,KAYjC,OAXA2G,EAAEpI,UAAY,SACdoI,EAAEsvC,QAAU,WACVzC,GACEhwB,EAAU8vB,EAAO5uC,QAAQ,SAAU,aACnC4uC,EAAO5uC,QAAQ,SAAU,SACzB4uC,GACA,IAGJ3sC,EAAExF,YAAc,aAChBmzB,EAAI5a,YAAY/S,GACT2tB,EAET,GAAkC,QAA9B6d,GAAamB,GAAQn1C,KAAgB,CACvC,MAAMw7C,EAAOv9C,SAAS4D,cAAc,QACpC25C,EAAKp7C,UAAY,SACjBo7C,EAAKx4C,YAAc,GAAGgxC,GAAamB,GAAQ1B,SAC3C+H,EAAK5zC,MAAMyW,WAAa,MACxB8X,EAAI5a,YAAYigC,GAChB,MAAM2K,EAAQloD,SAAS4D,cAAc,SACrCskD,EAAM/yB,GAAKgoB,GAA6BjG,EACxCgR,EAAM/lD,UAAY,SAClB+lD,EAAMnmD,KAAO,OACbmmD,EAAMC,UAAW,EACjBD,EAAM5iD,aAAa,QAAS8hB,EAAU8vB,IACtCgR,EAAMv+C,MAAMkG,MAAQ,QACpBqoB,EAAI5a,YAAY4qC,GAChBhwB,EAAI5a,YAAYtd,SAASqgB,eAAe,MACxC,MAAM+nC,EAAcpoD,SAAS4D,cAAc,SAC3CwkD,EAAYjzB,GAAK,GAAGgoB,GAA6BjG,UACjDkR,EAAYjmD,UAAY,SACxBimD,EAAYrmD,KAAO,OACnBqmD,EAAY9iD,aAAa,QAAS8hB,EAAU8vB,IAC5C,MAAM3sC,EAAIvK,SAAS4D,cAAc,KACjC2G,EAAEpI,UAAY,SACdoI,EAAEsvC,QAAU,YAlKhB,SAA6BwO,EAAS/iC,GACpCiC,KAAK+gC,YAAYnmD,UAAY,SAC7B,MAAMW,EAAMulD,EACZ9gC,KAAKghC,QAAQrpC,UAAY,GAAGpc,iCAC5BoC,OAAO6C,KAAKud,GAASuR,SAASn1B,IAC5B,MAAMuZ,EAASjb,SAAS4D,cAAc,KACtCqX,EAAOka,GAAK,eAAezzB,IAC3BuZ,EAAO9Y,UAAY,SACnB8Y,EAAO4+B,QAAU,WACf2O,UAAU,gBACVljC,EAAQ5jB,GAAG,MAEbuZ,EAAOlW,YAAcugB,EAAQ5jB,GAAG,GAChC6lB,KAAKghC,QAAQrkB,SAAS,GAAG5mB,YAAYrC,MAEvCsM,KAAKkhC,cAAc9+C,MAAMqV,QAAU,QACnCuI,KAAKmhC,QAAQ/+C,MAAMqV,QAAU,QAC7BuI,KAAKghC,QAAQI,QACbphC,KAAKqhC,SAAW,EAChBrhC,KAAKshC,eAgJDC,CAAoBV,EAAYW,UAAW,CACzC,CACE,OACA,WACE3hC,EAAU8vB,GAAUpkC,EAAE,WAAgCokC,WAAgBpyC,MACtE+1C,KACAtzB,KAAKyhC,cACLzhC,KAAKkf,eAGT,CACE,SACA,WACElf,KAAKyhC,mBAKbz+C,EAAExF,YAAc,OAChBmzB,EAAI5a,YAAY/S,GAChB,MAAMirC,EAAQx1C,SAAS4D,cAAc,SAIrC,OAHA4xC,EAAMzwC,YAAcgxC,GAAamB,GAAQzB,KACzCD,EAAM7rC,MAAMyW,WAAa,MACzB8X,EAAI5a,YAAYk4B,GACTtd,EAET,GAAkC,WAA9B6d,GAAamB,GAAQn1C,KAAmB,CAC1C,MAAMknD,EAAYjpD,SAAS4D,cAAc,QACzCqlD,EAAU9mD,UAAY,SACtB,MAAM+lD,EAAQloD,SAAS4D,cAAc,SACrCskD,EAAM/yB,GAAK+hB,EACXgR,EAAMv+C,MAAMkG,MAAQ,OACpBq4C,EAAM5iD,aAAa,QAAS8hB,EAAU8vB,IACtC+R,EAAU3rC,YAAY4qC,GAQtB,IAAIznD,GAAQynD,EAAO,CAAEpmC,MAAM,EAAMnQ,SAAU,QAAS4P,QAPrC,WACb6F,EAAUhnB,KAAKmD,cAAc4xB,IAAM/0B,KAAK8gB,cACxC05B,KACAC,KACAtzB,KAAKkf,gBAIP,MAAM+O,EAAQx1C,SAAS4D,cAAc,SAIrC,GAHA4xC,EAAMzwC,YAAcgxC,GAAamB,GAAQzB,KACzCD,EAAM7rC,MAAMyW,WAAa,MACzB6oC,EAAU3rC,YAAYk4B,GAClB0B,EAAOP,SAAS,SAAU,CAC5B,MAAMpsC,EAAIvK,SAAS4D,cAAc,KACjC2G,EAAEpI,UAAY,SACdoI,EAAEsvC,QAAU,WACV5C,GAAM,EAAGC,EAAO5uC,QAAQ,SAAU,KAAK,IAEzCiC,EAAExF,YAAc,aAChBkkD,EAAU3rC,YAAY/S,GAIxB,OAFA2tB,EAAI5a,YAAY2rC,GAChB/L,KAAkBl8C,OACXk3B,EAET,GAAkC,aAA9B6d,GAAamB,GAAQn1C,KAAqB,CAC5C,MAAMw7C,EAAOv9C,SAAS4D,cAAc,QACpC25C,EAAKp7C,UAAY,SACjBo7C,EAAKx4C,YAAc,GAAGgxC,GAAamB,GAAQ1B,SAC3C+H,EAAK5zC,MAAMyW,WAAa,MACxB8X,EAAI5a,YAAYigC,GAChB,MAAM2K,EAAQloD,SAAS4D,cAAc,SACrCskD,EAAM/yB,GAAKgoB,GAA6BjG,EACxCgR,EAAM/lD,UAAY,SAClB+lD,EAAMnmD,KAAO,SACbmmD,EAAMpjD,MAAQsiB,EAAU8vB,GACxBgR,EAAMt6C,IAAMmoC,GAAamB,GAAQtpC,IACjCs6C,EAAMp6C,IAAMioC,GAAamB,GAAQppC,IACjCo6C,EAAMliC,QAAU,WACV5lB,KAAK0E,MAAQ1E,KAAK0N,KAAKvL,QAAQsqB,IAAI,QACvCzF,EAAU8vB,GAAU92C,KAAK0E,MACzB+1C,KACA/F,MAEF5c,EAAI5a,YAAY4qC,GAChBhwB,EAAI5a,YAAYtd,SAASqgB,eAAe,MACxC,MAAMm1B,EAAQx1C,SAAS4D,cAAc,SAIrC,OAHA4xC,EAAMzwC,YAAcgxC,GAAamB,GAAQzB,KACzCD,EAAM7rC,MAAMyW,WAAa,MACzB8X,EAAI5a,YAAYk4B,GACTtd,EAET,OAAOA,EA4UT,SAASgxB,GAAUniD,GACjB,GAA2B,IAAvBqgB,EAAU2T,UAA4C,IAA1B3T,EAAU4T,YAAmB,CAC3D,MAAMmuB,EAAiB36C,SAASsE,EAAE,cAAcnJ,MAAMmG,OAAQ,IAC9DyX,KAAK6hC,QAAUD,EACfpiD,IACAwgB,KAAK6hC,QAAUD,OAEfpiD,IAuBJ,SAASsiD,KAEPrgC,EAAgBkD,SAAWA,SAE3BA,SAAWR,GAEX1C,EAAgBqgB,eAAiB9hB,KAAK8hB,eACtC9hB,KAAK8hB,eAAiB,WACpBrgB,EAAgBqgB,iBAChBha,GAAY,GAGdrG,EAAgBkV,QAAU,GAC1BlV,EAAgBkV,QAAQhlB,KAAOqO,KAAK2W,QAAQhlB,KAC5C8P,EAAgBkV,QAAQorB,QAAU,IAAInmD,SACpC,UAAUokB,KAAK2W,QAAQhlB,KAAK/O,WAAW5B,MAAM,QAAQ6C,KAAK,kBAD1B,GAGlCmc,KAAK2W,QAAQhlB,KAAO,SAAUqwC,EAAMn8B,EAAM5I,GACxCwE,EAAgBkV,QAAQorB,QAAQC,EAAMn8B,EAAM5I,IAG9CwE,EAAgBkV,QAAQsrB,OAASjiC,KAAK2W,QAAQsrB,OAC9CxgC,EAAgBkV,QAAQurB,UAAY,IAAItmD,SACtC,UAAUokB,KAAK2W,QAAQsrB,OACpBr/C,WACA5B,MAAM,SACN6C,KAAK,mBAJ0B,GAMpCmc,KAAK2W,QAAQsrB,OAAS,WACpBxgC,EAAgBkV,QAAQurB,YA5H5B,WACE,GAA4B,UAAxBliC,KAAK2W,QAAQ1Z,OAAoB,CACnC,IAAIklC,EAAa,EAEa,IAA5BtiC,EAAUsc,eACgB,IAA1Btc,EAAU6X,aAC0B,OAApCnsB,EAAE,gCAEF42C,EAAa52C,EAAE,8BAA8BpF,aAAe,GAE9D6Z,KAAK2W,QAAQyrB,IAAIhgD,MAAMsC,IAAM,GAAGhC,KAAK2D,IACnCY,SAAS+Y,KAAK2W,QAAQyrB,IAAIhgD,MAAMsC,IAAK,IACrC6G,EAAE,QAAQpF,aACRoF,EAAE,UAAUpF,aACZ6Z,KAAK2W,QAAQ0rB,GAAGl8C,aAChBg8C,EACA,SA6GJG,IAGF7gC,EAAgB8gC,gBAAkBviC,KAAKuiC,gBACvCviC,KAAKuiC,gBAAkB,WACrBZ,GAAUlgC,EAAgB8gC,kBAG5B9gC,EAAgB+gC,cAAgBxiC,KAAKwiC,cACrCxiC,KAAKwiC,cAAgB,WACnBb,GAAUlgC,EAAgB+gC,gBAI5Bj3C,EAAE,aAAazN,oBAAoB,QAASkiB,KAAKyiC,aAAa,GAC9Dl3C,EAAE,aAAahS,iBACb,SACA,WACEooD,GAAU3hC,KAAKyiC,gBAEjB,GAGFhhC,EAAgBisB,gBAAkB1tB,KAAK0tB,gBACvC1tB,KAAK0tB,gBAAkB,WACrBjsB,EAAgBisB,kBAnHlBlsB,EAAuB,GACvB7jB,OAAO6C,KAAKwf,KAAKsQ,iBAAiBhB,SAASn1B,IACJ,OAAjCoR,EAAE,UAAUpR,KAAKq4C,cACnBhxB,EAAqBrnB,GAAKoR,EAAE,UAAUpR,KAAKq4C,YAC3CjnC,EAAE,UAAUpR,KAAKq4C,YAAc,WACxBxyB,KAAKy/B,YACRz/B,KAAK0/B,WAAW7mD,MAChBmnB,KAAK2W,QAAQye,QAAU,EACvBp1B,KAAK2W,QAAQhlB,KACX9Y,MACA,WACE,OAAOy7C,GAAc,IAAK,GAAGn6C,OAE/B,SAEF6lB,KAAK2W,QAAQ0e,eAsGnBr1B,KAAK8hB,kBAGPrgB,EAAgBihC,aAAe1iC,KAAK0iC,aAKpC1iC,KAAK0iC,aAAe,SAAUj2B,KAEzB5M,EAAUwrB,cACXrrB,KAAKukB,YAAY9X,GAAMyG,UAAYlT,KAAKmT,UACtB,IAAlBnT,KAAKoP,UAEL3N,EAAgBihC,aAAaj2B,IAIjChL,EAAgBkhC,mBAAqB3iC,KAAK2iC,mBAM1C3iC,KAAK2iC,mBAAqB,SAAUC,GAClCnhC,EAAgBkhC,mBAAmBC,GAn5EvC,SAAqBA,GACnB,GAAiC,IAA7B/iC,EAAUmoB,eAAsB,CAClC,MAAO6a,EAAUC,GA9DrB,SAA6BF,GAC3B7sB,KAGwBxqB,EAAE,iBAAiBoxB,SAAS,GAAGhlB,UAAUy3B,SAC/D,aAEmB1nB,GAAiBk7B,EACjCn7B,GAAgBm7B,EAGrB,IAAI70B,EAAQ,EACZ,GACEtG,KAAkBS,IAClBR,KAAmBS,GAEnB,IAAK,IAAIhuB,EAAI6lB,KAAKukB,YAAYnqC,OAAS,EAAGD,GAAK,IAAKA,EAClD,GAAI6lB,KAAKukB,YAAYpqC,GAAGs0B,OAAS,EAAG,CAClC,MAAMgjB,EAAkBplB,GAAWrM,KAAKukB,YAAYpqC,GAAGuE,MAAMA,KAC7D2tB,GAAWolB,GAAiBhjB,QAAU,EACtCtH,IAAqB,EACrB4G,EACE1B,GAAWolB,GAAiBljB,UAC5BvO,KAAKgP,eACHtsB,KAAK6D,IACH,EACA8lB,GAAWolB,GAAiBhjB,OAC1B,EACApC,GAAWolB,GAAiBjjB,MAEpCT,EAAQ/N,KAAKiP,oBAAoB5C,GAAWolB,GAAkB1jB,GAC9DA,EAAQrrB,KAAKoL,KAAKigB,GAClB,MAKN,MAAMkX,EAAwB3d,GAO9B,OANAwa,KAEAmC,KACIgB,IAA0B3d,IAC5Bwa,KAEK,CAAC9Z,GAAehI,KAAKqR,UAAWtD,GAkBHg1B,CAAoBH,GAChDI,EAAgBz9B,GACpBu9B,GAAiBD,EAAW7iC,KAAKqR,YAE7B4xB,EAAqB9+B,GAA6B0+B,EAAW7iC,KAAKqR,UAAa,KAErF9lB,EAAE,kBAAkBnJ,MAAM8gD,UAAY,OACtC33C,EAAE,kBAAkBnJ,MAAMwvB,OAAS,MACnCrmB,EAAE,kBAAkBwK,YAAYtd,SAAS4D,cAAc,QAAQzB,UAC7D,OACF,MAAM+1B,EAAMl4B,SAAS4D,cAAc,OACnCs0B,EAAIvuB,MAAMu8B,SAAW,QACrBhO,EAAIvuB,MAAMuW,UAAY,SACtBgY,EAAInzB,YAAc,wCAAwC2mB,GACxD0+B,OACII,sBACN13C,EAAE,kBAAkBwK,YAAY4a,GAChC,MAAMwyB,EAAO1qD,SAAS4D,cAAc,OACpC8mD,EAAK/gD,MAAMu8B,SAAW,QACtBwkB,EAAK/gD,MAAMuW,UAAY,SACvBwqC,EAAK3lD,YAAc,gBAAgBwlD,yBACnCz3C,EAAE,kBAAkBwK,YAAYotC,IA63EhCC,CAAYR,IAGdnhC,EAAgB4hC,kBAAoBrjC,KAAKqjC,kBAIzCrjC,KAAKqjC,kBAAoB,SAAUC,GACjC7hC,EAAgB4hC,kBAAkBC,GA73EtC,WAEE,GAEwE,QADrE/3C,EAAE,gBAAgB3Q,UAAUC,MAAM,aACjC0Q,EAAE,gBAAgBoxB,SAAS,GAAGv6B,MAAMqB,WAAW5I,MAAM,WAEvD,IAAK,IAAIV,EAAI,EAAGA,EAAIoR,EAAE,gBAAgBmlB,WAAWt2B,OAAQD,IACL,cAA9CoR,EAAE,gBAAgBmlB,WAAWv2B,GAAGS,YAClC2Q,EAAE,gBAAgBoxB,SAASxiC,GAAGq4C,YAAc,WAC1CxD,KACAhvB,KAAK2W,QAAQye,QAAU,EACvBp1B,KAAK2W,QAAQhlB,KACXpG,EAAE,gBACF,mDAAmD8c,WACnD,QAEFrI,KAAK2W,QAAQ0e,UAEf9pC,EAAE,gBAAgBoxB,SAASxiC,GAAGw4C,WAAa,WACzC3yB,KAAK2W,QAAQ4sB,WAAa,IA22EhCC,IAGF/hC,EAAgByd,WAAalf,KAAKkf,WAClClf,KAAKkf,WAAa,gBAEwB,IAA9ByW,KAAmBlrC,aACiB,IAApCkrC,KAAmBlrC,OAAOC,QAElC+W,EAAgByd,aArXtB,WACE,MAAMqR,EAAQ93C,SAAS4D,cAAc,OACrCk0C,EAAM31C,UAAY,QAEE,UAAhBolB,KAAKid,QACPsT,EAAM/yC,YAAc,0BA7ExB,SAAqB+yC,GACnB,MAAM8F,EAAO59C,SAAS69C,yBACtBD,EAAKtgC,YAAYw6B,GAEjB5yC,OAAO6C,KAAKo/C,IAActwB,SAASye,IACjC,GAAc,cAAVA,GACF,GAAiC,IAA7B7pB,GAAkB9pB,QAAgBylB,EAAUqE,kBAAoB,IAClEmyB,EAAKtgC,YAAY+pC,GAAiB/R,EAAO6R,GAAa7R,KAClDluB,EAAUyrB,OAAOyC,IACnB,IAAK,IAAI0V,EAAQ,EAAGA,EAAQv/B,GAAkB9pB,OAAQqpD,IACpDpN,EAAKtgC,YAAYgqC,GAAiB77B,GAAkBu/B,UAI1DpN,EAAKtgC,YAAY+pC,GAAiB/R,EAAO6R,GAAa7R,KAClDluB,EAAUyrB,OAAOyC,KAGL,iBAAVA,EACFpwC,OAAO6C,KAAKq/C,IAA0BvwB,SAASo0B,IAC7C,MAAMC,EAAiB7D,GACrB4D,EACA7D,GAAyB6D,IAE3BC,EAAevhD,MAAMyvB,SAAW,OAChC8xB,EAAevhD,MAAM6U,QAAU,MAC/Bo/B,EAAKtgC,YAAY4tC,GACb9jC,EAAUyrB,OAAOoY,IACnB/lD,OAAO6C,KAAKguC,IAAclf,SAAS5b,IAC7B86B,GAAa96B,GAAQq6B,QAAU2V,GACjCrN,EAAKtgC,YAAYgqC,GAAiBrsC,UAK1C/V,OAAO6C,KAAKguC,IAAclf,SAAS5b,IAC7B86B,GAAa96B,GAAQq6B,QAAUA,GACjCsI,EAAKtgC,YAAYgqC,GAAiBrsC,WAO9C,MAAMkwC,EAASnrD,SAAS4D,cAAc,OACtCunD,EAAOhpD,UAAY,UACnB,MAAMipD,EAAYprD,SAAS4D,cAAc,KACzCwnD,EAAUjpD,UAAY,SACtBipD,EAAUvR,QAAU,WAClB0B,GAAWnM,KAEbgc,EAAUrmD,YAAc,kBACxBomD,EAAO7tC,YAAY8tC,GACnBxN,EAAKtgC,YAAY6tC,GAEjBr4C,EAAE,QAAQmlB,WAAW,GAAG+d,aACtB4H,EACA9qC,EAAE,QAAQmlB,WAAW,GAAGA,WACtBnlB,EAAE,QAAQmlB,WAAW,GAAGA,WAAWt2B,OAAS,IAoB9C0pD,CAAYvT,IACa,UAAhBvwB,KAAKid,OACVpd,EAAUqd,QACZqT,EAAM/yC,YAAc,4BACpBs5C,GAAavG,IAEU,QAAhBvwB,KAAKid,SACdsT,EAAM/yC,YAAc,kBAtdxB,SAAqB+yC,GACnB,MAAMwT,EAAOtrD,SAAS4D,cAAc,OACpC0nD,EAAKnpD,UAAY,aAEjB,MAAMo7C,EAAOv9C,SAAS4D,cAAc,QAmBpC,GAlBA25C,EAAK5zC,MAAM+U,OAAS,UACpB6+B,EAAK5zC,MAAMqV,QAAU,eACrBu+B,EAAK5zC,MAAMmG,OAAS,OACpBytC,EAAK5zC,MAAMkG,MAAQ,OACnB0tC,EAAK5zC,MAAMsU,aAAe,MAC1Bs/B,EAAK5zC,MAAMuW,UAAY,SACvBq9B,EAAK5zC,MAAM4U,gBAAkB,UAC7Bg/B,EAAK5zC,MAAM2F,MAAQ,QACnBiuC,EAAK5zC,MAAMyvB,SAAW,OACtBmkB,EAAK5zC,MAAM2vB,cAAgB,SAC3BikB,EAAKx4C,YAAcqiB,EAAUyrB,OAAO0B,QAAU,IAAM,IACpDgJ,EAAK1D,QAAU,WACbwD,GAAa,WACb91B,KAAKkf,cAEPqR,EAAMx6B,YAAYigC,GAClB+N,EAAKhuC,YAAYw6B,GAEb1wB,EAAUyrB,OAAO0B,QAAS,CAC5B,MAAMgX,EAAcvrD,SAAS4D,cAAc,OAC3C2nD,EAAYrsC,UA5lSO,siBA6lSnBosC,EAAKhuC,YAAYiuC,GACjB,MAAMC,EAAQxrD,SAAS4D,cAAc,OACrC4nD,EAAMtsC,UArlSiB,+1EAslSvBosC,EAAKhuC,YAAYkuC,GAGnB,MAAMC,EAAO34C,EAAE,QAAQoxB,SAAS,GAChCunB,EAAKzV,aAAasV,EAAMG,EAAKvnB,SAAS,IAsbpCwnB,CAAY5T,IAwWV6T,KAIJ3iC,EAAgB2b,QAAUpd,KAAKod,QAC/B3a,EAAY,SAAU+C,EAAM6+B,GAC1B,OAAIz/B,OAAOnJ,MAAM+J,IAASA,GAAQ,EACzB/D,EAAgB2b,QAAQ5X,EAAM6+B,GAChC9+B,GAAWC,EAAOxF,KAAKqX,IAAK,IAGrC5V,EAAgB6iC,MAAQtkC,KAAKskC,MAC7BtkC,KAAKskC,MAAQ,WACX7iC,EAAgB6iC,QAGhB,IAAI/T,EAAQ,iBACQ,UAAhBvwB,KAAKge,SAAoBuS,EAAQ,gBACrCtsB,GAAQ,GAAGjE,KAAK4wB,SAAW,cAAgB,KAAKzsB,GAA4BnE,KAAKmT,YAC9D,IAAjBnT,KAAKmT,QAAgB,SAAW,eAC5Bod,IA5WV,WACE,GAAIvwB,KAAK4wB,UAAgC,IAApB/wB,EAAUoE,MAC7BxrB,SAAS83C,MAAQtsB,QACZ,GAAwB,IAApBpE,EAAUoE,MAAa,CAChC,IAEIsgC,EACAC,EACAC,EAJAC,GAAQ,EACRC,GAAQ,EAORJ,EAFAp5B,GACEA,GAA0ByiB,MAClB,KAAKlrC,KAAKoL,KAAKqd,GAA0B2nB,KAAO9yB,KAAKqX,QAErD,KAAK30B,KAAKoL,KAAKqd,GAA0B2nB,KAAO9yB,KAAKqX,QACvDrX,KAAK4d,IAAI,uBAOJ,OANL,IACRhZ,OAAOrZ,EAAE,sBAAsB/N,aAAe,EAAI,IAAM,KACvDkF,KAAKoL,MACLkS,KAAKyd,aAAaC,OAAOI,QAAU9d,KAAKyd,aAAaC,OAAOlY,MAC3DxF,KAAKqX,QAIPvW,IACF4jC,GAAQ,EACRF,EAAU,OAGQ,cAAhBxkC,KAAKge,SACP2mB,GAAQ,EAENF,EADE5jC,EACQ,KAAKne,KAAKoL,KAAKsd,GAAsB0nB,KAAO9yB,KAAKqX,QAEjD,IACRzS,OAAOrZ,EAAE,uBAAuB/N,aAAe,EAAI,IAAM,KACxDkF,KAAKoL,MACLkS,KAAKyd,aAAaQ,SAASH,QAC1B9d,KAAKyd,aAAaQ,SAASzY,MAC3BxF,KAAKqX,SAMb,IAAI97B,EAAM0oB,GACY,MAAlB1oB,EAAI2L,OAAO,KACb3L,EAAMA,EAAIk3B,UAAUl3B,EAAIqpD,YAAY,KAAO,IAE7CnsD,SAAS83C,MAAQ,GACfgU,GAAWG,EAAQF,EAAU,KAAOG,EAAQF,EAAU,OACpDlpD,SACC,GAAwB,IAApBskB,EAAUoE,MAAa,CAChC,IAAI1oB,EAAM,GACNspD,GAAQ,EACR15B,KACF05B,GAAQ,EACJ15B,GAA0ByiB,MAC5BryC,GAAO,KAAKmH,KAAKoL,KAAKqd,GAA0B2nB,KAAO9yB,KAAKqX,QACzD97B,GAAO,KAAKmH,KAAKoL,KAAKqd,GAA0B2nB,KAAO9yB,KAAKqX,SAE/DvW,IACF+jC,GAAQ,EACRtpD,GAAO,OAEW,cAAhBykB,KAAKge,QAA0Bnd,IACjCtlB,GAAO,KAAKmH,KAAKoL,KAAKsd,GAAsB0nB,KAAO9yB,KAAKqX,QACxDwtB,GAAQ,GAENA,IAAOtpD,GAAO,OAClB,IAAIg1C,EAAQ,iBACQ,UAAhBvwB,KAAKge,SAAoBuS,EAAQ,gBACrCh1C,GAAOg1C,EACP93C,SAAS83C,MAAQh1C,GAoSjBupD,GAtRJ,WACE,MAAM/S,EAAgBrvC,KAAK6D,IACzB,EACAyZ,KAAKgyB,oBACHtvC,KAAKkE,MAAMoZ,KAAKymB,gBAAgBzmB,KAAK0mB,aAAe1mB,KAAKmgB,gBACvD,IAEDngB,KAAKmgB,cAAgBngB,KAAK0mB,eAGzB3D,EAAY/iB,KAAKod,SACnB4C,KAAKC,MAAQjgB,KAAK+iB,WAAa,IAAQ/iB,KAAKqX,KAC7C,GAEH,IAAI97B,EAAM,GACVA,GAAO,kCACS,KAAdwnC,EAAmB,gBAAkBA,aAEvCxnC,GAAO,2BACHykB,KAAKoW,SAAW,IAClB76B,GAAO,uCAAuC4oB,GAC5CnE,KAAKoW,2BACYjS,GAA4BnE,KAAKoW,cACpD76B,GAAO,4BAGPA,GADEyrB,GAAyB,EACpB,6CACAA,GAAyB,EAE9B,6GAEK,uCAAuC7C,GAC5C6C,6BACyB7C,GACzB6C,uBACmB7C,GACnB6C,mCAEJzrB,GAAO,2BACPA,GAAO,eAAe4oB,GACpB4tB,8CAEFx2C,GACEskB,EAAUyoB,oBACN,oCAAoCjd,kDAAyElH,GAC3GiF,GACA,iDAEF,GAEN7d,EAAE,iBAAiBoM,UAAYpc,EAuO7BwpD,IAqDJ,SAASC,KACPxV,KACAlI,KACAM,KAGAvnB,EAAe1iB,OAAO6C,KAAKwf,KAAK8wB,MAAM12C,OA31FtCinB,EAAU5oB,SAAS4D,cAAc,SACjCglB,EAAQ7mB,KAAO,WACf6mB,EAAQuM,GAAK,QAEbn1B,SAASwsD,KAAKlvC,YAAYsL,GAv6L5B,WACE,MAAMwR,EAASp6B,SAAS4D,cAAc,OACtCw2B,EAAOjF,GAAK,WACZiF,EAAOzwB,MAAMmG,OAAS,OACtBsqB,EAAOzwB,MAAMkG,MAAQ,OACrBuqB,EAAOzwB,MAAMgI,SAAW,WACxByoB,EAAOzwB,MAAMqV,QAAU,OACvBob,EAAOzwB,MAAM8iD,iBAAmB,UAChCryB,EAAOzwB,MAAM8V,gBAAkB,+CAC/B2a,EAAOzwB,MAAM+iD,UAAY,kBACzBtyB,EAAOzwB,MAAMoV,SAAW,OACxBqb,EAAOzwB,MAAMgjD,WACX,uDAEF,MAAMC,EAAQxyB,EAAO9c,YAAYtd,SAAS4D,cAAc,UACxDgpD,EAAMjjD,MAAMkG,MAAQ,OACpB+8C,EAAMjjD,MAAMuW,UAAY,SACxB0sC,EAAMjjD,MAAMoW,WAAa,SACzB,MAAM8sC,EAAQD,EAAMtvC,YAAYtd,SAAS4D,cAAc,UAEjDkpD,EAAW,SAAU1/B,EAAM9d,GAC/B,MAAMy9C,EAAK/sD,SAAS4D,cAAc,MAIlC,OAHAmpD,EAAGpjD,MAAMuW,UAAY,QACrB6sC,EAAG5qD,UAAY8mB,EAAgB3Z,EAC/By9C,EAAGhoD,YAAcqoB,EACV2/B,GAEHhrD,EAAO8qD,EAAMvvC,YAAYtd,SAAS4D,cAAc,OACtD7B,EAAK4H,MAAMq0B,WAAa,OACxBj8B,EAAKub,YACHwvC,EAAS,aAAsCzjC,IAEnCwjC,EAAMvvC,YAAYtd,SAAS4D,cAAc,OACjD0Z,YAAYwvC,EAAS,eAAgB3jC,IAChC0jC,EAAMvvC,YAAYtd,SAAS4D,cAAc,OACjD0Z,YAAYwvC,EAAS,iBAAkB3jC,IAC7B0jC,EAAMvvC,YAAYtd,SAAS4D,cAAc,OACjD0Z,YAAYwvC,EAAS,YAAa3jC,IAEvCrW,EAAE,WAAWwK,YAAY8c,GAEzBl1B,OAAO6C,KAAKwf,KAAKyN,SAAS6B,SAASn1B,IACjCk4B,GAA2Bl4B,MAwtR7BsrD,GAnkRF,WACE,MAAMjyB,EAAW/6B,SAAS4D,cAAc,OACxCm3B,EAAS5F,GAAK,aACd4F,EAASpxB,MAAMgI,SAAW,WAC1BopB,EAASpxB,MAAMqV,QAAU,OACzB+b,EAASpxB,MAAMmG,OAAS,MACxBirB,EAASpxB,MAAMyvB,SAAW,OAC1B2B,EAASpxB,MAAMq0B,WAAa,OAC5BjD,EAASpxB,MAAM8iD,iBAAmB,QAGlC,MAAMQ,EAAej0B,GAAY,eAAgB,cAAe,CAC9D,CAAE7D,GAAI,qBAAsB7lB,MAAOma,GACnC,CAAE0L,GAAI,kBAAmB7lB,MAAOka,KAElCuR,EAASzd,YAAY2vC,GAGrB,MAAMC,EAAgBl0B,GAAY,gBAAiB,gBAAiB,CAClE,CAAE7D,GAAI,sBAAuB7lB,MAAOma,GACpC,CAAE0L,GAAI,mBAAoB7lB,MAAOga,KAEnCyR,EAASzd,YAAY4vC,GACrB,MAAMC,EAAqBntD,SAAS4D,cAAc,OAClDupD,EAAmBh4B,GAAK,uBACxB4F,EAASzd,YAAY6vC,GAErBr6C,EAAE,WAAWwK,YAAYyd,GAyiRzBqyB,GAlpGF,WACE,MAAMC,EAAartD,SAAS4D,cAAc,OAC1CypD,EAAWl4B,GAAK,eAChBk4B,EAAW1jD,MAAMkG,MAAQ,OACzBw9C,EAAW1jD,MAAM8iD,iBAAmB,QACpCY,EAAW1jD,MAAMuW,UAAY,SAC7BmtC,EAAW1jD,MAAMq0B,WAAa,OAC9BqvB,EAAW1jD,MAAMqV,QAAU,OAC3BquC,EAAW1jD,MAAMyU,OAAS,KAC1BivC,EAAWnT,WAAa,WACtB3yB,KAAK2W,QAAQxlB,QAGf,MAAMstB,EAAchmC,SAAS4D,cAAc,OAC3CoiC,EAAY1oB,YA/Dd,WACE,MAAMgwC,EAASttD,SAAS4D,cAAc,OACtC0pD,EAAO3jD,MAAMu8B,SAAW,QACxBonB,EAAO3jD,MAAMy0B,aAAe,MAC5B,MAAM0Z,EAAQ93C,SAAS4D,cAAc,OACrCk0C,EAAM31C,UAAY,OAClB21C,EAAMnuC,MAAMy0B,aAAe,MAC3B0Z,EAAM/yC,YAAc,SACpBuoD,EAAOhwC,YAAYw6B,GAEnB,MAAMyV,EAAa,SAAUj+C,EAAO8d,GAClC,MAAM8K,EAAMl4B,SAAS4D,cAAc,OACnCs0B,EAAIvuB,MAAM2vB,cAAgB,SAC1B,MAAMikB,EAAOv9C,SAAS4D,cAAc,QAQpC,OAPA25C,EAAKp7C,UAAY+mB,EAAgB5Z,EACjCiuC,EAAK5zC,MAAMqV,QAAU,eACrBu+B,EAAK5zC,MAAMmG,OAAS,OACpBytC,EAAK5zC,MAAMkG,MAAQ,OACnB0tC,EAAK5zC,MAAM0vB,YAAc,MACzBnB,EAAI5a,YAAYigC,GAChBrlB,EAAI5a,YAAYtd,SAASqgB,eAAe+M,IACjC8K,GAsBT,OAnBAo1B,EAAOhwC,YACLiwC,EAAWpkC,EAAY,iDAEzBmkC,EAAOhwC,YACLiwC,EAAWnkC,EAAa,wCAE1BkkC,EAAOhwC,YACLiwC,EAAWlkC,EAAc,0CAE3BikC,EAAOhwC,YACLiwC,EAAWjkC,EAAc,0CAE3BgkC,EAAOhwC,YACLiwC,EAAWhkC,EAAW,0CAExB+jC,EAAOhwC,YACLiwC,EAAW/jC,EAAc,8CAE3B8jC,EAAOhwC,YAAYiwC,EAAW9jC,EAAY,4BACnC6jC,EAoBiBE,IACxBH,EAAWtT,YAAc,WACvBxyB,KAAK2W,QAAQhlB,KAAK9Y,KAAM+lC,OAAOH,EAAY9mB,WAAY,UAGzD,MAAMuuC,EAAgB,SAAUt4B,EAAI7lB,GAClC,MAAMiuC,EAAOv9C,SAAS4D,cAAc,QAMpC,OALA25C,EAAKpoB,GAAKA,EACVooB,EAAKp7C,UAAY8mB,EAAgB3Z,EACjCiuC,EAAK5zC,MAAMkG,MAAQ,qBACnB0tC,EAAK5zC,MAAMqV,QAAU,eACrBu+B,EAAKx4C,YAAc,IACZw4C,GAET8P,EAAW/vC,YAAYmwC,EAAc,mBAAoBtkC,IACzDkkC,EAAW/vC,YAAYmwC,EAAc,oBAAqBrkC,IAC1DikC,EAAW/vC,YAAYmwC,EAAc,qBAAsBpkC,IAC3DgkC,EAAW/vC,YAAYmwC,EAAc,qBAAsBnkC,IAC3D+jC,EAAW/vC,YAAYmwC,EAAc,kBAAmBlkC,IACxD8jC,EAAW/vC,YAAYmwC,EAAc,qBAAsBjkC,IAC3D6jC,EAAW/vC,YAAYmwC,EAAc,mBAAoBhkC,IAEzD3W,EAAE,YAAY+N,WAAWm1B,aACvBqX,EACAv6C,EAAE,YAAY+N,WAAWoX,WAAW,IA6mGtCy1B,GA10FF,WACE,MAAMC,EAAc3tD,SAAS4D,cAAc,OAC3C+pD,EAAYx4B,GAAK,gBACjBw4B,EAAYhkD,MAAMkG,MAAQ,OAC1B89C,EAAYhkD,MAAMmG,OAAS,OAC3B69C,EAAYhkD,MAAM4U,gBAAkB,QACpCovC,EAAYhkD,MAAMqV,QAAU,OAC5B2uC,EAAYhkD,MAAMyU,OAAS,aAC3BuvC,EAAYhkD,MAAMgI,SAAW,WAC7BmB,EAAE,WAAWwK,YAAYqwC,GAk0FzBC,GAtmGF,WACE,MAAM11B,EAAMl4B,SAAS4D,cAAc,OACnCs0B,EAAI/C,GAAK,sBACT+C,EAAIvuB,MAAMuW,UAAY,SACtB,MAAM3V,EAAIvK,SAAS4D,cAAc,KACjC2G,EAAEpI,UAAY,SACdoI,EAAEsvC,QAAU,WAC0B,SAAhC/mC,EAAE,YAAYnJ,MAAMqV,SACtBlM,EAAE,YAAYnJ,MAAMqV,QAAU,OAC9BlM,EAAE,kBAAkBnJ,MAAMqV,QAAU,OACpClM,EAAE,gBAAgBnJ,MAAMqV,QAAU,OAClClM,EAAE,iBAAiBnJ,MAAMqV,QAAU,SAEnClM,EAAE,YAAYnJ,MAAMqV,QAAU,OACc,IAAxClM,EAAE,kBAAkBoxB,SAASviC,SAC/BmR,EAAE,kBAAkBnJ,MAAMqV,QAAU,SACI,IAAtClM,EAAE,gBAAgBoxB,SAASviC,SAC7BmR,EAAE,gBAAgBnJ,MAAMqV,QAAU,SACO,IAAvClM,EAAE,iBAAiBoxB,SAASviC,SAC9BmR,EAAE,iBAAiBnJ,MAAMqV,QAAU,WAGzCzU,EAAExF,YAAc,qBAChBmzB,EAAI5a,YAAY/S,GAChB,MAAMP,EAAIhK,SAAS4D,cAAc,KACjCoG,EAAE7H,UAAY,SACd6H,EAAE6vC,QAAU,WAC0B,SAAhC/mC,EAAE,YAAYnJ,MAAMqV,QACtBlM,EAAE,YAAYnJ,MAAMqV,QAAU,OAC3BlM,EAAE,YAAYnJ,MAAMqV,QAAU,QAErChV,EAAEjF,YAAc,sBAChBmzB,EAAI5a,YAAYtT,GAChB8I,EAAE,SAASkjC,aAAa9d,EAAKplB,EAAE,SAASmlB,WAAW,IAskGnD41B,GA5jKF,WACE,MAAMne,EAAU1vC,SAAS4D,cAAc,QACvC8rC,EAAQva,GAAK,YACbua,EAAQ93B,IAAM,gBACd83B,EAAQ0F,KAAO,uDACfp1C,SAAS8tD,qBAAqB,QAAQ,GAAGxwC,YAAYoyB,GAwjKrDqe,GACA7oD,OAAO6C,KAAK8hB,GAAagN,SAASn1B,KAriGpC,SAA6BskC,EAAa5Y,EAAM8Y,GAC9C,MAAMiN,EAAUnzC,SAAS4D,cAAc,OACvCuvC,EAAQhe,GAAK6Q,EACb,MAAMyP,EAAOz1C,SAAS4D,cAAc,OACpC6xC,EAAK9rC,MAAMu8B,SAAWA,EACtBuP,EAAK9rC,MAAMy0B,aAAe,MAC1B,MAAMlG,EAAMl4B,SAAS4D,cAAc,OACnCs0B,EAAIvuB,MAAMuW,UAAY,OACtBgY,EAAInzB,YAAcqoB,EAClBqoB,EAAKn4B,YAAY4a,GACjBib,EAAQ71B,YAAYm4B,GACpB3rB,EAAsBkc,GAAemN,EA2hGnC6a,CACEnkC,EAAYnoB,GAAG,GACfmoB,EAAYnoB,GAAG,GACfmoB,EAAYnoB,GAAG,OAj6FrB,WACE,MAAM4iD,EAAUtkD,SAAS4D,cAAc,KACvC0gD,EAAQnvB,GAAK,6BACbmvB,EAAQv/C,YAAc,iBACtBu/C,EAAQniD,UAAY,SACpBmiD,EAAQzK,QAAU,WAChB8B,MAEF2I,EAAQpK,WAAa,WACnB3yB,KAAK2W,QAAQ4sB,WAAa,GAE5BxG,EAAQvK,YAAc,WACpBxyB,KAAK2W,QAAQye,QAAU,EACvBp1B,KAAK2W,QAAQhlB,KACX9Y,MACA,WACE,OAAOy7C,GAAc,KAAM,YAE7B,QAEFt0B,KAAK2W,QAAQ0e,UAEf9pC,EAAE,oBAAoBoxB,SAAS,GAAG+pB,OAAO3J,GACzC,MAAME,EAAcxkD,SAAS4D,cAAc,KAC3C4gD,EAAYrvB,GAAK,2BACjBqvB,EAAYz/C,YAAc,qBAC1By/C,EAAYriD,UAAY,SACxBqiD,EAAY3K,QAAU,WACa,OAA7BzoB,GAAsB,KACxB7J,KAAKuR,UAAU1H,GAAsB,IAAIwqB,GAAK,IAElD4I,EAAYtK,WAAa,WACvB3yB,KAAK2W,QAAQ4sB,WAAa,GAE5BtG,EAAYzK,YAAc,WACxBxyB,KAAK2W,QAAQye,QAAU,EACvBp1B,KAAK2W,QAAQhlB,KACX9Y,MACA,WACE,OAAOy7C,GAAc,KAAM,gBAE7B,QAEFt0B,KAAK2W,QAAQ0e,UAEf9pC,EAAE,oBAAoBoxB,SAAS,GAAG+pB,OAAOzJ,GAu3FzC0J,GAh2FAp7C,EAAE,YAAYnJ,MAAMqV,QAAU,OAC9BlM,EAAE,aAAanJ,MAAMwtB,QAAU,MAE/BrkB,EAAE,YAAYnJ,MAAMqV,QAAU,OAC9BlM,EAAE,YAAYnJ,MAAM,aAAe,OAqInCzE,OAAO6C,KAAKwf,KAAKyN,SAAS6B,SAASn1B,IACjC,MAAMo2B,EAAKvQ,KAAKyN,QAAQtzB,GACiB,OAArCoR,EAAE,UAAUglB,EAAG3C,MAAM4kB,cACvBlxB,EAAmBnnB,GAAKoR,EAAE,UAAUglB,EAAG3C,MAAM4kB,YAC7CjnC,EAAE,UAAUglB,EAAG3C,MAAM4kB,YAAc,WACjCxyB,KAAK2W,QAAQye,QAAU,EACvBp1B,KAAK2W,QAAQhlB,KACX9Y,MACA,WACE,OAAOy7C,GAAc,IAAK,GAAGn6C,OAE/B,SAEF6lB,KAAK2W,QAAQ0e,cAUfr1B,KAAK4mC,aACPtmC,EAAoB/U,EAAE,SAASinC,YAC/BjnC,EAAE,SAASinC,YAAc,WACvBxyB,KAAK2W,QAAQye,QAAU,EACvBp1B,KAAK2W,QAAQhlB,KACX9Y,MACA,WACE,OAAOy7C,GAAc,IAAK,UAE5B,QAEFt0B,KAAK2W,QAAQ0e,WAkFjBz0B,EAAgBZ,KAAKY,cACrBZ,KAAKY,cAAgB,WACnBA,IA3EEZ,KAAKyN,QAAQmM,KAAKzL,iBACpB5iB,EAAE,gBAAgBinC,YAAc,WAC9BxyB,KAAK2W,QAAQye,QAAU,EACvBp1B,KAAK2W,QAAQhlB,KACX9Y,MACA,WACE,OAAOy7C,GAAc,KAAM,sBAE7B,QAEFt0B,KAAK2W,QAAQ0e,UAEf1xC,MAAMq+C,KAAKz2C,EAAE,cAAcoxB,UAAUrN,SAASu3B,IAC5C,MAAMC,EAASD,EAAMj5B,GAAG1P,OAAO,GAC/B2oC,EAAMrU,YAAc,WAClBxyB,KAAK2W,QAAQye,QAAU,EACvBp1B,KAAK2W,QAAQhlB,KACX9Y,MACA,WACE,OAAOy7C,GAAc,IAAK,CAAC,GAAGwS,EAAO,KAAM,GAAGA,EAAO,SAEvD,QAEF9mC,KAAK2W,QAAQ0e,cAsDjBF,KAhDJ,WACE,GAAIn1B,KAAKyN,QAAQF,OAAOY,eAAgB,CACtC,IAAK,IAAIh0B,EAAI,EAAGA,EAAI,GAAIA,GAAK,EAC3BoR,EAAE,YAAYpR,KAAKq4C,YAAc,WAC/BxyB,KAAK2W,QAAQye,QAAU,EACvBp1B,KAAK2W,QAAQhlB,KACX9Y,MACA,WACE,OAAOy7C,GAAc,MAAOn6C,KAE9B,QAEF6lB,KAAK2W,QAAQ0e,UAGjB,IAAK,IAAIl7C,EAAI,EAAGA,EAAI,EAAGA,GAAK,EAC1BoR,EAAE,aAAapR,KAAKq4C,YAAc,WAChCxyB,KAAK2W,QAAQye,QAAU,EACvBp1B,KAAK2W,QAAQhlB,KACX9Y,MACA,WACE,OAAOy7C,GAAc,MAAO,CAC1Bn6C,EACA6lB,KAAKyN,QAAQF,OAAOC,SAAS8I,KAAKn8B,OAGtC,QAEF6lB,KAAK2W,QAAQ0e,WAqBjB0R,GACAvR,MAEFx1B,KAAKY,gBA4hFLrV,EAAE,wBAAwBinC,YAAc,WACtC9vB,EAAsB,GAExBnX,EAAE,wBAAwBonC,WAAa,WACrCjwB,EAAsB,EACtB1C,KAAK2W,QAAQxlB,OACbxT,OAAO6C,KAAKwf,KAAKuR,WAAWjC,SAASn1B,IACnCyoB,EAA0BzoB,GAAK,MA+DnC2nD,KACAtM,KACAx1B,KAAK8hB,iBAELkS,KACAxxB,EAAoBxC,KAAK4wB,SAErB5wB,KAAK8c,MAAMkqB,OACbhnC,KAAKinC,MACH,0CAGFjnC,KAAKknC,OACH,yCACA,GACA,GACA,EACA,GAGJlnC,KAAKmnC,IAAI,eA2EX,MAAMC,GAAK,CACT3tD,KA1DF,WACEg2C,IAAiB,EACjB,IAAI4X,GAAU,EACVrnC,KAAK+uB,UAAYnqB,OA1hUF,WA2hUjByiC,EAAUC,QACR,4JAGAD,IACFrC,KACAhlC,KAAKunC,aAAa,OAAQ1qB,IAC1B7c,KAAKunC,aAAa,QAAS5W,IAC3B3wB,KAAKunC,aAAa,QAASnoB,IAC3BqQ,IAAiB,IA8CnB+X,KA/BF,SAAcjsD,GACZ,MAAMozC,EAAOnzC,KAAKC,MAAMF,GACxBi0C,UAEsC,IAA3Bb,EAAKE,oBACd3qB,GAAoByqB,EAAKE,mBAC3BmF,GAAWrF,EAAKG,UACK,YAAjBH,EAAKI,UACH/uB,KAAK8c,MAAMkqB,OACbhnC,KAAKinC,MACH,iGAGFjnC,KAAKknC,OACH,gGACA,GACA,GACA,EACA,KAcNvY,KAAMA,IAGR3uB,KAAKynC,YAAY,gBAAiBL,KA5lUlC,IAxgHS","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file diff --git a/src/Data/SettingsData.js b/src/Data/SettingsData.js index 431f4816..6786006b 100644 --- a/src/Data/SettingsData.js +++ b/src/Data/SettingsData.js @@ -522,9 +522,16 @@ const Config = { 'bool', 'Statistics', ['Missing upgrades OFF', 'Missing upgrades ON'], - 'Shows missing upgrades in stats menu', + 'Shows missing upgrades in statistics menu', true, ), + MissingAchievements: new SettingStandard( + 'bool', + 'Statistics', + ['Missing Achievements OFF', 'Missing Normal Achievements ON'], + 'Shows missing normal achievements in statistics menu.', + false, + ), UpStats: new SettingStandard( 'bool', 'Statistics', diff --git a/src/Data/SettingsDefault.js b/src/Data/SettingsDefault.js index 522defda..4dfb6e36 100644 --- a/src/Data/SettingsDefault.js +++ b/src/Data/SettingsDefault.js @@ -57,6 +57,7 @@ const ConfigDefault = { TooltipAscendButton: 1, Stats: 1, MissingUpgrades: 1, + MissingAchievements: 0, UpStats: 1, HeavenlyChipsTarget: 1, ShowMissedGC: 1, diff --git a/src/Disp/MenuSections/Statistics/AddStatsPage.js b/src/Disp/MenuSections/Statistics/AddStatsPage.js index 349dddd9..4f7beb4a 100644 --- a/src/Disp/MenuSections/Statistics/AddStatsPage.js +++ b/src/Disp/MenuSections/Statistics/AddStatsPage.js @@ -17,6 +17,7 @@ import PopAllNormalWrinklers from '../../HelperFunctions/PopWrinklers'; import { ClickTimes, CookieTimes } from '../../VariablesAndData'; import GetCPS from '../../HelperFunctions/GetCPS'; import { Beautify } from '../../BeautifyAndFormatting/BeautifyFormatting'; +import AddMissingAchievements from './CreateMissingAchievements'; /** * This function adds stats created by CookieMonster to the stats page @@ -191,4 +192,7 @@ export default function AddMenuStats(title) { if (CMOptions.MissingUpgrades) { AddMissingUpgrades(); } + if (CMOptions.MissingAchievements) { + AddMissingAchievements(); + } } diff --git a/src/Disp/MenuSections/Statistics/CreateMissingAchievements.js b/src/Disp/MenuSections/Statistics/CreateMissingAchievements.js new file mode 100644 index 00000000..ee771756 --- /dev/null +++ b/src/Disp/MenuSections/Statistics/CreateMissingAchievements.js @@ -0,0 +1,85 @@ +/* eslint-disable no-param-reassign */ +import { CMOptions } from '../../../Config/VariablesAndData'; + +function CrateTooltipLockedAchievements(me) { + const tags = []; + if (me.pool === 'shadow') tags.push('Shadow Achievement', '#9700cf'); + else tags.push('Achievement', 0); + tags.push('Locked', 0); + + let neuromancy = 0; + if (Game.Has('Neuromancy') || (Game.sesame && me.pool === 'debug')) + neuromancy = 1; + if (neuromancy && me.won === 0) tags.push('Click to win!', '#00c462'); + else if (neuromancy && me.won > 0) tags.push('Click to lose!', '#00c462'); + + let { icon } = me; + if (me.iconFunction) icon = me.iconFunction(); + + let { desc } = me; + if (me.descFunc) desc = me.descFunc('stats'); + + let tagsStr = ''; + for (let i = 0; i < tags.length; i += 2) { + if (i % 2 === 0) + tagsStr += `
[${tags[i]}]
`; + } + tagsStr = tagsStr.substring(1); + + return `
+
+
${me.name}
+ ${tagsStr}
${desc}
+ ${ + Game.sesame + ? `
Id : ${me.id} | Order : ${Math.floor( + me.order, + )}${me.tier ? ` | Tier : ${me.tier}` : ''}
` + : '' + }`; +} + +/** + * This function overwrites the crates of missing achievements + */ +export default function AddMissingAchievements() { + let achievs; + Object.values(document.querySelectorAll('div.title')).forEach((i) => { + if (i.textContent.includes('Achievements')) { + achievs = i.parentElement.querySelectorAll('div.listing.crateBox')[0]; + } + }); + if (CMOptions.MissingAchievements) { + Object.values(achievs.children).forEach((achievsCrate) => { + if (!achievsCrate.className.includes('enabled')) { + const id = achievsCrate.onclick.toString().match(/(?<=\[).*(?=\])/g)[0]; + const { icon } = Game.AchievementsById[id]; + achievsCrate.style.backgroundPosition = `${-icon[0] * 48}px ${ + -icon[1] * 48 + }px`; + achievsCrate.onmouseover = function () { + if (!Game.mouseDown) { + Game.setOnCrate(this); + Game.tooltip.dynamic = 1; + Game.tooltip.draw( + this, + function () { + return (function () { + return CrateTooltipLockedAchievements( + Game.AchievementsById[id], + ); + })(); + }, + 'top', + ); + Game.tooltip.wobble(); + } + }; + } + }); + } +} From d5aaba3546a000f0a60f4d69f1877b4dc73e327f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Sun, 4 Apr 2021 13:25:02 +0200 Subject: [PATCH 22/30] Build CookieMonster.js --- CookieMonster.js | 2 +- dist/CookieMonster.js | 2 +- dist/CookieMonster.js.map | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CookieMonster.js b/CookieMonster.js index ee1596cf..6ad999d4 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x=[],M=[],T=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],$={};let R,I,z=0,V=-1,_=[],Q=1,X=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Me,Te,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=1,dt=1,pt=1,ut=0,mt=0,ht=0,gt=0,ft={},Ct={},yt={},bt=0,kt=0,Gt=[0,null],vt=0,wt=0,xt={},Mt={},Tt={},St={},Pt={},Bt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Dt=0,Ht=0,Ut=[],$t=0,Rt=0,It={},zt={},Vt=0,_t=0,Qt=[],Xt={},qt=0,Yt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Kt=[],Jt=[],Zt=[];function eo(e){let t=0;return Game.dragonAuras[He].name!==e&&Game.dragonAuras[Ue].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[He].name&&"Reality Bending"!==Game.dragonAuras[Ue].name||(t+=.1),t}function to(){let e=.25;return e*=1+eo("Earth Shatterer"),e}function oo(e,t){return void 0===Ve[e]?void 0===t?1:t:Ve[e]}function no(e){const t=Jt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function io(e){if(Game.hasGod){void 0===Kt.Temple.minigame&&(Kt.Temple.minigame=Game.Objects.Temple.minigame);const t=Kt.Temple.minigame.gods[e];if($e===t.id)return 1;if(Re===t.id)return 2;if(Ie===t.id)return 3}return!1}function ao(e,t){let o=t;if(no("Season savings")&&(o*=.99),no("Santa's dominion")&&(o*=.99),no("Faberge egg")&&(o*=.99),no("Divine discount")&&(o*=.99),no("Fortune #100")&&(o*=.99),o*=1-.02*eo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&no(e.fortune.name)&&(o*=.93),o*=oo("buildingCost"),Kt.Temple.minigameLoaded){const e=io("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ro(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function lo(){let t=Game.buyBulk;if(1===Game.buyMode?X=t:t=X,1===t?t=ft:10===t?t=Ct:100===t&&(t=yt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ft).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ro(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ft).map((e=>{const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?Q=i:i=Q,1===i&&(i=ft),10===i&&(i=Ct),100===i&&(i=yt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+po()))/co());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&no(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(no(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&no(e.fortune.name)&&(t*=1.07),e.grandma&&no(e.grandma.name)&&(t*=1+.01*Kt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&no(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function Go(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;no("Thousand fingers")&&(t+=.1),no("Million fingers")&&(t*=5),no("Billion fingers")&&(t*=10),no("Trillion fingers")&&(t*=20),no("Quadrillion fingers")&&(t*=20),no("Quintillion fingers")&&(t*=20),no("Sextillion fingers")&&(t*=20),no("Septillion fingers")&&(t*=20),no("Octillion fingers")&&(t*=20),no("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Kt).forEach((e=>{"Cursor"!==Kt[e].name&&(n+=Kt[e].amount)})),t*=n,o*=ko(e),o*=Game.magicCpS("Cursor"),o*=oo("cursorCps"),Game.ComputeCps(.1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{no(Game.GrandmaSynergies[e])&&(o*=2)})),no("Bingo center/Research facility")&&(o*=4),no("Ritual rolling pins")&&(o*=2),no("Naughty list")&&(o*=2),no("Elderwort biscuits")&&(o*=1.02),o*=oo("grandmaCps"),no("Cat ladies"))for(let e=0;e{"Grandma"!==Kt[e].name&&(i+=Kt[e].amount)})),o*=1+.01*eo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=ko(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function vo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Kt).forEach((t=>{Kt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(no("Starlove")&&(e=3),Game.hasGod){const t=io("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function wo(){We=Game.UpgradesOwned,Le=Game.pledges,Ae=Game.AchievementsOwned,je=Game.heavenlyPower,De=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e],mo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&($e=t.minigame.slot[0],Re=t.minigame.slot[1],Ie=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Kt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Jt[e];void 0===o&&(Jt[e]=vo(e),o=Jt[e]),o.bought=t.bought,Jt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Zt[e];void 0===o&&(Zt[e]=bo(e),o=Zt[e]),o.won=t.won,Zt[e]=o})),yo(),He=Xe,Ue=qe}function xo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function Mo(e){e.appendChild(xo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(xo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(xo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(xo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(xo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function To(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Po(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Bo(){if(wo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(Mo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ft:10===Game.buyBulk?t=Ct:100===Game.buyBulk&&(t=yt),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+po()))/co());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(xo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(xo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=uo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,fo())}}(),ho(),Bo(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Kt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function No(){ue.addLatest(Game.computedMouseCps)}class Oo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Fo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+qt;Game.cpsSucked>0&&(o+=bt),$t=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-be,i=Math.max(0,Game.cookies-ke)/n,a=Math.max(0,bt-Ge)/n,r=Math.max(0,Gt[0]-ve)/n,l=Math.max(0,o-gt)/n,s=(Game.cookieClicks-we)/n;for(let e=0;e0&&(n=W),n}function Lo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Wo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+po()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Qt.push([t[n].pp,o])}))}function jo(){!function(){_t=1/0,Qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Ao(ft,1),Ao(Ct,10),Ao(yt,100),Qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Qt[t][1]>Game.cookies&&(t+=1,Qt.length!==t+1););_t=Qt[e.PPExcludeTop][t],Lo(ft,1),Lo(Ct,10),Lo(yt,100)}(),Object.keys(xt).forEach((e=>{Game.cookiesPs?xt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+po()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/xt[e].bonus:xt[e].pp=Game.Upgrades[e].getPrice()/xt[e].bonus,Number.isNaN(xt[e].pp)&&(xt[e].pp=1/0),xt[e].color=Wo(xt[e],Game.Upgrades[e].getPrice())}))}function Do(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ve=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(De)*je*function(){let e=0;if(no("Heavenly chip secret")&&(e+=.05),no("Heavenly cookie stand")&&(e+=.2),no("Heavenly bakery")&&(e+=.25),no("Heavenly confectionery")&&(e+=.25),no("Heavenly key")&&(e+=.25),e*=1+.05*eo("Dragon God"),no("Lucky digit")&&(e*=1.01),no("Lucky number")&&(e*=1.01),no("Lucky payout")&&(e*=1.01),Game.hasGod){const t=io("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=oo("cps"),no("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];no(o.name)&&("function"==typeof o.power?e*=1+.01*Jt[o.name].power(Jt[o.name]):e*=1+.01*o.power)})),no("Specialized chocolate chips")&&(e*=1.01),no("Designer cocoa beans")&&(e*=1.02),no("Underworld ovens")&&(e*=1.03),no("Exotic nuts")&&(e*=1.04),no("Arcane sugar")&&(e*=1.05),no("Increased merriness")&&(e*=1.15),no("Improved jolliness")&&(e*=1.15),no("A lump of coal")&&(e*=1.01),no("An itchy sweater")&&(e*=1.01),no("Santa's dominion")&&(e*=1.2),no("Fortune #100")&&(e*=1.01),no("Fortune #101")&&(e*=1.07),no("Dragon scale")&&(e*=1.03);let o=1;if(io){let t=io("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=io("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=io("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=io("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=io("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}no("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Ae/25;let i=1;if(no("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*eo("Breath of Milk"),io){const e=io("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=oo("milk");let a=1;no("Kitten helpers")&&(a*=1+.1*n*i),no("Kitten workers")&&(a*=1+.125*n*i),no("Kitten engineers")&&(a*=1+.15*n*i),no("Kitten overseers")&&(a*=1+.175*n*i),no("Kitten managers")&&(a*=1+.2*n*i),no("Kitten accountants")&&(a*=1+.2*n*i),no("Kitten specialists")&&(a*=1+.2*n*i),no("Kitten experts")&&(a*=1+.2*n*i),no("Kitten consultants")&&(a*=1+.2*n*i),no("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),no("Kitten marketeers")&&(a*=1+.15*n*i),no("Kitten analysts")&&(a*=1+.125*n*i),no("Kitten executives")&&(a*=1+.115*n*i),no("Kitten angels")&&(a*=1+.1*n*i),no("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Kt).forEach((e=>{const t=Kt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&no("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),_e+=t.amount*a})),no('"egg"')&&(_e+=9),e*=a;let r=1;if(no("Chicken egg")&&(r*=1.01),no("Duck egg")&&(r*=1.01),no("Turkey egg")&&(r*=1.01),no("Quail egg")&&(r*=1.01),no("Robin egg")&&(r*=1.01),no("Ostrich egg")&&(r*=1.01),no("Cassowary egg")&&(r*=1.01),no("Salmon roe")&&(r*=1.01),no("Frogspawn")&&(r*=1.01),no("Shark egg")&&(r*=1.01),no("Turtle egg")&&(r*=1.01),no("Ant larva")&&(r*=1.01),no("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),mt=1+.1*(1-(1-e/100)**3),r*=mt}e*=r,no("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+eo("Radiant Appetite");const l=_e*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ho(Game.CpsAchievements[e].name)})),Qe=l;const{n:s}=Game.shimmerTypes.golden,c=eo("Dragon's Fortune");for(let t=0;t{no(e[o])&&(t+=.1)}))}e*=t}if(no("Shimmering veil [off]")){let t=.5;no("Reinforced membrane")&&(t+=.1),e*=1+t}no("Magic shenanigans")&&(e*=1e3),no("Occult obstruction")&&(e*=0),_e=Game.runModHookOnValue("cps",_e),e*=So(),_e*=e}const $o=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ro=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Io=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],zo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Vo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function _o(e){return Zt[e]?Zt[e].won:0}function Qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{no(Game.GrandmaSynergies[t])&&(e+=1)})),!_o("Elder")&&e>=7&&Ho("Elder"),!_o("Veteran")&&e>=14&&Ho("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount,i=Math.min(Kt[e].amount,i),_o("Mathematician")||Kt[e].amount=1&&Ho("One with everything"),1===o&&Ho("Mathematician"),1===n&&Ho("Base 10"),i>=100&&Ho("Centennial"),i>=150&&Ho("Centennial and a half"),i>=200&&Ho("Bicentennial"),i>=250&&Ho("Bicentennial and a half"),i>=300&&Ho("Tricentennial"),i>=350&&Ho("Tricentennial and a half"),i>=400&&Ho("Quadricentennial"),i>=450&&Ho("Quadricentennial and a half"),i>=500&&Ho("Quincentennial"),i>=550&&Ho("Quincentennial and a half"),i>=600&&Ho("Sexcentennial"),t>=100&&Ho("Builder"),t>=500&&Ho("Architect"),t>=1e3&&Ho("Engineer"),t>=2e3&&Ho("Lord of Constructs"),t>=4e3&&Ho("Grand design"),t>=8e3&&Ho("Ecumenopolis"),We>=20&&Ho("Enhancer"),We>=50&&Ho("Augmenter"),We>=100&&Ho("Upgrader"),We>=200&&Ho("Lord of Progress"),We>=300&&Ho("The full picture"),We>=400&&Ho("When there's nothing left to add"),t>=4e3&&We>=300&&Ho("Polymath"),t>=8e3&&We>=400&&Ho("Renaissance baker"),Kt.Cursor.amount+Kt.Grandma.amount>=777&&Ho("The elder scrolls");let a=!0;Object.keys(Ro).forEach((e=>{no(Ro[e])||(a=!1)})),a&&Ho("Spooky cookies");let r=!0;if(Object.keys(Io).forEach((e=>{no(Io[e])||(r=!1)})),r&&Ho("Let it snow"),no("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{no(e[o].name)&&(t+=1)})),t>=e.length&&Ho("O Fortuna")}}function Xo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){wo(),Kt[e].amount+=t;const o=Kt[e];"Cursor"===e?(o.amount>=1&&Ho("Click"),o.amount>=2&&Ho("Double-click"),o.amount>=50&&Ho("Mouse wheel"),o.amount>=100&&Ho("Of Mice and Men"),o.amount>=200&&Ho("The Digital"),o.amount>=300&&Ho("Extreme polydactyly"),o.amount>=400&&Ho("Dr. T"),o.amount>=500&&Ho("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ho("With her finger and her thumb"),o.amount>=700&&Ho("Gotta hand it to you"),o.amount>=800&&Ho("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ho(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Ae;return Uo(),Qo(),n!==Ae&&Uo(),_e-Game.cookiesPs}(o,e),1!==e&&(Ne=1)})),t}function qo(){Object.keys(Game.Objects).forEach((e=>{ft[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),Ct[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),yt[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Yo(){ft=Xo(1),Ct=Xo(10),yt=Xo(100),xt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){wo(),"Shimmering veil [on]"===Jt[e].name?Jt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Jt[e].name?Jt["Golden switch [off]"].bought=0:Jt[e].bought=(Jt[e].bought+1)%2,Jt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(We+=1),"Elder Pledge"===e?(Le+=1,Le>0&&Ho("Elder nap"),Le>=5&&Ho("Elder slumber")):"Elder Covenant"===e?Ho("Elder calm"):"Prism heart biscuits"===e?Ho("Lovely cookies"):"Heavenly key"===e&&Ho("Wholesome");const t=Ae;Uo(),Qo(),t!==Ae&&Uo();const o=function(){let e=0;no("Thousand fingers")&&(e+=.1),no("Million fingers")&&(e*=5),no("Billion fingers")&&(e*=10),no("Trillion fingers")&&(e*=20),no("Quadrillion fingers")&&(e*=20),no("Quintillion fingers")&&(e*=20),no("Sextillion fingers")&&(e*=20),no("Septillion fingers")&&(e*=20),no("Octillion fingers")&&(e*=20),no("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount})),t-=Kt.Cursor.amount,e*=t,no("Plastic mouse")&&(e+=.01*_e),no("Iron mouse")&&(e+=.01*_e),no("Titanium mouse")&&(e+=.01*_e),no("Adamantium mouse")&&(e+=.01*_e),no("Unobtainium mouse")&&(e+=.01*_e),no("Eludium mouse")&&(e+=.01*_e),no("Wishalloy mouse")&&(e+=.01*_e),no("Fantasteel mouse")&&(e+=.01*_e),no("Nevercrack mouse")&&(e+=.01*_e),no("Armythril mouse")&&(e+=.01*_e),no("Technobsidian mouse")&&(e+=.01*_e),no("Plasmarble mouse")&&(e+=.01*_e),no("Miraculite mouse")&&(e+=.01*_e),no("Fortune #104")&&(e+=.01*_e);let o=1;if(no("Santa's helpers")&&(o*=1.1),no("Cookie egg")&&(o*=1.1),no("Halo gloves")&&(o*=1.1),no("Dragon claw")&&(o*=1.03),no("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,no("Luminous gloves")?20:10)),o*=oo("click"),Kt.Temple.minigameLoaded&&io){const e=io("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*eo("Dragon Cursor");let n=o*Game.ComputeCps(1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[_e-Game.cookiesPs,o]:[_e-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(xt[t]={bonus:Game.cookiesPs-xe},1===e.CalcWrink?xt[t].bonus-=Me:2===e.CalcWrink&&(xt[t].bonus-=Te),Number.isFinite(xt[t].bonus)||(xt[t].bonus=0)):(xt[t]={},o[0]&&(xt[t].bonus=o[0]),o[1]&&(xt[t].bonusMouse=o[1]))}))}function Ko(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Nt=Ko(7,e,dt),Bt=2*Nt[1]/dt,Et=Nt[2]/60/60/6/ct,Wt=Ko(6,e,pt),Ot=2*Wt[1]/pt,Ft=Wt[2]/60/60/6/ct,jt=Ko(7,7*e,dt),Lt=2*jt[1]/dt,At=jt[2]/60/60/6/ct,Ut=Ko(6,7*e,pt),Dt=2*Ut[1]/pt,Ht=Ut[2]/60/60/6/ct}function Zo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Be,i=Math.max(0,o-Ee)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?St+=e:"cookie"===o.pool?Pt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Tt+=e)}}))}function tn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ht=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ht*=2)}}function on(){Je=900*st/.15,Je*=ct;const e=So();e>0?Je/=e:Je=0,Ze=dt*(.15*Je)+13,et=pt*(.15*Je)+13,tt=7*Je,ot=dt*(.15*tt)+13,nt=pt*(.15*tt)+13,it=2*Je,at=.15*it,rt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountrt&&(rt=2*Game.Objects[e].price,lt=e)}))}function nn(){let e=1,t=1,o=1;no("Green yeast digestives")&&(o*=1.01),no("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),dt=o*e,pt=o*t,ct=1,0===Game.shimmerTypes.golden.n&&(ct*=1+1.23*Game.auraMult("Dragon's Fortune"))}function an(){bt=0,kt=0,Gt=[0,null];for(let e=0;eGt[0]&&(Gt=[t,e]))}}function rn(){yo(),an(),on(),nn(),Jo(),en(),tn(),me=new Oo(Y[Y.length-1]),he=new Oo(Y[Y.length-1]),ge=new Oo(Y[Y.length-1]),fe=new Oo(Y[Y.length-1]),Ce=new Oo(K[K.length-1]),ye=new Oo(5),ue=new Oo(20*K[K.length-1]),Zo(),Fo(),Yo(),qo(),jo()}const ln={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},sn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function cn(){1===e.BotBar?(l("CMBotBar").style.display="",ho()):l("CMBotBar").style.display="none",fo()}function dn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),ho(),lo(),so()}function pn(){1===e.Favicon&&y>0?It.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class un{constructor(e,t){this.type=e,this.group=t}}class mn extends un{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class hn extends un{constructor(e,t,o){super(e,t),this.desc=o}}class gn extends un{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class fn extends un{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const Cn={CPSMode:new mn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new mn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new mn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new mn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){ze=!0})),Scale:new mn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){dn()})),ScaleDecimals:new mn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){dn()})),ScaleSeparator:new mn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){dn()})),ScaleCutoff:new fn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new mn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new mn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new mn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new mn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){lo()})),PPOnlyConsiderBuyable:new mn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new mn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new mn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new fn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new hn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new hn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new hn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new hn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new hn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new hn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new hn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new hn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new hn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new mn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){cn()})),TimerBar:new mn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){Co()})),TimerBarPos:new mn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),fo()})),TimerBarOverlay:new mn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new mn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",so()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",so()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new mn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new mn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){lo()})),SortUpgrades:new mn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){so()})),DragonAuraInfo:new mn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new mn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new mn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Xt[e].l.style.left,re[e].style.top=Xt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new mn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){pn()})),WrinklerButtons:new mn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new mn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new mn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new mn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new mn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new mn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new mn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new mn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new mn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new fn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new mn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new mn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Po()})),TooltipGrim:new mn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new mn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new mn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new mn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new mn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new mn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new mn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new mn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new mn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON","Missing Shadow Achievements ON","All Missing Achievements ON"],"Shows missing normal or shadow achievements in statistics menu.",!1),UpStats:new mn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new fn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new mn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new mn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new mn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new mn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){sn(e.GCNotification)})),GCFlash:new mn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new hn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new mn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new gn("vol","NotificationGC",[],"Volume"),GCSoundURL:new mn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new mn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){sn(e.FortuneNotification)})),FortuneFlash:new mn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new hn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new mn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new gn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new mn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new mn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){sn(e.SeaNotification)})),SeaFlash:new mn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new hn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new mn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new gn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new mn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new mn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new hn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new mn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new gn("vol","NotificationGard",[],"Volume"),GardSoundURL:new mn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new mn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){sn(e.MagicNotification)})),MagicFlash:new mn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new hn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new mn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new gn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new mn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new mn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){sn(e.WrinklerNotification)})),WrinklerFlash:new mn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new hn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new mn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new gn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new mn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new mn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){sn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new mn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new hn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new mn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new gn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new mn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new mn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new mn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function yn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function bn(){if(Ye!==Game.dragonLevel||ze){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Upgrades).forEach((e=>{Jt[e]=vo(e)})),Zt=[],Object.keys(Game.Achievements).forEach((e=>{Zt[e]=bo(e)})),wo()}let vn=!1;function wn(t,o,n){(1===e[o]||n)&&3===t&&!1===vn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){wn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){wn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){wn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function xn(t,o,n,i){if((1===e[o]||i)&&!1===vn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Mn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===vn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Tn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(cn(),Co()),go()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(Gn(),rn(),r=Object.keys(Game.mods).length),ze&&(Yo(),Game.Has("Golden switch [off]")?(wo(),Jt["Golden switch [off]"].bought=0,Uo(),st=_e):st=Game.cookiesPs,nn(),on(),en(),Jo(),bn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Yt[e][t]=kn(e,t)}(),tn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;wo();let t=2;5!==He&&18!==He||(t-=1),5!==Ue&&18!==Ue||(t-=1),He=5,Ue=18;for(let e=0;e{Kt[t].amount>0&&(e=t)})),Kt[e].amount-=1,Fe-=1}return Object.keys(Kt).forEach((t=>{const o=Kt[t];e+=ro(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),qt=e}(),ze=0);const t=Game.auraMult("Fierce Hoarder")>0;!Oe&&t?(Oe=!0,Ne=1):Oe&&!t&&(Oe=!1,Ne=1),Ne&&(qo(),Ne=0),function(){an(),jo(),function(){vt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Kt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}wt=e,vt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Fo(),Zo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Vt=de(e/co())}(),G=0,Xt={},Object.keys(Game.shimmers).forEach((e=>{Xt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(It=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Xt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),pn(),b=G,0===G&&(It=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Xt[e].l.style.opacity,re[e].style.transform=Xt[e].l.style.transform,re[e].textContent=Math.ceil(Xt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(wn(3,"FortuneFlash",!1),xn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Mn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(zt=Game.shimmers[e])})),wn(3,"SeaFlash",!1),xn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Mn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?wn(3,"WrinklerMaxFlash",!1):wn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?xn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):xn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Mn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Mn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Sn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=ln[t]):"Header"===t&&Object.keys(ln.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=ln[t][n])}))})),o&&Pn(),Tn(),Object.keys(ln).forEach((e=>{"Header"!==e&&void 0!==Cn[e].func&&Cn[e].func()}))}else Bn(ln);Game.UpdateMenu(),Sn()}function En(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Nn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Do(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Bo(),l("tooltip").innerHTML}function On(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(M[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Fn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Pn()}function Un(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Hn(o),Game.UpdateMenu()},n.appendChild(i),n}function $n(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape($[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Rn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function In(e){const t=[];let o=0,n="",{icon:i}=e,{desc:a}=e;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");for(let e=0;e[${t[e]}]`);return n=n.substring(1),e.iconFunction&&(i=e.iconFunction()),e.descFunc&&(a=e.descFunc("stats")),`
\n
\n
${e.name}
\n ${n}
${a}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}function zn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Un("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+po(){Game.HasUnlocked(Vo[e])||c.push(Vo[e])})),0!==c.length&&e.appendChild($n("basic","Rare plant drops left to unlock",Rn(c))),e}())),o.appendChild(Un("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?gt:0)));t.appendChild($n("withTooltip","Prestige level (cur / max)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&>?gt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/Rt,1)})`,i.appendChild(a),t.appendChild($n("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild($n("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild($n("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(ce(ut,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild($n("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(ce(e)))),t.appendChild($n("basic","Time till target (cur, current 5 second average)",document.createTextNode(de(e/ut)))))}const l=function(e){let t=Game.cookiesPs;wo(),0===Jt["Heavenly key"].bought&&(Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,Uo(),t=_e,wo()),$t>=1e6&&Ho("Sacrifice"),$t>=1e9&&Ho("Oblivion"),$t>=1e12&&Ho("From scratch"),$t>=1e15&&Ho("Nihilism"),$t>=1e18&&Ho("Dematerialize"),$t>=1e21&&Ho("Nil zero zilch"),$t>=1e24&&Ho("Transcendence"),$t>=1e27&&Ho("Obliterate"),$t>=1e30&&Ho("Negative void"),$t>=1e33&&Ho("To crumbs, you say?"),$t>=1e36&&Ho("You get nothing"),$t>=1e39&&Ho("Humble rebeginnings"),$t>=1e42&&Ho("The end of the world"),$t>=1e45&&Ho("Oh, you're back"),$t>=1e48&&Ho("Lazarus"),$t>=1e51&&Ho("Smurf account"),$t>=1e54&&Ho("If at first you don't succeed"),Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,De=e;const o=Ae;Uo(),Qo(),o!==Ae&&Uo();const n=_e-t;return De=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild($n("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Un("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(bt)} / ${ce(kt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){En()},e.appendChild(t),o.appendChild($n("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(Gt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},n.appendChild(i),o.appendChild($n("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==Gt[1]?Gt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(n.push(Ro[e]),o=!0)}));const i=[];Object.keys(Io).forEach((e=>{Game.Has(Io[e])||(i.push(Io[e]),o=!0)}));const a=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(a.push(zo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Un("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild($n("basic","Halloween cookies left to buy",Rn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild($n("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild($n("basic","Christmas cookies left to buy",Rn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild($n("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild($n("basic","Valentine cookies left to buy",Rn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild($n("basic","Normal easter eggs left to unlock",Rn(r))),t.appendChild($n("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild($n("basic","Rare easter eggs left to unlock",Rn(l))),t.appendChild($n("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild($n("basic","Reindeer reward",document.createTextNode(ce(ht)))),s&&t.appendChild($n("withTooltip","Chocolate egg cookies",document.createTextNode(ce(gt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild($n("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(mt-1))/100+"%")))}return t}()),o.appendChild(Un("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild($n("basic",`Average cookies per second (past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(co(),3)))),o.appendChild($n("basic",`Average cookie clicks per second (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(Mt,1)))),o.appendChild($n("basic",`Cookies from clicking (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(ue.calcSum(Mt*K[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys($o).forEach((t=>{Game.Has($o[t])||e.push($o[t])})),0!==e.length&&o.appendChild($n("basic","Fortune Upgrades Left to Buy",Rn(e)))}if(e.ShowMissedGC&&o.appendChild($n("basic","Missed golden cookies",document.createTextNode(ce(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild($n("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t,o;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&([t,o]=e.parentElement.querySelectorAll("div.listing.crateBox"))})),1!==e.MissingAchievements&&3!==e.MissingAchievements||Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return In(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}})),e.MissingAchievements>=2&&Object.values(o.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t].icon;e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return In(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const Vn={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},_n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Qn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Hn(t),Game.UpdateMenu()},n.appendChild(i),n}function Xn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return se.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(e),Pn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape($.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===Cn[t].type){const n=document.createElement("a");Cn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=jn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===Cn[t].label.length?(e[t]=0,Cn[t].toggle&&(l(jn+t).className="option off")):l(jn+t).className="option",void 0!==Cn[t].func&&Cn[t].func(),l(jn+t).innerHTML=Cn[t].label[e[t]],Pn()}(t)},n.textContent=Cn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=Cn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===Cn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=Cn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Dn(t)},r.onchange=function(){Dn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){xn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${jn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Pn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=Cn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===Cn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Ln(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Sn(),Pn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=Cn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){wn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),An().init(),o}if("numscale"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="number",i.value=e[t],i.min=Cn[t].min,i.max=Cn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Pn(),dn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=Cn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function qn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Yn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),ze=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){qn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){qn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){qn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),T=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Kt[Game.ObjectsById[e].name].name;Kt[o].amount-=1,Fe-=1,t=Kt[o].basePrice*Game.priceIncrease**Math.max(0,Kt[o].amount-1-Kt[o].free),t=Game.modifyBuildingPrice(Kt[o],t),t=Math.ceil(t);break}const o=Ae;return Uo(),Qo(),o!==Ae&&Uo(),[_e-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${ce(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ke}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==An().picker&&void 0!==An().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Vn).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(Qn(t,Vn[t])),e.Header[t]))for(let e=0;e{const n=Qn(t,_n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Xn(e))}))})):Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Xn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Bn(ln)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",zn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Hn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=It?It.wrath?`[W${Math.ceil(It.life/Game.fps)}]`:`[G${Math.ceil(It.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(zt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;It&&(t=!0,It.wrath?e+=`[W${Math.ceil(It.life/Game.fps)}]`:e+=`[G${Math.ceil(It.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(zt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Ee<1?"Ascending now would grant you no prestige.":Ee<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Ee)} prestige levels (+${ce(Ee)}% CpS)
and ${ce(Ee)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Vt} to reach the next level and you were making ${ce(ut,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Kn(){Gn(),on(),rn(),r=Object.keys(Game.mods).length,w=document.createElement("style"),w.type="text/css",w.id="CMCSS",document.head.appendChild(w),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{mo(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=uo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=uo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),$[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){En()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),On(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Wn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},Yn(),Wn(),Game.CalculateGains(),Bn(),R=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Jn={init:function(){vn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Kn(),Game.registerHook("draw",Eo),Game.registerHook("logic",Tn),Game.registerHook("click",No),vn=!1)},load:function(e){const t=JSON.parse(e);Gn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Bn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:yn};Game.registerMod("CookieMonster",Jn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],$={};let R,I,z=0,V=-1,_=[],Q=1,X=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=1,dt=1,pt=1,ut=0,mt=0,ht=0,gt=0,ft={},Ct={},yt={},bt=0,kt=0,Gt=[0,null],vt=0,wt=0,xt={},Tt={},Mt={},St={},Pt={},Bt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Dt=0,Ht=0,Ut=[],$t=0,Rt=0,It={},zt={},Vt=0,_t=0,Qt=[],Xt={},qt=0,Yt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Kt=[],Jt=[],Zt=[];function eo(e){let t=0;return Game.dragonAuras[He].name!==e&&Game.dragonAuras[Ue].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[He].name&&"Reality Bending"!==Game.dragonAuras[Ue].name||(t+=.1),t}function to(){let e=.25;return e*=1+eo("Earth Shatterer"),e}function oo(e,t){return void 0===Ve[e]?void 0===t?1:t:Ve[e]}function no(e){const t=Jt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function io(e){if(Game.hasGod){void 0===Kt.Temple.minigame&&(Kt.Temple.minigame=Game.Objects.Temple.minigame);const t=Kt.Temple.minigame.gods[e];if($e===t.id)return 1;if(Re===t.id)return 2;if(Ie===t.id)return 3}return!1}function ao(e,t){let o=t;if(no("Season savings")&&(o*=.99),no("Santa's dominion")&&(o*=.99),no("Faberge egg")&&(o*=.99),no("Divine discount")&&(o*=.99),no("Fortune #100")&&(o*=.99),o*=1-.02*eo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&no(e.fortune.name)&&(o*=.93),o*=oo("buildingCost"),Kt.Temple.minigameLoaded){const e=io("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ro(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function lo(){let t=Game.buyBulk;if(1===Game.buyMode?X=t:t=X,1===t?t=ft:10===t?t=Ct:100===t&&(t=yt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ft).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ro(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ft).map((e=>{const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?Q=i:i=Q,1===i&&(i=ft),10===i&&(i=Ct),100===i&&(i=yt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+po()))/co());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&no(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(no(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&no(e.fortune.name)&&(t*=1.07),e.grandma&&no(e.grandma.name)&&(t*=1+.01*Kt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&no(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function Go(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;no("Thousand fingers")&&(t+=.1),no("Million fingers")&&(t*=5),no("Billion fingers")&&(t*=10),no("Trillion fingers")&&(t*=20),no("Quadrillion fingers")&&(t*=20),no("Quintillion fingers")&&(t*=20),no("Sextillion fingers")&&(t*=20),no("Septillion fingers")&&(t*=20),no("Octillion fingers")&&(t*=20),no("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Kt).forEach((e=>{"Cursor"!==Kt[e].name&&(n+=Kt[e].amount)})),t*=n,o*=ko(e),o*=Game.magicCpS("Cursor"),o*=oo("cursorCps"),Game.ComputeCps(.1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{no(Game.GrandmaSynergies[e])&&(o*=2)})),no("Bingo center/Research facility")&&(o*=4),no("Ritual rolling pins")&&(o*=2),no("Naughty list")&&(o*=2),no("Elderwort biscuits")&&(o*=1.02),o*=oo("grandmaCps"),no("Cat ladies"))for(let e=0;e{"Grandma"!==Kt[e].name&&(i+=Kt[e].amount)})),o*=1+.01*eo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=ko(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function vo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Kt).forEach((t=>{Kt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(no("Starlove")&&(e=3),Game.hasGod){const t=io("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function wo(){We=Game.UpgradesOwned,Le=Game.pledges,Ae=Game.AchievementsOwned,je=Game.heavenlyPower,De=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e],mo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&($e=t.minigame.slot[0],Re=t.minigame.slot[1],Ie=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Kt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Jt[e];void 0===o&&(Jt[e]=vo(e),o=Jt[e]),o.bought=t.bought,Jt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Zt[e];void 0===o&&(Zt[e]=bo(e),o=Zt[e]),o.won=t.won,Zt[e]=o})),yo(),He=Xe,Ue=qe}function xo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function To(e){e.appendChild(xo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(xo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(xo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(xo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(xo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Mo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Po(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Bo(){if(wo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(To(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ft:10===Game.buyBulk?t=Ct:100===Game.buyBulk&&(t=yt),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+po()))/co());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(xo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(xo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=uo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,fo())}}(),ho(),Bo(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Kt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function No(){ue.addLatest(Game.computedMouseCps)}class Oo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Fo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+qt;Game.cpsSucked>0&&(o+=bt),$t=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-be,i=Math.max(0,Game.cookies-ke)/n,a=Math.max(0,bt-Ge)/n,r=Math.max(0,Gt[0]-ve)/n,l=Math.max(0,o-gt)/n,s=(Game.cookieClicks-we)/n;for(let e=0;e0&&(n=W),n}function Lo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Wo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+po()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Qt.push([t[n].pp,o])}))}function jo(){!function(){_t=1/0,Qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Ao(ft,1),Ao(Ct,10),Ao(yt,100),Qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Qt[t][1]>Game.cookies&&(t+=1,Qt.length!==t+1););_t=Qt[e.PPExcludeTop][t],Lo(ft,1),Lo(Ct,10),Lo(yt,100)}(),Object.keys(xt).forEach((e=>{Game.cookiesPs?xt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+po()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/xt[e].bonus:xt[e].pp=Game.Upgrades[e].getPrice()/xt[e].bonus,Number.isNaN(xt[e].pp)&&(xt[e].pp=1/0),xt[e].color=Wo(xt[e],Game.Upgrades[e].getPrice())}))}function Do(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ve=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(De)*je*function(){let e=0;if(no("Heavenly chip secret")&&(e+=.05),no("Heavenly cookie stand")&&(e+=.2),no("Heavenly bakery")&&(e+=.25),no("Heavenly confectionery")&&(e+=.25),no("Heavenly key")&&(e+=.25),e*=1+.05*eo("Dragon God"),no("Lucky digit")&&(e*=1.01),no("Lucky number")&&(e*=1.01),no("Lucky payout")&&(e*=1.01),Game.hasGod){const t=io("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=oo("cps"),no("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];no(o.name)&&("function"==typeof o.power?e*=1+.01*Jt[o.name].power(Jt[o.name]):e*=1+.01*o.power)})),no("Specialized chocolate chips")&&(e*=1.01),no("Designer cocoa beans")&&(e*=1.02),no("Underworld ovens")&&(e*=1.03),no("Exotic nuts")&&(e*=1.04),no("Arcane sugar")&&(e*=1.05),no("Increased merriness")&&(e*=1.15),no("Improved jolliness")&&(e*=1.15),no("A lump of coal")&&(e*=1.01),no("An itchy sweater")&&(e*=1.01),no("Santa's dominion")&&(e*=1.2),no("Fortune #100")&&(e*=1.01),no("Fortune #101")&&(e*=1.07),no("Dragon scale")&&(e*=1.03);let o=1;if(io){let t=io("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=io("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=io("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=io("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=io("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}no("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Ae/25;let i=1;if(no("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*eo("Breath of Milk"),io){const e=io("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=oo("milk");let a=1;no("Kitten helpers")&&(a*=1+.1*n*i),no("Kitten workers")&&(a*=1+.125*n*i),no("Kitten engineers")&&(a*=1+.15*n*i),no("Kitten overseers")&&(a*=1+.175*n*i),no("Kitten managers")&&(a*=1+.2*n*i),no("Kitten accountants")&&(a*=1+.2*n*i),no("Kitten specialists")&&(a*=1+.2*n*i),no("Kitten experts")&&(a*=1+.2*n*i),no("Kitten consultants")&&(a*=1+.2*n*i),no("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),no("Kitten marketeers")&&(a*=1+.15*n*i),no("Kitten analysts")&&(a*=1+.125*n*i),no("Kitten executives")&&(a*=1+.115*n*i),no("Kitten angels")&&(a*=1+.1*n*i),no("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Kt).forEach((e=>{const t=Kt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&no("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),_e+=t.amount*a})),no('"egg"')&&(_e+=9),e*=a;let r=1;if(no("Chicken egg")&&(r*=1.01),no("Duck egg")&&(r*=1.01),no("Turkey egg")&&(r*=1.01),no("Quail egg")&&(r*=1.01),no("Robin egg")&&(r*=1.01),no("Ostrich egg")&&(r*=1.01),no("Cassowary egg")&&(r*=1.01),no("Salmon roe")&&(r*=1.01),no("Frogspawn")&&(r*=1.01),no("Shark egg")&&(r*=1.01),no("Turtle egg")&&(r*=1.01),no("Ant larva")&&(r*=1.01),no("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),mt=1+.1*(1-(1-e/100)**3),r*=mt}e*=r,no("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+eo("Radiant Appetite");const l=_e*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ho(Game.CpsAchievements[e].name)})),Qe=l;const{n:s}=Game.shimmerTypes.golden,c=eo("Dragon's Fortune");for(let t=0;t{no(e[o])&&(t+=.1)}))}e*=t}if(no("Shimmering veil [off]")){let t=.5;no("Reinforced membrane")&&(t+=.1),e*=1+t}no("Magic shenanigans")&&(e*=1e3),no("Occult obstruction")&&(e*=0),_e=Game.runModHookOnValue("cps",_e),e*=So(),_e*=e}const $o=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ro=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Io=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],zo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Vo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function _o(e){return Zt[e]?Zt[e].won:0}function Qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{no(Game.GrandmaSynergies[t])&&(e+=1)})),!_o("Elder")&&e>=7&&Ho("Elder"),!_o("Veteran")&&e>=14&&Ho("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount,i=Math.min(Kt[e].amount,i),_o("Mathematician")||Kt[e].amount=1&&Ho("One with everything"),1===o&&Ho("Mathematician"),1===n&&Ho("Base 10"),i>=100&&Ho("Centennial"),i>=150&&Ho("Centennial and a half"),i>=200&&Ho("Bicentennial"),i>=250&&Ho("Bicentennial and a half"),i>=300&&Ho("Tricentennial"),i>=350&&Ho("Tricentennial and a half"),i>=400&&Ho("Quadricentennial"),i>=450&&Ho("Quadricentennial and a half"),i>=500&&Ho("Quincentennial"),i>=550&&Ho("Quincentennial and a half"),i>=600&&Ho("Sexcentennial"),t>=100&&Ho("Builder"),t>=500&&Ho("Architect"),t>=1e3&&Ho("Engineer"),t>=2e3&&Ho("Lord of Constructs"),t>=4e3&&Ho("Grand design"),t>=8e3&&Ho("Ecumenopolis"),We>=20&&Ho("Enhancer"),We>=50&&Ho("Augmenter"),We>=100&&Ho("Upgrader"),We>=200&&Ho("Lord of Progress"),We>=300&&Ho("The full picture"),We>=400&&Ho("When there's nothing left to add"),t>=4e3&&We>=300&&Ho("Polymath"),t>=8e3&&We>=400&&Ho("Renaissance baker"),Kt.Cursor.amount+Kt.Grandma.amount>=777&&Ho("The elder scrolls");let a=!0;Object.keys(Ro).forEach((e=>{no(Ro[e])||(a=!1)})),a&&Ho("Spooky cookies");let r=!0;if(Object.keys(Io).forEach((e=>{no(Io[e])||(r=!1)})),r&&Ho("Let it snow"),no("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{no(e[o].name)&&(t+=1)})),t>=e.length&&Ho("O Fortuna")}}function Xo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){wo(),Kt[e].amount+=t;const o=Kt[e];"Cursor"===e?(o.amount>=1&&Ho("Click"),o.amount>=2&&Ho("Double-click"),o.amount>=50&&Ho("Mouse wheel"),o.amount>=100&&Ho("Of Mice and Men"),o.amount>=200&&Ho("The Digital"),o.amount>=300&&Ho("Extreme polydactyly"),o.amount>=400&&Ho("Dr. T"),o.amount>=500&&Ho("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ho("With her finger and her thumb"),o.amount>=700&&Ho("Gotta hand it to you"),o.amount>=800&&Ho("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ho(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Ae;return Uo(),Qo(),n!==Ae&&Uo(),_e-Game.cookiesPs}(o,e),1!==e&&(Ne=1)})),t}function qo(){Object.keys(Game.Objects).forEach((e=>{ft[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),Ct[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),yt[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Yo(){ft=Xo(1),Ct=Xo(10),yt=Xo(100),xt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){wo(),"Shimmering veil [on]"===Jt[e].name?Jt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Jt[e].name?Jt["Golden switch [off]"].bought=0:Jt[e].bought=(Jt[e].bought+1)%2,Jt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(We+=1),"Elder Pledge"===e?(Le+=1,Le>0&&Ho("Elder nap"),Le>=5&&Ho("Elder slumber")):"Elder Covenant"===e?Ho("Elder calm"):"Prism heart biscuits"===e?Ho("Lovely cookies"):"Heavenly key"===e&&Ho("Wholesome");const t=Ae;Uo(),Qo(),t!==Ae&&Uo();const o=function(){let e=0;no("Thousand fingers")&&(e+=.1),no("Million fingers")&&(e*=5),no("Billion fingers")&&(e*=10),no("Trillion fingers")&&(e*=20),no("Quadrillion fingers")&&(e*=20),no("Quintillion fingers")&&(e*=20),no("Sextillion fingers")&&(e*=20),no("Septillion fingers")&&(e*=20),no("Octillion fingers")&&(e*=20),no("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount})),t-=Kt.Cursor.amount,e*=t,no("Plastic mouse")&&(e+=.01*_e),no("Iron mouse")&&(e+=.01*_e),no("Titanium mouse")&&(e+=.01*_e),no("Adamantium mouse")&&(e+=.01*_e),no("Unobtainium mouse")&&(e+=.01*_e),no("Eludium mouse")&&(e+=.01*_e),no("Wishalloy mouse")&&(e+=.01*_e),no("Fantasteel mouse")&&(e+=.01*_e),no("Nevercrack mouse")&&(e+=.01*_e),no("Armythril mouse")&&(e+=.01*_e),no("Technobsidian mouse")&&(e+=.01*_e),no("Plasmarble mouse")&&(e+=.01*_e),no("Miraculite mouse")&&(e+=.01*_e),no("Fortune #104")&&(e+=.01*_e);let o=1;if(no("Santa's helpers")&&(o*=1.1),no("Cookie egg")&&(o*=1.1),no("Halo gloves")&&(o*=1.1),no("Dragon claw")&&(o*=1.03),no("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,no("Luminous gloves")?20:10)),o*=oo("click"),Kt.Temple.minigameLoaded&&io){const e=io("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*eo("Dragon Cursor");let n=o*Game.ComputeCps(1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[_e-Game.cookiesPs,o]:[_e-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(xt[t]={bonus:Game.cookiesPs-xe},1===e.CalcWrink?xt[t].bonus-=Te:2===e.CalcWrink&&(xt[t].bonus-=Me),Number.isFinite(xt[t].bonus)||(xt[t].bonus=0)):(xt[t]={},o[0]&&(xt[t].bonus=o[0]),o[1]&&(xt[t].bonusMouse=o[1]))}))}function Ko(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Nt=Ko(7,e,dt),Bt=2*Nt[1]/dt,Et=Nt[2]/60/60/6/ct,Wt=Ko(6,e,pt),Ot=2*Wt[1]/pt,Ft=Wt[2]/60/60/6/ct,jt=Ko(7,7*e,dt),Lt=2*jt[1]/dt,At=jt[2]/60/60/6/ct,Ut=Ko(6,7*e,pt),Dt=2*Ut[1]/pt,Ht=Ut[2]/60/60/6/ct}function Zo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Be,i=Math.max(0,o-Ee)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?St+=e:"cookie"===o.pool?Pt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Mt+=e)}}))}function tn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ht=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ht*=2)}}function on(){Je=900*st/.15,Je*=ct;const e=So();e>0?Je/=e:Je=0,Ze=dt*(.15*Je)+13,et=pt*(.15*Je)+13,tt=7*Je,ot=dt*(.15*tt)+13,nt=pt*(.15*tt)+13,it=2*Je,at=.15*it,rt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountrt&&(rt=2*Game.Objects[e].price,lt=e)}))}function nn(){let e=1,t=1,o=1;no("Green yeast digestives")&&(o*=1.01),no("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),dt=o*e,pt=o*t,ct=1,0===Game.shimmerTypes.golden.n&&(ct*=1+1.23*Game.auraMult("Dragon's Fortune"))}function an(){bt=0,kt=0,Gt=[0,null];for(let e=0;eGt[0]&&(Gt=[t,e]))}}function rn(){yo(),an(),on(),nn(),Jo(),en(),tn(),me=new Oo(Y[Y.length-1]),he=new Oo(Y[Y.length-1]),ge=new Oo(Y[Y.length-1]),fe=new Oo(Y[Y.length-1]),Ce=new Oo(K[K.length-1]),ye=new Oo(5),ue=new Oo(20*K[K.length-1]),Zo(),Fo(),Yo(),qo(),jo()}const ln={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},sn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function cn(){1===e.BotBar?(l("CMBotBar").style.display="",ho()):l("CMBotBar").style.display="none",fo()}function dn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),ho(),lo(),so()}function pn(){1===e.Favicon&&y>0?It.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class un{constructor(e,t){this.type=e,this.group=t}}class mn extends un{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class hn extends un{constructor(e,t,o){super(e,t),this.desc=o}}class gn extends un{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class fn extends un{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const Cn={CPSMode:new mn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new mn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new mn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new mn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){ze=!0})),Scale:new mn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){dn()})),ScaleDecimals:new mn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){dn()})),ScaleSeparator:new mn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){dn()})),ScaleCutoff:new fn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new mn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new mn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new mn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new mn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){lo()})),PPOnlyConsiderBuyable:new mn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new mn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new mn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new fn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new hn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new hn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new hn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new hn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new hn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new hn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new hn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new hn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new hn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new mn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){cn()})),TimerBar:new mn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){Co()})),TimerBarPos:new mn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),fo()})),TimerBarOverlay:new mn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new mn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",so()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",so()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new mn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new mn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){lo()})),SortUpgrades:new mn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){so()})),DragonAuraInfo:new mn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new mn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new mn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Xt[e].l.style.left,re[e].style.top=Xt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new mn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){pn()})),WrinklerButtons:new mn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new mn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new mn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new mn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new mn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new mn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new mn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new mn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new mn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new fn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new mn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new mn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Po()})),TooltipGrim:new mn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new mn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new mn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new mn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new mn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new mn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new mn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new mn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new mn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new mn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new fn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new mn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new mn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new mn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new mn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){sn(e.GCNotification)})),GCFlash:new mn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new hn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new mn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new gn("vol","NotificationGC",[],"Volume"),GCSoundURL:new mn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new mn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){sn(e.FortuneNotification)})),FortuneFlash:new mn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new hn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new mn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new gn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new mn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new mn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){sn(e.SeaNotification)})),SeaFlash:new mn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new hn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new mn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new gn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new mn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new mn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new hn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new mn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new gn("vol","NotificationGard",[],"Volume"),GardSoundURL:new mn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new mn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){sn(e.MagicNotification)})),MagicFlash:new mn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new hn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new mn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new gn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new mn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new mn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){sn(e.WrinklerNotification)})),WrinklerFlash:new mn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new hn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new mn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new gn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new mn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new mn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){sn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new mn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new hn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new mn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new gn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new mn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new mn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new mn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function yn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function bn(){if(Ye!==Game.dragonLevel||ze){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Upgrades).forEach((e=>{Jt[e]=vo(e)})),Zt=[],Object.keys(Game.Achievements).forEach((e=>{Zt[e]=bo(e)})),wo()}let vn=!1;function wn(t,o,n){(1===e[o]||n)&&3===t&&!1===vn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){wn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){wn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){wn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function xn(t,o,n,i){if((1===e[o]||i)&&!1===vn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Tn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===vn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Mn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(cn(),Co()),go()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(Gn(),rn(),r=Object.keys(Game.mods).length),ze&&(Yo(),Game.Has("Golden switch [off]")?(wo(),Jt["Golden switch [off]"].bought=0,Uo(),st=_e):st=Game.cookiesPs,nn(),on(),en(),Jo(),bn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Yt[e][t]=kn(e,t)}(),tn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;wo();let t=2;5!==He&&18!==He||(t-=1),5!==Ue&&18!==Ue||(t-=1),He=5,Ue=18;for(let e=0;e{Kt[t].amount>0&&(e=t)})),Kt[e].amount-=1,Fe-=1}return Object.keys(Kt).forEach((t=>{const o=Kt[t];e+=ro(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),qt=e}(),ze=0);const t=Game.auraMult("Fierce Hoarder")>0;!Oe&&t?(Oe=!0,Ne=1):Oe&&!t&&(Oe=!1,Ne=1),Ne&&(qo(),Ne=0),function(){an(),jo(),function(){vt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Kt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}wt=e,vt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Fo(),Zo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Vt=de(e/co())}(),G=0,Xt={},Object.keys(Game.shimmers).forEach((e=>{Xt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(It=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Xt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),pn(),b=G,0===G&&(It=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Xt[e].l.style.opacity,re[e].style.transform=Xt[e].l.style.transform,re[e].textContent=Math.ceil(Xt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(wn(3,"FortuneFlash",!1),xn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Tn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(zt=Game.shimmers[e])})),wn(3,"SeaFlash",!1),xn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Tn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?wn(3,"WrinklerMaxFlash",!1):wn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?xn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):xn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Tn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Tn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Sn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=ln[t]):"Header"===t&&Object.keys(ln.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=ln[t][n])}))})),o&&Pn(),Mn(),Object.keys(ln).forEach((e=>{"Header"!==e&&void 0!==Cn[e].func&&Cn[e].func()}))}else Bn(ln);Game.UpdateMenu(),Sn()}function En(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Nn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Do(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Bo(),l("tooltip").innerHTML}function On(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Fn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Pn()}function Un(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Hn(o),Game.UpdateMenu()},n.appendChild(i),n}function $n(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape($[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Rn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function In(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Un("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+po(){Game.HasUnlocked(Vo[e])||c.push(Vo[e])})),0!==c.length&&e.appendChild($n("basic","Rare plant drops left to unlock",Rn(c))),e}())),o.appendChild(Un("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?gt:0)));t.appendChild($n("withTooltip","Prestige level (cur / max)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&>?gt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/Rt,1)})`,i.appendChild(a),t.appendChild($n("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild($n("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild($n("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(ce(ut,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild($n("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(ce(e)))),t.appendChild($n("basic","Time till target (cur, current 5 second average)",document.createTextNode(de(e/ut)))))}const l=function(e){let t=Game.cookiesPs;wo(),0===Jt["Heavenly key"].bought&&(Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,Uo(),t=_e,wo()),$t>=1e6&&Ho("Sacrifice"),$t>=1e9&&Ho("Oblivion"),$t>=1e12&&Ho("From scratch"),$t>=1e15&&Ho("Nihilism"),$t>=1e18&&Ho("Dematerialize"),$t>=1e21&&Ho("Nil zero zilch"),$t>=1e24&&Ho("Transcendence"),$t>=1e27&&Ho("Obliterate"),$t>=1e30&&Ho("Negative void"),$t>=1e33&&Ho("To crumbs, you say?"),$t>=1e36&&Ho("You get nothing"),$t>=1e39&&Ho("Humble rebeginnings"),$t>=1e42&&Ho("The end of the world"),$t>=1e45&&Ho("Oh, you're back"),$t>=1e48&&Ho("Lazarus"),$t>=1e51&&Ho("Smurf account"),$t>=1e54&&Ho("If at first you don't succeed"),Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,De=e;const o=Ae;Uo(),Qo(),o!==Ae&&Uo();const n=_e-t;return De=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild($n("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Un("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(bt)} / ${ce(kt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){En()},e.appendChild(t),o.appendChild($n("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(Gt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},n.appendChild(i),o.appendChild($n("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==Gt[1]?Gt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(n.push(Ro[e]),o=!0)}));const i=[];Object.keys(Io).forEach((e=>{Game.Has(Io[e])||(i.push(Io[e]),o=!0)}));const a=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(a.push(zo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Un("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild($n("basic","Halloween cookies left to buy",Rn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild($n("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild($n("basic","Christmas cookies left to buy",Rn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild($n("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild($n("basic","Valentine cookies left to buy",Rn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild($n("basic","Normal easter eggs left to unlock",Rn(r))),t.appendChild($n("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild($n("basic","Rare easter eggs left to unlock",Rn(l))),t.appendChild($n("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild($n("basic","Reindeer reward",document.createTextNode(ce(ht)))),s&&t.appendChild($n("withTooltip","Chocolate egg cookies",document.createTextNode(ce(gt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild($n("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(mt-1))/100+"%")))}return t}()),o.appendChild(Un("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild($n("basic",`Average cookies per second (past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(co(),3)))),o.appendChild($n("basic",`Average cookie clicks per second (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(Tt,1)))),o.appendChild($n("basic",`Cookies from clicking (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(ue.calcSum(Tt*K[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys($o).forEach((t=>{Game.Has($o[t])||e.push($o[t])})),0!==e.length&&o.appendChild($n("basic","Fortune Upgrades Left to Buy",Rn(e)))}if(e.ShowMissedGC&&o.appendChild($n("basic","Missed golden cookies",document.createTextNode(ce(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild($n("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const zn={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Vn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function _n(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Hn(t),Game.UpdateMenu()},n.appendChild(i),n}function Qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return se.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(e),Pn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape($.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===Cn[t].type){const n=document.createElement("a");Cn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=jn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===Cn[t].label.length?(e[t]=0,Cn[t].toggle&&(l(jn+t).className="option off")):l(jn+t).className="option",void 0!==Cn[t].func&&Cn[t].func(),l(jn+t).innerHTML=Cn[t].label[e[t]],Pn()}(t)},n.textContent=Cn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=Cn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===Cn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=Cn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Dn(t)},r.onchange=function(){Dn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){xn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${jn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Pn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=Cn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===Cn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Ln(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Sn(),Pn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=Cn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){wn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),An().init(),o}if("numscale"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="number",i.value=e[t],i.min=Cn[t].min,i.max=Cn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Pn(),dn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=Cn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Xn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function qn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),ze=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Xn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Xn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Xn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Kt[Game.ObjectsById[e].name].name;Kt[o].amount-=1,Fe-=1,t=Kt[o].basePrice*Game.priceIncrease**Math.max(0,Kt[o].amount-1-Kt[o].free),t=Game.modifyBuildingPrice(Kt[o],t),t=Math.ceil(t);break}const o=Ae;return Uo(),Qo(),o!==Ae&&Uo(),[_e-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${ce(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ke}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==An().picker&&void 0!==An().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(zn).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(_n(t,zn[t])),e.Header[t]))for(let e=0;e{const n=_n(t,Vn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Qn(e))}))})):Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Bn(ln)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",In(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Hn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=It?It.wrath?`[W${Math.ceil(It.life/Game.fps)}]`:`[G${Math.ceil(It.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(zt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;It&&(t=!0,It.wrath?e+=`[W${Math.ceil(It.life/Game.fps)}]`:e+=`[G${Math.ceil(It.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(zt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Ee<1?"Ascending now would grant you no prestige.":Ee<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Ee)} prestige levels (+${ce(Ee)}% CpS)
and ${ce(Ee)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Vt} to reach the next level and you were making ${ce(ut,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Yn(){Gn(),on(),rn(),r=Object.keys(Game.mods).length,w=document.createElement("style"),w.type="text/css",w.id="CMCSS",document.head.appendChild(w),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{mo(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=uo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=uo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),$[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){En()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),On(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Wn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},qn(),Wn(),Game.CalculateGains(),Bn(),R=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Kn={init:function(){vn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Yn(),Game.registerHook("draw",Eo),Game.registerHook("logic",Mn),Game.registerHook("click",No),vn=!1)},load:function(e){const t=JSON.parse(e);Gn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Bn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:yn};Game.registerMod("CookieMonster",Kn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index ee1596cf..6ad999d4 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x=[],M=[],T=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],$={};let R,I,z=0,V=-1,_=[],Q=1,X=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Me,Te,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=1,dt=1,pt=1,ut=0,mt=0,ht=0,gt=0,ft={},Ct={},yt={},bt=0,kt=0,Gt=[0,null],vt=0,wt=0,xt={},Mt={},Tt={},St={},Pt={},Bt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Dt=0,Ht=0,Ut=[],$t=0,Rt=0,It={},zt={},Vt=0,_t=0,Qt=[],Xt={},qt=0,Yt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Kt=[],Jt=[],Zt=[];function eo(e){let t=0;return Game.dragonAuras[He].name!==e&&Game.dragonAuras[Ue].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[He].name&&"Reality Bending"!==Game.dragonAuras[Ue].name||(t+=.1),t}function to(){let e=.25;return e*=1+eo("Earth Shatterer"),e}function oo(e,t){return void 0===Ve[e]?void 0===t?1:t:Ve[e]}function no(e){const t=Jt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function io(e){if(Game.hasGod){void 0===Kt.Temple.minigame&&(Kt.Temple.minigame=Game.Objects.Temple.minigame);const t=Kt.Temple.minigame.gods[e];if($e===t.id)return 1;if(Re===t.id)return 2;if(Ie===t.id)return 3}return!1}function ao(e,t){let o=t;if(no("Season savings")&&(o*=.99),no("Santa's dominion")&&(o*=.99),no("Faberge egg")&&(o*=.99),no("Divine discount")&&(o*=.99),no("Fortune #100")&&(o*=.99),o*=1-.02*eo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&no(e.fortune.name)&&(o*=.93),o*=oo("buildingCost"),Kt.Temple.minigameLoaded){const e=io("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ro(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function lo(){let t=Game.buyBulk;if(1===Game.buyMode?X=t:t=X,1===t?t=ft:10===t?t=Ct:100===t&&(t=yt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ft).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ro(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ft).map((e=>{const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?Q=i:i=Q,1===i&&(i=ft),10===i&&(i=Ct),100===i&&(i=yt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+po()))/co());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&no(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(no(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&no(e.fortune.name)&&(t*=1.07),e.grandma&&no(e.grandma.name)&&(t*=1+.01*Kt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&no(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function Go(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;no("Thousand fingers")&&(t+=.1),no("Million fingers")&&(t*=5),no("Billion fingers")&&(t*=10),no("Trillion fingers")&&(t*=20),no("Quadrillion fingers")&&(t*=20),no("Quintillion fingers")&&(t*=20),no("Sextillion fingers")&&(t*=20),no("Septillion fingers")&&(t*=20),no("Octillion fingers")&&(t*=20),no("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Kt).forEach((e=>{"Cursor"!==Kt[e].name&&(n+=Kt[e].amount)})),t*=n,o*=ko(e),o*=Game.magicCpS("Cursor"),o*=oo("cursorCps"),Game.ComputeCps(.1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{no(Game.GrandmaSynergies[e])&&(o*=2)})),no("Bingo center/Research facility")&&(o*=4),no("Ritual rolling pins")&&(o*=2),no("Naughty list")&&(o*=2),no("Elderwort biscuits")&&(o*=1.02),o*=oo("grandmaCps"),no("Cat ladies"))for(let e=0;e{"Grandma"!==Kt[e].name&&(i+=Kt[e].amount)})),o*=1+.01*eo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=ko(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function vo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Kt).forEach((t=>{Kt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(no("Starlove")&&(e=3),Game.hasGod){const t=io("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function wo(){We=Game.UpgradesOwned,Le=Game.pledges,Ae=Game.AchievementsOwned,je=Game.heavenlyPower,De=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e],mo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&($e=t.minigame.slot[0],Re=t.minigame.slot[1],Ie=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Kt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Jt[e];void 0===o&&(Jt[e]=vo(e),o=Jt[e]),o.bought=t.bought,Jt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Zt[e];void 0===o&&(Zt[e]=bo(e),o=Zt[e]),o.won=t.won,Zt[e]=o})),yo(),He=Xe,Ue=qe}function xo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function Mo(e){e.appendChild(xo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(xo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(xo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(xo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(xo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function To(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Po(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Bo(){if(wo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(Mo(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ft:10===Game.buyBulk?t=Ct:100===Game.buyBulk&&(t=yt),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+po()))/co());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(xo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(xo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=uo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,fo())}}(),ho(),Bo(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Kt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function No(){ue.addLatest(Game.computedMouseCps)}class Oo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Fo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+qt;Game.cpsSucked>0&&(o+=bt),$t=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-be,i=Math.max(0,Game.cookies-ke)/n,a=Math.max(0,bt-Ge)/n,r=Math.max(0,Gt[0]-ve)/n,l=Math.max(0,o-gt)/n,s=(Game.cookieClicks-we)/n;for(let e=0;e0&&(n=W),n}function Lo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Wo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+po()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Qt.push([t[n].pp,o])}))}function jo(){!function(){_t=1/0,Qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Ao(ft,1),Ao(Ct,10),Ao(yt,100),Qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Qt[t][1]>Game.cookies&&(t+=1,Qt.length!==t+1););_t=Qt[e.PPExcludeTop][t],Lo(ft,1),Lo(Ct,10),Lo(yt,100)}(),Object.keys(xt).forEach((e=>{Game.cookiesPs?xt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+po()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/xt[e].bonus:xt[e].pp=Game.Upgrades[e].getPrice()/xt[e].bonus,Number.isNaN(xt[e].pp)&&(xt[e].pp=1/0),xt[e].color=Wo(xt[e],Game.Upgrades[e].getPrice())}))}function Do(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ve=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(De)*je*function(){let e=0;if(no("Heavenly chip secret")&&(e+=.05),no("Heavenly cookie stand")&&(e+=.2),no("Heavenly bakery")&&(e+=.25),no("Heavenly confectionery")&&(e+=.25),no("Heavenly key")&&(e+=.25),e*=1+.05*eo("Dragon God"),no("Lucky digit")&&(e*=1.01),no("Lucky number")&&(e*=1.01),no("Lucky payout")&&(e*=1.01),Game.hasGod){const t=io("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=oo("cps"),no("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];no(o.name)&&("function"==typeof o.power?e*=1+.01*Jt[o.name].power(Jt[o.name]):e*=1+.01*o.power)})),no("Specialized chocolate chips")&&(e*=1.01),no("Designer cocoa beans")&&(e*=1.02),no("Underworld ovens")&&(e*=1.03),no("Exotic nuts")&&(e*=1.04),no("Arcane sugar")&&(e*=1.05),no("Increased merriness")&&(e*=1.15),no("Improved jolliness")&&(e*=1.15),no("A lump of coal")&&(e*=1.01),no("An itchy sweater")&&(e*=1.01),no("Santa's dominion")&&(e*=1.2),no("Fortune #100")&&(e*=1.01),no("Fortune #101")&&(e*=1.07),no("Dragon scale")&&(e*=1.03);let o=1;if(io){let t=io("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=io("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=io("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=io("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=io("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}no("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Ae/25;let i=1;if(no("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*eo("Breath of Milk"),io){const e=io("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=oo("milk");let a=1;no("Kitten helpers")&&(a*=1+.1*n*i),no("Kitten workers")&&(a*=1+.125*n*i),no("Kitten engineers")&&(a*=1+.15*n*i),no("Kitten overseers")&&(a*=1+.175*n*i),no("Kitten managers")&&(a*=1+.2*n*i),no("Kitten accountants")&&(a*=1+.2*n*i),no("Kitten specialists")&&(a*=1+.2*n*i),no("Kitten experts")&&(a*=1+.2*n*i),no("Kitten consultants")&&(a*=1+.2*n*i),no("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),no("Kitten marketeers")&&(a*=1+.15*n*i),no("Kitten analysts")&&(a*=1+.125*n*i),no("Kitten executives")&&(a*=1+.115*n*i),no("Kitten angels")&&(a*=1+.1*n*i),no("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Kt).forEach((e=>{const t=Kt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&no("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),_e+=t.amount*a})),no('"egg"')&&(_e+=9),e*=a;let r=1;if(no("Chicken egg")&&(r*=1.01),no("Duck egg")&&(r*=1.01),no("Turkey egg")&&(r*=1.01),no("Quail egg")&&(r*=1.01),no("Robin egg")&&(r*=1.01),no("Ostrich egg")&&(r*=1.01),no("Cassowary egg")&&(r*=1.01),no("Salmon roe")&&(r*=1.01),no("Frogspawn")&&(r*=1.01),no("Shark egg")&&(r*=1.01),no("Turtle egg")&&(r*=1.01),no("Ant larva")&&(r*=1.01),no("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),mt=1+.1*(1-(1-e/100)**3),r*=mt}e*=r,no("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+eo("Radiant Appetite");const l=_e*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ho(Game.CpsAchievements[e].name)})),Qe=l;const{n:s}=Game.shimmerTypes.golden,c=eo("Dragon's Fortune");for(let t=0;t{no(e[o])&&(t+=.1)}))}e*=t}if(no("Shimmering veil [off]")){let t=.5;no("Reinforced membrane")&&(t+=.1),e*=1+t}no("Magic shenanigans")&&(e*=1e3),no("Occult obstruction")&&(e*=0),_e=Game.runModHookOnValue("cps",_e),e*=So(),_e*=e}const $o=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ro=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Io=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],zo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Vo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function _o(e){return Zt[e]?Zt[e].won:0}function Qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{no(Game.GrandmaSynergies[t])&&(e+=1)})),!_o("Elder")&&e>=7&&Ho("Elder"),!_o("Veteran")&&e>=14&&Ho("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount,i=Math.min(Kt[e].amount,i),_o("Mathematician")||Kt[e].amount=1&&Ho("One with everything"),1===o&&Ho("Mathematician"),1===n&&Ho("Base 10"),i>=100&&Ho("Centennial"),i>=150&&Ho("Centennial and a half"),i>=200&&Ho("Bicentennial"),i>=250&&Ho("Bicentennial and a half"),i>=300&&Ho("Tricentennial"),i>=350&&Ho("Tricentennial and a half"),i>=400&&Ho("Quadricentennial"),i>=450&&Ho("Quadricentennial and a half"),i>=500&&Ho("Quincentennial"),i>=550&&Ho("Quincentennial and a half"),i>=600&&Ho("Sexcentennial"),t>=100&&Ho("Builder"),t>=500&&Ho("Architect"),t>=1e3&&Ho("Engineer"),t>=2e3&&Ho("Lord of Constructs"),t>=4e3&&Ho("Grand design"),t>=8e3&&Ho("Ecumenopolis"),We>=20&&Ho("Enhancer"),We>=50&&Ho("Augmenter"),We>=100&&Ho("Upgrader"),We>=200&&Ho("Lord of Progress"),We>=300&&Ho("The full picture"),We>=400&&Ho("When there's nothing left to add"),t>=4e3&&We>=300&&Ho("Polymath"),t>=8e3&&We>=400&&Ho("Renaissance baker"),Kt.Cursor.amount+Kt.Grandma.amount>=777&&Ho("The elder scrolls");let a=!0;Object.keys(Ro).forEach((e=>{no(Ro[e])||(a=!1)})),a&&Ho("Spooky cookies");let r=!0;if(Object.keys(Io).forEach((e=>{no(Io[e])||(r=!1)})),r&&Ho("Let it snow"),no("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{no(e[o].name)&&(t+=1)})),t>=e.length&&Ho("O Fortuna")}}function Xo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){wo(),Kt[e].amount+=t;const o=Kt[e];"Cursor"===e?(o.amount>=1&&Ho("Click"),o.amount>=2&&Ho("Double-click"),o.amount>=50&&Ho("Mouse wheel"),o.amount>=100&&Ho("Of Mice and Men"),o.amount>=200&&Ho("The Digital"),o.amount>=300&&Ho("Extreme polydactyly"),o.amount>=400&&Ho("Dr. T"),o.amount>=500&&Ho("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ho("With her finger and her thumb"),o.amount>=700&&Ho("Gotta hand it to you"),o.amount>=800&&Ho("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ho(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Ae;return Uo(),Qo(),n!==Ae&&Uo(),_e-Game.cookiesPs}(o,e),1!==e&&(Ne=1)})),t}function qo(){Object.keys(Game.Objects).forEach((e=>{ft[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),Ct[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),yt[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Yo(){ft=Xo(1),Ct=Xo(10),yt=Xo(100),xt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){wo(),"Shimmering veil [on]"===Jt[e].name?Jt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Jt[e].name?Jt["Golden switch [off]"].bought=0:Jt[e].bought=(Jt[e].bought+1)%2,Jt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(We+=1),"Elder Pledge"===e?(Le+=1,Le>0&&Ho("Elder nap"),Le>=5&&Ho("Elder slumber")):"Elder Covenant"===e?Ho("Elder calm"):"Prism heart biscuits"===e?Ho("Lovely cookies"):"Heavenly key"===e&&Ho("Wholesome");const t=Ae;Uo(),Qo(),t!==Ae&&Uo();const o=function(){let e=0;no("Thousand fingers")&&(e+=.1),no("Million fingers")&&(e*=5),no("Billion fingers")&&(e*=10),no("Trillion fingers")&&(e*=20),no("Quadrillion fingers")&&(e*=20),no("Quintillion fingers")&&(e*=20),no("Sextillion fingers")&&(e*=20),no("Septillion fingers")&&(e*=20),no("Octillion fingers")&&(e*=20),no("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount})),t-=Kt.Cursor.amount,e*=t,no("Plastic mouse")&&(e+=.01*_e),no("Iron mouse")&&(e+=.01*_e),no("Titanium mouse")&&(e+=.01*_e),no("Adamantium mouse")&&(e+=.01*_e),no("Unobtainium mouse")&&(e+=.01*_e),no("Eludium mouse")&&(e+=.01*_e),no("Wishalloy mouse")&&(e+=.01*_e),no("Fantasteel mouse")&&(e+=.01*_e),no("Nevercrack mouse")&&(e+=.01*_e),no("Armythril mouse")&&(e+=.01*_e),no("Technobsidian mouse")&&(e+=.01*_e),no("Plasmarble mouse")&&(e+=.01*_e),no("Miraculite mouse")&&(e+=.01*_e),no("Fortune #104")&&(e+=.01*_e);let o=1;if(no("Santa's helpers")&&(o*=1.1),no("Cookie egg")&&(o*=1.1),no("Halo gloves")&&(o*=1.1),no("Dragon claw")&&(o*=1.03),no("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,no("Luminous gloves")?20:10)),o*=oo("click"),Kt.Temple.minigameLoaded&&io){const e=io("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*eo("Dragon Cursor");let n=o*Game.ComputeCps(1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[_e-Game.cookiesPs,o]:[_e-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(xt[t]={bonus:Game.cookiesPs-xe},1===e.CalcWrink?xt[t].bonus-=Me:2===e.CalcWrink&&(xt[t].bonus-=Te),Number.isFinite(xt[t].bonus)||(xt[t].bonus=0)):(xt[t]={},o[0]&&(xt[t].bonus=o[0]),o[1]&&(xt[t].bonusMouse=o[1]))}))}function Ko(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Nt=Ko(7,e,dt),Bt=2*Nt[1]/dt,Et=Nt[2]/60/60/6/ct,Wt=Ko(6,e,pt),Ot=2*Wt[1]/pt,Ft=Wt[2]/60/60/6/ct,jt=Ko(7,7*e,dt),Lt=2*jt[1]/dt,At=jt[2]/60/60/6/ct,Ut=Ko(6,7*e,pt),Dt=2*Ut[1]/pt,Ht=Ut[2]/60/60/6/ct}function Zo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Be,i=Math.max(0,o-Ee)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?St+=e:"cookie"===o.pool?Pt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Tt+=e)}}))}function tn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ht=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ht*=2)}}function on(){Je=900*st/.15,Je*=ct;const e=So();e>0?Je/=e:Je=0,Ze=dt*(.15*Je)+13,et=pt*(.15*Je)+13,tt=7*Je,ot=dt*(.15*tt)+13,nt=pt*(.15*tt)+13,it=2*Je,at=.15*it,rt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountrt&&(rt=2*Game.Objects[e].price,lt=e)}))}function nn(){let e=1,t=1,o=1;no("Green yeast digestives")&&(o*=1.01),no("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),dt=o*e,pt=o*t,ct=1,0===Game.shimmerTypes.golden.n&&(ct*=1+1.23*Game.auraMult("Dragon's Fortune"))}function an(){bt=0,kt=0,Gt=[0,null];for(let e=0;eGt[0]&&(Gt=[t,e]))}}function rn(){yo(),an(),on(),nn(),Jo(),en(),tn(),me=new Oo(Y[Y.length-1]),he=new Oo(Y[Y.length-1]),ge=new Oo(Y[Y.length-1]),fe=new Oo(Y[Y.length-1]),Ce=new Oo(K[K.length-1]),ye=new Oo(5),ue=new Oo(20*K[K.length-1]),Zo(),Fo(),Yo(),qo(),jo()}const ln={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},sn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function cn(){1===e.BotBar?(l("CMBotBar").style.display="",ho()):l("CMBotBar").style.display="none",fo()}function dn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),ho(),lo(),so()}function pn(){1===e.Favicon&&y>0?It.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class un{constructor(e,t){this.type=e,this.group=t}}class mn extends un{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class hn extends un{constructor(e,t,o){super(e,t),this.desc=o}}class gn extends un{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class fn extends un{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const Cn={CPSMode:new mn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new mn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new mn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new mn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){ze=!0})),Scale:new mn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){dn()})),ScaleDecimals:new mn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){dn()})),ScaleSeparator:new mn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){dn()})),ScaleCutoff:new fn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new mn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new mn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new mn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new mn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){lo()})),PPOnlyConsiderBuyable:new mn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new mn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new mn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new fn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new hn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new hn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new hn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new hn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new hn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new hn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new hn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new hn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new hn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new mn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){cn()})),TimerBar:new mn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){Co()})),TimerBarPos:new mn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),fo()})),TimerBarOverlay:new mn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new mn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",so()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",so()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new mn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new mn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){lo()})),SortUpgrades:new mn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){so()})),DragonAuraInfo:new mn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new mn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new mn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Xt[e].l.style.left,re[e].style.top=Xt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new mn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){pn()})),WrinklerButtons:new mn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new mn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new mn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new mn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new mn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new mn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new mn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new mn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new mn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new fn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new mn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new mn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Po()})),TooltipGrim:new mn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new mn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new mn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new mn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new mn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new mn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new mn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new mn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new mn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON","Missing Shadow Achievements ON","All Missing Achievements ON"],"Shows missing normal or shadow achievements in statistics menu.",!1),UpStats:new mn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new fn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new mn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new mn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new mn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new mn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){sn(e.GCNotification)})),GCFlash:new mn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new hn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new mn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new gn("vol","NotificationGC",[],"Volume"),GCSoundURL:new mn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new mn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){sn(e.FortuneNotification)})),FortuneFlash:new mn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new hn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new mn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new gn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new mn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new mn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){sn(e.SeaNotification)})),SeaFlash:new mn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new hn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new mn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new gn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new mn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new mn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new hn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new mn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new gn("vol","NotificationGard",[],"Volume"),GardSoundURL:new mn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new mn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){sn(e.MagicNotification)})),MagicFlash:new mn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new hn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new mn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new gn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new mn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new mn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){sn(e.WrinklerNotification)})),WrinklerFlash:new mn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new hn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new mn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new gn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new mn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new mn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){sn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new mn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new hn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new mn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new gn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new mn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new mn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new mn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function yn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function bn(){if(Ye!==Game.dragonLevel||ze){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Upgrades).forEach((e=>{Jt[e]=vo(e)})),Zt=[],Object.keys(Game.Achievements).forEach((e=>{Zt[e]=bo(e)})),wo()}let vn=!1;function wn(t,o,n){(1===e[o]||n)&&3===t&&!1===vn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){wn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){wn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){wn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function xn(t,o,n,i){if((1===e[o]||i)&&!1===vn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Mn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===vn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Tn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(cn(),Co()),go()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(Gn(),rn(),r=Object.keys(Game.mods).length),ze&&(Yo(),Game.Has("Golden switch [off]")?(wo(),Jt["Golden switch [off]"].bought=0,Uo(),st=_e):st=Game.cookiesPs,nn(),on(),en(),Jo(),bn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Yt[e][t]=kn(e,t)}(),tn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;wo();let t=2;5!==He&&18!==He||(t-=1),5!==Ue&&18!==Ue||(t-=1),He=5,Ue=18;for(let e=0;e{Kt[t].amount>0&&(e=t)})),Kt[e].amount-=1,Fe-=1}return Object.keys(Kt).forEach((t=>{const o=Kt[t];e+=ro(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),qt=e}(),ze=0);const t=Game.auraMult("Fierce Hoarder")>0;!Oe&&t?(Oe=!0,Ne=1):Oe&&!t&&(Oe=!1,Ne=1),Ne&&(qo(),Ne=0),function(){an(),jo(),function(){vt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Kt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}wt=e,vt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Fo(),Zo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Vt=de(e/co())}(),G=0,Xt={},Object.keys(Game.shimmers).forEach((e=>{Xt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(It=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Xt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),pn(),b=G,0===G&&(It=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Xt[e].l.style.opacity,re[e].style.transform=Xt[e].l.style.transform,re[e].textContent=Math.ceil(Xt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(wn(3,"FortuneFlash",!1),xn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Mn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(zt=Game.shimmers[e])})),wn(3,"SeaFlash",!1),xn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Mn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?wn(3,"WrinklerMaxFlash",!1):wn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?xn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):xn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Mn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Mn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Sn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=ln[t]):"Header"===t&&Object.keys(ln.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=ln[t][n])}))})),o&&Pn(),Tn(),Object.keys(ln).forEach((e=>{"Header"!==e&&void 0!==Cn[e].func&&Cn[e].func()}))}else Bn(ln);Game.UpdateMenu(),Sn()}function En(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Nn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Do(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Bo(),l("tooltip").innerHTML}function On(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(M[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Fn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Pn()}function Un(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Hn(o),Game.UpdateMenu()},n.appendChild(i),n}function $n(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape($[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Rn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function In(e){const t=[];let o=0,n="",{icon:i}=e,{desc:a}=e;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");for(let e=0;e[${t[e]}]`);return n=n.substring(1),e.iconFunction&&(i=e.iconFunction()),e.descFunc&&(a=e.descFunc("stats")),`
\n
\n
${e.name}
\n ${n}
${a}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}function zn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Un("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+po(){Game.HasUnlocked(Vo[e])||c.push(Vo[e])})),0!==c.length&&e.appendChild($n("basic","Rare plant drops left to unlock",Rn(c))),e}())),o.appendChild(Un("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?gt:0)));t.appendChild($n("withTooltip","Prestige level (cur / max)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&>?gt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/Rt,1)})`,i.appendChild(a),t.appendChild($n("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild($n("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild($n("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(ce(ut,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild($n("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(ce(e)))),t.appendChild($n("basic","Time till target (cur, current 5 second average)",document.createTextNode(de(e/ut)))))}const l=function(e){let t=Game.cookiesPs;wo(),0===Jt["Heavenly key"].bought&&(Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,Uo(),t=_e,wo()),$t>=1e6&&Ho("Sacrifice"),$t>=1e9&&Ho("Oblivion"),$t>=1e12&&Ho("From scratch"),$t>=1e15&&Ho("Nihilism"),$t>=1e18&&Ho("Dematerialize"),$t>=1e21&&Ho("Nil zero zilch"),$t>=1e24&&Ho("Transcendence"),$t>=1e27&&Ho("Obliterate"),$t>=1e30&&Ho("Negative void"),$t>=1e33&&Ho("To crumbs, you say?"),$t>=1e36&&Ho("You get nothing"),$t>=1e39&&Ho("Humble rebeginnings"),$t>=1e42&&Ho("The end of the world"),$t>=1e45&&Ho("Oh, you're back"),$t>=1e48&&Ho("Lazarus"),$t>=1e51&&Ho("Smurf account"),$t>=1e54&&Ho("If at first you don't succeed"),Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,De=e;const o=Ae;Uo(),Qo(),o!==Ae&&Uo();const n=_e-t;return De=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild($n("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Un("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(bt)} / ${ce(kt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){En()},e.appendChild(t),o.appendChild($n("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(Gt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},n.appendChild(i),o.appendChild($n("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==Gt[1]?Gt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(n.push(Ro[e]),o=!0)}));const i=[];Object.keys(Io).forEach((e=>{Game.Has(Io[e])||(i.push(Io[e]),o=!0)}));const a=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(a.push(zo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Un("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild($n("basic","Halloween cookies left to buy",Rn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild($n("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild($n("basic","Christmas cookies left to buy",Rn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild($n("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild($n("basic","Valentine cookies left to buy",Rn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild($n("basic","Normal easter eggs left to unlock",Rn(r))),t.appendChild($n("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild($n("basic","Rare easter eggs left to unlock",Rn(l))),t.appendChild($n("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild($n("basic","Reindeer reward",document.createTextNode(ce(ht)))),s&&t.appendChild($n("withTooltip","Chocolate egg cookies",document.createTextNode(ce(gt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild($n("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(mt-1))/100+"%")))}return t}()),o.appendChild(Un("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild($n("basic",`Average cookies per second (past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(co(),3)))),o.appendChild($n("basic",`Average cookie clicks per second (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(Mt,1)))),o.appendChild($n("basic",`Cookies from clicking (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(ue.calcSum(Mt*K[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys($o).forEach((t=>{Game.Has($o[t])||e.push($o[t])})),0!==e.length&&o.appendChild($n("basic","Fortune Upgrades Left to Buy",Rn(e)))}if(e.ShowMissedGC&&o.appendChild($n("basic","Missed golden cookies",document.createTextNode(ce(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild($n("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Tt){const t=Tt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Tt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t,o;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&([t,o]=e.parentElement.querySelectorAll("div.listing.crateBox"))})),1!==e.MissingAchievements&&3!==e.MissingAchievements||Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return In(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}})),e.MissingAchievements>=2&&Object.values(o.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t].icon;e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return In(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const Vn={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},_n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Qn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Hn(t),Game.UpdateMenu()},n.appendChild(i),n}function Xn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return se.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(e),Pn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape($.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===Cn[t].type){const n=document.createElement("a");Cn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=jn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===Cn[t].label.length?(e[t]=0,Cn[t].toggle&&(l(jn+t).className="option off")):l(jn+t).className="option",void 0!==Cn[t].func&&Cn[t].func(),l(jn+t).innerHTML=Cn[t].label[e[t]],Pn()}(t)},n.textContent=Cn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=Cn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===Cn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=Cn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Dn(t)},r.onchange=function(){Dn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){xn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${jn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Pn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=Cn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===Cn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Ln(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Sn(),Pn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=Cn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){wn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),An().init(),o}if("numscale"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="number",i.value=e[t],i.min=Cn[t].min,i.max=Cn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Pn(),dn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=Cn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function qn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Yn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),ze=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){qn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){qn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){qn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),T=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Kt[Game.ObjectsById[e].name].name;Kt[o].amount-=1,Fe-=1,t=Kt[o].basePrice*Game.priceIncrease**Math.max(0,Kt[o].amount-1-Kt[o].free),t=Game.modifyBuildingPrice(Kt[o],t),t=Math.ceil(t);break}const o=Ae;return Uo(),Qo(),o!==Ae&&Uo(),[_e-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${ce(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ke}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==An().picker&&void 0!==An().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Vn).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(Qn(t,Vn[t])),e.Header[t]))for(let e=0;e{const n=Qn(t,_n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Xn(e))}))})):Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Xn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Bn(ln)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",zn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Hn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=It?It.wrath?`[W${Math.ceil(It.life/Game.fps)}]`:`[G${Math.ceil(It.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(zt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;It&&(t=!0,It.wrath?e+=`[W${Math.ceil(It.life/Game.fps)}]`:e+=`[G${Math.ceil(It.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(zt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Ee<1?"Ascending now would grant you no prestige.":Ee<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Ee)} prestige levels (+${ce(Ee)}% CpS)
and ${ce(Ee)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Vt} to reach the next level and you were making ${ce(ut,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Kn(){Gn(),on(),rn(),r=Object.keys(Game.mods).length,w=document.createElement("style"),w.type="text/css",w.id="CMCSS",document.head.appendChild(w),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{mo(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=uo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=uo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),$[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){En()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),On(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Wn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},Yn(),Wn(),Game.CalculateGains(),Bn(),R=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Jn={init:function(){vn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Kn(),Game.registerHook("draw",Eo),Game.registerHook("logic",Tn),Game.registerHook("click",No),vn=!1)},load:function(e){const t=JSON.parse(e);Gn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Bn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:yn};Game.registerMod("CookieMonster",Jn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],$={};let R,I,z=0,V=-1,_=[],Q=1,X=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=1,dt=1,pt=1,ut=0,mt=0,ht=0,gt=0,ft={},Ct={},yt={},bt=0,kt=0,Gt=[0,null],vt=0,wt=0,xt={},Tt={},Mt={},St={},Pt={},Bt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Dt=0,Ht=0,Ut=[],$t=0,Rt=0,It={},zt={},Vt=0,_t=0,Qt=[],Xt={},qt=0,Yt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Kt=[],Jt=[],Zt=[];function eo(e){let t=0;return Game.dragonAuras[He].name!==e&&Game.dragonAuras[Ue].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[He].name&&"Reality Bending"!==Game.dragonAuras[Ue].name||(t+=.1),t}function to(){let e=.25;return e*=1+eo("Earth Shatterer"),e}function oo(e,t){return void 0===Ve[e]?void 0===t?1:t:Ve[e]}function no(e){const t=Jt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function io(e){if(Game.hasGod){void 0===Kt.Temple.minigame&&(Kt.Temple.minigame=Game.Objects.Temple.minigame);const t=Kt.Temple.minigame.gods[e];if($e===t.id)return 1;if(Re===t.id)return 2;if(Ie===t.id)return 3}return!1}function ao(e,t){let o=t;if(no("Season savings")&&(o*=.99),no("Santa's dominion")&&(o*=.99),no("Faberge egg")&&(o*=.99),no("Divine discount")&&(o*=.99),no("Fortune #100")&&(o*=.99),o*=1-.02*eo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&no(e.fortune.name)&&(o*=.93),o*=oo("buildingCost"),Kt.Temple.minigameLoaded){const e=io("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ro(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function lo(){let t=Game.buyBulk;if(1===Game.buyMode?X=t:t=X,1===t?t=ft:10===t?t=Ct:100===t&&(t=yt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ft).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ro(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ft).map((e=>{const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?Q=i:i=Q,1===i&&(i=ft),10===i&&(i=Ct),100===i&&(i=yt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+po()))/co());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&no(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(no(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&no(e.fortune.name)&&(t*=1.07),e.grandma&&no(e.grandma.name)&&(t*=1+.01*Kt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&no(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function Go(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;no("Thousand fingers")&&(t+=.1),no("Million fingers")&&(t*=5),no("Billion fingers")&&(t*=10),no("Trillion fingers")&&(t*=20),no("Quadrillion fingers")&&(t*=20),no("Quintillion fingers")&&(t*=20),no("Sextillion fingers")&&(t*=20),no("Septillion fingers")&&(t*=20),no("Octillion fingers")&&(t*=20),no("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Kt).forEach((e=>{"Cursor"!==Kt[e].name&&(n+=Kt[e].amount)})),t*=n,o*=ko(e),o*=Game.magicCpS("Cursor"),o*=oo("cursorCps"),Game.ComputeCps(.1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{no(Game.GrandmaSynergies[e])&&(o*=2)})),no("Bingo center/Research facility")&&(o*=4),no("Ritual rolling pins")&&(o*=2),no("Naughty list")&&(o*=2),no("Elderwort biscuits")&&(o*=1.02),o*=oo("grandmaCps"),no("Cat ladies"))for(let e=0;e{"Grandma"!==Kt[e].name&&(i+=Kt[e].amount)})),o*=1+.01*eo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=ko(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function vo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Kt).forEach((t=>{Kt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(no("Starlove")&&(e=3),Game.hasGod){const t=io("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function wo(){We=Game.UpgradesOwned,Le=Game.pledges,Ae=Game.AchievementsOwned,je=Game.heavenlyPower,De=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e],mo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&($e=t.minigame.slot[0],Re=t.minigame.slot[1],Ie=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Kt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Jt[e];void 0===o&&(Jt[e]=vo(e),o=Jt[e]),o.bought=t.bought,Jt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Zt[e];void 0===o&&(Zt[e]=bo(e),o=Zt[e]),o.won=t.won,Zt[e]=o})),yo(),He=Xe,Ue=qe}function xo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function To(e){e.appendChild(xo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(xo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(xo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(xo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(xo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Mo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Po(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Bo(){if(wo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(To(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ft:10===Game.buyBulk?t=Ct:100===Game.buyBulk&&(t=yt),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+po()))/co());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(xo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(xo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=uo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,fo())}}(),ho(),Bo(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Kt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function No(){ue.addLatest(Game.computedMouseCps)}class Oo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Fo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+qt;Game.cpsSucked>0&&(o+=bt),$t=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-be,i=Math.max(0,Game.cookies-ke)/n,a=Math.max(0,bt-Ge)/n,r=Math.max(0,Gt[0]-ve)/n,l=Math.max(0,o-gt)/n,s=(Game.cookieClicks-we)/n;for(let e=0;e0&&(n=W),n}function Lo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Wo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+po()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Qt.push([t[n].pp,o])}))}function jo(){!function(){_t=1/0,Qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Ao(ft,1),Ao(Ct,10),Ao(yt,100),Qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Qt[t][1]>Game.cookies&&(t+=1,Qt.length!==t+1););_t=Qt[e.PPExcludeTop][t],Lo(ft,1),Lo(Ct,10),Lo(yt,100)}(),Object.keys(xt).forEach((e=>{Game.cookiesPs?xt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+po()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/xt[e].bonus:xt[e].pp=Game.Upgrades[e].getPrice()/xt[e].bonus,Number.isNaN(xt[e].pp)&&(xt[e].pp=1/0),xt[e].color=Wo(xt[e],Game.Upgrades[e].getPrice())}))}function Do(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ve=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(De)*je*function(){let e=0;if(no("Heavenly chip secret")&&(e+=.05),no("Heavenly cookie stand")&&(e+=.2),no("Heavenly bakery")&&(e+=.25),no("Heavenly confectionery")&&(e+=.25),no("Heavenly key")&&(e+=.25),e*=1+.05*eo("Dragon God"),no("Lucky digit")&&(e*=1.01),no("Lucky number")&&(e*=1.01),no("Lucky payout")&&(e*=1.01),Game.hasGod){const t=io("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=oo("cps"),no("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];no(o.name)&&("function"==typeof o.power?e*=1+.01*Jt[o.name].power(Jt[o.name]):e*=1+.01*o.power)})),no("Specialized chocolate chips")&&(e*=1.01),no("Designer cocoa beans")&&(e*=1.02),no("Underworld ovens")&&(e*=1.03),no("Exotic nuts")&&(e*=1.04),no("Arcane sugar")&&(e*=1.05),no("Increased merriness")&&(e*=1.15),no("Improved jolliness")&&(e*=1.15),no("A lump of coal")&&(e*=1.01),no("An itchy sweater")&&(e*=1.01),no("Santa's dominion")&&(e*=1.2),no("Fortune #100")&&(e*=1.01),no("Fortune #101")&&(e*=1.07),no("Dragon scale")&&(e*=1.03);let o=1;if(io){let t=io("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=io("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=io("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=io("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=io("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}no("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Ae/25;let i=1;if(no("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*eo("Breath of Milk"),io){const e=io("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=oo("milk");let a=1;no("Kitten helpers")&&(a*=1+.1*n*i),no("Kitten workers")&&(a*=1+.125*n*i),no("Kitten engineers")&&(a*=1+.15*n*i),no("Kitten overseers")&&(a*=1+.175*n*i),no("Kitten managers")&&(a*=1+.2*n*i),no("Kitten accountants")&&(a*=1+.2*n*i),no("Kitten specialists")&&(a*=1+.2*n*i),no("Kitten experts")&&(a*=1+.2*n*i),no("Kitten consultants")&&(a*=1+.2*n*i),no("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),no("Kitten marketeers")&&(a*=1+.15*n*i),no("Kitten analysts")&&(a*=1+.125*n*i),no("Kitten executives")&&(a*=1+.115*n*i),no("Kitten angels")&&(a*=1+.1*n*i),no("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Kt).forEach((e=>{const t=Kt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&no("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),_e+=t.amount*a})),no('"egg"')&&(_e+=9),e*=a;let r=1;if(no("Chicken egg")&&(r*=1.01),no("Duck egg")&&(r*=1.01),no("Turkey egg")&&(r*=1.01),no("Quail egg")&&(r*=1.01),no("Robin egg")&&(r*=1.01),no("Ostrich egg")&&(r*=1.01),no("Cassowary egg")&&(r*=1.01),no("Salmon roe")&&(r*=1.01),no("Frogspawn")&&(r*=1.01),no("Shark egg")&&(r*=1.01),no("Turtle egg")&&(r*=1.01),no("Ant larva")&&(r*=1.01),no("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),mt=1+.1*(1-(1-e/100)**3),r*=mt}e*=r,no("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+eo("Radiant Appetite");const l=_e*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ho(Game.CpsAchievements[e].name)})),Qe=l;const{n:s}=Game.shimmerTypes.golden,c=eo("Dragon's Fortune");for(let t=0;t{no(e[o])&&(t+=.1)}))}e*=t}if(no("Shimmering veil [off]")){let t=.5;no("Reinforced membrane")&&(t+=.1),e*=1+t}no("Magic shenanigans")&&(e*=1e3),no("Occult obstruction")&&(e*=0),_e=Game.runModHookOnValue("cps",_e),e*=So(),_e*=e}const $o=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ro=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Io=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],zo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Vo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function _o(e){return Zt[e]?Zt[e].won:0}function Qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{no(Game.GrandmaSynergies[t])&&(e+=1)})),!_o("Elder")&&e>=7&&Ho("Elder"),!_o("Veteran")&&e>=14&&Ho("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount,i=Math.min(Kt[e].amount,i),_o("Mathematician")||Kt[e].amount=1&&Ho("One with everything"),1===o&&Ho("Mathematician"),1===n&&Ho("Base 10"),i>=100&&Ho("Centennial"),i>=150&&Ho("Centennial and a half"),i>=200&&Ho("Bicentennial"),i>=250&&Ho("Bicentennial and a half"),i>=300&&Ho("Tricentennial"),i>=350&&Ho("Tricentennial and a half"),i>=400&&Ho("Quadricentennial"),i>=450&&Ho("Quadricentennial and a half"),i>=500&&Ho("Quincentennial"),i>=550&&Ho("Quincentennial and a half"),i>=600&&Ho("Sexcentennial"),t>=100&&Ho("Builder"),t>=500&&Ho("Architect"),t>=1e3&&Ho("Engineer"),t>=2e3&&Ho("Lord of Constructs"),t>=4e3&&Ho("Grand design"),t>=8e3&&Ho("Ecumenopolis"),We>=20&&Ho("Enhancer"),We>=50&&Ho("Augmenter"),We>=100&&Ho("Upgrader"),We>=200&&Ho("Lord of Progress"),We>=300&&Ho("The full picture"),We>=400&&Ho("When there's nothing left to add"),t>=4e3&&We>=300&&Ho("Polymath"),t>=8e3&&We>=400&&Ho("Renaissance baker"),Kt.Cursor.amount+Kt.Grandma.amount>=777&&Ho("The elder scrolls");let a=!0;Object.keys(Ro).forEach((e=>{no(Ro[e])||(a=!1)})),a&&Ho("Spooky cookies");let r=!0;if(Object.keys(Io).forEach((e=>{no(Io[e])||(r=!1)})),r&&Ho("Let it snow"),no("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{no(e[o].name)&&(t+=1)})),t>=e.length&&Ho("O Fortuna")}}function Xo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){wo(),Kt[e].amount+=t;const o=Kt[e];"Cursor"===e?(o.amount>=1&&Ho("Click"),o.amount>=2&&Ho("Double-click"),o.amount>=50&&Ho("Mouse wheel"),o.amount>=100&&Ho("Of Mice and Men"),o.amount>=200&&Ho("The Digital"),o.amount>=300&&Ho("Extreme polydactyly"),o.amount>=400&&Ho("Dr. T"),o.amount>=500&&Ho("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ho("With her finger and her thumb"),o.amount>=700&&Ho("Gotta hand it to you"),o.amount>=800&&Ho("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ho(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Ae;return Uo(),Qo(),n!==Ae&&Uo(),_e-Game.cookiesPs}(o,e),1!==e&&(Ne=1)})),t}function qo(){Object.keys(Game.Objects).forEach((e=>{ft[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),Ct[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),yt[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Yo(){ft=Xo(1),Ct=Xo(10),yt=Xo(100),xt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){wo(),"Shimmering veil [on]"===Jt[e].name?Jt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Jt[e].name?Jt["Golden switch [off]"].bought=0:Jt[e].bought=(Jt[e].bought+1)%2,Jt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(We+=1),"Elder Pledge"===e?(Le+=1,Le>0&&Ho("Elder nap"),Le>=5&&Ho("Elder slumber")):"Elder Covenant"===e?Ho("Elder calm"):"Prism heart biscuits"===e?Ho("Lovely cookies"):"Heavenly key"===e&&Ho("Wholesome");const t=Ae;Uo(),Qo(),t!==Ae&&Uo();const o=function(){let e=0;no("Thousand fingers")&&(e+=.1),no("Million fingers")&&(e*=5),no("Billion fingers")&&(e*=10),no("Trillion fingers")&&(e*=20),no("Quadrillion fingers")&&(e*=20),no("Quintillion fingers")&&(e*=20),no("Sextillion fingers")&&(e*=20),no("Septillion fingers")&&(e*=20),no("Octillion fingers")&&(e*=20),no("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount})),t-=Kt.Cursor.amount,e*=t,no("Plastic mouse")&&(e+=.01*_e),no("Iron mouse")&&(e+=.01*_e),no("Titanium mouse")&&(e+=.01*_e),no("Adamantium mouse")&&(e+=.01*_e),no("Unobtainium mouse")&&(e+=.01*_e),no("Eludium mouse")&&(e+=.01*_e),no("Wishalloy mouse")&&(e+=.01*_e),no("Fantasteel mouse")&&(e+=.01*_e),no("Nevercrack mouse")&&(e+=.01*_e),no("Armythril mouse")&&(e+=.01*_e),no("Technobsidian mouse")&&(e+=.01*_e),no("Plasmarble mouse")&&(e+=.01*_e),no("Miraculite mouse")&&(e+=.01*_e),no("Fortune #104")&&(e+=.01*_e);let o=1;if(no("Santa's helpers")&&(o*=1.1),no("Cookie egg")&&(o*=1.1),no("Halo gloves")&&(o*=1.1),no("Dragon claw")&&(o*=1.03),no("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,no("Luminous gloves")?20:10)),o*=oo("click"),Kt.Temple.minigameLoaded&&io){const e=io("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*eo("Dragon Cursor");let n=o*Game.ComputeCps(1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[_e-Game.cookiesPs,o]:[_e-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(xt[t]={bonus:Game.cookiesPs-xe},1===e.CalcWrink?xt[t].bonus-=Te:2===e.CalcWrink&&(xt[t].bonus-=Me),Number.isFinite(xt[t].bonus)||(xt[t].bonus=0)):(xt[t]={},o[0]&&(xt[t].bonus=o[0]),o[1]&&(xt[t].bonusMouse=o[1]))}))}function Ko(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Nt=Ko(7,e,dt),Bt=2*Nt[1]/dt,Et=Nt[2]/60/60/6/ct,Wt=Ko(6,e,pt),Ot=2*Wt[1]/pt,Ft=Wt[2]/60/60/6/ct,jt=Ko(7,7*e,dt),Lt=2*jt[1]/dt,At=jt[2]/60/60/6/ct,Ut=Ko(6,7*e,pt),Dt=2*Ut[1]/pt,Ht=Ut[2]/60/60/6/ct}function Zo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Be,i=Math.max(0,o-Ee)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?St+=e:"cookie"===o.pool?Pt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Mt+=e)}}))}function tn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ht=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ht*=2)}}function on(){Je=900*st/.15,Je*=ct;const e=So();e>0?Je/=e:Je=0,Ze=dt*(.15*Je)+13,et=pt*(.15*Je)+13,tt=7*Je,ot=dt*(.15*tt)+13,nt=pt*(.15*tt)+13,it=2*Je,at=.15*it,rt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountrt&&(rt=2*Game.Objects[e].price,lt=e)}))}function nn(){let e=1,t=1,o=1;no("Green yeast digestives")&&(o*=1.01),no("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),dt=o*e,pt=o*t,ct=1,0===Game.shimmerTypes.golden.n&&(ct*=1+1.23*Game.auraMult("Dragon's Fortune"))}function an(){bt=0,kt=0,Gt=[0,null];for(let e=0;eGt[0]&&(Gt=[t,e]))}}function rn(){yo(),an(),on(),nn(),Jo(),en(),tn(),me=new Oo(Y[Y.length-1]),he=new Oo(Y[Y.length-1]),ge=new Oo(Y[Y.length-1]),fe=new Oo(Y[Y.length-1]),Ce=new Oo(K[K.length-1]),ye=new Oo(5),ue=new Oo(20*K[K.length-1]),Zo(),Fo(),Yo(),qo(),jo()}const ln={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},sn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function cn(){1===e.BotBar?(l("CMBotBar").style.display="",ho()):l("CMBotBar").style.display="none",fo()}function dn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),ho(),lo(),so()}function pn(){1===e.Favicon&&y>0?It.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class un{constructor(e,t){this.type=e,this.group=t}}class mn extends un{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class hn extends un{constructor(e,t,o){super(e,t),this.desc=o}}class gn extends un{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class fn extends un{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const Cn={CPSMode:new mn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new mn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new mn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new mn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){ze=!0})),Scale:new mn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){dn()})),ScaleDecimals:new mn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){dn()})),ScaleSeparator:new mn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){dn()})),ScaleCutoff:new fn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new mn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new mn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new mn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new mn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){lo()})),PPOnlyConsiderBuyable:new mn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new mn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new mn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new fn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new hn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new hn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new hn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new hn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new hn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new hn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new hn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new hn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new hn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new mn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){cn()})),TimerBar:new mn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){Co()})),TimerBarPos:new mn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),fo()})),TimerBarOverlay:new mn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new mn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",so()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",so()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new mn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new mn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){lo()})),SortUpgrades:new mn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){so()})),DragonAuraInfo:new mn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new mn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new mn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Xt[e].l.style.left,re[e].style.top=Xt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new mn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){pn()})),WrinklerButtons:new mn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new mn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new mn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new mn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new mn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new mn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new mn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new mn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new mn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new fn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new mn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new mn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Po()})),TooltipGrim:new mn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new mn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new mn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new mn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new mn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new mn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new mn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new mn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new mn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new mn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new fn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new mn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new mn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new mn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new mn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){sn(e.GCNotification)})),GCFlash:new mn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new hn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new mn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new gn("vol","NotificationGC",[],"Volume"),GCSoundURL:new mn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new mn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){sn(e.FortuneNotification)})),FortuneFlash:new mn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new hn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new mn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new gn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new mn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new mn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){sn(e.SeaNotification)})),SeaFlash:new mn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new hn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new mn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new gn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new mn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new mn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new hn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new mn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new gn("vol","NotificationGard",[],"Volume"),GardSoundURL:new mn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new mn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){sn(e.MagicNotification)})),MagicFlash:new mn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new hn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new mn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new gn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new mn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new mn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){sn(e.WrinklerNotification)})),WrinklerFlash:new mn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new hn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new mn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new gn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new mn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new mn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){sn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new mn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new hn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new mn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new gn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new mn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new mn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new mn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function yn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function bn(){if(Ye!==Game.dragonLevel||ze){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Upgrades).forEach((e=>{Jt[e]=vo(e)})),Zt=[],Object.keys(Game.Achievements).forEach((e=>{Zt[e]=bo(e)})),wo()}let vn=!1;function wn(t,o,n){(1===e[o]||n)&&3===t&&!1===vn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){wn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){wn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){wn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function xn(t,o,n,i){if((1===e[o]||i)&&!1===vn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Tn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===vn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Mn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(cn(),Co()),go()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(Gn(),rn(),r=Object.keys(Game.mods).length),ze&&(Yo(),Game.Has("Golden switch [off]")?(wo(),Jt["Golden switch [off]"].bought=0,Uo(),st=_e):st=Game.cookiesPs,nn(),on(),en(),Jo(),bn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Yt[e][t]=kn(e,t)}(),tn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;wo();let t=2;5!==He&&18!==He||(t-=1),5!==Ue&&18!==Ue||(t-=1),He=5,Ue=18;for(let e=0;e{Kt[t].amount>0&&(e=t)})),Kt[e].amount-=1,Fe-=1}return Object.keys(Kt).forEach((t=>{const o=Kt[t];e+=ro(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),qt=e}(),ze=0);const t=Game.auraMult("Fierce Hoarder")>0;!Oe&&t?(Oe=!0,Ne=1):Oe&&!t&&(Oe=!1,Ne=1),Ne&&(qo(),Ne=0),function(){an(),jo(),function(){vt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Kt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}wt=e,vt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Fo(),Zo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Vt=de(e/co())}(),G=0,Xt={},Object.keys(Game.shimmers).forEach((e=>{Xt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(It=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Xt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),pn(),b=G,0===G&&(It=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Xt[e].l.style.opacity,re[e].style.transform=Xt[e].l.style.transform,re[e].textContent=Math.ceil(Xt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(wn(3,"FortuneFlash",!1),xn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Tn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(zt=Game.shimmers[e])})),wn(3,"SeaFlash",!1),xn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Tn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?wn(3,"WrinklerMaxFlash",!1):wn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?xn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):xn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Tn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Tn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Sn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=ln[t]):"Header"===t&&Object.keys(ln.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=ln[t][n])}))})),o&&Pn(),Mn(),Object.keys(ln).forEach((e=>{"Header"!==e&&void 0!==Cn[e].func&&Cn[e].func()}))}else Bn(ln);Game.UpdateMenu(),Sn()}function En(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Nn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Do(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Bo(),l("tooltip").innerHTML}function On(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Fn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Pn()}function Un(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Hn(o),Game.UpdateMenu()},n.appendChild(i),n}function $n(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape($[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Rn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function In(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Un("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+po(){Game.HasUnlocked(Vo[e])||c.push(Vo[e])})),0!==c.length&&e.appendChild($n("basic","Rare plant drops left to unlock",Rn(c))),e}())),o.appendChild(Un("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?gt:0)));t.appendChild($n("withTooltip","Prestige level (cur / max)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&>?gt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/Rt,1)})`,i.appendChild(a),t.appendChild($n("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild($n("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild($n("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(ce(ut,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild($n("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(ce(e)))),t.appendChild($n("basic","Time till target (cur, current 5 second average)",document.createTextNode(de(e/ut)))))}const l=function(e){let t=Game.cookiesPs;wo(),0===Jt["Heavenly key"].bought&&(Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,Uo(),t=_e,wo()),$t>=1e6&&Ho("Sacrifice"),$t>=1e9&&Ho("Oblivion"),$t>=1e12&&Ho("From scratch"),$t>=1e15&&Ho("Nihilism"),$t>=1e18&&Ho("Dematerialize"),$t>=1e21&&Ho("Nil zero zilch"),$t>=1e24&&Ho("Transcendence"),$t>=1e27&&Ho("Obliterate"),$t>=1e30&&Ho("Negative void"),$t>=1e33&&Ho("To crumbs, you say?"),$t>=1e36&&Ho("You get nothing"),$t>=1e39&&Ho("Humble rebeginnings"),$t>=1e42&&Ho("The end of the world"),$t>=1e45&&Ho("Oh, you're back"),$t>=1e48&&Ho("Lazarus"),$t>=1e51&&Ho("Smurf account"),$t>=1e54&&Ho("If at first you don't succeed"),Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,De=e;const o=Ae;Uo(),Qo(),o!==Ae&&Uo();const n=_e-t;return De=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild($n("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Un("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(bt)} / ${ce(kt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){En()},e.appendChild(t),o.appendChild($n("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(Gt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},n.appendChild(i),o.appendChild($n("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==Gt[1]?Gt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(n.push(Ro[e]),o=!0)}));const i=[];Object.keys(Io).forEach((e=>{Game.Has(Io[e])||(i.push(Io[e]),o=!0)}));const a=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(a.push(zo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Un("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild($n("basic","Halloween cookies left to buy",Rn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild($n("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild($n("basic","Christmas cookies left to buy",Rn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild($n("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild($n("basic","Valentine cookies left to buy",Rn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild($n("basic","Normal easter eggs left to unlock",Rn(r))),t.appendChild($n("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild($n("basic","Rare easter eggs left to unlock",Rn(l))),t.appendChild($n("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild($n("basic","Reindeer reward",document.createTextNode(ce(ht)))),s&&t.appendChild($n("withTooltip","Chocolate egg cookies",document.createTextNode(ce(gt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild($n("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(mt-1))/100+"%")))}return t}()),o.appendChild(Un("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild($n("basic",`Average cookies per second (past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(co(),3)))),o.appendChild($n("basic",`Average cookie clicks per second (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(Tt,1)))),o.appendChild($n("basic",`Cookies from clicking (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(ue.calcSum(Tt*K[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys($o).forEach((t=>{Game.Has($o[t])||e.push($o[t])})),0!==e.length&&o.appendChild($n("basic","Fortune Upgrades Left to Buy",Rn(e)))}if(e.ShowMissedGC&&o.appendChild($n("basic","Missed golden cookies",document.createTextNode(ce(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild($n("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const zn={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Vn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function _n(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Hn(t),Game.UpdateMenu()},n.appendChild(i),n}function Qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return se.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(e),Pn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape($.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===Cn[t].type){const n=document.createElement("a");Cn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=jn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===Cn[t].label.length?(e[t]=0,Cn[t].toggle&&(l(jn+t).className="option off")):l(jn+t).className="option",void 0!==Cn[t].func&&Cn[t].func(),l(jn+t).innerHTML=Cn[t].label[e[t]],Pn()}(t)},n.textContent=Cn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=Cn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===Cn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=Cn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Dn(t)},r.onchange=function(){Dn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){xn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${jn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Pn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=Cn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===Cn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Ln(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Sn(),Pn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=Cn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){wn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),An().init(),o}if("numscale"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="number",i.value=e[t],i.min=Cn[t].min,i.max=Cn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Pn(),dn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=Cn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Xn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function qn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),ze=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Xn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Xn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Xn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Kt[Game.ObjectsById[e].name].name;Kt[o].amount-=1,Fe-=1,t=Kt[o].basePrice*Game.priceIncrease**Math.max(0,Kt[o].amount-1-Kt[o].free),t=Game.modifyBuildingPrice(Kt[o],t),t=Math.ceil(t);break}const o=Ae;return Uo(),Qo(),o!==Ae&&Uo(),[_e-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${ce(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ke}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==An().picker&&void 0!==An().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(zn).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(_n(t,zn[t])),e.Header[t]))for(let e=0;e{const n=_n(t,Vn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Qn(e))}))})):Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Bn(ln)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",In(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Hn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=It?It.wrath?`[W${Math.ceil(It.life/Game.fps)}]`:`[G${Math.ceil(It.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(zt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;It&&(t=!0,It.wrath?e+=`[W${Math.ceil(It.life/Game.fps)}]`:e+=`[G${Math.ceil(It.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(zt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Ee<1?"Ascending now would grant you no prestige.":Ee<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Ee)} prestige levels (+${ce(Ee)}% CpS)
and ${ce(Ee)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Vt} to reach the next level and you were making ${ce(ut,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Yn(){Gn(),on(),rn(),r=Object.keys(Game.mods).length,w=document.createElement("style"),w.type="text/css",w.id="CMCSS",document.head.appendChild(w),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{mo(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=uo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=uo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),$[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){En()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),On(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Wn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},qn(),Wn(),Game.CalculateGains(),Bn(),R=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Kn={init:function(){vn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Yn(),Game.registerHook("draw",Eo),Game.registerHook("logic",Mn),Game.registerHook("click",No),vn=!1)},load:function(e){const t=JSON.parse(e);Gn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Bn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:yn};Game.registerMod("CookieMonster",Kn)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index 27eefb1e..1c671f42 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CacheAverageCookiesFromClicks","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","CMDrawHook","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","reduce","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","MissingAchievements","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoopHook","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","CrateTooltipLockedAchievements","tags","neuromancy","tagsStr","sesame","descFunc","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","calcSum","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","achievs","shadowachievs","values","parentElement","achievsCrate","AchievementsById","mouseDown","setOnCrate","AddMissingAchievements","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CacheAverageCookiesFromClicks","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","CMDrawHook","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","reduce","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","MissingAchievements","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoopHook","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","calcSum","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","achievs","values","parentElement","achievsCrate","AchievementsById","mouseDown","setOnCrate","tags","neuromancy","sesame","descFunc","tagsStr","CrateTooltipLockedAchievements","AddMissingAchievements","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":";AAAS,MACC,IAAIA,EAAsB,CAE9BC,IACA,SAAUC,IAchB,SAAWC,EAAQC,GAElB,aAEuC,iBAAnBF,EAAOG,QAc3BD,EAAQD,GAZPD,EAAOG,QAAUF,EAAOG,SACvBF,EAASD,GACT,SAAUI,GACT,IAAKA,EAAID,SACR,MAAM,IAAIE,MAAM,wCAEjB,OAAOJ,EAAQG,IAZnB,CAoBqB,oBAAXE,OAAyBA,OAASC,MAAM,SAAUD,GAK5D,aAGA,IAwgDME,EAt7BAC,EAzXAC,EAvNFC,EAFAC,IAEAD,EAAM,CAGTE,aAAc,EAEdC,UAAY,GAEZC,WAAa,GAGbC,SAAW,gBACY,IAAXV,GAA0BA,EAAOH,UAC3CG,EAAOH,SAASc,iBAAiB,mBAAoBN,EAAIO,IAAIC,MAAM,IAKrEC,kBAAoB,SAAUC,EAAUC,GAEvC,KADAA,EAAWA,EAAWX,EAAIY,KAAKD,GAAYhB,EAAOH,UAEjD,MAAM,IAAIE,MAAM,qBAQjB,IALA,IAAImB,EAAOF,EAASG,iBAAiBJ,GAGjCK,EAAa,IAAIC,OAAO,WAAahB,EAAIO,IAAIU,YAAc,6BAA8B,KAEpFC,EAAI,EAAGA,EAAIL,EAAKM,OAAQD,GAAK,EAAG,CAUxC,IAAIE,EAAUC,EARd,KAAIR,EAAKK,GAAGjB,SAAWY,EAAKK,GAAGjB,mBAAmBD,EAAIO,YAIjCe,IAAjBT,EAAKK,GAAGK,MAAoD,SAA9BV,EAAKK,GAAGK,KAAKC,gBAA4BxB,EAAIyB,wBAOzB,QAApDL,EAAWpB,EAAI0B,YAAYb,EAAKK,GAAI,aACpCL,EAAKK,GAAGS,YAAcN,EAAIR,EAAKK,GAAGS,UAAUC,MAAMb,KAClD,CACD,IAAIc,EAAYhB,EAAKK,GAEjBY,EAAU,GACG,OAAbV,EACHU,EAAUV,EAEAC,IACVU,QAAQC,KAAK,sFAAwFhC,EAAIiC,SACrGZ,EAAE,KACLS,EAAUT,EAAE,KAId,IAAIa,EAAO,KACX,GAAIJ,EAAQK,OACX,IACCD,EAAOlC,EAAIoC,gBAAgBN,GAC1B,MAAOO,GACRN,QAAQC,KAAKK,EAAI,KAAOP,GAI1B,IACC,IAAI9B,EAAIO,IAAIsB,EAAWK,GACtB,MAAOG,GACRN,QAAQC,KAAKK,OAOjBD,gBAAkB,SAAUE,GAC3B,IAAIJ,EAAO,KAEX,IACCA,EAAOK,KAAKC,MAAMF,GAEjB,MAAOG,GACR,IAAKzC,EAAIO,IAAImC,UACZ,MAAM,IAAIhD,MAAM,4CAA8C+C,GAG9D,IACCP,EAAO,IAAKS,SAAU,eAAiBL,EAAM,kDAAtC,GACN,MAAOM,GACR,MAAM,IAAIlD,MAAM,uCAAyCkD,IAI5D,OAAOV,GAIRW,aAAe,WAEd,IADA,IAAIC,EAAO,GACF5B,EAAI,EAAGA,EAAIlB,EAAIG,UAAUgB,OAAQD,GAAK,EAE1ClB,EAAIG,UAAUe,IAAMlB,EAAIG,UAAUe,GAAG6B,eACxCD,EAAKE,KAAKhD,EAAIG,UAAUe,IAG1B,OAAO4B,GAIRG,SAAW,SAAUC,GACpB,IAAIC,EAAKxD,EAAOH,SAAS4D,cAAcF,GAEvC,OADAlD,EAAIqD,QAAQF,EAAI,OAAO,GAChBA,GAIRvC,KAAO,SAAU0C,GAChB,IAAKA,EACJ,OAAO,KAGR,GAA8B,iBAAnBA,EAA6B,CAEvC,IAAIC,EAAMD,EACNH,EAAK,KACT,IACCA,EAAKxD,EAAOH,SAASgE,cAAcD,GAClC,MAAOlB,GAER,OADAN,QAAQC,KAAKK,GACN,KAKR,OAHKc,GACJpB,QAAQC,KAAK,sCAAuCuB,GAE9CJ,EAGR,OAAInD,EAAIyD,OAAOH,GAEPA,GAGRvB,QAAQC,KAAK,qCAAsCsB,EAAgBA,GAC5D,OAKRG,OAAS,SAAUC,GAClB,MAAoB,iBAATC,KACHD,aAAeC,KAEhBD,GAAsB,iBAARA,GAA4C,iBAAjBA,EAAIE,UAAiD,iBAAjBF,EAAIG,UAIzFA,SAAW,SAAUjD,GACpB,SAAIA,IAAQA,EAAKiD,WACTjD,EAAKiD,SAASrC,eAMvBsC,eAAiB,SAAUlD,GAC1B,KAAOA,EAAKmD,YACXnD,EAAKoD,YAAYpD,EAAKmD,aAKxBE,YAAc,SAAUd,GACvB,OAAOA,GAA2B,UAArBnD,EAAI6D,SAASV,IAA6C,SAA1BA,EAAG5B,KAAKC,eAItD0C,SAAW,SAAUf,GACpB,IAAKA,EACJ,OAAO,EAER,IAAIgB,EAAInE,EAAI6D,SAASV,GACrB,MACQ,WAANgB,GACM,UAANA,GAAiB,CAAC,SAAU,SAAU,SAASC,QAAQjB,EAAG5B,KAAKC,gBAAkB,GAKpF6C,cAAgB,SAAUlB,GACzB,OAAQnD,EAAI6D,SAASV,IACpB,IAAK,QAAS,OAASA,EAAGmB,OAA6B,KAApBnB,EAAGmB,MAAMnC,OAC5C,IAAK,SAAU,MAAkC,KAA1BgB,EAAGoB,YAAYpC,OAEvC,OAAO,MAKRqC,wBAA0B,WACzB,IAAIC,GAAY,EAEhB,IACC,IAAIvC,EAAOwC,OAAOC,eAAe,GAAI,UAAW,CAC/CC,IAAK,WAAcH,GAAY,KAEhC9E,EAAOW,iBAAiB,cAAe,KAAM4B,GAC7CvC,EAAOkF,oBAAoB,cAAe,KAAM3C,GAC/C,MAAOG,IAET,OAAOoC,EAXkB,GAe1BhD,sBACK1B,EAAMJ,EAAOH,SAAS4D,cAAc,YACpCrD,EAAI+E,eACP/E,EAAI+E,aAAa,OAAQ,SACK,SAA1B/E,EAAIwB,KAAKC,iBAQfuD,SAAW,gBAOX1B,QAAU,WACT,IAAI2B,EAAMC,UAAU,GAEpB,GAAyB,IAArBA,UAAU9D,OAAc,CAE3B,IAAI+D,EAAOF,EAAIG,eAAenF,EAAI+E,UAAYC,EAAIhF,EAAI+E,UAAaC,EAAIhF,EAAI+E,UAAY,GAEnFT,EAAQW,UAAU,GAGtB,OADAC,EAHIE,EAAOH,UAAU,IAGRX,GACN,EAED,GAAyB,IAArBW,UAAU9D,QAAwC,iBAAjB8D,UAAU,GAAiB,CAElEC,EAAOF,EAAIG,eAAenF,EAAI+E,UAAYC,EAAIhF,EAAI+E,UAAaC,EAAIhF,EAAI+E,UAAY,GAAvF,IACIM,EAAMJ,UAAU,GAEpB,IAAK,IAAIG,KAAQC,EACZA,EAAIF,eAAeC,KACtBF,EAAKE,GAAQC,EAAID,IAGnB,OAAO,EAGR,MAAM,IAAI1F,MAAM,sBAOjB4F,WAAa,WACZ,IAAIN,EAAMC,UAAU,GACpB,IAAKD,EAAIG,eAAenF,EAAI+E,UAC3B,OAAO,EAER,IAAK,IAAI7D,EAAI,EAAGA,EAAI+D,UAAU9D,OAAQD,GAAK,EAAG,CAC7C,IAAIkE,EAAOH,UAAU/D,UACd8D,EAAIhF,EAAI+E,UAAUK,GAE1B,OAAO,GAIRG,QAAU,SAAUP,EAAKI,EAAMI,GAC9B,IAAKR,EAAIG,eAAenF,EAAI+E,UAAW,CAEtC,QAAmBzD,IAAfkE,EAGH,OAFAR,EAAIhF,EAAI+E,UAAY,GAKtB,IAAIG,EAAOF,EAAIhF,EAAI+E,UAKnB,OAHKG,EAAKC,eAAeC,SAAwB9D,IAAfkE,IACjCN,EAAKE,GAAQI,GAEPN,EAAKE,IAIb1D,YAAc,SAAUyB,EAAIsC,GAC3B,IAAIC,EAAW,QAAUD,EAEzB,OADgBtC,EAAGwC,aAAaD,IAKjCE,YAAc,SAAUzC,EAAIsC,EAAMnB,GACjC,IAAIoB,EAAW,QAAUD,EACzBtC,EAAG2B,aAAaY,EAAUpB,IAI3BuB,qBAAuB,GAGvBC,iBAAmB,SAAUC,EAAW5C,EAAI6C,EAAMC,GAC5CjG,EAAI6F,qBAAqBV,eAAeY,KAC5C/F,EAAI6F,qBAAqBE,GAAa,IAEvC/F,EAAI6F,qBAAqBE,GAAW/C,KAAK,CAACG,EAAI6C,EAAMC,IACpD9C,EAAG7C,iBAAiB0F,EAAMC,GAAM,IAIjCC,kBAAoB,SAAUH,GAC7B,GAAI/F,EAAI6F,qBAAqBV,eAAeY,GAAY,CACvD,IAAK,IAAI7E,EAAI,EAAGA,EAAIlB,EAAI6F,qBAAqBE,GAAW5E,OAAQD,GAAK,EAAG,CACvE,IAAIiF,EAAMnG,EAAI6F,qBAAqBE,GAAW7E,GAC9CiF,EAAI,GAAGtB,oBAAoBsB,EAAI,GAAIA,EAAI,IAAI,UAErCnG,EAAI6F,qBAAqBE,KAKlCK,eAAiB,SAAU/D,GACtBA,EAAE+D,gBAAkB/D,EAAE+D,iBAC1B/D,EAAEgE,aAAc,GAIjBC,cAAgB,SAAUC,GAErBA,EAAOC,aACVxG,EAAIyG,gBAAkBF,EACtBvG,EAAIyG,gBAAgBD,eAKtBE,cAAgB,WAEX1G,EAAIyG,kBACPzG,EAAIyG,gBAAgBE,iBACpB3G,EAAIyG,gBAAkB,OAKxBG,aAAe,SAAUzD,EAAI0D,EAAWC,EAASC,GAChD,GAAK5D,EAAL,CAIA,IAAI6D,EAAK,KAaT,MAXqB,mBAAVC,MACVD,EAAK,IAAIC,MAAMJ,EAAW,CACzBC,QAASA,EACTC,WAAYA,KAIbC,EAAKrH,EAAOH,SAAS0H,YAAY,UAC9BC,UAAUN,EAAWC,EAASC,KAG7BC,IAKLhH,EAAIqD,QAAQ2D,EAAI,YAAY,GAE5B7D,EAAGiE,cAAcJ,IACV,KAIRK,kBAAoB,SAAUlE,EAAI0D,EAAWC,EAASC,GAChD5D,GAGDnD,EAAIiE,YAAYd,IACnBnD,EAAI4G,aAAazD,EAAI0D,EAAWC,EAASC,IAK3CO,SAAW,SAAUN,GACpB,IAAIO,EAAO,CACVC,EAAG,MACHC,GAAI,QACJC,GAAI,UAEL,MAAuB,iBAAZV,EAAGW,KACNX,EAAGW,UACerG,IAAf0F,EAAGY,SAAyBL,EAAKpC,eAAe6B,EAAGY,SACtDL,EAAKP,EAAGY,SAET,MAIRC,QAAU,SAAUvF,GACnB,OAAKA,EAGEA,EAAIwF,QAAQ,aAAc,IAAIC,MAAM,OAFnC,IAOTC,SAAW,SAAUjI,EAAK4B,GACzB,QAAKA,SAGiBL,IAAlBvB,EAAIkI,UACAlI,EAAIkI,UAAUC,SAASvG,IAGvB,IAAM,IAAM5B,EAAI4B,UAAUmG,QAAQ,OAAQ,KAAO,KAAK1D,QAAQ,IAAMzC,EAAY,OAKzFwG,SAAW,SAAUpI,EAAK4B,GACzB,IAAIyG,EAAapI,EAAI6H,QAAQlG,GAE7B,QAAsBL,IAAlBvB,EAAIkI,UAOR,IAAS/G,EAAI,EAAGA,EAAIkH,EAAWjH,OAAQD,GAAK,EACtClB,EAAIgI,SAASjI,EAAKqI,EAAWlH,MACjCnB,EAAI4B,YAAc5B,EAAI4B,UAAY,IAAM,IAAMyG,EAAWlH,SAR1D,IAAK,IAAIA,EAAI,EAAGA,EAAIkH,EAAWjH,OAAQD,GAAK,EAC3CnB,EAAIkI,UAAUI,IAAID,EAAWlH,KAchCoH,YAAc,SAAUvI,EAAK4B,GAC5B,IAAIyG,EAAapI,EAAI6H,QAAQlG,GAE7B,QAAsBL,IAAlBvB,EAAIkI,UAOR,IAAS/G,EAAI,EAAGA,EAAIkH,EAAWjH,OAAQD,GAAK,EAAG,CAC9C,IAAIqH,EAAO,IAAIvH,OACd,QAAUoH,EAAWlH,GAArB,YACSkH,EAAWlH,GADpB,aAESkH,EAAWlH,GAAK,SACzB,KAEDnB,EAAI4B,UAAY5B,EAAI4B,UAAUmG,QAAQS,EAAM,WAb5C,IAAK,IAAIrH,EAAI,EAAGA,EAAIkH,EAAWjH,OAAQD,GAAK,EAC3CnB,EAAIkI,UAAUO,OAAOJ,EAAWlH,KAiBnCuH,aAAe,SAAU1I,GAKxB,OAJgBJ,EAAO+I,iBAAmB/I,EAAO+I,iBAAiB3I,GAAOA,EAAI4I,eAKrE,IAUTC,SAAW,SAAU7I,EAAK8I,EAAQC,EAAWC,GAE5C,IAAIC,EAAWF,EAAY,YAAc,GACrCG,EAAY,KAEhB,IAAK,IAAI7D,KAAQyD,EAChB,GAAIA,EAAO1D,eAAeC,GAAO,CAChC,IAAI8D,EAAS,KAEQ,OAAjBL,EAAOzD,IAGL6D,IAEJA,EAAYjJ,EAAIuF,QAAQxF,EAAK,cAE1BkJ,GAAaA,EAAU9D,eAAeC,KAEzC8D,EAASD,EAAU7D,MAMhB2D,IACEE,IAEJA,EAAYjJ,EAAIuF,QAAQxF,EAAK,YAAa,KAEtCkJ,EAAU9D,eAAeC,KAE7B6D,EAAU7D,GAAQrF,EAAIoJ,MAAM/D,KAG9B8D,EAASL,EAAOzD,IAGF,OAAX8D,GACHnJ,EAAIoJ,MAAMC,YAAYhE,EAAM8D,EAAQF,KAOxCK,SAAW,SAAUC,EAAGC,EAAGC,GAC1B,MAAO,MACL,IAAMC,KAAKC,MAAMJ,GAAGK,SAAS,KAAKC,QAAQ,IAC1C,IAAMH,KAAKC,MAAMH,GAAGI,SAAS,KAAKC,QAAQ,IAC1C,IAAMH,KAAKC,MAAMF,GAAGG,SAAS,KAAKC,QAAQ,IAC1CC,eAIHC,UAAY,SAAUR,EAAGC,EAAGC,EAAGO,GAC9B,MAAO,MACL,IAAMN,KAAKC,MAAMJ,GAAGK,SAAS,KAAKC,QAAQ,IAC1C,IAAMH,KAAKC,MAAMH,GAAGI,SAAS,KAAKC,QAAQ,IAC1C,IAAMH,KAAKC,MAAMF,GAAGG,SAAS,KAAKC,QAAQ,IAC1C,IAAMH,KAAKC,MAAU,IAAJK,GAASJ,SAAS,KAAKC,QAAQ,IAChDC,eAIHG,SAAW,SAAUV,EAAGC,EAAGC,GAC1B,MAAO,OACNC,KAAKC,MAAMJ,GAAK,IAChBG,KAAKC,MAAMH,GAAK,IAChBE,KAAKC,MAAMF,GACZ,KAIDS,UAAY,SAAUX,EAAGC,EAAGC,EAAGO,GAC9B,MAAO,QACNN,KAAKC,MAAMJ,GAAK,IAChBG,KAAKC,MAAMH,GAAK,IAChBE,KAAKC,MAAMF,GAAK,IACfC,KAAKC,MAA4C,KAArCK,QAA4B,EAAIA,IAAY,IAC1D,KAIDG,gBAmBKpK,EAjBJ,WAKC,IAJA,IAAIqK,EAAU,kBACVC,EAAW,CAAC,GAAI,WAAY,QAAS,MAAO,QAC5CC,EAAS1K,EAAOH,SAAS4D,cAAc,OAElClC,EAAI,EAAGA,EAAIkJ,EAASjJ,OAAQD,GAAK,EAAG,CAC5C,IAAIoJ,EAAUF,EAASlJ,GAAKiJ,EACxBI,EAASD,EAAU,2CAGvB,GADAD,EAAOlB,MAAMqB,WAAaD,EACtBF,EAAOlB,MAAMqB,WAChB,OAAOF,EAGT,OAAOH,EAGOM,GAER,WACN,OAAO3K,EAAW,IAAM4K,MAAMC,UAAUC,KAAKC,KAAK5F,UAAW,MAAQ,MAMvE6F,gBAAkB,SAAU/K,EAAKuE,GAChCtE,EAAI4I,SAAS7I,EAAK,CAACgL,gBAAkBzG,GAAS,OAI/C0G,aAAe,SAAUjL,EAAKuE,GAC7BtE,EAAI4I,SAAS7I,EAAK,CAACkL,aAAc3G,GAAS,UAI3C4G,cAAgB,SAAU7I,EAAG8I,GAC5B,IAAIC,EAAE,EAAGC,EAAE,EACPC,EAAOjJ,EAAEkJ,wBAGb,GAFAH,EAAIE,EAAKE,KACTH,EAAIC,EAAKG,KACJN,EAAoB,CACxB,IAAIO,EAAU1L,EAAI2L,aAClBP,GAAKM,EAAQ,GACbL,GAAKK,EAAQ,GAEd,MAAO,CAACN,EAAGC,IAIZO,eAAiB,SAAUvJ,GAC1B,MAAO,CAACA,EAAEwJ,YAAaxJ,EAAEyJ,eAK1BC,iBAAmB,SAAU1J,GAC5B,IAAI+I,EAAI,EAAGC,EAAI,EASf,YARgC,IAArBhJ,EAAE2J,gBAAkC3J,EAAE2J,eAAe7K,QAE/DiK,EAAI/I,EAAE2J,eAAe,GAAGC,QACxBZ,EAAIhJ,EAAE2J,eAAe,GAAGE,SACO,iBAAd7J,EAAE4J,UACnBb,EAAI/I,EAAE4J,QACNZ,EAAIhJ,EAAE6J,SAEA,CAAEd,EAAGA,EAAGC,EAAGA,IAKnBc,iBAAmB,SAAU9J,GAC5B,IACI+J,GADS/J,EAAEkE,QAAUlE,EAAEgK,YACHd,wBAIpBU,EAAU,EAAGC,EAAU,EAY3B,YAXgC,IAArB7J,EAAE2J,gBAAkC3J,EAAE2J,eAAe7K,QAE/D8K,EAAU5J,EAAE2J,eAAe,GAAGC,QAC9BC,EAAU7J,EAAE2J,eAAe,GAAGE,SACC,iBAAd7J,EAAE4J,UACnBA,EAAU5J,EAAE4J,QACZC,EAAU7J,EAAE6J,SAKN,CAAEd,EAFLa,EAAUG,EAAWZ,KAEVH,EADXa,EAAUE,EAAWX,MAK1BE,WAAa,WACZ,IAAIW,EAAM3M,EAAOH,SAAS+M,gBAC1B,MAAO,EACL5M,EAAO6M,aAAeF,EAAIG,aAAeH,EAAII,YAAc,IAC3D/M,EAAOgN,aAAeL,EAAIM,YAAcN,EAAIO,WAAa,KAK5DC,YAAc,WACb,IAAIR,EAAM3M,EAAOH,SAAS+M,gBAC1B,MAAO,CACL5M,EAAOoN,YAAcT,EAAIU,YACzBrN,EAAOsN,aAAeX,EAAIY,eAW7BC,QAAU,SAAU7D,EAAGC,EAAGC,GACzBF,GAAK,IACLC,GAAK,IACLC,GAAK,IACL,IAAIrF,EAAIsF,KAAK2D,IAAI3D,KAAK2D,IAAI9D,EAAEC,GAAGC,GAC3B6D,EAAI5D,KAAK6D,IAAI7D,KAAK6D,IAAIhE,EAAEC,GAAGC,GAC3BnI,EAAIgM,EAAIlJ,EACZ,GAAU,IAAN9C,EAAW,MAAO,CAAE,KAAM,EAAG,IAAMgM,GACvC,IAAIE,EAAIjE,IAAInF,EAAI,GAAGqF,EAAED,GAAGlI,EAAKkI,IAAIpF,EAAI,GAAGmF,EAAEE,GAAGnI,EAAI,GAAGkI,EAAED,GAAGjI,EACzD,MAAO,CACN,IAAU,IAAJkM,EAAM,EAAEA,GACPlM,EAAEgM,EAAT,IACA,IAAMA,IAWRG,QAAU,SAAUD,EAAGE,EAAGJ,GACzB,IAAIK,EAAWL,EAAI,IAAX,IAER,GAAU,OAANE,EACH,MAAO,CAAEG,EAAGA,EAAGA,GAGhBH,GAAK,GACLE,GAAK,IAEL,IAAIvM,EAAIuI,KAAKkE,MAAMJ,GAEflM,EAAIqM,GAAK,EAAID,GACbtJ,EAAIuJ,GAAK,EAAID,GAFTvM,EAAE,EAAIqM,EAAErM,EAAI,GAAGqM,EAAErM,KAGzB,OAAQA,GACP,KAAK,EACL,KAAK,EAAG,MAAO,CAACwM,EAAEvJ,EAAE9C,GACpB,KAAK,EAAG,MAAO,CAAC8C,EAAEuJ,EAAErM,GACpB,KAAK,EAAG,MAAO,CAACA,EAAEqM,EAAEvJ,GACpB,KAAK,EAAG,MAAO,CAAC9C,EAAE8C,EAAEuJ,GACpB,KAAK,EAAG,MAAO,CAACvJ,EAAE9C,EAAEqM,GACpB,KAAK,EAAG,MAAO,CAACA,EAAErM,EAAE8C,KAKtByJ,iBAAmB,SAAUtL,GAC5B,IAKIjB,EALAwM,EAAM,CACTC,KAAM,KACNC,OAAQ,MAKT,GAAI1M,EAAIiB,EAAIV,MAAM,4BAA6B,CAG9C,GAAoB,IAAhBP,EAAE,GAAGF,OAER0M,EAAIE,OAAS,OACbF,EAAIC,KAAO,CACVE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1BoE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1BoE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1BoE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAAM,UAG3B,GAAoB,IAAhBvI,EAAE,GAAGF,OAEf0M,EAAIE,OAAS,MACbF,EAAIC,KAAO,CACVE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1BoE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1BoE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1B,UAGK,IAAoB,IAAhBvI,EAAE,GAAGF,OAWf,OAAO,EATP0M,EAAIE,OAAS,MACbF,EAAIC,KAAO,CACVE,SAAS3M,EAAE,GAAG4M,OAAO,GAAK5M,EAAE,GAAG4M,OAAO,GAAG,IACzCD,SAAS3M,EAAE,GAAG4M,OAAO,GAAK5M,EAAE,GAAG4M,OAAO,GAAG,IACzCD,SAAS3M,EAAE,GAAG4M,OAAO,GAAK5M,EAAE,GAAG4M,OAAO,GAAG,IACzC,MAOF,OAAOJ,EAGR,GAAIxM,EAAIiB,EAAIV,MAAM,6BAA8B,CAG/C,IAEIsM,EAAIC,EAAIC,EAAIC,EAFZC,EAAMjN,EAAE,GAAG0G,MAAM,KACjBwG,EAAK,kCAET,GACCD,EAAInN,QAAU,IACb+M,EAAKI,EAAI,GAAG1M,MAAM2M,MAClBJ,EAAKG,EAAI,GAAG1M,MAAM2M,MAClBH,EAAKE,EAAI,GAAG1M,MAAM2M,IAiBnB,OAfAV,EAAIE,OAAS,MACbF,EAAIC,KAAO,CACVU,WAAWN,EAAG,KAAO,EACrBM,WAAWL,EAAG,KAAO,EACrBK,WAAWJ,EAAG,KAAO,EACrB,MAIAE,EAAInN,QAAU,IACbkN,EAAKC,EAAI,GAAG1M,MAAM2M,MAEnBV,EAAIE,OAAS,OACbF,EAAIC,KAAK,GAAKU,WAAWH,EAAG,KAAO,GAE7BR,EAIT,OAAO,GAIRY,kBAAoB,SAAUC,GAC7B,IAAIC,EAAO,GAEU,iBAAVD,EAEVA,EAAM5G,QAAQ,iDAAiD,SAAUpE,GACxEiL,EAAK3L,KAAKU,MAEDgH,MAAMkE,QAAQF,KACxBC,EAAOD,GAOR,IAFA,IAAIG,EAAS,GAEJ3N,EAAI,EAAGA,EAAIyN,EAAKxN,OAAQD,IAAK,CACrC,IAAI4N,EAAQ9O,EAAI4N,iBAAiBe,EAAKzN,IAClC4N,GACHD,EAAO7L,KAAK8L,GAId,OAAOD,GAIRE,wBAA0B,SAAUF,GACnC,IAAK,IAAI3N,EAAI,EAAGA,EAAI2N,EAAO1N,OAAQD,IAAK,CACvC,IAAI6I,EAAI8E,EAAO3N,GAAG4M,KAAK,GACvB,GAAU,OAAN/D,GAAcA,EAAI,EACrB,OAAO,EAGT,OAAO,GAIRiF,cAAgB,SAAUjB,GACzB,OAAQA,EAAOvM,eACf,IAAK,OACL,IAAK,OACJ,OAAO,EAER,OAAO,GAQRyN,sBAAwB,SAAUC,GACjC,IAAIC,EAAMxP,EAAOyP,kBAAoB,EACrCF,EAAOG,OAASF,EAChBD,EAAOI,QAAUH,EACPD,EAAOK,WAAW,MACxBC,MAAML,EAAKA,IAIhBM,sBAAwB,SAAUX,EAAOY,EAAcC,EAAWC,GAEjE,IAAIC,EAAOpG,KAAKC,MAAM1J,EAAIO,IAAIuP,iBAAiB3O,QAC3C4O,EAAS/P,EAAIO,IAAIyP,eACjBC,EAAWjQ,EAAIO,IAAI2P,iBACnBC,EAAWnQ,EAAIO,IAAI6P,iBAEnBC,EAASV,GAAiC,EAATI,EACjCO,EAAmB,EAATP,EAEVb,EAASlP,EAAIiD,SAAS,UACtBsN,EAAMrB,EAAOK,WAAW,MAE5BL,EAAOG,MAAQgB,EACfnB,EAAOI,OAASgB,EACZV,GACH5P,EAAIiP,sBAAsBC,GAI3BqB,EAAIC,UAAYP,EAChBM,EAAIE,SAAS,EAAG,EAAGJ,EAAQC,GAG3BC,EAAIC,UAAYL,EAChB,IAAK,IAAI/E,EAAI,EAAGA,EAAIiF,EAAQjF,GAAc,EAAT2E,EAChCQ,EAAIE,SAASrF,EAAG,EAAG2E,EAAQA,GAC3BQ,EAAIE,SAASrF,EAAI2E,EAAQA,EAAQA,EAAQA,GAGtCjB,IAEHyB,EAAIC,UAAY1B,EAChByB,EAAIE,SAAS,EAAG,EAAGJ,EAAQC,IAG5B,IAAII,EAAQ,KACZ,OAAQhB,GACP,IAAK,OACJgB,EAAQ,EACRH,EAAII,UAAU,EAAG,EAAGd,EAAK,EAAGS,GAC5B,MACD,IAAK,QACJI,EAAQL,EAASR,EACjBU,EAAII,UAAUN,EAAUR,EAAK,EAAI,EAAGA,EAAK,EAAGS,GAG9C,GAAc,OAAVI,EAAgB,CACnBH,EAAIK,UAAY,EAChB,IAAK,IAAI1P,EAAI,EAAGA,EAAIlB,EAAIO,IAAIuP,iBAAiB3O,OAAQD,GAAK,EACzDqP,EAAIM,YACJN,EAAIO,YAAc9Q,EAAIO,IAAIuP,iBAAiB5O,GAC3CqP,EAAIQ,OAAO,GAAML,EAAQxP,EAAG,GAC5BqP,EAAIS,OAAO,GAAMN,EAAQxP,EAAGoP,GAC5BC,EAAIU,SAIN,MAAO,CACN/B,OAAQA,EACRG,MAAOgB,EACPf,OAAQgB,IAMVY,wBAA0B,SAAUpC,EAAOqC,EAAU9B,GACpD,IAAI+B,EAkBJ,OAfCA,EADGD,GAAY9B,EACN,CACR,MAAQ,CAAC7D,KAAO,QAAS6F,MAAQ,QAAQF,GACzCrC,EAAQ,MACRA,EAAQ,IAAMO,EAAQ,KACtB,kBAAoBA,EAAQ,GAAK,KACjC,sBAGQ,CACR,WACAP,EAAQ,MACRA,EAAQ,SAIH9O,EAAIkK,eAAeoH,MAAM1R,KAAMwR,IAIvCG,eAAiB,WAEhB,GAAKvR,EAAIwR,QAAWxR,EAAIwR,OAAOC,MAA/B,CAIA,IAEIC,EAAIC,EAFJC,EAAU5R,EAAIwR,OAAOC,MAIrBG,EAAQC,OAGXH,EAAK1R,EAAIkL,cAAc0G,EAAQ7O,eAAe,GAC9C4O,EAAK,CAAC,EAAG,KAETD,EAAK1R,EAAIkL,cAAc0G,EAAQ7O,eAC/B4O,EAAK3R,EAAI2L,cAGV,IAII5B,EAAGP,EAAGsI,EAJNC,EAAK/R,EAAI4L,eAAegG,EAAQ7O,eAChCiP,EAAKhS,EAAI8M,cACTmF,EAAKjS,EAAIkS,cAAcN,GACvBO,EAAK,CAACF,EAAGG,QAASH,EAAGI,SAEzB,OAAQT,EAAQT,SAAS3P,eACxB,IAAK,OAAQuI,EAAE,EAAGP,EAAE,EAAGsI,GAAG,EAAG,MAC7B,IAAK,QAAQ/H,EAAE,EAAGP,EAAE,EAAGsI,EAAE,EAAG,MAC5B,IAAK,MAAQ/H,EAAE,EAAGP,EAAE,EAAGsI,GAAG,EAAG,MAC7B,QAAa/H,EAAE,EAAGP,EAAE,EAAGsI,EAAE,EAE1B,IAAIQ,GAAKP,EAAGvI,GAAG2I,EAAG3I,IAAI,EAGtB,GAAKoI,EAAQW,cAMRC,EAAK,EACPb,EAAG5H,GAAG2H,EAAG3H,GAAGoI,EAAGpI,GAAKiI,EAAGjI,KACrB4H,EAAG5H,GAAG2H,EAAG3H,GAAGgI,EAAGhI,GAAG,EAAIiI,EAAGjI,GAAG,GAAK2H,EAAG3H,GAAGgI,EAAGhI,GAAGoI,EAAGpI,IAAM,EAAI2H,EAAG3H,GAAGgI,EAAGhI,GAAGoI,EAAGpI,GAC3E2H,EAAG3H,IACH4H,EAAGnI,GAAGkI,EAAGlI,GAAGuI,EAAGvI,GAAG2I,EAAG3I,GAAG8I,EAAEA,EAAER,EAAIE,EAAGxI,IACjCmI,EAAGnI,GAAGkI,EAAGlI,GAAGuI,EAAGvI,GAAG,EAAIwI,EAAGxI,GAAG,GAAKkI,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,GAAK,EAAIJ,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,EAAIJ,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,EAC/FJ,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,GAAK,EAAIJ,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,EAAIJ,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,QAXhE,IAAIU,EAAK,CACRd,EAAG3H,GACH2H,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,GAalB,IAAI1G,EAAIoH,EAAGzI,GACPsB,EAAImH,EAAGhJ,GACPiJ,EAAgBb,EAAQC,MAAQ,QAAU,WAC1Ca,GACFF,EAAG,GAAKL,EAAG,GAAKT,EAAG,IAAMc,EAAG,GAAKd,EAAG,GAAKK,EAAG,KAC5CS,EAAG,GAAKL,EAAG,GAAKT,EAAG,GAAKK,EAAG,GAE7B/R,EAAI2S,cAAcf,EAASxG,EAAGC,EAAGoH,EAAeC,KAIjDC,cAAgB,SAAUf,EAASxG,EAAGC,EAAGoH,EAAeC,GACvD,IAAIE,EAAUF,EAAiB,EAAId,EAAQiB,WAE3C7S,EAAIwR,OAAOsB,KAAK3J,MAAMgI,SAAWsB,EACjCzS,EAAIwR,OAAOsB,KAAK3J,MAAMqC,KAAOJ,EAAI,KACjCpL,EAAIwR,OAAOsB,KAAK3J,MAAMsC,IAAMJ,EAAI,KAEhCrL,EAAIgL,aACHhL,EAAIwR,OAAOuB,KACXnB,EAAQoB,OACP,IAAIhT,EAAIH,UAAU,EAAG+S,EAAShB,EAAQiB,WAAY,EAAGjB,EAAQqB,aAC7D,OAIHf,cAAgB,SAAUN,GACzB,IAAIsB,EAAI,EAAItB,EAAQuB,mBAAqBvB,EAAQvC,MAC7C9B,EAAI,EAAIqE,EAAQuB,mBAAqBvB,EAAQtC,OAE7C8D,EAAc,EAAIxB,EAAQuB,mBAAqB,EAAInT,EAAIqT,kBAAkBzB,GAAWA,EAAQ0B,WAE5FtT,EAAIuT,iBAAiB3B,KACxBsB,GAAKE,GAEFxB,EAAQ4B,oBACXN,GAAKE,GAGN,IAAIK,EAAMzT,EAAI0T,eAAe9B,EAASsB,GAElCO,EAAInE,SACP/B,GAAKkG,EAAInE,OAASsC,EAAQ+B,SAEvB/B,EAAQgC,cACXrG,GAAK,EAAIqE,EAAQuB,mBAAqBvB,EAAQ+B,QAAU/B,EAAQiC,cAGjE,IAAIC,EAAKZ,EAAK,EAAItB,EAAQ+B,QACtBI,EAAKxG,EAAK,EAAIqE,EAAQ+B,QAE1B,MAAO,CACNK,SAAUd,EACVe,SAAU1G,EACV2G,QAASJ,EACTK,QAASJ,EACT3B,QAAS0B,EAAM,EAAIlC,EAAQwC,YAC3B/B,QAAS0B,EAAM,EAAInC,EAAQwC,YAC3BC,QAASZ,IAKXC,eAAiB,SAAU9B,EAASvC,GACnC,IAAIiF,EAAO,EAAGC,EAAO,EAAGC,EAAQ,EAAGC,EAAQ,EAAGnF,EAAS,EACnDoF,EAAc9C,EAAQ+C,SAAW/C,EAAQ+C,SAASxT,OAAS,EAiB/D,OAfIuT,IAEHH,GADAD,EAAO1C,EAAQgD,aACD,EAAInL,KAAKoL,KAAKH,EAAcJ,GAAQ,EAGlDE,EAAQ/K,KAAK6D,IAAI,EAAG7D,KAAKkE,OAAO0B,GAAUiF,EAAO,GAAK1C,EAAQkD,gBAAmBR,IACjFG,EAAQ7C,EAAQmD,cAAgBtL,KAAK2D,IAAIwE,EAAQmD,cAAeP,GAASA,GAGtED,IACHjF,EACCiF,EAAOE,GACNF,EAAO,GAAK3C,EAAQkD,gBAGhB,CACNR,KAAMA,EACNC,KAAMA,EACNC,MAAOA,EACPC,MAAOA,EACPpF,MAAOA,EACPC,OAAQA,IAKV+D,kBAAoB,SAAUzB,GAC7B,OAAOnI,KAAK6D,IACXsE,EAAQ+B,QAAU,EACjB,EAAI/B,EAAQoD,mBAAqBpD,EAAQqD,iBAAoBrD,EAAQuB,qBAKxE+B,eAAiB,SAAUtD,GAC1B,OAAQA,EAAQuD,KAAKlH,OAAO,GAAGzM,eAC9B,IAAK,IAAK,MAAO,IAElB,MAAO,KAIR+R,iBAAmB,SAAU3B,GAC5B,GAAIA,EAAQuD,KAAKhU,OAAS,EACzB,OAAQyQ,EAAQuD,KAAKlH,OAAO,GAAGzM,eAC9B,IAAK,IAAK,MAAO,IACjB,IAAK,IAAK,MAAO,IAGnB,OAAO,MAKR4T,gBAAkB,SAAUxD,EAASxM,GACpC,GAAKwM,EAAQxM,GAAb,CAGA,IAAIiQ,EAAW,KAEf,GAA6B,iBAAlBzD,EAAQxM,GAElB,IACCiQ,EAAW,IAAI1S,SAAUiP,EAAQxM,IAChC,MAAO/C,GACRN,QAAQuT,MAAMjT,QAIfgT,EAAWzD,EAAQxM,GAGhBiQ,GACHA,EAASxK,KAAK+G,KAOhB2D,cAAgB,SAAUC,GAEzB,IADA,IAAI1S,EAAO9C,EAAI6C,eACN3B,EAAI,EAAGA,EAAI4B,EAAK3B,OAAQD,GAAK,EACrC4B,EAAK5B,GAAGuU,QAAQD,IAKlBE,kBAAoB,CACnBC,MAAO,YACPC,MAAO,aAERC,iBAAmB,CAClBF,MAAO,UACPC,MAAO,YAIRE,eAAiB,KACjBrP,gBAAkB,KAGlBsP,gBAAkB,SAAU1T,IACyB,IAAhD,CAAC,MAAO,UAAU+B,QAAQpE,EAAIsH,SAASjF,KACtCrC,EAAIwR,QAAUxR,EAAIwR,OAAOC,OAC5BzR,EAAIwR,OAAOC,MAAMuE,WAMpBC,eAAiB,SAAU5T,GAC1BrC,EAAIuR,kBAIL2E,eAAiB,SAAU7T,GAC1BrC,EAAIuR,kBAIL4E,eAAiB,SAAU9T,GAEtBrC,EAAIwR,QAAUxR,EAAIwR,OAAOC,OAC5BzR,EAAIwR,OAAOC,MAAMuE,WAKnBI,oBAAsB,SAAU/T,GAC/B,IAAIkE,EAASlE,EAAEkE,QAAUlE,EAAEgK,WAEvB9F,EAAOtG,SAAWsG,EAAOtG,mBAAmBD,EAAIO,IAC/CgG,EAAOtG,QAAQoW,cAAgB9P,EAAO+P,UACzC/P,EAAOtG,QAAQsW,OAENvW,EAAIuF,QAAQgB,EAAQ,OAChBvG,EAAIuF,QAAQgB,EAAQ,YAGjCvG,EAAIwW,sBAAsBnU,EAAGkE,EAAQvG,EAAIuF,QAAQgB,EAAQ,WAAY,SAIlEvG,EAAIwR,QAAUxR,EAAIwR,OAAOC,OAC5BzR,EAAIwR,OAAOC,MAAMuE,WAMpBS,mBAAqB,SAAUpU,GAC9B,IAAIkE,EAASlE,EAAEkE,QAAUlE,EAAEgK,WAEvBrM,EAAIuF,QAAQgB,EAAQ,YACvBvG,EAAIwW,sBAAsBnU,EAAGkE,EAAQvG,EAAIuF,QAAQgB,EAAQ,WAAY,UAKvEiQ,sBAAwB,SAAUnU,EAAGkE,EAAQmQ,EAAaC,GACzD,IAAI/E,EAAU5R,EAAIuF,QAAQgB,EAAQ,YAElCvG,EAAIoG,eAAe/D,GACnBrC,EAAIsG,cAAcC,GAElB,IAAIqQ,EAAqB,SAAUtK,EAAKuK,GACvC7W,EAAI8F,iBAAiB,OAAQwG,EAAKtM,EAAI0V,kBAAkBiB,GACvD3W,EAAI8W,sBAAsBzU,EAAGkE,EAAQmQ,EAAaC,EAAaE,IAChE7W,EAAI8F,iBAAiB,OAAQwG,EAAKtM,EAAI6V,iBAAiBc,GACtD3W,EAAI+W,qBAAqB1U,EAAGkE,EAAQmQ,EAAaC,KAKnD,GAFAC,EAAmBjX,EAAOH,SAAU,CAAC,EAAG,IAEpCG,EAAOqX,QAAUrX,EAAOsX,aAAc,CACzC,IAAI3L,EAAO3L,EAAOsX,aAAa1L,wBAC3B2L,EAAM,EAAE5L,EAAKE,MAAOF,EAAKG,KAC7BmL,EAAmBjX,EAAOqX,OAAOrX,OAAOH,SAAU0X,GAGnD,IAAIC,EAAMnX,EAAI+L,iBAAiB1J,GAC3B+U,EAAMpX,EAAImM,iBAAiB9J,GAM/B,OALArC,EAAI8V,eAAiB,CACpB1K,EAAG+L,EAAI/L,EAAIgM,EAAIhM,EACfC,EAAG8L,EAAI9L,EAAI+L,EAAI/L,GAGRqL,GACR,IAAK,MAEkC,MAAlC1W,EAAIuT,iBAAiB3B,IAA2C,IAAvBA,EAAQyF,SAAShK,GAC7DuE,EAAQ0F,SAAS,KAAM,KAAM,IAAK,MAEnCtX,EAAIuX,OAAO3F,EAASvP,EAAG,EAAG,GAC1B,MAED,IAAK,MACJrC,EAAIwX,OAAO5F,EAASvP,EAAG,GACvB,MAED,IAAK,OACJrC,EAAIyX,QAAQ7F,EAASvP,EAAG,GAGzBuP,EAAQ6D,QAAQ,UAIjBqB,sBAAwB,SAAUzU,EAAGkE,EAAQmQ,EAAaC,EAAaE,GACtE,OAAO,SAAUxU,GAChB,IAAIuP,EAAU5R,EAAIuF,QAAQgB,EAAQ,YAClC,OAAQmQ,GACR,IAAK,MACJ1W,EAAIuX,OAAO3F,EAASvP,EAAGwU,EAAO,GAAIA,EAAO,IACzC,MAED,IAAK,MACJ7W,EAAIwX,OAAO5F,EAASvP,EAAGwU,EAAO,IAC9B,MAED,IAAK,OACJ7W,EAAIyX,QAAQ7F,EAASvP,EAAGwU,EAAO,IAGhCjF,EAAQ6D,QAAQ,WAKlBsB,qBAAuB,SAAU1U,EAAGkE,EAAQmQ,EAAaC,GACxD,OAAO,SAAUtU,GAChB,IAAIuP,EAAU5R,EAAIuF,QAAQgB,EAAQ,YAClCvG,EAAIkG,kBAAkB,QACtBlG,EAAI0G,gBAKJkL,EAAQ6D,QAAQ,SAChB7D,EAAQ6D,QAAQ,YAKlBiC,qBAAuB,SAAUrV,GAChC,IAAIkE,EAASlE,EAAEsV,cACX/F,EAAU5R,EAAIuF,QAAQgB,EAAQ,YAC9BuI,EAAQ9O,EAAIuF,QAAQgB,EAAQ,SAGK,QAAjCqL,EAAQ7D,OAAOvM,gBAClBoQ,EAAQgG,WAAW9I,EAAMf,QACpB/N,EAAIgP,cAAc4C,EAAQiG,eAC9B/I,EAAMhB,KAAK,GAAK,IAKI,OAAlBgB,EAAMhB,KAAK,MACmB,IAA7B8D,EAAQkG,kBAA2D,SAA7BlG,EAAQkG,kBAA+BlG,EAAQmG,2BACxFjJ,EAAMhB,KAAK,GAAK,GAIlB8D,EAAQoG,SAAS1G,MAAMM,EAAS9C,EAAMhB,MAEtC8D,EAAQ6D,QAAQ,SAChB7D,EAAQ6D,QAAQ,UAEZ7D,EAAQqG,oBACXrG,EAAQsG,QAKVX,OAAS,SAAU3F,EAASvP,EAAG8V,EAAMC,GACpC,IAAIC,EAAarY,EAAI+L,iBAAiB1J,GAClC+I,EAAI+M,EAAOE,EAAWjN,EAAIpL,EAAI8V,eAAe1K,EAAIwG,EAAQ+B,QAAU/B,EAAQuB,mBAC3E9H,EAAI+M,EAAOC,EAAWhN,EAAIrL,EAAI8V,eAAezK,EAAIuG,EAAQ+B,QAAU/B,EAAQuB,mBAE3EmF,EAAOlN,GAAK,KAAOwG,EAAQvC,MAAQ,IACnCkJ,EAAO,IAAOlN,GAAK,KAAOuG,EAAQtC,OAAS,IAE/C,OAAQtP,EAAIkV,eAAetD,IAC3B,IAAK,IAAKA,EAAQ0F,SAASgB,EAAMC,EAAM,KAAM,MAAO,MACpD,IAAK,IAAK3G,EAAQ0F,SAASgB,EAAM,KAAMC,EAAM,QAK9Cf,OAAS,SAAU5F,EAASvP,EAAG+V,GAC9B,IAEIG,EAAO,KADHH,EADSpY,EAAI+L,iBAAiB1J,GACZgJ,EAAIrL,EAAI8V,eAAezK,EAAIuG,EAAQ+B,QAAU/B,EAAQuB,qBACxD,KAAOvB,EAAQtC,OAAS,IAE/C,OAAQtP,EAAIuT,iBAAiB3B,IAC7B,IAAK,IAAKA,EAAQ0F,SAAS,KAAMiB,EAAM,KAAM,MAAO,MACpD,IAAK,IAAK3G,EAAQ0F,SAAS,KAAM,KAAMiB,EAAM,QAK9Cd,QAAU,SAAU7F,EAASvP,EAAG+V,GAC/B,IAEIG,EAAO,GADHH,EADSpY,EAAI+L,iBAAiB1J,GACZgJ,EAAIrL,EAAI8V,eAAezK,EAAIuG,EAAQ+B,QAAU/B,EAAQuB,qBACxD,GAAOvB,EAAQtC,OAAS,IAE/C,GAAIiJ,EAAO,EAAK,CAEf,IAAIC,EAAM5G,EAAQiG,YACmB,QAAjCjG,EAAQ7D,OAAOvM,eAA4BxB,EAAIgP,cAAcwJ,IAChE5G,EAAQgG,WAAmB,QAARY,EAAgB,OAAS,QAI9C5G,EAAQ0F,SAAS,KAAM,KAAM,KAAMiB,IAIpCE,gBAAkB,WAEjB,IAAI5K,EAAM,CACT9N,IAAK,KACL2Y,KAAM,MAGHxJ,EAASlP,EAAIiD,SAAS,UACtBsN,EAAMrB,EAAOK,WAAW,MAsC5B,OAHA1B,EAAI9N,IAAMmP,EACVrB,EAAI6K,KAlCW,SAAUrJ,EAAOC,EAAQ/N,GACvC2N,EAAOG,MAAQA,EACfH,EAAOI,OAASA,EAEhBiB,EAAII,UAAU,EAAG,EAAGzB,EAAOG,MAAOH,EAAOI,QAEzC,IAAIqJ,EAAQpI,EAAIqI,qBAAqB,EAAG,EAAG1J,EAAOG,MAAO,GACzDsJ,EAAME,aAAa,EAAO,QAC1BF,EAAME,aAAa,EAAI,EAAG,QAC1BF,EAAME,aAAa,EAAI,EAAG,QAC1BF,EAAME,aAAa,GAAO,QAC1BF,EAAME,aAAa,EAAI,EAAG,QAC1BF,EAAME,aAAa,EAAI,EAAG,QAC1BF,EAAME,aAAa,EAAO,QAE1BtI,EAAIC,UAAYmI,EAChBpI,EAAIE,SAAS,EAAG,EAAGvB,EAAOG,MAAOH,EAAOI,QAExC,IAAIwJ,EAAQvI,EAAIqI,qBAAqB,EAAG,EAAG,EAAG1J,EAAOI,QACrD,OAAQ/N,EAAKC,eACb,IAAK,IACJsX,EAAMD,aAAa,EAAG,uBACtBC,EAAMD,aAAa,EAAG,uBACtB,MACD,IAAK,IACJC,EAAMD,aAAa,EAAG,iBACtBC,EAAMD,aAAa,EAAG,iBAGvBtI,EAAIC,UAAYsI,EAChBvI,EAAIE,SAAS,EAAG,EAAGvB,EAAOG,MAAOH,EAAOI,SAMlCzB,GAIRkL,qBAAuB,WAEtB,IAAIlL,EAAM,CACT9N,IAAK,KACL2Y,KAAM,MAGHxJ,EAASlP,EAAIiD,SAAS,UACtBsN,EAAMrB,EAAOK,WAAW,MAmB5B,OAHA1B,EAAI9N,IAAMmP,EACVrB,EAAI6K,KAfW,SAAUrJ,EAAOC,EAAQ0J,EAAQC,GAC/C/J,EAAOG,MAAQA,EACfH,EAAOI,OAASA,EAEhBiB,EAAII,UAAU,EAAG,EAAGzB,EAAOG,MAAOH,EAAOI,QAEzC,IAAI4J,EAAO3I,EAAIqI,qBAAqB,EAAG,EAAG,EAAG1J,EAAOI,QACpD4J,EAAKL,aAAa,EAAGG,GACrBE,EAAKL,aAAa,EAAGI,GAErB1I,EAAIC,UAAY0I,EAChB3I,EAAIE,SAAS,EAAG,EAAGvB,EAAOG,MAAOH,EAAOI,SAMlCzB,GAIRsL,sBAAwB,WAEvB,IAAItL,EAAM,CACT9N,IAAK,KACL2Y,KAAM,MAGHxJ,EAASlP,EAAIiD,SAAS,UACtBsN,EAAMrB,EAAOK,WAAW,MAoC5B,OAHA1B,EAAI9N,IAAMmP,EACVrB,EAAI6K,KAhCW,SAAUrJ,EAAOC,EAAQR,GACvCI,EAAOG,MAAQA,EACfH,EAAOI,OAASA,EAEhBiB,EAAII,UAAU,EAAG,EAAGzB,EAAOG,MAAOH,EAAOI,QAEzC,IAAIS,EAASb,EAAOG,MAAQ,EACxBY,EAAWjQ,EAAIO,IAAI2P,iBACnBC,EAAWnQ,EAAIO,IAAI6P,iBAMvB,GAHAG,EAAIC,UAAYP,EAChBM,EAAIE,SAAS,EAAG,EAAGvB,EAAOG,MAAOH,EAAOI,QAEpCS,EAAS,EACZ,IAAK,IAAI1E,EAAI,EAAGA,EAAI6D,EAAOI,OAAQjE,GAAc,EAAT0E,EAEvCQ,EAAIC,UAAYL,EAChBI,EAAIE,SAAS,EAAGpF,EAAG0E,EAAQA,GAC3BQ,EAAIE,SAASV,EAAQ1E,EAAI0E,EAAQA,EAAQA,GAI3C,IAAImJ,EAAO3I,EAAIqI,qBAAqB,EAAG,EAAG,EAAG1J,EAAOI,QACpD4J,EAAKL,aAAa,EAAG/J,GACrBoK,EAAKL,aAAa,EAAG,iBAErBtI,EAAIC,UAAY0I,EAChB3I,EAAIE,SAAS,EAAG,EAAGvB,EAAOG,MAAOH,EAAOI,SAMlCzB,GAIRhO,WACKA,EAAY,SAAUuZ,EAASxG,EAASyG,EAAMC,EAAQxK,EAAOyK,GAChE3Z,KAAKwZ,QAAUA,EACfxZ,KAAKgT,QAAUA,EACfhT,KAAKyZ,KAAOA,EACZzZ,KAAK0Z,OAASA,EACd1Z,KAAKkP,MAAQA,EACblP,KAAK2Z,QAAUA,GAGhB1Z,EAAU8K,UAAUhB,SAAW,WAC9B,IAAIgF,EAAO,CACVlF,KAAKC,MAAM9J,KAAKwZ,SAAW,KAC3B3P,KAAKC,MAAM9J,KAAKgT,SAAW,KAC3BnJ,KAAKC,MAAM9J,KAAKyZ,MAAQ,KACxB5P,KAAKC,MAAM9J,KAAK0Z,QAAU,KAC1B1Z,KAAKkP,OAKN,OAHIlP,KAAK2Z,OACR5K,EAAK3L,KAAK,SAEJ2L,EAAK/D,KAAK,MAGX/K,GAIR2Z,MAAQ,CACPC,WAAa,EACbC,WAAa,EACbC,aAAe,GAIhBC,SAAW,CACV7L,OAAQ,CAAC,OAAQ,MAAO,MAAO,OAAQ,MAAO,QAC9C8L,gBAAiB,CAAC,OAAQ,SAC1B1E,KAAM,CAAC,MAAO,MAAO,KAAM,MAC3BhE,SAAU,CAAC,OAAQ,QAAS,MAAO,UACnC2I,aAAc,CAAC,QAAQ,GAAM,GAC7BhC,iBAAkB,CAAC,QAAQ,GAAM,IAIlCiC,eAAiB,CAEhBC,aAAgB,iBAChBC,aAAgB,UAChBC,mBAAsB,aACtBC,SAAY,cACZC,WAAc,qBACdC,WAAc,qBACdC,OAAU,MAIXrY,QAAU,iCAUV1B,IAAM,SAAUwC,EAAeb,GAE9B,IAAIqY,EAAO3a,KAurBX,SAAS4a,EAAWC,EAAQnW,GAC3B,GAAsB,iBAAXmW,EACV,MAAM,IAAI/a,MAAM,kCAAoC+a,GAIrD,GAAIza,EAAI4Z,SAASzU,eAAesV,KACV,iBAAVnW,IACVA,EAAQA,EAAM9C,gBAE8B,IAAzCxB,EAAI4Z,SAASa,GAAQrW,QAAQE,IAChC,MAAM,IAAI5E,MAAM,WAAc+a,EAAS,wBAA2BnW,GAKpE,GAAItE,EAAI+Z,eAAe5U,eAAesV,GAAS,CAC9C,IAAIC,EAASD,EACTE,EAAS3a,EAAI+Z,eAAeU,GAChC,IAAIE,EAMH,MAAM,IAAIjb,MAAM,WAAc+a,EAAS,mBAJvC1Y,QAAQC,KAAK,iDAAuDhC,EAAIiC,QAASyY,EAAQC,GACzFF,EAASE,EAOX,IAAIC,EAAS,QAAUH,EAEvB,GAA4B,mBAAjBF,EAAKK,GAEf,OADAL,EAAKK,GAAQtW,IACN,EAED,GAAImW,KAAUF,EAEpB,OADAA,EAAKE,GAAUnW,GACR,EAGR,MAAM,IAAI5E,MAAM,sCAAwC+a,GAIzD,SAASI,EAAWJ,GACnB,GAAsB,iBAAXA,EACV,MAAM,IAAI/a,MAAM,kCAAoC+a,GAIrD,GAAIza,EAAI+Z,eAAe5U,eAAesV,GAAS,CAC9C,IAAIC,EAASD,EACTE,EAAS3a,EAAI+Z,eAAeU,GAChC,IAAIE,EAMH,MAAM,IAAIjb,MAAM,WAAc+a,EAAS,mBAJvC1Y,QAAQC,KAAK,iDAAuDhC,EAAIiC,QAASyY,EAAQC,GACzFF,EAASE,EAOX,IAAIG,EAAS,QAAUL,EAEvB,GAA4B,mBAAjBF,EAAKO,GACf,OAAOP,EAAKO,GAAQxW,OAEd,GAAImW,KAAUF,EACpB,OAAOA,EAAKE,GAGb,MAAM,IAAI/a,MAAM,sCAAwC+a,GAWzD,SAASM,IAKRR,EAAKS,8BAEAhb,EAAIwR,SACRxR,EAAIwR,OAAS,CACZC,MAAO,KACPqB,KAAO9S,EAAIiD,SAAS,OACpBgY,IAAMjb,EAAIiD,SAAS,OACnB8P,KAAO/S,EAAIiD,SAAS,OACpBiY,KAAOlb,EAAIiD,SAAS,OACpBkY,IAAMnb,EAAIiD,SAAS,OACnBmY,KAAOpb,EAAIiD,SAAS,OACpBoY,KAAOrb,EAAIiD,SAAS,OACpBqY,UAAYtb,EAAIyY,kBAChB8C,MAAQvb,EAAIiD,SAAS,OACrBuY,QAAUxb,EAAIiD,SAAS,OACvBwY,QAAUzb,EAAIiD,SAAS,OACvByY,QAAU1b,EAAIiD,SAAS,OACvB0Y,QAAU3b,EAAIiD,SAAS,OACvB2Y,IAAM5b,EAAIiD,SAAS,OACnB4Y,KAAO7b,EAAIiD,SAAS,OACpB6Y,KAAO9b,EAAIiD,SAAS,OACpB8Y,QAAU/b,EAAI+Y,uBACdiD,QAAUhc,EAAIiD,SAAS,OACvBgZ,SAAWjc,EAAIiD,SAAS,OACxBiZ,SAAWlc,EAAIiD,SAAS,OACxBkZ,SAAWnc,EAAIiD,SAAS,OACxBmZ,KAAOpc,EAAIiD,SAAS,OACpBoZ,MAAQrc,EAAIiD,SAAS,OACrBqZ,MAAQtc,EAAIiD,SAAS,OACrBsZ,SAAWvc,EAAImZ,wBACfqD,SAAWxc,EAAIiD,SAAS,OACxBwZ,UAAYzc,EAAIiD,SAAS,OACzByZ,UAAY1c,EAAIiD,SAAS,OACzB0Z,UAAY3c,EAAIiD,SAAS,OACzBwQ,IAAMzT,EAAIiD,SAAS,OACnB2Z,IAAM5c,EAAIiD,SAAS,OACnB4Z,KAAO7c,EAAIiD,SAAS,SAGrBjD,EAAIwR,OAAO2J,IAAI2B,YAAY9c,EAAIwR,OAAO8J,UAAUvb,KAChDC,EAAIwR,OAAO4J,KAAK0B,YAAY9c,EAAIwR,OAAO2J,KACvCnb,EAAIwR,OAAO+J,MAAMuB,YAAY9c,EAAIwR,OAAOgK,SACxCxb,EAAIwR,OAAO+J,MAAMuB,YAAY9c,EAAIwR,OAAOiK,SACxCzb,EAAIwR,OAAO+J,MAAMuB,YAAY9c,EAAIwR,OAAOkK,SACxC1b,EAAIwR,OAAO+J,MAAMuB,YAAY9c,EAAIwR,OAAOmK,SACxC3b,EAAIwR,OAAO4J,KAAK0B,YAAY9c,EAAIwR,OAAO+J,OACvCvb,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAO4J,MACtCpb,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAO6J,MAEtCrb,EAAIwR,OAAOoK,IAAIkB,YAAY9c,EAAIwR,OAAOuK,QAAQhc,KAC9CC,EAAIwR,OAAOqK,KAAKiB,YAAY9c,EAAIwR,OAAOoK,KACvC5b,EAAIwR,OAAOqK,KAAKiB,YAAY9c,EAAIwR,OAAO2K,UACvCnc,EAAIwR,OAAO2K,SAASW,YAAY9c,EAAIwR,OAAO0K,UAC3Clc,EAAIwR,OAAO0K,SAASY,YAAY9c,EAAIwR,OAAOyK,UAC3Cjc,EAAIwR,OAAOyK,SAASa,YAAY9c,EAAIwR,OAAOwK,SAC3Chc,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAOqK,MACtC7b,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAOsK,MAEtC9b,EAAIwR,OAAO4K,KAAKU,YAAY9c,EAAIwR,OAAO+K,SAASxc,KAChDC,EAAIwR,OAAO6K,MAAMS,YAAY9c,EAAIwR,OAAO4K,MACxCpc,EAAIwR,OAAO6K,MAAMS,YAAY9c,EAAIwR,OAAOmL,WACxC3c,EAAIwR,OAAOmL,UAAUG,YAAY9c,EAAIwR,OAAOkL,WAC5C1c,EAAIwR,OAAOkL,UAAUI,YAAY9c,EAAIwR,OAAOiL,WAC5Czc,EAAIwR,OAAOiL,UAAUK,YAAY9c,EAAIwR,OAAOgL,UAC5Cxc,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAO6K,OACtCrc,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAO8K,OAEtCtc,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAOiC,KAEtCzT,EAAIwR,OAAOoL,IAAIE,YAAY9c,EAAIwR,OAAOqL,MACtC7c,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAOoL,KAEtC5c,EAAIwR,OAAO0J,KAAK4B,YAAY9c,EAAIwR,OAAOyJ,KACvCjb,EAAIwR,OAAOsB,KAAKgK,YAAY9c,EAAIwR,OAAOuB,MACvC/S,EAAIwR,OAAOsB,KAAKgK,YAAY9c,EAAIwR,OAAO0J,MAEvClb,EAAIwR,OAAOsB,KAAKxS,iBAAiB,aAAcN,EAAIyW,qBAClDzW,EAAIwE,yBAA0B,CAACuY,SAAS,KAG1C,IAoSKC,EACAC,EArSDC,EAAIld,EAAIwR,OAER2L,IAAkBnd,EAAIuT,iBAAiBgH,GACvC6C,EAAqB7C,EAAK/G,kBAC1B6J,EAAard,EAAIkS,cAAcqI,GAC/B+C,EAAkB,EAAI/C,EAAKvF,mBAAqBuF,EAAKtF,iBAAmB,EAAIsF,EAAKgD,UACjFC,EAAiBxd,EAAIqT,kBAAkBkH,GACvCkD,EAAehU,KAAK2D,IACvBmN,EAAKkD,aACLhU,KAAKC,MAAM6Q,EAAK5G,QAAUlK,KAAKiU,KAIhCR,EAAEpK,KAAKnR,UAAY,sBACnBub,EAAEpK,KAAK3J,MAAMwU,MAAQ,OACrBT,EAAEpK,KAAK3J,MAAMkG,MAAQgO,EAAWjL,QAAU,KAC1C8K,EAAEpK,KAAK3J,MAAMmG,OAAS+N,EAAWhL,QAAU,KAC3C6K,EAAEpK,KAAK3J,MAAMyU,OAASrD,EAAKqD,OAG3BV,EAAEjC,IAAItZ,UAAY,iBAClBub,EAAEjC,IAAI9R,MAAMkG,MAAQgO,EAAWnJ,QAAU,KACzCgJ,EAAEjC,IAAI9R,MAAMmG,OAAS+N,EAAWlJ,QAAU,KAC1C+I,EAAEjC,IAAI9R,MAAMgI,SAAW,WAGvB+L,EAAEnK,KAAKpR,UAAY,wBACnBub,EAAEnK,KAAK5J,MAAMgI,SAAW,WACxB+L,EAAEnK,KAAK5J,MAAMqC,KAAO,IACpB0R,EAAEnK,KAAK5J,MAAMsC,IAAM,IACnByR,EAAEnK,KAAK5J,MAAMkG,MAAQ,OACrB6N,EAAEnK,KAAK5J,MAAMmG,OAAS,OACtBtP,EAAI8K,gBAAgBoS,EAAEnK,KAAM0K,EAAe,MAG3CP,EAAEhC,KAAKvZ,UAAY,wBACnBub,EAAEhC,KAAK/R,MAAMgI,SAAW,WACxB+L,EAAEhC,KAAK/R,MAAM0U,OAAStD,EAAKnG,YAAc,WACzC8I,EAAEhC,KAAK/R,MAAM2U,YAAcvD,EAAKuD,YAChCZ,EAAEhC,KAAK/R,MAAMqB,WAAa+P,EAAKwD,gBAC/B/d,EAAI8K,gBAAgBoS,EAAEhC,KAAMuC,EAAe,MAK3CP,EAAE7B,KAAKlS,MAAMqB,WAAa,mBAC1B0S,EAAEpB,KAAK3S,MAAMqB,WAAa,mBAC1B0S,EAAEZ,MAAMnT,MAAMqB,WAAa,mBAE3B0S,EAAE7B,KAAKlS,MAAM6U,QACbd,EAAEpB,KAAK3S,MAAM6U,QACbd,EAAEZ,MAAMnT,MAAM6U,QACb,IAGDd,EAAE/B,IAAIhS,MAAMgI,SAAW,WACvB+L,EAAE/B,IAAIhS,MAAMkG,MAAQkL,EAAKlL,MAAQ,KACjC6N,EAAE/B,IAAIhS,MAAMmG,OAASiL,EAAKjL,OAAS,KAGnC4N,EAAE5B,UAAU5C,KAAK6B,EAAKlL,MAAOkL,EAAKjL,OAAQtP,EAAIkV,eAAeqF,IAG7D2C,EAAE9B,KAAKjS,MAAMgI,SAAW,WACxB+L,EAAE9B,KAAKjS,MAAMqC,KAAO+O,EAAK5G,QAAU,KACnCuJ,EAAE9B,KAAKjS,MAAMsC,IAAM8O,EAAK5G,QAAU,KAClCuJ,EAAE9B,KAAKjS,MAAM0U,OAAStD,EAAKpH,mBAAqB,WAChD+J,EAAE9B,KAAKjS,MAAM2U,YAAcvD,EAAK0D,mBAGhCf,EAAE7B,KAAKlS,MAAMgI,SAAW,WACxB+L,EAAE7B,KAAKlS,MAAMqC,KAAO,MACpB0R,EAAE7B,KAAKlS,MAAMsC,IAAM,MACnByR,EAAE7B,KAAKlS,MAAMkG,MAASkL,EAAK5G,QAAU,EAAI4G,EAAKpH,mBAAqBoH,EAAKlL,MAAQmO,EAAkB,KAClGN,EAAE7B,KAAKlS,MAAMmG,OAAU,EAAIiL,EAAKpH,mBAAqB,EAAIoH,EAAK5G,QAAU4G,EAAKjL,OAAU,KACvF4N,EAAE7B,KAAKlS,MAAM+U,OAjEG,YAkEhBle,EAAIqD,QAAQ6Z,EAAE7B,KAAM,CACnB8C,SAAU5D,EACV6D,QAAS,QAIVlB,EAAE3B,MAAMpS,MAAMgI,SAAW,WACzB+L,EAAE3B,MAAMpS,MAAMqC,KACd0R,EAAE3B,MAAMpS,MAAMsC,IACb,IACDyR,EAAE3B,MAAMpS,MAAMkG,MACd6N,EAAE3B,MAAMpS,MAAMmG,OACbgO,EAAiB,KAGlBJ,EAAE1B,QAAQrS,MAAMgI,SAChB+L,EAAEzB,QAAQtS,MAAMgI,SACf,WACD+L,EAAE1B,QAAQrS,MAAMqB,WAChB0S,EAAEzB,QAAQtS,MAAMqB,WACf+P,EAAK8D,mBACNnB,EAAE1B,QAAQrS,MAAMkG,MAChB6N,EAAEzB,QAAQtS,MAAMmG,OACd,EAAIiL,EAAKvF,mBAAqBuF,EAAKtF,iBAAoB,KACzDiI,EAAE1B,QAAQrS,MAAMmG,OAChB4N,EAAEzB,QAAQtS,MAAMkG,MACfiO,EAAiB,KAClBJ,EAAE1B,QAAQrS,MAAMqC,KAChB0R,EAAEzB,QAAQtS,MAAMsC,IACdhC,KAAKkE,MAAM2P,EAAiB,GAAK7T,KAAKkE,MAAM4M,EAAKtF,iBAAmB,GAAKsF,EAAKvF,mBAAsB,KACtGkI,EAAE1B,QAAQrS,MAAMsC,IAChByR,EAAEzB,QAAQtS,MAAMqC,KACf,IAGD0R,EAAExB,QAAQvS,MAAMgI,SAChB+L,EAAEvB,QAAQxS,MAAMgI,SACf,WACD+L,EAAExB,QAAQvS,MAAMqB,WAChB0S,EAAEvB,QAAQxS,MAAMqB,WACf+P,EAAK+D,aACNpB,EAAExB,QAAQvS,MAAMmG,OAChB4N,EAAEvB,QAAQxS,MAAMkG,MACdiO,EAAiB,EAAI/C,EAAKvF,mBAAsB,KAClDkI,EAAExB,QAAQvS,MAAMkG,MAChB6N,EAAEvB,QAAQxS,MAAMmG,OACfiL,EAAKtF,iBAAmB,KACzBiI,EAAExB,QAAQvS,MAAMqC,KAChB0R,EAAEvB,QAAQxS,MAAMsC,IACdhC,KAAKkE,MAAM2P,EAAiB,GAAK7T,KAAKkE,MAAM4M,EAAKtF,iBAAmB,GAAM,KAC5EiI,EAAExB,QAAQvS,MAAMsC,IAChByR,EAAEvB,QAAQxS,MAAMqC,KACf+O,EAAKvF,mBAAqB,KAI3BkI,EAAEtB,IAAIzS,MAAMoV,SAAW,SACvBrB,EAAEtB,IAAIzS,MAAMkG,MAAQkL,EAAKjH,WAAa,KACtC4J,EAAEtB,IAAIzS,MAAMmG,OAASiL,EAAKjL,OAAS,KAGnC4N,EAAEnB,QAAQrD,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQ,OAAQ,QAGrD4N,EAAErB,KAAK1S,MAAMqV,QAAUrB,EAAgB,QAAU,OACjDD,EAAErB,KAAK1S,MAAMgI,SAAW,WACxB+L,EAAErB,KAAK1S,MAAMqC,KAAQ+O,EAAK5G,QAAU4G,EAAKlL,MAAQ,EAAIkL,EAAKpH,mBAAqB,EAAIqK,EAAkB,KACrGN,EAAErB,KAAK1S,MAAMsC,IAAM8O,EAAK5G,QAAU,KAClCuJ,EAAErB,KAAK1S,MAAM0U,OAAStD,EAAKpH,mBAAqB,WAChD+J,EAAErB,KAAK1S,MAAM2U,YAAcvD,EAAK0D,mBAGhCf,EAAEpB,KAAK3S,MAAMqV,QAAUrB,EAAgB,QAAU,OACjDD,EAAEpB,KAAK3S,MAAMgI,SAAW,WACxB+L,EAAEpB,KAAK3S,MAAMqC,KAAQ+O,EAAK5G,QAAU4G,EAAKlL,MAAQ,EAAIkL,EAAKpH,mBAAqBqK,EAAkB,KACjGN,EAAEpB,KAAK3S,MAAMsC,IAAM,MACnByR,EAAEpB,KAAK3S,MAAMkG,MACVkL,EAAKjH,WAAa,EAAIkK,EAAiB,EAAIjD,EAAKpH,oBAChDiK,EAAqB,EAAI3T,KAAK6D,IAAI,EAAGiN,EAAK5G,QAAU6J,IAClD,KACLN,EAAEpB,KAAK3S,MAAMmG,OAAU,EAAIiL,EAAKpH,mBAAqB,EAAIoH,EAAK5G,QAAU4G,EAAKjL,OAAU,KACvF4N,EAAEpB,KAAK3S,MAAM+U,OAAS,UACtBle,EAAIqD,QAAQ6Z,EAAEpB,KAAM,CACnBqC,SAAU5D,EACV6D,QAAS,QAIVlB,EAAEjB,SAAS9S,MAAM0U,OACjBX,EAAEf,SAAShT,MAAM0U,OAChBtD,EAAKvF,mBAAqB,YAAcuF,EAAK8D,mBAG9CnB,EAAEf,SAAShT,MAAMgI,SAAW,WAC5B+L,EAAEf,SAAShT,MAAMqC,OAAS,EAAI+O,EAAKvF,mBAAqBuF,EAAKtF,kBAAoB,KACjFiI,EAAEf,SAAShT,MAAMsC,IAAM,IAGvByR,EAAEhB,SAAS/S,MAAM0U,OAAStD,EAAKtF,iBAAmB,YAAcsF,EAAK+D,aAGrEpB,EAAElB,QAAQ7S,MAAMkG,MAAQkL,EAAKjH,WAAa,KAC1C4J,EAAElB,QAAQ7S,MAAMmG,OAAStP,EAAIO,IAAIke,iBAAmB,KAIpDvB,EAAEd,KAAKjT,MAAMoV,SAAW,SACxBrB,EAAEd,KAAKjT,MAAMkG,MAAQkL,EAAKjH,WAAa,KACvC4J,EAAEd,KAAKjT,MAAMmG,OAASiL,EAAKjL,OAAS,KAGpC4N,EAAEX,SAAS7D,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQ,QAG9C4N,EAAEb,MAAMlT,MAAMqV,QAAUpB,EAAqB,QAAU,OACvDF,EAAEb,MAAMlT,MAAMgI,SAAW,WACzB+L,EAAEb,MAAMlT,MAAMqC,KACX+O,EAAK5G,QAAU4G,EAAKlL,MAAQ,EAAIkL,EAAKpH,mBAAqBqK,GAC1DL,EAAiB5C,EAAKjH,WAAa,EAAIkK,EAAiB,EAAIjD,EAAKpH,mBAAsB,GACrF,KACL+J,EAAEb,MAAMlT,MAAMsC,IAAM8O,EAAK5G,QAAU,KACnCuJ,EAAEb,MAAMlT,MAAM0U,OAAStD,EAAKpH,mBAAqB,WACjD+J,EAAEb,MAAMlT,MAAM2U,YAAcvD,EAAK0D,mBAGjCf,EAAEZ,MAAMnT,MAAMqV,QAAUpB,EAAqB,QAAU,OACvDF,EAAEZ,MAAMnT,MAAMgI,SAAW,WACzB+L,EAAEZ,MAAMnT,MAAMqC,KACX+O,EAAK5G,QAAU4G,EAAKlL,MAAQ,EAAIkL,EAAKpH,mBAAqBqK,GAC1DL,EAAiB5C,EAAKjH,WAAa,EAAIkK,EAAiB,EAAIjD,EAAKpH,mBAAsB,GACrF,KACL+J,EAAEZ,MAAMnT,MAAMsC,IAAM,MACpByR,EAAEZ,MAAMnT,MAAMkG,MACXkL,EAAKjH,WAAa,EAAIkK,EAAiB,EAAIjD,EAAKpH,mBACjD1J,KAAK6D,IAAI,EAAGiN,EAAK5G,QAAU6J,GACxB,KACLN,EAAEZ,MAAMnT,MAAMmG,OAAU,EAAIiL,EAAKpH,mBAAqB,EAAIoH,EAAK5G,QAAU4G,EAAKjL,OAAU,KACxF4N,EAAEZ,MAAMnT,MAAM+U,OAAS,UACvBle,EAAIqD,QAAQ6Z,EAAEZ,MAAO,CACpB6B,SAAU5D,EACV6D,QAAS,SAIVlB,EAAET,UAAUtT,MAAM0U,OAClBX,EAAEP,UAAUxT,MAAM0U,OACjBtD,EAAKvF,mBAAqB,YAAcuF,EAAK8D,mBAG9CnB,EAAEP,UAAUxT,MAAMgI,SAAW,WAC7B+L,EAAEP,UAAUxT,MAAMqC,OAAS,EAAI+O,EAAKvF,mBAAqBuF,EAAKtF,kBAAoB,KAClFiI,EAAEP,UAAUxT,MAAMsC,IAAM,IAGxByR,EAAER,UAAUvT,MAAM0U,OAAStD,EAAKtF,iBAAmB,YAAcsF,EAAK+D,aAGtEpB,EAAEV,SAASrT,MAAMkG,MAAQkL,EAAKjH,WAAa,KAC3C4J,EAAEV,SAASrT,MAAMmG,OAAStP,EAAIO,IAAIke,iBAAmB,KAIrDvB,EAAEzJ,IAAI9R,UAAY,kBAClBub,EAAEzJ,IAAItK,MAAMqV,QAAUnB,EAAWhJ,QAAQE,KAAO,QAAU,OAC1D2I,EAAEzJ,IAAItK,MAAMgI,SAAW,WACvB+L,EAAEzJ,IAAItK,MAAMqC,KAAO+O,EAAK5G,QAAU,KAClCuJ,EAAEzJ,IAAItK,MAAMsC,IAAO,EAAI8O,EAAKpH,mBAAqB,EAAIoH,EAAK5G,QAAU4G,EAAKjL,OAAU,KAInF4N,EAAEzJ,IAAIiL,UAAY,GAKlB,IAHA,IAAIC,EAAa3e,EAAIyP,sBAAsB,iBAEvCmP,EAAK,EACAtV,EAAI,EAAGA,EAAI+T,EAAWhJ,QAAQE,KAAMjL,IAC5C,IAAK,IAAIwI,EAAI,EAAGA,EAAIuL,EAAWhJ,QAAQC,MAAQsK,EAAKrE,EAAK5F,SAASxT,OAAQ2Q,IAAK8M,IAAM,CACpF,IAAIC,EAActE,EAAK5F,SAASiK,GAC5BE,EAAiB9e,EAAIiK,UAAUqH,MAAM,KAAMuN,EAAY/Q,MAEvDiR,EAAK/e,EAAIiD,SAAS,OACtB8b,EAAG5V,MAAMkG,MAASgO,EAAWhJ,QAAQG,MAAQ,EAAI+F,EAAKpH,mBAAsB,KAC5E4L,EAAG5V,MAAMmG,OAAU+N,EAAWhJ,QAAQI,MAAQ,EAAI8F,EAAKpH,mBAAsB,KAC7E4L,EAAG5V,MAAM4U,gBAAkBe,EAE3B,IAAIE,EAAKhf,EAAIiD,SAAS,OACtB+b,EAAGrd,UAAY,yBACfqd,EAAG7V,MAAMqV,QAAU,QACnBQ,EAAG7V,MAAMgI,SAAW,WACpB6N,EAAG7V,MAAMqC,MACP6R,EAAWhJ,QAAQC,MAAQ,EAAI,EAC/B7K,KAAKC,MAAYoI,IAAMuL,EAAWrJ,SAAWqJ,EAAWhJ,QAAQG,QAAU6I,EAAWhJ,QAAQC,KAAO,IAAzF,IAAiG,IACzG,KACL0K,EAAG7V,MAAMsC,IAAOnC,GAAK+T,EAAWhJ,QAAQI,MAAQ8F,EAAKzF,gBAAmB,KACxEkK,EAAG7V,MAAM0U,OAAStD,EAAKpH,mBAAqB,WAC5C6L,EAAG7V,MAAM2U,YAAcvD,EAAK0D,mBAC5Be,EAAG7V,MAAM+U,OAAS,UACU,OAAxBW,EAAY/Q,KAAK,IAAe+Q,EAAY/Q,KAAK,GAAK,IACzDkR,EAAG7V,MAAM8V,gBAAkB,QAAWN,EAAWzP,OAAOgQ,YAAc,KACtEF,EAAG7V,MAAMgW,iBAAmB,SAC5BH,EAAG7V,MAAMiW,mBAAqB,iBAE/Bpf,EAAIqD,QAAQ2b,EAAI,CACfb,SAAU5D,EACV6D,QAAS,iBACTtP,MAAO+P,IAERG,EAAG1e,iBAAiB,QAASN,EAAI0X,sBAAsB,GACvDsH,EAAGlC,YAAYiC,GACf7B,EAAEzJ,IAAIqJ,YAAYkC,GAYpB9B,EAAEN,IAAIjb,UAAY,oBAClBub,EAAEN,IAAIzT,MAAMqV,QAAUjE,EAAK3G,YAAc,QAAU,OACnDsJ,EAAEN,IAAIzT,MAAMgI,SAAW,WACvB+L,EAAEN,IAAIzT,MAAMqC,KAAO+O,EAAK5G,QAAU,KAClCuJ,EAAEN,IAAIzT,MAAMkW,OAAS9E,EAAK5G,QAAU,KACpCuJ,EAAEN,IAAIzT,MAAMwK,QAAU,SACtBuJ,EAAEN,IAAIzT,MAAMmW,SAAYjC,EAAWrJ,SAAW,EAAIuG,EAAKpH,mBAAqB,GAAkB,KAC9F+J,EAAEN,IAAIzT,MAAMoV,SAAW,SACvBrB,EAAEN,IAAIzT,MAAMmG,OAASiL,EAAK1G,aAAe,KACzCqJ,EAAEN,IAAIzT,MAAMoW,WAAa,SACzBrC,EAAEN,IAAIzT,MAAM0U,OAAStD,EAAKpH,mBAAqB,WAd1C8J,GADAD,EAAczC,EAAK0D,mBAAmBlW,MAAM,QAClB5G,OAAS,EAAI6b,EAAY,GAAKA,EAAY,GAAK,IAAMA,EAAY,GAAK,IAAMA,EAAY,GAAK,IAAMA,EAAY,GAC7IE,EAAEN,IAAIzT,MAAM2U,YAAcb,EAe3BC,EAAEN,IAAIzT,MAAM2F,MAAQyL,EAAKiF,YACzBtC,EAAEN,IAAIzT,MAAMsW,KAAO,kBACnBvC,EAAEN,IAAIzT,MAAMuW,UAAY,SACxBxC,EAAEN,IAAIzT,MAAM+U,OAAS,UACrBhB,EAAEN,IAAI+C,YAAc,WACnBpF,EAAKrC,QAENgF,EAAEL,KAAK1T,MAAMyW,WAAarF,EAAK1G,aAAe,KAC9CqJ,EAAEL,KAAK6B,UAAY,GACnBxB,EAAEL,KAAKC,YAAYnd,EAAOH,SAASqgB,eAAetF,EAAKuF,YAGvDC,IACAC,IACAC,IAIIjgB,EAAIwR,OAAOC,OAASzR,EAAIwR,OAAOC,QAAU8I,GAC5Cva,EAAIsI,YAAYtI,EAAIwR,OAAOC,MAAM1O,cAAe/C,EAAIO,IAAI2f,iBAIzDlgB,EAAIwR,OAAOC,MAAQ8I,EAIfA,EAAK4F,YAAcxgB,EAAOH,SAAS4gB,KACtCpgB,EAAIuR,iBAEJvR,EAAI2S,cAAc4H,EAAM,EAAG,EAAG,YAAY,GAGvC2C,EAAEpK,KAAKuN,aAAe9F,EAAK4F,WAC9B5F,EAAK4F,UAAUrD,YAAYI,EAAEpK,MAG9B9S,EAAImI,SAASoS,EAAKxX,cAAe/C,EAAIO,IAAI2f,iBAI1C,SAASH,IAER,IAAIO,EAAWtgB,EAAIkV,eAAeqF,GAC9BnP,EAAI3B,KAAKC,MAAO6Q,EAAKlD,SAAS9J,EAAI,KAAQgN,EAAKlL,MAAQ,IACvDhE,EAAI5B,KAAKC,OAAO,EAAI6Q,EAAKlD,SAASiJ,GAAY,MAAQ/F,EAAKjL,OAAS,IACpEgO,EAAkB,EAAI/C,EAAKvF,mBAAqBuF,EAAKtF,iBAAmB,EAAIsF,EAAKgD,UACjFrG,GAAOzN,KAAKkE,MAAM2P,EAAiB,GAKvC,OAJAtd,EAAIwR,OAAO+J,MAAMpS,MAAMqC,KAAQJ,EAAI8L,EAAO,KAC1ClX,EAAIwR,OAAO+J,MAAMpS,MAAMsC,IAAOJ,EAAI6L,EAAO,KAGjClX,EAAIuT,iBAAiBgH,IAC7B,IAAK,IACJ,IAAIgG,EAAOvgB,EAAIwN,QAAQ+M,EAAKlD,SAAS9J,EAAG,IAAKgN,EAAKlD,SAAShK,GACvDmT,EAAOxgB,EAAIwN,QAAQ+M,EAAKlD,SAAS9J,EAAG,EAAGgN,EAAKlD,SAAShK,GACrD2L,EAAS,OACZvP,KAAKC,MAAM6W,EAAK,IAAM,IACtB9W,KAAKC,MAAM6W,EAAK,IAAM,IACtB9W,KAAKC,MAAM6W,EAAK,IAAM,IACnBtH,EAAS,OACZxP,KAAKC,MAAM8W,EAAK,IAAM,IACtB/W,KAAKC,MAAM8W,EAAK,IAAM,IACtB/W,KAAKC,MAAM8W,EAAK,IAAM,IACvBxgB,EAAIwR,OAAOuK,QAAQrD,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQ0J,EAAQC,GAC9D,MACD,IAAK,IACJ,IAAIwH,EAAMzgB,EAAIwN,QAAQ+M,EAAKlD,SAAS9J,EAAGgN,EAAKlD,SAAS5J,EAAG,KACpDuL,EAAS,OACZvP,KAAKC,MAAM+W,EAAI,IAAM,IACrBhX,KAAKC,MAAM+W,EAAI,IAAM,IACrBhX,KAAKC,MAAM+W,EAAI,IAAM,IAClBxH,EAAS,OACbjZ,EAAIwR,OAAOuK,QAAQrD,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQ0J,EAAQC,GAK/DjZ,EAAIwR,OAAO+K,SAAS7D,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQiL,EAAKmG,eAI7D,SAASV,IACR,IAAIW,EAAa3gB,EAAIuT,iBAAiBgH,GACtC,GAAIoG,EAAY,CAEf,IAAItV,EAAI5B,KAAKC,OAAO,EAAI6Q,EAAKlD,SAASsJ,GAAc,MAAQpG,EAAKjL,OAAS,IAC1EtP,EAAIwR,OAAO2K,SAAShT,MAAMsC,IAAOJ,GAAK,EAAIkP,EAAKvF,mBAAqBuF,EAAKtF,kBAAoBxL,KAAKkE,MAAM3N,EAAIO,IAAIke,iBAAmB,GAAM,KAI1Ize,EAAIwR,OAAO+K,SAAS7D,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQiL,EAAKmG,eAI7D,SAAST,IACR,IAAI5U,EAAI5B,KAAKC,OAAO,EAAI6Q,EAAKlD,SAAStN,IAAMwQ,EAAKjL,OAAS,IAC1DtP,EAAIwR,OAAOmL,UAAUxT,MAAMsC,IAAOJ,GAAK,EAAIkP,EAAKvF,mBAAqBuF,EAAKtF,kBAAoBxL,KAAKkE,MAAM3N,EAAIO,IAAIke,iBAAmB,GAAM,KAI3I,SAASmC,IACR,OAAO5gB,EAAIwR,QAAUxR,EAAIwR,OAAOC,QAAU8I,EAgG3C,GAx1CKrY,IACJA,EAAO,IAGRtC,KAAKyX,SAAW,CACf/N,EAAG,IACHC,EAAG,IACHC,EAAG,IACH+D,EAAG,EACHE,EAAG,EACHJ,EAAG,IACHtD,EAAG,GAKJnK,KAAKmO,OAAS,OACdnO,KAAK0E,WAAQhD,EACb1B,KAAKihB,WAAQvf,EACb1B,KAAKkhB,cAAWxf,EAChB1B,KAAKmhB,aAAUzf,EACf1B,KAAKohB,kBAAe1f,EACpB1B,KAAKqhB,kBAAe3f,EACpB1B,KAAKshB,oBAAiB5f,EACtB1B,KAAKia,gBAAkB,OACvBja,KAAKuhB,YAAc,GACnBvhB,KAAKwhB,eAAiB,EACtBxhB,KAAKyhB,UAAW,EAChBzhB,KAAK0hB,MAAO,EACZ1hB,KAAK2hB,WAAY,EACjB3hB,KAAK4hB,YAAa,EAIlB5hB,KAAKyP,MAAQ,IACbzP,KAAK0P,OAAS,IACd1P,KAAKuV,KAAO,MACZvV,KAAKka,aAAe,OACpBla,KAAKuR,SAAW,SAChBvR,KAAK2S,eAAgB,EACrB3S,KAAKyW,aAAc,EACnBzW,KAAK6hB,aAAc,EACnB7hB,KAAKyU,QAAU,GACfzU,KAAKgV,YAAc,GACnBhV,KAAKkY,iBAAmB,OACxBlY,KAAKmV,cAAgB,GACrBnV,KAAKkV,eAAiB,EACtBlV,KAAKqY,oBAAqB,EAC1BrY,KAAK0T,WAAa,GAClB1T,KAAK2d,UAAY,EACjB3d,KAAKgU,aAAc,EACnBhU,KAAKkgB,UAAY,QACjBlgB,KAAK4f,YAAc,gBACnB5f,KAAKiU,aAAe,GACpBjU,KAAK+T,QAAU,GACf/T,KAAKme,gBAAkB,sBACvBne,KAAKwU,YAAc,EACnBxU,KAAKke,YAAc,sBACnBle,KAAK6d,aAAe,EACpB7d,KAAKuT,mBAAqB,EAC1BvT,KAAKqe,mBAAqB,sBAC1Bre,KAAKoT,QAAS,EACdpT,KAAKiT,WAAa,GAClBjT,KAAKqT,YAAc,kBACnBrT,KAAK0e,aAAe,mBACpB1e,KAAKoV,mBAAqB,EAC1BpV,KAAKye,mBAAqB,sBAC1Bze,KAAKqV,iBAAmB,EACxBrV,KAAKge,OAAS,IACdhe,KAAKugB,eAAY7e,EAIjB1B,KAAK8hB,KAAO,EACZ9hB,KAAK+hB,KAAO,IACZ/hB,KAAKgiB,KAAO,EACZhiB,KAAKiiB,KAAO,IACZjiB,KAAKkiB,KAAO,EACZliB,KAAKmiB,KAAO,EAOZniB,KAAK6a,OAAS,WACb,IAAKxV,UAAU9D,OACd,MAAM,IAAIzB,MAAM,uBAGjB,GAAyB,IAArBuF,UAAU9D,QAAwC,iBAAjB8D,UAAU,GAAiB,CAE/D,IACC,OAAO4V,EAAU5V,UAAU,IAC1B,MAAO5C,GACRN,QAAQC,KAAKK,GAEd,OAAO,EAED,GAAI4C,UAAU9D,QAAU,GAA6B,iBAAjB8D,UAAU,GAAiB,CAErE,IACC,IAAKuV,EAAUvV,UAAU,GAAIA,UAAU,IACtC,OAAO,EAEP,MAAO5C,GAER,OADAN,QAAQC,KAAKK,IACN,EAIR,OAFAzC,KAAKoiB,SACLpiB,KAAKqiB,eACE,EAED,GAAyB,IAArBhd,UAAU9D,QAAwC,iBAAjB8D,UAAU,GAAiB,CAEtE,IAAI/C,EAAO+C,UAAU,GACjBid,GAAU,EACd,IAAK,IAAIC,KAAOjgB,EACf,GAAIA,EAAKiD,eAAegd,GACvB,IACM3H,EAAU2H,EAAKjgB,EAAKigB,MACxBD,GAAU,GAEV,MAAO7f,GACRN,QAAQC,KAAKK,GACb6f,GAAU,EAMb,OAFAtiB,KAAKoiB,SACLpiB,KAAKqiB,cACEC,EAGR,MAAM,IAAIxiB,MAAM,sBAOjBE,KAAKwiB,QAAU,SAAU3c,EAAMnB,GAC9B,GAAoB,iBAATmB,EACV,MAAM,IAAI/F,MAAM,mCAAqC+F,GAGtD,QAAcnE,IAAVgD,EAEH,OAAK1E,KAAKyX,SAASlS,eAAeM,EAAKjE,eAIhC5B,KAAKyX,SAAS5R,EAAKjE,gBAHzBO,QAAQC,KAAK,4BAA8ByD,IACpC,GAMR,IAAI4c,GAAM,EACV,OAAQ5c,EAAKjE,eACZ,IAAK,IAAK6gB,EAAMziB,KAAKoY,SAAS1T,EAAO,KAAM,KAAM,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAKoY,SAAS,KAAM1T,EAAO,KAAM,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAKoY,SAAS,KAAM,KAAM1T,EAAO,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAK0X,SAAShT,EAAO,KAAM,KAAM,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAK0X,SAAS,KAAMhT,EAAO,KAAM,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAK0X,SAAS,KAAM,KAAMhT,EAAO,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAK0X,SAAS,KAAM,KAAM,KAAMhT,GAAQ,MACxD,QAEC,OADAvC,QAAQC,KAAK,4BAA8ByD,IACpC,EAET,QAAI4c,IACHziB,KAAKoiB,UACE,IAcVpiB,KAAK6V,QAAU,SAAUD,GAExB,IADA,IAAI8M,EAAMtiB,EAAI6H,QAAQ2N,GACbtU,EAAI,EAAGA,EAAIohB,EAAInhB,OAAQD,GAAK,EAAG,CACvC,IAAI8F,EAAKsb,EAAIphB,GAAGM,cAGZ+gB,EAAe,KACnB,OAAQvb,GACP,IAAK,QAASub,EAAe,UAAW,MACxC,IAAK,SAAUA,EAAe,WAE3BA,GACHviB,EAAIoV,gBAAgBxV,KAAM2iB,GAI3BviB,EAAIqH,kBAAkBzH,KAAKohB,aAAcha,GAAI,GAAM,KAUrDpH,KAAK0X,SAAW,SAAU/J,EAAGE,EAAGJ,EAAGtD,EAAGyP,GAMrC,QALUlY,IAANiM,IAAmBA,EAAI,WACjBjM,IAANmM,IAAmBA,EAAI,WACjBnM,IAAN+L,IAAmBA,EAAI,WACjB/L,IAANyI,IAAmBA,EAAI,MAEjB,OAANwD,EAAY,CACf,GAAIiV,MAAMjV,GAAM,OAAO,EACvB3N,KAAKyX,SAAS9J,EAAI9D,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAKG,IAE7C,GAAU,OAANE,EAAY,CACf,GAAI+U,MAAM/U,GAAM,OAAO,EACvB7N,KAAKyX,SAAS5J,EAAIhE,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAKxN,KAAK+hB,KAAMlU,GAAI7N,KAAK8hB,MAEjE,GAAU,OAANrU,EAAY,CACf,GAAImV,MAAMnV,GAAM,OAAO,EACvBzN,KAAKyX,SAAShK,EAAI5D,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAKxN,KAAKiiB,KAAMxU,GAAIzN,KAAKgiB,MAEjE,GAAU,OAAN7X,EAAY,CACf,GAAIyY,MAAMzY,GAAM,OAAO,EACvBnK,KAAKyX,SAAStN,EAAInK,KAAK4T,kBACtB/J,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,EAAGxN,KAAKmiB,KAAMhY,GAAInK,KAAKkiB,MAC5C,EAGF,IAAIrB,EAAMzgB,EAAIwN,QACb5N,KAAKyX,SAAS9J,EACd3N,KAAKyX,SAAS5J,EACd7N,KAAKyX,SAAShK,GAOf,OALAzN,KAAKyX,SAAS/N,EAAImX,EAAI,GACtB7gB,KAAKyX,SAAS9N,EAAIkX,EAAI,GACtB7gB,KAAKyX,SAAS7N,EAAIiX,EAAI,GAEtB7gB,KAAKqiB,YAAYzI,IACV,GASR5Z,KAAKoY,SAAW,SAAU1O,EAAGC,EAAGC,EAAGO,EAAGyP,GAMrC,QALUlY,IAANgI,IAAmBA,EAAI,WACjBhI,IAANiI,IAAmBA,EAAI,WACjBjI,IAANkI,IAAmBA,EAAI,WACjBlI,IAANyI,IAAmBA,EAAI,MAEjB,OAANT,EAAY,CACf,GAAIkZ,MAAMlZ,GAAM,OAAO,EACvBA,EAAIG,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAK9D,IAE/B,GAAU,OAANC,EAAY,CACf,GAAIiZ,MAAMjZ,GAAM,OAAO,EACvBA,EAAIE,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAK7D,IAE/B,GAAU,OAANC,EAAY,CACf,GAAIgZ,MAAMhZ,GAAM,OAAO,EACvBA,EAAIC,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAK5D,IAE/B,GAAU,OAANO,EAAY,CACf,GAAIyY,MAAMzY,GAAM,OAAO,EACvBnK,KAAKyX,SAAStN,EAAInK,KAAK4T,kBACtB/J,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,EAAGxN,KAAKmiB,KAAMhY,GAAInK,KAAKkiB,MAC5C,EAGF,IAAIW,EAAMziB,EAAImN,QACT,OAAJ7D,EAAW1J,KAAKyX,SAAS/N,EAAIA,EACzB,OAAJC,EAAW3J,KAAKyX,SAAS9N,EAAIA,EACzB,OAAJC,EAAW5J,KAAKyX,SAAS7N,EAAIA,GAEf,OAAXiZ,EAAI,KACP7iB,KAAKyX,SAAS9J,EAAI9D,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAKqV,EAAI,MAElC,IAAXA,EAAI,KACP7iB,KAAKyX,SAAS5J,EAAIhE,KAAK6D,IAAI,EAAG1N,KAAK8hB,KAAMjY,KAAK2D,IAAI,IAAKxN,KAAK+hB,KAAMc,EAAI,MAEvE7iB,KAAKyX,SAAShK,EAAI5D,KAAK6D,IAAI,EAAG1N,KAAKgiB,KAAMnY,KAAK2D,IAAI,IAAKxN,KAAKiiB,KAAMY,EAAI,KAGtE,IAAIhC,EAAMzgB,EAAIwN,QAAQ5N,KAAKyX,SAAS9J,EAAG3N,KAAKyX,SAAS5J,EAAG7N,KAAKyX,SAAShK,GAMtE,OALAzN,KAAKyX,SAAS/N,EAAImX,EAAI,GACtB7gB,KAAKyX,SAAS9N,EAAIkX,EAAI,GACtB7gB,KAAKyX,SAAS7N,EAAIiX,EAAI,GAEtB7gB,KAAKqiB,YAAYzI,IACV,GAMR5Z,KAAK8iB,QAAU,SAAUnV,EAAGE,EAAGJ,EAAGmM,GAEjC,OADAzX,QAAQC,KAAK,4DAA8DhC,EAAIiC,SACxErC,KAAK0X,SAAS/J,EAAGE,EAAGJ,EAAG,KAAMmM,IAMrC5Z,KAAK+iB,QAAU,SAAUrZ,EAAGC,EAAGC,EAAGgQ,GAEjC,OADAzX,QAAQC,KAAK,4DAA8DhC,EAAIiC,SACxErC,KAAKoY,SAAS1O,EAAGC,EAAGC,EAAG,KAAMgQ,IAIrC5Z,KAAKgjB,WAAa,SAAUtgB,EAAKkX,GAChC,IAAK5Z,KAAKyhB,UAA2B,KAAf/e,EAAIH,OAIzB,OAFAvC,KAAKijB,oBAAoB,MACzBjjB,KAAKkjB,qBAAqB,KACnB,EAGR,IAAIhU,EAAQ9O,EAAI4N,iBAAiBtL,GACjC,QAAKwM,IAG6B,QAA9BlP,KAAKmO,OAAOvM,gBACf5B,KAAKgY,WAAW9I,EAAMf,QACjB/N,EAAIgP,cAAcpP,KAAKiY,eAC3B/I,EAAMhB,KAAK,GAAK,IAGlBlO,KAAKoY,SACJlJ,EAAMhB,KAAK,GACXgB,EAAMhB,KAAK,GACXgB,EAAMhB,KAAK,GACXgB,EAAMhB,KAAK,GACX0L,IAEM,IAIR5Z,KAAK+J,SAAW,SAAUoE,GAIzB,YAHezM,IAAXyM,IACHA,EAASnO,KAAKiY,aAEP9J,EAAOvM,eACd,IAAK,MAAO,OAAO5B,KAAK8gB,cACxB,IAAK,OAAQ,OAAO9gB,KAAKmjB,eACzB,IAAK,MAAO,OAAOnjB,KAAKojB,cACxB,IAAK,OAAQ,OAAOpjB,KAAKqjB,eAE1B,OAAO,GAIRrjB,KAAK8gB,YAAc,WAClB,OAAO1gB,EAAIqJ,SACVzJ,KAAKyX,SAAS/N,EACd1J,KAAKyX,SAAS9N,EACd3J,KAAKyX,SAAS7N,IAKhB5J,KAAKmjB,aAAe,WACnB,OAAO/iB,EAAI8J,UACVlK,KAAKyX,SAAS/N,EACd1J,KAAKyX,SAAS9N,EACd3J,KAAKyX,SAAS7N,EACd5J,KAAKyX,SAAStN,IAKhBnK,KAAKojB,YAAc,WAClB,OAAOhjB,EAAIgK,SACVpK,KAAKyX,SAAS/N,EACd1J,KAAKyX,SAAS9N,EACd3J,KAAKyX,SAAS7N,IAKhB5J,KAAKqjB,aAAe,WACnB,OAAOjjB,EAAIiK,UACVrK,KAAKyX,SAAS/N,EACd1J,KAAKyX,SAAS9N,EACd3J,KAAKyX,SAAS7N,EACd5J,KAAKyX,SAAStN,IAKhBnK,KAAKsjB,YAAc,WAClB,MACC,KAAQtjB,KAAKyX,SAAS/N,EACtB,KAAQ1J,KAAKyX,SAAS9N,EACtB,KAAQ3J,KAAKyX,SAAS7N,GAKxB5J,KAAKujB,SAAW,WACf,OAAOnjB,EAAIyP,sBAAsB7P,KAAKqjB,gBAAgB/T,QAIvDtP,KAAKsf,UAAY,WAChB,OAAOtf,KAAKujB,WAAWjE,aAIxBtf,KAAKwjB,aAAe,WACnB,OAAOpjB,EAAIO,IAAIiK,WAAW5K,KAAKqjB,iBAIhCrjB,KAAKyjB,QAAU,WACd,OAAOzjB,KAAKsjB,cAAgB,OAI7BtjB,KAAKsY,KAAO,WACP0I,MAmVJ5gB,EAAIsI,YAAYiS,EAAKxX,cAAe/C,EAAIO,IAAI2f,iBAC5ClgB,EAAIwR,OAAOsB,KAAKuN,WAAWrc,YAAYhE,EAAIwR,OAAOsB,aAC3C9S,EAAIwR,OAAOC,QA/UnB7R,KAAK2W,KAAO,WACXwE,KAIDnb,KAAKoiB,OAAS,WACTpB,KACH7F,KAKFnb,KAAKiY,UAAY,WAChB,OAAOjY,KAAK0jB,gBAIb1jB,KAAKgY,WAAa,SAAU7J,GAC3BnO,KAAK0jB,eAAiBvV,EAAOvM,eAI9B5B,KAAK4T,gBAAkB,WACtB,MAA0B,SAAtB5T,KAAKka,aAEuB,QAA9Bla,KAAKmO,OAAOvM,eACZxB,EAAIgP,cAAcpP,KAAKiY,mBACRvW,IAAf1B,KAAKihB,YACiBvf,IAAtB1B,KAAKqhB,aAIArhB,KAAKka,cAIbla,KAAK2jB,kBAAoB,SAAUjhB,GAC7B1C,KAAKgjB,WAAWtgB,IAEpB1C,KAAKqiB,eAKPriB,KAAK4jB,kBAAoB,SAAUlhB,GAC7B1C,KAAK0X,SAAS,KAAM,KAAM,KAAM9I,WAAWlM,KAE/C1C,KAAKqiB,eAKPriB,KAAKqiB,YAAc,SAAUzI,GAC5B,IAAIiK,EAAW7jB,KAAK+J,WAChB6O,EAAM5Y,KAAKiY,YAaf,GAVA7X,EAAI4F,YAAYhG,KAAKmD,cAAe,gBAAiB0gB,GAE/CjK,EAAQxZ,EAAIwZ,MAAMC,aAAe7Z,KAAKohB,eAC/B,QAARxI,GAAyB,SAARA,IACf5Y,KAAK2hB,YAAakC,EAAWA,EAASjiB,eACtC5B,KAAK0hB,OAAQmC,EAAWA,EAAS3b,QAAQ,KAAM,MAErDlI,KAAKkjB,qBAAqBW,MAGrBjK,EAAQxZ,EAAIwZ,MAAME,aAAe9Z,KAAKqhB,aAAc,CACzD,IAAIyC,EAAWja,KAAKC,MAAwB,IAAlB9J,KAAKyX,SAAStN,GAAW,IACnDnK,KAAK+jB,qBAAqBD,GAGrBlK,EAAQxZ,EAAIwZ,MAAMG,eAAiB/Z,KAAKshB,kBAI5ClhB,EAAIiE,YAAYrE,KAAKshB,iBACpBlhB,EAAIkE,SAAStE,KAAKshB,kBAAoBlhB,EAAIqE,cAAczE,KAAKshB,kBAEjDthB,KAAKia,gBAGnBja,KAAKijB,oBAAoBjjB,KAAKqjB,iBAG3BrC,MACHb,IACAC,IACAC,MAKFrgB,KAAKijB,oBAAsB,SAAU/T,GACpC,GAAKlP,KAAKshB,eAAV,CAIA,IAAI/P,EAAW,KACX9B,EAAQ,MAEXrP,EAAIiE,YAAYrE,KAAKshB,iBACpBlhB,EAAIkE,SAAStE,KAAKshB,kBAAoBlhB,EAAIqE,cAAczE,KAAKshB,mBAE9D/P,EAAWvR,KAAKia,gBAChBxK,EAAQzP,KAAKuhB,aAGd,IAAIyC,EAAc,GAElB,GAAK9U,EASE,CAEN8U,EAAY5gB,KAAK,CAChB6gB,MAAO7jB,EAAIkR,wBACVpC,EACAqC,EACA9B,EAAQA,EAAQrP,EAAIO,IAAIuP,iBAAiB3O,OAAS,MAEnDgQ,SAAU,WACV2S,KAAM,OACNC,OAAQ5S,EAAW,WAAa,SAChC6S,OAAQ,gBAIT,IAAIC,EAAUjkB,EAAIyP,sBACjB,gBACA0B,EAAW,CAAC3F,KAAO,QAAS6F,MAAQ,QAAQF,GAAY,KACxD9B,GACA,GAEDuU,EAAY5gB,KAAK,CAChB6gB,MAAO,QAAWI,EAAQ/U,OAAOgQ,YAAc,KAC/C/N,UAAWA,GAAY,QAAU,OACjC2S,KAAMG,EAAQ5U,MAAQ,MAAQ4U,EAAQ3U,OAAS,KAC/CyU,OAAQ5S,EAAW,WAAa,SAChC6S,OAAQ,qBAjCTJ,EAAY5gB,KAAK,CAChB6gB,MAAO,OACP1S,SAAU,WACV2S,KAAM,OACNC,OAAQ,YACRC,OAAQ,gBAuCV,IAPA,IAAIE,EAAK,CACRL,MAAO,GACP1S,SAAU,GACV2S,KAAM,GACNC,OAAQ,GACRC,OAAQ,IAEA9iB,EAAI,EAAGA,EAAI0iB,EAAYziB,OAAQD,GAAK,EAC5CgjB,EAAGL,MAAM7gB,KAAK4gB,EAAY1iB,GAAG2iB,OAC7BK,EAAG/S,SAASnO,KAAK4gB,EAAY1iB,GAAGiQ,UAChC+S,EAAGJ,KAAK9gB,KAAK4gB,EAAY1iB,GAAG4iB,MAC5BI,EAAGH,OAAO/gB,KAAK4gB,EAAY1iB,GAAG6iB,QAC9BG,EAAGF,OAAOhhB,KAAK4gB,EAAY1iB,GAAG8iB,QAI/B,IAAIG,EAAM,CACTC,mBAAoBF,EAAGL,MAAMjZ,KAAK,MAClCyZ,sBAAuBH,EAAG/S,SAASvG,KAAK,MACxC0Z,kBAAmBJ,EAAGJ,KAAKlZ,KAAK,MAChC2Z,oBAAqBL,EAAGH,OAAOnZ,KAAK,MACpC4Z,oBAAqBN,EAAGF,OAAOpZ,KAAK,OAErC5K,EAAI4I,SAAShJ,KAAKshB,eAAgBiD,EAAKvkB,KAAK4hB,YAI5C,IAAI7N,EAAU,CACbnI,KAAM,KACN6F,MAAO,MAEJF,IACHwC,EAAQxC,GAAavR,KAAKuhB,YAAcvhB,KAAKwhB,eAAkB,MAG5D+C,EAAM,CACTM,eAAgB9Q,EAAQnI,KACxBkZ,gBAAiB/Q,EAAQtC,OAE1BrR,EAAI4I,SAAShJ,KAAKshB,eAAgBiD,EAAKvkB,KAAK4hB,YAAY,KAIzD5hB,KAAKkjB,qBAAuB,SAAUxgB,GACjC1C,KAAKohB,eACgC,UAApChhB,EAAI6D,SAASjE,KAAKohB,cACrBphB,KAAKohB,aAAa1c,MAAQhC,EAE1B1C,KAAKohB,aAAatC,UAAYpc,IAMjC1C,KAAK+jB,qBAAuB,SAAUrhB,GACjC1C,KAAKqhB,eACgC,UAApCjhB,EAAI6D,SAASjE,KAAKqhB,cACrBrhB,KAAKqhB,aAAa3c,MAAQhC,EAE1B1C,KAAKqhB,aAAavC,UAAYpc,IAMjC1C,KAAKob,4BAA8B,WAClC,IAAIpb,KAAK+kB,yBAAT,CACA/kB,KAAK+kB,0BAA2B,EAEhC,IAAI5kB,EAAMH,KAAKmD,cACf,EAAG,CAGF,IAAI6hB,EAAY5kB,EAAIyI,aAAa1I,GAC7B6kB,EAAUzT,UAAiD,UAArCyT,EAAUzT,SAAS3P,gBAC5C5B,KAAKiS,OAAQ,GAGV9R,IAAQH,KAAKmD,gBAMX/C,EAAIuF,QAAQxF,EAAK,uBACrBA,EAAIO,iBAAiB,SAAUN,EAAImW,gBAAgB,GACnDnW,EAAIqD,QAAQtD,EAAK,qBAAqB,YAG/BA,EAAMA,EAAIsgB,aAAqC,SAAtBrgB,EAAI6D,SAAS9D,MAIjDH,KAAKoW,QAAU,WACVpW,KAAK6hB,aACR7hB,KAAKsY,QAKPtY,KAAKilB,aAAe,SAAUnhB,GAC7B9D,KAAKyU,QAAU3Q,EACf9D,KAAK+U,SAAW3U,EAAIyO,kBAAkB/K,GACtC9D,KAAKmY,wBAA0B/X,EAAI+O,wBAAwBnP,KAAK+U,WAuqB7D3U,EAAIO,IAAIukB,QAEX,IAAK,IAAI3C,KAAOniB,EAAIO,IAAIukB,QACvB,GAAI9kB,EAAIO,IAAIukB,QAAQ3f,eAAegd,GAClC,IACC3H,EAAU2H,EAAKniB,EAAIO,IAAIukB,QAAQ3C,IAC9B,MAAO9f,GACRN,QAAQC,KAAKK,GASjB,IAAI0iB,EAAa,GAEb7iB,EAAK8iB,SACmB,iBAAhB9iB,EAAK8iB,OACfD,EAAa7iB,EAAK8iB,OAAOjd,MAAM,OACrB2C,MAAMkE,QAAQ1M,EAAK8iB,QAC7BD,EAAa7iB,EAAK8iB,OAAOC,QAEzBljB,QAAQC,KAAK,+BAKwB,IAAnC+iB,EAAW3gB,QAAQ,YACtB2gB,EAAW/hB,KAAK,WAKjB,IAAK,IAAI9B,EAAI6jB,EAAW5jB,OAAS,EAAGD,GAAK,EAAGA,GAAK,EAAG,CACnD,IAAIgkB,EAAOH,EAAW7jB,GACtB,GAAKgkB,EAGL,GAAKllB,EAAIO,IAAI4kB,QAAQhgB,eAAe+f,IAIpC,IAAK,IAAI/C,KAAOniB,EAAIO,IAAI4kB,QAAQD,GAC/B,GAAIllB,EAAIO,IAAI4kB,QAAQD,GAAM/f,eAAegd,GACxC,IACC3H,EAAU2H,EAAKniB,EAAIO,IAAI4kB,QAAQD,GAAM/C,IACpC,MAAO9f,GACRN,QAAQC,KAAKK,SARfN,QAAQC,KAAK,qBAAsBkjB,GAgBrC,IAAIE,EAAgB,CAEnB,UAED,IAAK,IAAIjD,KAAOjgB,EACf,GAAIA,EAAKiD,eAAegd,KACa,IAAhCiD,EAAchhB,QAAQ+d,GACzB,IACC3H,EAAU2H,EAAKjgB,EAAKigB,IACnB,MAAO9f,GACRN,QAAQC,KAAKK,GAoBjB,QAPuBf,IAAnB1B,KAAKugB,UACRvgB,KAAKugB,UAAYxgB,EAAOH,SAAS4gB,KAGjCxgB,KAAKugB,UAAYngB,EAAIY,KAAKhB,KAAKugB,YAG3BvgB,KAAKugB,UACT,MAAM,IAAIzgB,MAAM,+DAOjB,GAFAE,KAAKmD,cAAgB/C,EAAIY,KAAKmC,IAEzBnD,KAAKmD,cAAe,CAExB,GAA6B,iBAAlBA,GAA8B,qBAAqBsiB,KAAKtiB,GAGlE,MAAM,IAAIrD,MAAM,OADCqD,EACsB,2CADtBA,EACkF,gCAGpG,MAAM,IAAIrD,MAAM,4DAGjB,GAAIE,KAAKmD,cAAc9C,SAAWL,KAAKmD,cAAc9C,mBAAmBD,EAAIO,IAC3E,MAAM,IAAIb,MAAM,kDAajB,GARAE,KAAKmD,cAAc9C,QAAUL,KAC7BI,EAAImI,SAASvI,KAAKmD,cAAe/C,EAAIO,IAAIoB,WAGzC3B,EAAIG,UAAU6C,KAAKpD,MAIfI,EAAIkE,SAAStE,KAAKmD,iBAEyB,WAA1CnD,KAAKmD,cAAcxB,KAAKC,gBAG3B5B,KAAKmD,cAAcxB,KAAO,UAGvBvB,EAAIqE,cAAczE,KAAKmD,gBAAgB,CAK1C/C,EAAI8D,eAAelE,KAAKmD,eAGxBnD,KAAKmD,cAAc+Z,YAAYnd,EAAOH,SAASqgB,eAAe,MAG9D,IAAI+E,EAAY5kB,EAAIyI,aAAa7I,KAAKmD,gBACnByL,WAAWoW,EAAU,eAAiB,GACtChlB,KAAKuhB,aACvBnhB,EAAI4I,SAAShJ,KAAKmD,cAAe,CAChCuiB,YAAa1lB,KAAKuhB,YAAc,MAC9BvhB,KAAK4hB,YAsCX,QAhC0BlgB,IAAtB1B,KAAKohB,aACJhhB,EAAIiE,YAAYrE,KAAKmD,iBAExBnD,KAAKohB,aAAephB,KAAKmD,eAKM,OAAtBnD,KAAKohB,eAIfphB,KAAKohB,aAAehhB,EAAIY,KAAKhB,KAAKohB,eAI/BphB,KAAKqhB,eACRrhB,KAAKqhB,aAAejhB,EAAIY,KAAKhB,KAAKqhB,oBAIP3f,IAAxB1B,KAAKshB,eACRthB,KAAKshB,eAAiBthB,KAAKmD,cAEO,OAAxBnD,KAAKshB,iBAIfthB,KAAKshB,eAAiBlhB,EAAIY,KAAKhB,KAAKshB,iBAIjCthB,KAAKohB,cAAgBhhB,EAAIiE,YAAYrE,KAAKohB,cAAe,CAI5D,IAAIuE,EAAyB,CAC5BxE,QAASnhB,KAAKohB,aAAawE,SAE5B5lB,KAAKohB,aAAawE,QAAU,KAE5B5lB,KAAKohB,aAAa1gB,iBAAiB,WA3RpC,SAAyB0G,GACC,UAArBhH,EAAIsH,SAASN,KACZuT,EAAKyG,cACRzG,EAAKgJ,kBAAkBhJ,EAAKyG,aAAa1c,OAE1CiW,EAAKvE,cAsRwD,GAC9DpW,KAAKohB,aAAa1gB,iBAAiB,UAxQpC,SAAwB0G,GACvB,IAAIhH,EAAIuF,QAAQyB,EAAI,YAApB,CAIA,IAAIye,EAASlL,EAAKyG,aAAa1c,MAE/BiW,EAAKgJ,kBAAkBhJ,EAAKyG,aAAa1c,OAEzCtE,EAAIoV,gBAAgBmF,EAAM,YAEtBA,EAAKyG,aAAa1c,QAAUmhB,GAE/BzlB,EAAIqH,kBAAkBkT,EAAKyG,aAAc,UAAU,GAAM,OA2PE,GAC5DphB,KAAKohB,aAAa1gB,iBAAiB,SAlOpC,SAAuB0G,GAClBhH,EAAIuF,QAAQyB,EAAI,cAIhBuT,EAAKyG,cACRzG,EAAKqI,WAAWrI,EAAKyG,aAAa1c,MAAOtE,EAAIwZ,MAAMC,YAGpDzZ,EAAIoV,gBAAgBmF,EAAM,eAyNgC,GAEtDgL,EAAuBxE,SAC1BnhB,KAAKohB,aAAa1gB,iBAAiB,QAASilB,EAAuBxE,SAAS,GAG7EnhB,KAAKohB,aAAalc,aAAa,eAAgB,OAC/ClF,KAAKohB,aAAalc,aAAa,cAAe,OAC9ClF,KAAKohB,aAAalc,aAAa,iBAAkB,OACjDlF,KAAKohB,aAAalc,aAAa,cAAc,GAI1ClF,KAAKqhB,cAAgBjhB,EAAIiE,YAAYrE,KAAKqhB,gBAC7CrhB,KAAKqhB,aAAa3gB,iBAAiB,WAjSpC,SAAyB0G,GACC,UAArBhH,EAAIsH,SAASN,KACZuT,EAAK0G,cACR1G,EAAKiJ,kBAAkBjJ,EAAK0G,aAAa3c,OAE1CiW,EAAKvE,cA4RwD,GAC9DpW,KAAKqhB,aAAa3gB,iBAAiB,UAtQpC,SAAwB0G,GACvB,IAAIhH,EAAIuF,QAAQyB,EAAI,YAApB,CAIA,IAAIye,EAASlL,EAAK0G,aAAa3c,MAE/BiW,EAAKiJ,kBAAkBjJ,EAAK0G,aAAa3c,OAEzCtE,EAAIoV,gBAAgBmF,EAAM,YAG1Bva,EAAIqH,kBAAkBkT,EAAKyG,aAAc,UAAU,GAAM,GAErDzG,EAAK0G,aAAa3c,QAAUmhB,GAE/BzlB,EAAIqH,kBAAkBkT,EAAK0G,aAAc,UAAU,GAAM,OAsPE,GAC5DrhB,KAAKqhB,aAAa3gB,iBAAiB,SAlOpC,SAAuB0G,GAClBhH,EAAIuF,QAAQyB,EAAI,cAIhBuT,EAAK0G,cACR1G,EAAKjD,SAAS,KAAM,KAAM,KAAM9I,WAAW+L,EAAK0G,aAAa3c,OAAQtE,EAAIwZ,MAAME,YAGhF1Z,EAAIoV,gBAAgBmF,EAAM,WAG1Bva,EAAIqH,kBAAkBkT,EAAKyG,aAAc,SAAS,GAAM,OAsNE,GAE1DphB,KAAKqhB,aAAanc,aAAa,eAAgB,OAC/ClF,KAAKqhB,aAAanc,aAAa,cAAe,OAC9ClF,KAAKqhB,aAAanc,aAAa,iBAAkB,OACjDlF,KAAKqhB,aAAanc,aAAa,cAAc,IAK9C,IAAI4gB,EAAY,cAEGpkB,IAAf1B,KAAK0E,MACRohB,EAAY9lB,KAAK0E,MACP1E,KAAKohB,mBAA4C1f,IAA5B1B,KAAKohB,aAAa1c,QACjDohB,EAAY9lB,KAAKohB,aAAa1c,OAK/B,IAAIqhB,OAAYrkB,EAYhB,QAVmBA,IAAf1B,KAAKihB,MACR8E,EAAa,GAAG/lB,KAAKihB,MACXjhB,KAAKqhB,mBAA4C3f,IAA5B1B,KAAKqhB,aAAa3c,QACjDqhB,EAAY/lB,KAAKqhB,aAAa3c,OAK/B1E,KAAK0jB,eAAiB,KAElB,CAAC,OAAQ,OAAOlf,QAAQxE,KAAKmO,OAAOvM,gBAAkB,EAAG,CAE5D,IAAIsN,EAAQ9O,EAAI4N,iBAAiB8X,GACjC9lB,KAAK0jB,eAAiBxU,EAAQA,EAAMf,OAAS,WAG7CnO,KAAK0jB,eAAiB1jB,KAAKmO,OAAOvM,cAKnC5B,KAAK2jB,kBAAkBmC,QAOLpkB,IAAdqkB,GACH/lB,KAAK4jB,kBAAkBmC,MAkBtBplB,IAAIoB,UAAY,UAIpB3B,EAAIO,IAAI2f,gBAAkB,iBAK1BlgB,EAAIO,IAAImC,WAAY,EAIpB1C,EAAIO,IAAI4kB,QAAU,GAGlBnlB,EAAIO,IAAI4kB,QAAiB,QAAI,GAE7BnlB,EAAIO,IAAI4kB,QAAe,MAAI,CAC1BpH,gBAAiB,sBACjBE,mBAAoB,sBACpBuB,YAAa,iBAEdxf,EAAIO,IAAI4kB,QAAc,KAAI,CACzBpH,gBAAiB,mBACjBE,mBAAoB,sBACpBuB,YAAa,uBAGdxf,EAAIO,IAAI4kB,QAAe,MAAI,CAAE9V,MAAM,IAAKC,OAAO,IAAKqE,QAAQ,GAAIL,WAAW,GAAIsB,YAAY,GAC3F5U,EAAIO,IAAI4kB,QAAgB,OAAI,CAAE9V,MAAM,IAAKC,OAAO,IAAKqE,QAAQ,GAAIL,WAAW,GAAIsB,YAAY,IAC5F5U,EAAIO,IAAI4kB,QAAe,MAAI,CAAE9V,MAAM,IAAKC,OAAO,IAAKqE,QAAQ,GAAIL,WAAW,GAAIsB,YAAY,IAE3F5U,EAAIO,IAAI4kB,QAAc,KAAI,CAAE/Q,YAAY,EAAGjB,mBAAmB,EAAG6B,mBAAmB,GACpFhV,EAAIO,IAAI4kB,QAAe,MAAI,CAAE/Q,YAAY,EAAGjB,mBAAmB,EAAG6B,mBAAmB,GAIrFhV,EAAIO,IAAIke,iBAAmB,EAG3Bze,EAAIO,IAAIyP,eAAiB,EACzBhQ,EAAIO,IAAI2P,iBAAmB,UAC3BlQ,EAAIO,IAAI6P,iBAAmB,UAG3BpQ,EAAIO,IAAIuP,iBAAmB,CAAC,wBAAyB,yBAIrD9P,EAAIO,IAAIC,KAAO,WACd,IAAIR,EAAIE,YAgBR,IAXAP,EAAOH,SAASc,iBAAiB,YAAaN,EAAIoW,qBAAqB,GACvEzW,EAAOH,SAASc,iBAAiB,QAASN,EAAI+V,iBAAiB,GAC/DpW,EAAOW,iBAAiB,SAAUN,EAAIiW,gBAAgB,GACtDtW,EAAOW,iBAAiB,SAAUN,EAAIkW,gBAAgB,GAGtDlW,EAAIO,IAAIqlB,UAER5lB,EAAIE,aAAc,EAGXF,EAAII,WAAWe,QACVnB,EAAII,WAAWylB,OAC1B5f,IAMFjG,EAAIO,IAAIqlB,QAAU,SAAUjlB,GAC3B,IAAIuhB,GAAU,EAEd,IACCliB,EAAIS,kBAAkB,iBAAkBE,GACvC,MAAO0B,GACR6f,GAAU,EACVngB,QAAQC,KAAKK,GAId,GAAIrC,EAAIO,IAAIU,YACX,IACCjB,EAAIS,kBAEF,SAAWT,EAAIO,IAAIU,YAAnB,YACYjB,EAAIO,IAAIU,YAErBN,GAEA,MAAO0B,IAGV,OAAO6f,GAMRliB,EAAIO,IAAIulB,MAAQ,SAAU7f,GACzB,MAAoB,mBAATA,GACVlE,QAAQC,KAAK,mCACN,IAGJhC,EAAIE,YACP+F,IAEAjG,EAAII,WAAW4C,KAAKiD,IAEd,IASRjG,EAAIO,IAAIkV,QAAU,SAAUD,GAC3B,IAAIuQ,EAAa,WAChB/lB,EAAIuV,cAAcC,IAGfxV,EAAIE,YACP6lB,IAEA/lB,EAAIO,IAAIulB,MAAMC,IAMhB/lB,EAAIO,IAAI2X,KAAO,WACVlY,EAAIwR,QAAUxR,EAAIwR,OAAOC,OAC5BzR,EAAIwR,OAAOC,MAAMyG,QAMnBlY,EAAIO,IAAIoe,WAAa,SAAU7P,GAK9B,OAJKA,IACJA,EAAQ,iBAEK9O,EAAIyP,sBAAsBX,GACzBI,OAAOgQ,aAKvBlf,EAAIO,IAAIiK,WAAa,SAAUsE,GAC9B,IAAI8U,EAAc,GAGlBA,EAAY5gB,KAAKhD,EAAIkR,wBAAwBpC,IAG7C,IAAImV,EAAUjkB,EAAIyP,wBAOlB,OANAmU,EAAY5gB,KAAK,CAChB,QAAWihB,EAAQ/U,OAAOgQ,YAAc,KACxC,WACA,UACCtU,KAAK,MAEAgZ,EAAYhZ,KAAK,OAYzB5K,EAAIO,IAAIukB,QAAU,GAUlB9kB,EAAIO,IAAIU,YAAc,UAMtBjB,EAAIO,IAAIylB,mBAAqB,WAE5B,OADAjkB,QAAQuT,MAAM,qGAAuGtV,EAAIiC,UAClH,GAIRjC,EAAIK,WAGGL,EAAIO,KAaX,YAP8B,IAAnBZ,EAAOM,UACjBN,EAAOM,QAAUN,EAAOsmB,QAAUhmB,GAM5BA,OAUOimB,EAA2B,GAG/B,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqB9kB,IAAjB+kB,EACH,OAAOA,EAAa9mB,QAGrB,IAAIH,EAAS8mB,EAAyBE,GAAY,CAGjD7mB,QAAS,IAOV,OAHAL,EAAoBknB,GAAUvb,KAAKzL,EAAOG,QAASH,EAAQA,EAAOG,QAAS4mB,GAGpE/mB,EAAOG,QAOd4mB,EAAoBhiB,EAAK/E,IACxB,IAAI0b,EAAS1b,GAAUA,EAAOknB,WAC7B,IAAOlnB,EAAiB,QACxB,IAAM,EAEP,OADA+mB,EAAoBI,EAAEzL,EAAQ,CAAE/Q,EAAG+Q,IAC5BA,GAORqL,EAAoBI,EAAI,CAAChnB,EAASinB,KACjC,IAAI,IAAIC,KAAOD,EACXL,EAAoBO,EAAEF,EAAYC,KAASN,EAAoBO,EAAEnnB,EAASknB,IAC5E/hB,OAAOC,eAAepF,EAASknB,EAAK,CAAEE,YAAY,EAAM/hB,IAAK4hB,EAAWC,MAQ3EN,EAAoBO,EAAI,CAAC1hB,EAAKI,IAAUV,OAAOiG,UAAUxF,eAAe0F,KAAK7F,EAAKI,GAM7F,MACA,aAiDA,IAAIwhB,EAAY,GAUhB,SAASC,IACHD,EAAUE,iBAAmBC,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file From 444462ae5389233bf950070fbd87a5542e6a04b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Sun, 4 Apr 2021 13:52:34 +0200 Subject: [PATCH 23/30] Initial fix for #707 --- CookieMonster.js | 2 +- dist/CookieMonster.js | 2 +- dist/CookieMonster.js.map | 2 +- src/Main/LoopHook.js | 4 +++- src/Main/VariablesAndData.js | 5 +++++ src/Sim/Calculations/CalculateGains.js | 14 ++++++++++---- 6 files changed, 21 insertions(+), 8 deletions(-) diff --git a/CookieMonster.js b/CookieMonster.js index 6ad999d4..024e1adf 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],$={};let R,I,z=0,V=-1,_=[],Q=1,X=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=1,dt=1,pt=1,ut=0,mt=0,ht=0,gt=0,ft={},Ct={},yt={},bt=0,kt=0,Gt=[0,null],vt=0,wt=0,xt={},Tt={},Mt={},St={},Pt={},Bt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Dt=0,Ht=0,Ut=[],$t=0,Rt=0,It={},zt={},Vt=0,_t=0,Qt=[],Xt={},qt=0,Yt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Kt=[],Jt=[],Zt=[];function eo(e){let t=0;return Game.dragonAuras[He].name!==e&&Game.dragonAuras[Ue].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[He].name&&"Reality Bending"!==Game.dragonAuras[Ue].name||(t+=.1),t}function to(){let e=.25;return e*=1+eo("Earth Shatterer"),e}function oo(e,t){return void 0===Ve[e]?void 0===t?1:t:Ve[e]}function no(e){const t=Jt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function io(e){if(Game.hasGod){void 0===Kt.Temple.minigame&&(Kt.Temple.minigame=Game.Objects.Temple.minigame);const t=Kt.Temple.minigame.gods[e];if($e===t.id)return 1;if(Re===t.id)return 2;if(Ie===t.id)return 3}return!1}function ao(e,t){let o=t;if(no("Season savings")&&(o*=.99),no("Santa's dominion")&&(o*=.99),no("Faberge egg")&&(o*=.99),no("Divine discount")&&(o*=.99),no("Fortune #100")&&(o*=.99),o*=1-.02*eo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&no(e.fortune.name)&&(o*=.93),o*=oo("buildingCost"),Kt.Temple.minigameLoaded){const e=io("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ro(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function lo(){let t=Game.buyBulk;if(1===Game.buyMode?X=t:t=X,1===t?t=ft:10===t?t=Ct:100===t&&(t=yt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ft).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ro(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ft).map((e=>{const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?Q=i:i=Q,1===i&&(i=ft),10===i&&(i=Ct),100===i&&(i=yt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+po()))/co());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&no(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(no(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&no(e.fortune.name)&&(t*=1.07),e.grandma&&no(e.grandma.name)&&(t*=1+.01*Kt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&no(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function Go(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;no("Thousand fingers")&&(t+=.1),no("Million fingers")&&(t*=5),no("Billion fingers")&&(t*=10),no("Trillion fingers")&&(t*=20),no("Quadrillion fingers")&&(t*=20),no("Quintillion fingers")&&(t*=20),no("Sextillion fingers")&&(t*=20),no("Septillion fingers")&&(t*=20),no("Octillion fingers")&&(t*=20),no("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Kt).forEach((e=>{"Cursor"!==Kt[e].name&&(n+=Kt[e].amount)})),t*=n,o*=ko(e),o*=Game.magicCpS("Cursor"),o*=oo("cursorCps"),Game.ComputeCps(.1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{no(Game.GrandmaSynergies[e])&&(o*=2)})),no("Bingo center/Research facility")&&(o*=4),no("Ritual rolling pins")&&(o*=2),no("Naughty list")&&(o*=2),no("Elderwort biscuits")&&(o*=1.02),o*=oo("grandmaCps"),no("Cat ladies"))for(let e=0;e{"Grandma"!==Kt[e].name&&(i+=Kt[e].amount)})),o*=1+.01*eo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=ko(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function vo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Kt).forEach((t=>{Kt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(no("Starlove")&&(e=3),Game.hasGod){const t=io("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function wo(){We=Game.UpgradesOwned,Le=Game.pledges,Ae=Game.AchievementsOwned,je=Game.heavenlyPower,De=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e],mo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&($e=t.minigame.slot[0],Re=t.minigame.slot[1],Ie=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Kt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Jt[e];void 0===o&&(Jt[e]=vo(e),o=Jt[e]),o.bought=t.bought,Jt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Zt[e];void 0===o&&(Zt[e]=bo(e),o=Zt[e]),o.won=t.won,Zt[e]=o})),yo(),He=Xe,Ue=qe}function xo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function To(e){e.appendChild(xo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(xo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(xo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(xo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(xo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Mo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Po(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Bo(){if(wo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(To(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ft:10===Game.buyBulk?t=Ct:100===Game.buyBulk&&(t=yt),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+po()))/co());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(xo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(xo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=uo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,fo())}}(),ho(),Bo(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Kt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function No(){ue.addLatest(Game.computedMouseCps)}class Oo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Fo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+qt;Game.cpsSucked>0&&(o+=bt),$t=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-be,i=Math.max(0,Game.cookies-ke)/n,a=Math.max(0,bt-Ge)/n,r=Math.max(0,Gt[0]-ve)/n,l=Math.max(0,o-gt)/n,s=(Game.cookieClicks-we)/n;for(let e=0;e0&&(n=W),n}function Lo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Wo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+po()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Qt.push([t[n].pp,o])}))}function jo(){!function(){_t=1/0,Qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Ao(ft,1),Ao(Ct,10),Ao(yt,100),Qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Qt[t][1]>Game.cookies&&(t+=1,Qt.length!==t+1););_t=Qt[e.PPExcludeTop][t],Lo(ft,1),Lo(Ct,10),Lo(yt,100)}(),Object.keys(xt).forEach((e=>{Game.cookiesPs?xt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+po()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/xt[e].bonus:xt[e].pp=Game.Upgrades[e].getPrice()/xt[e].bonus,Number.isNaN(xt[e].pp)&&(xt[e].pp=1/0),xt[e].color=Wo(xt[e],Game.Upgrades[e].getPrice())}))}function Do(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ve=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(De)*je*function(){let e=0;if(no("Heavenly chip secret")&&(e+=.05),no("Heavenly cookie stand")&&(e+=.2),no("Heavenly bakery")&&(e+=.25),no("Heavenly confectionery")&&(e+=.25),no("Heavenly key")&&(e+=.25),e*=1+.05*eo("Dragon God"),no("Lucky digit")&&(e*=1.01),no("Lucky number")&&(e*=1.01),no("Lucky payout")&&(e*=1.01),Game.hasGod){const t=io("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=oo("cps"),no("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];no(o.name)&&("function"==typeof o.power?e*=1+.01*Jt[o.name].power(Jt[o.name]):e*=1+.01*o.power)})),no("Specialized chocolate chips")&&(e*=1.01),no("Designer cocoa beans")&&(e*=1.02),no("Underworld ovens")&&(e*=1.03),no("Exotic nuts")&&(e*=1.04),no("Arcane sugar")&&(e*=1.05),no("Increased merriness")&&(e*=1.15),no("Improved jolliness")&&(e*=1.15),no("A lump of coal")&&(e*=1.01),no("An itchy sweater")&&(e*=1.01),no("Santa's dominion")&&(e*=1.2),no("Fortune #100")&&(e*=1.01),no("Fortune #101")&&(e*=1.07),no("Dragon scale")&&(e*=1.03);let o=1;if(io){let t=io("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=io("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=io("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=io("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=io("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}no("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Ae/25;let i=1;if(no("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*eo("Breath of Milk"),io){const e=io("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=oo("milk");let a=1;no("Kitten helpers")&&(a*=1+.1*n*i),no("Kitten workers")&&(a*=1+.125*n*i),no("Kitten engineers")&&(a*=1+.15*n*i),no("Kitten overseers")&&(a*=1+.175*n*i),no("Kitten managers")&&(a*=1+.2*n*i),no("Kitten accountants")&&(a*=1+.2*n*i),no("Kitten specialists")&&(a*=1+.2*n*i),no("Kitten experts")&&(a*=1+.2*n*i),no("Kitten consultants")&&(a*=1+.2*n*i),no("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),no("Kitten marketeers")&&(a*=1+.15*n*i),no("Kitten analysts")&&(a*=1+.125*n*i),no("Kitten executives")&&(a*=1+.115*n*i),no("Kitten angels")&&(a*=1+.1*n*i),no("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Kt).forEach((e=>{const t=Kt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&no("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),_e+=t.amount*a})),no('"egg"')&&(_e+=9),e*=a;let r=1;if(no("Chicken egg")&&(r*=1.01),no("Duck egg")&&(r*=1.01),no("Turkey egg")&&(r*=1.01),no("Quail egg")&&(r*=1.01),no("Robin egg")&&(r*=1.01),no("Ostrich egg")&&(r*=1.01),no("Cassowary egg")&&(r*=1.01),no("Salmon roe")&&(r*=1.01),no("Frogspawn")&&(r*=1.01),no("Shark egg")&&(r*=1.01),no("Turtle egg")&&(r*=1.01),no("Ant larva")&&(r*=1.01),no("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),mt=1+.1*(1-(1-e/100)**3),r*=mt}e*=r,no("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+eo("Radiant Appetite");const l=_e*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ho(Game.CpsAchievements[e].name)})),Qe=l;const{n:s}=Game.shimmerTypes.golden,c=eo("Dragon's Fortune");for(let t=0;t{no(e[o])&&(t+=.1)}))}e*=t}if(no("Shimmering veil [off]")){let t=.5;no("Reinforced membrane")&&(t+=.1),e*=1+t}no("Magic shenanigans")&&(e*=1e3),no("Occult obstruction")&&(e*=0),_e=Game.runModHookOnValue("cps",_e),e*=So(),_e*=e}const $o=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ro=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Io=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],zo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Vo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function _o(e){return Zt[e]?Zt[e].won:0}function Qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{no(Game.GrandmaSynergies[t])&&(e+=1)})),!_o("Elder")&&e>=7&&Ho("Elder"),!_o("Veteran")&&e>=14&&Ho("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount,i=Math.min(Kt[e].amount,i),_o("Mathematician")||Kt[e].amount=1&&Ho("One with everything"),1===o&&Ho("Mathematician"),1===n&&Ho("Base 10"),i>=100&&Ho("Centennial"),i>=150&&Ho("Centennial and a half"),i>=200&&Ho("Bicentennial"),i>=250&&Ho("Bicentennial and a half"),i>=300&&Ho("Tricentennial"),i>=350&&Ho("Tricentennial and a half"),i>=400&&Ho("Quadricentennial"),i>=450&&Ho("Quadricentennial and a half"),i>=500&&Ho("Quincentennial"),i>=550&&Ho("Quincentennial and a half"),i>=600&&Ho("Sexcentennial"),t>=100&&Ho("Builder"),t>=500&&Ho("Architect"),t>=1e3&&Ho("Engineer"),t>=2e3&&Ho("Lord of Constructs"),t>=4e3&&Ho("Grand design"),t>=8e3&&Ho("Ecumenopolis"),We>=20&&Ho("Enhancer"),We>=50&&Ho("Augmenter"),We>=100&&Ho("Upgrader"),We>=200&&Ho("Lord of Progress"),We>=300&&Ho("The full picture"),We>=400&&Ho("When there's nothing left to add"),t>=4e3&&We>=300&&Ho("Polymath"),t>=8e3&&We>=400&&Ho("Renaissance baker"),Kt.Cursor.amount+Kt.Grandma.amount>=777&&Ho("The elder scrolls");let a=!0;Object.keys(Ro).forEach((e=>{no(Ro[e])||(a=!1)})),a&&Ho("Spooky cookies");let r=!0;if(Object.keys(Io).forEach((e=>{no(Io[e])||(r=!1)})),r&&Ho("Let it snow"),no("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{no(e[o].name)&&(t+=1)})),t>=e.length&&Ho("O Fortuna")}}function Xo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){wo(),Kt[e].amount+=t;const o=Kt[e];"Cursor"===e?(o.amount>=1&&Ho("Click"),o.amount>=2&&Ho("Double-click"),o.amount>=50&&Ho("Mouse wheel"),o.amount>=100&&Ho("Of Mice and Men"),o.amount>=200&&Ho("The Digital"),o.amount>=300&&Ho("Extreme polydactyly"),o.amount>=400&&Ho("Dr. T"),o.amount>=500&&Ho("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ho("With her finger and her thumb"),o.amount>=700&&Ho("Gotta hand it to you"),o.amount>=800&&Ho("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ho(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Ae;return Uo(),Qo(),n!==Ae&&Uo(),_e-Game.cookiesPs}(o,e),1!==e&&(Ne=1)})),t}function qo(){Object.keys(Game.Objects).forEach((e=>{ft[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),Ct[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),yt[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Yo(){ft=Xo(1),Ct=Xo(10),yt=Xo(100),xt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){wo(),"Shimmering veil [on]"===Jt[e].name?Jt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Jt[e].name?Jt["Golden switch [off]"].bought=0:Jt[e].bought=(Jt[e].bought+1)%2,Jt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(We+=1),"Elder Pledge"===e?(Le+=1,Le>0&&Ho("Elder nap"),Le>=5&&Ho("Elder slumber")):"Elder Covenant"===e?Ho("Elder calm"):"Prism heart biscuits"===e?Ho("Lovely cookies"):"Heavenly key"===e&&Ho("Wholesome");const t=Ae;Uo(),Qo(),t!==Ae&&Uo();const o=function(){let e=0;no("Thousand fingers")&&(e+=.1),no("Million fingers")&&(e*=5),no("Billion fingers")&&(e*=10),no("Trillion fingers")&&(e*=20),no("Quadrillion fingers")&&(e*=20),no("Quintillion fingers")&&(e*=20),no("Sextillion fingers")&&(e*=20),no("Septillion fingers")&&(e*=20),no("Octillion fingers")&&(e*=20),no("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount})),t-=Kt.Cursor.amount,e*=t,no("Plastic mouse")&&(e+=.01*_e),no("Iron mouse")&&(e+=.01*_e),no("Titanium mouse")&&(e+=.01*_e),no("Adamantium mouse")&&(e+=.01*_e),no("Unobtainium mouse")&&(e+=.01*_e),no("Eludium mouse")&&(e+=.01*_e),no("Wishalloy mouse")&&(e+=.01*_e),no("Fantasteel mouse")&&(e+=.01*_e),no("Nevercrack mouse")&&(e+=.01*_e),no("Armythril mouse")&&(e+=.01*_e),no("Technobsidian mouse")&&(e+=.01*_e),no("Plasmarble mouse")&&(e+=.01*_e),no("Miraculite mouse")&&(e+=.01*_e),no("Fortune #104")&&(e+=.01*_e);let o=1;if(no("Santa's helpers")&&(o*=1.1),no("Cookie egg")&&(o*=1.1),no("Halo gloves")&&(o*=1.1),no("Dragon claw")&&(o*=1.03),no("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,no("Luminous gloves")?20:10)),o*=oo("click"),Kt.Temple.minigameLoaded&&io){const e=io("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*eo("Dragon Cursor");let n=o*Game.ComputeCps(1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[_e-Game.cookiesPs,o]:[_e-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(xt[t]={bonus:Game.cookiesPs-xe},1===e.CalcWrink?xt[t].bonus-=Te:2===e.CalcWrink&&(xt[t].bonus-=Me),Number.isFinite(xt[t].bonus)||(xt[t].bonus=0)):(xt[t]={},o[0]&&(xt[t].bonus=o[0]),o[1]&&(xt[t].bonusMouse=o[1]))}))}function Ko(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Nt=Ko(7,e,dt),Bt=2*Nt[1]/dt,Et=Nt[2]/60/60/6/ct,Wt=Ko(6,e,pt),Ot=2*Wt[1]/pt,Ft=Wt[2]/60/60/6/ct,jt=Ko(7,7*e,dt),Lt=2*jt[1]/dt,At=jt[2]/60/60/6/ct,Ut=Ko(6,7*e,pt),Dt=2*Ut[1]/pt,Ht=Ut[2]/60/60/6/ct}function Zo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Be,i=Math.max(0,o-Ee)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?St+=e:"cookie"===o.pool?Pt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Mt+=e)}}))}function tn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ht=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ht*=2)}}function on(){Je=900*st/.15,Je*=ct;const e=So();e>0?Je/=e:Je=0,Ze=dt*(.15*Je)+13,et=pt*(.15*Je)+13,tt=7*Je,ot=dt*(.15*tt)+13,nt=pt*(.15*tt)+13,it=2*Je,at=.15*it,rt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountrt&&(rt=2*Game.Objects[e].price,lt=e)}))}function nn(){let e=1,t=1,o=1;no("Green yeast digestives")&&(o*=1.01),no("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),dt=o*e,pt=o*t,ct=1,0===Game.shimmerTypes.golden.n&&(ct*=1+1.23*Game.auraMult("Dragon's Fortune"))}function an(){bt=0,kt=0,Gt=[0,null];for(let e=0;eGt[0]&&(Gt=[t,e]))}}function rn(){yo(),an(),on(),nn(),Jo(),en(),tn(),me=new Oo(Y[Y.length-1]),he=new Oo(Y[Y.length-1]),ge=new Oo(Y[Y.length-1]),fe=new Oo(Y[Y.length-1]),Ce=new Oo(K[K.length-1]),ye=new Oo(5),ue=new Oo(20*K[K.length-1]),Zo(),Fo(),Yo(),qo(),jo()}const ln={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},sn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function cn(){1===e.BotBar?(l("CMBotBar").style.display="",ho()):l("CMBotBar").style.display="none",fo()}function dn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),ho(),lo(),so()}function pn(){1===e.Favicon&&y>0?It.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class un{constructor(e,t){this.type=e,this.group=t}}class mn extends un{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class hn extends un{constructor(e,t,o){super(e,t),this.desc=o}}class gn extends un{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class fn extends un{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const Cn={CPSMode:new mn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new mn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new mn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new mn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){ze=!0})),Scale:new mn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){dn()})),ScaleDecimals:new mn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){dn()})),ScaleSeparator:new mn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){dn()})),ScaleCutoff:new fn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new mn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new mn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new mn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new mn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){lo()})),PPOnlyConsiderBuyable:new mn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new mn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new mn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new fn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new hn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new hn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new hn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new hn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new hn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new hn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new hn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new hn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new hn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new mn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){cn()})),TimerBar:new mn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){Co()})),TimerBarPos:new mn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),fo()})),TimerBarOverlay:new mn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new mn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",so()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",so()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new mn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new mn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){lo()})),SortUpgrades:new mn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){so()})),DragonAuraInfo:new mn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new mn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new mn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Xt[e].l.style.left,re[e].style.top=Xt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new mn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){pn()})),WrinklerButtons:new mn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new mn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new mn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new mn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new mn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new mn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new mn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new mn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new mn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new fn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new mn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new mn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Po()})),TooltipGrim:new mn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new mn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new mn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new mn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new mn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new mn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new mn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new mn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new mn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new mn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new fn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new mn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new mn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new mn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new mn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){sn(e.GCNotification)})),GCFlash:new mn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new hn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new mn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new gn("vol","NotificationGC",[],"Volume"),GCSoundURL:new mn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new mn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){sn(e.FortuneNotification)})),FortuneFlash:new mn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new hn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new mn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new gn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new mn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new mn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){sn(e.SeaNotification)})),SeaFlash:new mn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new hn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new mn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new gn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new mn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new mn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new hn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new mn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new gn("vol","NotificationGard",[],"Volume"),GardSoundURL:new mn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new mn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){sn(e.MagicNotification)})),MagicFlash:new mn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new hn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new mn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new gn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new mn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new mn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){sn(e.WrinklerNotification)})),WrinklerFlash:new mn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new hn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new mn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new gn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new mn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new mn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){sn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new mn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new hn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new mn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new gn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new mn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new mn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new mn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function yn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function bn(){if(Ye!==Game.dragonLevel||ze){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Upgrades).forEach((e=>{Jt[e]=vo(e)})),Zt=[],Object.keys(Game.Achievements).forEach((e=>{Zt[e]=bo(e)})),wo()}let vn=!1;function wn(t,o,n){(1===e[o]||n)&&3===t&&!1===vn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){wn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){wn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){wn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function xn(t,o,n,i){if((1===e[o]||i)&&!1===vn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Tn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===vn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Mn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(cn(),Co()),go()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(Gn(),rn(),r=Object.keys(Game.mods).length),ze&&(Yo(),Game.Has("Golden switch [off]")?(wo(),Jt["Golden switch [off]"].bought=0,Uo(),st=_e):st=Game.cookiesPs,nn(),on(),en(),Jo(),bn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Yt[e][t]=kn(e,t)}(),tn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;wo();let t=2;5!==He&&18!==He||(t-=1),5!==Ue&&18!==Ue||(t-=1),He=5,Ue=18;for(let e=0;e{Kt[t].amount>0&&(e=t)})),Kt[e].amount-=1,Fe-=1}return Object.keys(Kt).forEach((t=>{const o=Kt[t];e+=ro(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),qt=e}(),ze=0);const t=Game.auraMult("Fierce Hoarder")>0;!Oe&&t?(Oe=!0,Ne=1):Oe&&!t&&(Oe=!1,Ne=1),Ne&&(qo(),Ne=0),function(){an(),jo(),function(){vt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Kt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}wt=e,vt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Fo(),Zo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Vt=de(e/co())}(),G=0,Xt={},Object.keys(Game.shimmers).forEach((e=>{Xt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(It=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Xt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),pn(),b=G,0===G&&(It=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Xt[e].l.style.opacity,re[e].style.transform=Xt[e].l.style.transform,re[e].textContent=Math.ceil(Xt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(wn(3,"FortuneFlash",!1),xn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Tn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(zt=Game.shimmers[e])})),wn(3,"SeaFlash",!1),xn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Tn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?wn(3,"WrinklerMaxFlash",!1):wn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?xn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):xn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Tn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Tn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Sn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=ln[t]):"Header"===t&&Object.keys(ln.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=ln[t][n])}))})),o&&Pn(),Mn(),Object.keys(ln).forEach((e=>{"Header"!==e&&void 0!==Cn[e].func&&Cn[e].func()}))}else Bn(ln);Game.UpdateMenu(),Sn()}function En(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Nn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Do(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Bo(),l("tooltip").innerHTML}function On(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Fn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Pn()}function Un(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Hn(o),Game.UpdateMenu()},n.appendChild(i),n}function $n(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape($[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Rn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function In(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Un("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+po(){Game.HasUnlocked(Vo[e])||c.push(Vo[e])})),0!==c.length&&e.appendChild($n("basic","Rare plant drops left to unlock",Rn(c))),e}())),o.appendChild(Un("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?gt:0)));t.appendChild($n("withTooltip","Prestige level (cur / max)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&>?gt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/Rt,1)})`,i.appendChild(a),t.appendChild($n("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild($n("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild($n("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(ce(ut,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild($n("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(ce(e)))),t.appendChild($n("basic","Time till target (cur, current 5 second average)",document.createTextNode(de(e/ut)))))}const l=function(e){let t=Game.cookiesPs;wo(),0===Jt["Heavenly key"].bought&&(Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,Uo(),t=_e,wo()),$t>=1e6&&Ho("Sacrifice"),$t>=1e9&&Ho("Oblivion"),$t>=1e12&&Ho("From scratch"),$t>=1e15&&Ho("Nihilism"),$t>=1e18&&Ho("Dematerialize"),$t>=1e21&&Ho("Nil zero zilch"),$t>=1e24&&Ho("Transcendence"),$t>=1e27&&Ho("Obliterate"),$t>=1e30&&Ho("Negative void"),$t>=1e33&&Ho("To crumbs, you say?"),$t>=1e36&&Ho("You get nothing"),$t>=1e39&&Ho("Humble rebeginnings"),$t>=1e42&&Ho("The end of the world"),$t>=1e45&&Ho("Oh, you're back"),$t>=1e48&&Ho("Lazarus"),$t>=1e51&&Ho("Smurf account"),$t>=1e54&&Ho("If at first you don't succeed"),Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,De=e;const o=Ae;Uo(),Qo(),o!==Ae&&Uo();const n=_e-t;return De=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild($n("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Un("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(bt)} / ${ce(kt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){En()},e.appendChild(t),o.appendChild($n("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(Gt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},n.appendChild(i),o.appendChild($n("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==Gt[1]?Gt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(n.push(Ro[e]),o=!0)}));const i=[];Object.keys(Io).forEach((e=>{Game.Has(Io[e])||(i.push(Io[e]),o=!0)}));const a=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(a.push(zo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Un("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild($n("basic","Halloween cookies left to buy",Rn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild($n("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild($n("basic","Christmas cookies left to buy",Rn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild($n("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild($n("basic","Valentine cookies left to buy",Rn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild($n("basic","Normal easter eggs left to unlock",Rn(r))),t.appendChild($n("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild($n("basic","Rare easter eggs left to unlock",Rn(l))),t.appendChild($n("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild($n("basic","Reindeer reward",document.createTextNode(ce(ht)))),s&&t.appendChild($n("withTooltip","Chocolate egg cookies",document.createTextNode(ce(gt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild($n("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(mt-1))/100+"%")))}return t}()),o.appendChild(Un("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild($n("basic",`Average cookies per second (past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(co(),3)))),o.appendChild($n("basic",`Average cookie clicks per second (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(Tt,1)))),o.appendChild($n("basic",`Cookies from clicking (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(ue.calcSum(Tt*K[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys($o).forEach((t=>{Game.Has($o[t])||e.push($o[t])})),0!==e.length&&o.appendChild($n("basic","Fortune Upgrades Left to Buy",Rn(e)))}if(e.ShowMissedGC&&o.appendChild($n("basic","Missed golden cookies",document.createTextNode(ce(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild($n("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const zn={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Vn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function _n(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Hn(t),Game.UpdateMenu()},n.appendChild(i),n}function Qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return se.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(e),Pn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape($.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===Cn[t].type){const n=document.createElement("a");Cn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=jn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===Cn[t].label.length?(e[t]=0,Cn[t].toggle&&(l(jn+t).className="option off")):l(jn+t).className="option",void 0!==Cn[t].func&&Cn[t].func(),l(jn+t).innerHTML=Cn[t].label[e[t]],Pn()}(t)},n.textContent=Cn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=Cn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===Cn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=Cn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Dn(t)},r.onchange=function(){Dn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){xn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${jn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Pn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=Cn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===Cn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Ln(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Sn(),Pn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=Cn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){wn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),An().init(),o}if("numscale"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="number",i.value=e[t],i.min=Cn[t].min,i.max=Cn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Pn(),dn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=Cn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Xn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function qn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),ze=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Xn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Xn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Xn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Kt[Game.ObjectsById[e].name].name;Kt[o].amount-=1,Fe-=1,t=Kt[o].basePrice*Game.priceIncrease**Math.max(0,Kt[o].amount-1-Kt[o].free),t=Game.modifyBuildingPrice(Kt[o],t),t=Math.ceil(t);break}const o=Ae;return Uo(),Qo(),o!==Ae&&Uo(),[_e-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${ce(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ke}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==An().picker&&void 0!==An().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(zn).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(_n(t,zn[t])),e.Header[t]))for(let e=0;e{const n=_n(t,Vn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Qn(e))}))})):Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Bn(ln)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",In(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Hn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=It?It.wrath?`[W${Math.ceil(It.life/Game.fps)}]`:`[G${Math.ceil(It.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(zt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;It&&(t=!0,It.wrath?e+=`[W${Math.ceil(It.life/Game.fps)}]`:e+=`[G${Math.ceil(It.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(zt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Ee<1?"Ascending now would grant you no prestige.":Ee<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Ee)} prestige levels (+${ce(Ee)}% CpS)
and ${ce(Ee)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Vt} to reach the next level and you were making ${ce(ut,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Yn(){Gn(),on(),rn(),r=Object.keys(Game.mods).length,w=document.createElement("style"),w.type="text/css",w.id="CMCSS",document.head.appendChild(w),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{mo(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=uo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=uo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),$[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){En()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),On(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Wn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},qn(),Wn(),Game.CalculateGains(),Bn(),R=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Kn={init:function(){vn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Yn(),Game.registerHook("draw",Eo),Game.registerHook("logic",Mn),Game.registerHook("click",No),vn=!1)},load:function(e){const t=JSON.parse(e);Gn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Bn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:yn};Game.registerMod("CookieMonster",Kn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x,T=[],M=[],S=[],P={};const B="CMText",E="CMBack",N="Blue",O="Green",F="Yellow",W="Orange",L="Red",A="Purple",j="Gray",D="Pink",H="Brown",U=[j,N,O,F,W,L,A,D,H],$=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],R={};let I,z,V=0,_=-1,Q=[],X=1,q=1,Y=1;const K=[10,15,30,60,300,600,900,1800],J=[1,5,10,15,30],Z={Frenzy:F,"Dragon Harvest":H,"Elder frenzy":O,Clot:L,"Click frenzy":N,Dragonflight:D};let ee,te,oe,ne,ie,ae,re,le={},se="",ce=[];function de(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return P.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${de(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function ue(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=O):(n=pe(t),o=t>300?L:t>60?W:F),{text:n,color:o}}let me,he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=1,pt=1,ut=1,mt=0,ht=0,gt=0,ft=0,Ct={},yt={},bt={},kt=0,Gt=0,vt=[0,null],wt=0,xt=0,Tt={},Mt={},St={},Pt={},Bt={},Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,$t=[],Rt=0,It=0,zt={},Vt={},_t=0,Qt=0,Xt=[],qt={},Yt=0,Kt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Jt=[],Zt=[],eo=[];function to(e){let t=0;return Game.dragonAuras[Ue].name!==e&&Game.dragonAuras[$e].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Ue].name&&"Reality Bending"!==Game.dragonAuras[$e].name||(t+=.1),t}function oo(){let e=.25;return e*=1+to("Earth Shatterer"),e}function no(e,t){return void 0===_e[e]?void 0===t?1:t:_e[e]}function io(e){const t=Zt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ao(e){if(Game.hasGod){void 0===Jt.Temple.minigame&&(Jt.Temple.minigame=Game.Objects.Temple.minigame);const t=Jt.Temple.minigame.gods[e];if(Re===t.id)return 1;if(Ie===t.id)return 2;if(ze===t.id)return 3}return!1}function ro(e,t){let o=t;if(io("Season savings")&&(o*=.99),io("Santa's dominion")&&(o*=.99),io("Faberge egg")&&(o*=.99),io("Divine discount")&&(o*=.99),io("Fortune #100")&&(o*=.99),o*=1-.02*to("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&io(e.fortune.name)&&(o*=.93),o*=no("buildingCost"),Jt.Temple.minigameLoaded){const e=ao("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function lo(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function so(){let t=Game.buyBulk;if(1===Game.buyMode?q=t:t=q,1===t?t=Ct:10===t?t=yt:100===t&&(t=bt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(Ct).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=de(lo(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(Ct).map((e=>{const t=Ct[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const t=Ct[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eU.indexOf(t.color)?1:U.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=Ct),10===i&&(i=yt),100===i&&(i=bt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=de(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=B+i[o].color,n=e.PPDisplayTime?pe(Math.round(i[o].pp)):de(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=ue((Game.Objects[o].bulkPrice-(Game.cookies+uo()))/po());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=B+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&io(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(io(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&io(e.fortune.name)&&(t*=1.07),e.grandma&&io(e.grandma.name)&&(t*=1+.01*Jt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&io(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function vo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;io("Thousand fingers")&&(t+=.1),io("Million fingers")&&(t*=5),io("Billion fingers")&&(t*=10),io("Trillion fingers")&&(t*=20),io("Quadrillion fingers")&&(t*=20),io("Quintillion fingers")&&(t*=20),io("Sextillion fingers")&&(t*=20),io("Septillion fingers")&&(t*=20),io("Octillion fingers")&&(t*=20),io("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Jt).forEach((e=>{"Cursor"!==Jt[e].name&&(n+=Jt[e].amount)})),t*=n,o*=Go(e),o*=Game.magicCpS("Cursor"),o*=no("cursorCps"),Game.ComputeCps(.1,io("Reinforced index finger")+io("Carpal tunnel prevention cream")+io("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{io(Game.GrandmaSynergies[e])&&(o*=2)})),io("Bingo center/Research facility")&&(o*=4),io("Ritual rolling pins")&&(o*=2),io("Naughty list")&&(o*=2),io("Elderwort biscuits")&&(o*=1.02),o*=no("grandmaCps"),io("Cat ladies"))for(let e=0;e{"Grandma"!==Jt[e].name&&(i+=Jt[e].amount)})),o*=1+.01*to("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=Go(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function wo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Jt).forEach((t=>{Jt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(io("Starlove")&&(e=3),Game.hasGod){const t=ao("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function xo(){Le=Game.UpgradesOwned,Ae=Game.pledges,je=Game.AchievementsOwned,De=Game.heavenlyPower,He=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Jt[e];void 0===o&&(Jt[e]=vo(e),o=Jt[e],ho(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Re=t.minigame.slot[0],Ie=t.minigame.slot[1],ze=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Jt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e]),o.bought=t.bought,Zt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=eo[e];void 0===o&&(eo[e]=ko(e),o=eo[e]),o.won=t.won,eo[e]=o})),bo(),Ue=qe,$e=Ye}function To(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function Mo(e){e.appendChild(To("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(To("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(To("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(To("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===oe){e.appendChild(To("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function So(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Bo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Eo(){if(xo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===oe?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(Mo(l("CMTooltipBorder")),1===Game.buyMode?Y=t:t=Y,1===Game.buyBulk?t=Ct:10===Game.buyBulk?t=yt:100===Game.buyBulk&&(t=bt),ee=Game.Objects[ne].bulkPrice,te=t[ne].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=de(te,2);const o=Math.round(te/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=B+t[ne].color,e.PPDisplayTime?l("CMTooltipPP").textContent=pe(t[ne].pp):l("CMTooltipPP").textContent=de(t[ne].pp,2),l("CMTooltipPP").className=B+t[ne].color;const n=ue((ee-(Game.cookies+uo()))/po());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ne[1]][ne[0]][0]-1].mature,o=t.plantsById[t.plot[ne[1]][ne[0]][0]-1].name;l("CMTooltipBorder").appendChild(To("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${de(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${de(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${de(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${de(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===oe?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(To("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=mo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==Z[Game.buffs[t].name]?Z[Game.buffs[t].name]:A,a.lastChild.children[1].className=E+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),re!==n&&(re=n,Co())}}(),go(),Eo(),function(){if(1===e.TooltipWrink&&1===V){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===Q[t]||void 0===Q[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),_=t,Q[t]=1}}else Q[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[_],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[_].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Jt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=de(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,de(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Oo(){me.addLatest(Game.computedMouseCps)}class Fo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Wo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Yt;Game.cpsSucked>0&&(o+=kt),Rt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-ke,i=Math.max(0,Game.cookies-Ge)/n,a=Math.max(0,kt-ve)/n,r=Math.max(0,vt[0]-we)/n,l=Math.max(0,o-ft)/n,s=(Game.cookieClicks-xe)/n;for(let e=0;e0&&(n=L),n}function Ao(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=j;else{t[n].color=Lo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+uo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Xt.push([t[n].pp,o])}))}function Do(){!function(){Qt=1/0,Xt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),jo(Ct,1),jo(yt,10),jo(bt,100),Xt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Xt[t][1]>Game.cookies&&(t+=1,Xt.length!==t+1););Qt=Xt[e.PPExcludeTop][t],Ao(Ct,1),Ao(yt,10),Ao(bt,100)}(),Object.keys(Tt).forEach((e=>{Game.cookiesPs?Tt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+uo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Tt[e].bonus:Tt[e].pp=Game.Upgrades[e].getPrice()/Tt[e].bonus,Number.isNaN(Tt[e].pp)&&(Tt[e].pp=1/0),Tt[e].color=Lo(Tt[e],Game.Upgrades[e].getPrice())}))}function Ho(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),_e=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(He)*De*function(){let e=0;if(io("Heavenly chip secret")&&(e+=.05),io("Heavenly cookie stand")&&(e+=.2),io("Heavenly bakery")&&(e+=.25),io("Heavenly confectionery")&&(e+=.25),io("Heavenly key")&&(e+=.25),e*=1+.05*to("Dragon God"),io("Lucky digit")&&(e*=1.01),io("Lucky number")&&(e*=1.01),io("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ao("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=no("cps"),io("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];io(o.name)&&("function"==typeof o.power?e*=1+.01*Zt[o.name].power(Zt[o.name]):e*=1+.01*o.power)})),io("Specialized chocolate chips")&&(e*=1.01),io("Designer cocoa beans")&&(e*=1.02),io("Underworld ovens")&&(e*=1.03),io("Exotic nuts")&&(e*=1.04),io("Arcane sugar")&&(e*=1.05),io("Increased merriness")&&(e*=1.15),io("Improved jolliness")&&(e*=1.15),io("A lump of coal")&&(e*=1.01),io("An itchy sweater")&&(e*=1.01),io("Santa's dominion")&&(e*=1.2),io("Fortune #100")&&(e*=1.01),io("Fortune #101")&&(e*=1.07),io("Dragon scale")&&(e*=1.03);let o=1;if(ao){let t=ao("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ao("ages"),1===t?e*=1+.15*Math.sin(w/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(w/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(w/1e3/86400*Math.PI*2)),t=ao("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ao("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ao("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}io("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=je/25;let i=1;if(io("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*to("Breath of Milk"),ao){const e=ao("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=no("milk");let a=1;io("Kitten helpers")&&(a*=1+.1*n*i),io("Kitten workers")&&(a*=1+.125*n*i),io("Kitten engineers")&&(a*=1+.15*n*i),io("Kitten overseers")&&(a*=1+.175*n*i),io("Kitten managers")&&(a*=1+.2*n*i),io("Kitten accountants")&&(a*=1+.2*n*i),io("Kitten specialists")&&(a*=1+.2*n*i),io("Kitten experts")&&(a*=1+.2*n*i),io("Kitten consultants")&&(a*=1+.2*n*i),io("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),io("Kitten marketeers")&&(a*=1+.15*n*i),io("Kitten analysts")&&(a*=1+.125*n*i),io("Kitten executives")&&(a*=1+.115*n*i),io("Kitten angels")&&(a*=1+.1*n*i),io("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Jt).forEach((e=>{const t=Jt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&io("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Qe+=t.amount*a})),io('"egg"')&&(Qe+=9),e*=a;let r=1;if(io("Chicken egg")&&(r*=1.01),io("Duck egg")&&(r*=1.01),io("Turkey egg")&&(r*=1.01),io("Quail egg")&&(r*=1.01),io("Robin egg")&&(r*=1.01),io("Ostrich egg")&&(r*=1.01),io("Cassowary egg")&&(r*=1.01),io("Salmon roe")&&(r*=1.01),io("Frogspawn")&&(r*=1.01),io("Shark egg")&&(r*=1.01),io("Turtle egg")&&(r*=1.01),io("Ant larva")&&(r*=1.01),io("Century egg")){let e=10*Math.floor((w-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),ht=1+.1*(1-(1-e/100)**3),r*=ht}e*=r,io("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+to("Radiant Appetite");const l=Qe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Uo(Game.CpsAchievements[e].name)})),Xe=l;const{n:s}=Game.shimmerTypes.golden,c=to("Dragon's Fortune");for(let t=0;t{io(e[o])&&(t+=.1)}))}e*=t}if(io("Shimmering veil [off]")){let t=.5;io("Reinforced membrane")&&(t+=.1),e*=1+t}io("Magic shenanigans")&&(e*=1e3),io("Occult obstruction")&&(e*=0),Qe=Game.runModHookOnValue("cps",Qe),e*=Po(),Qe*=e}const Ro=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Io=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],zo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Vo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],_o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Qo(e){return eo[e]?eo[e].won:0}function Xo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{io(Game.GrandmaSynergies[t])&&(e+=1)})),!Qo("Elder")&&e>=7&&Uo("Elder"),!Qo("Veteran")&&e>=14&&Uo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Jt).forEach((e=>{t+=Jt[e].amount,i=Math.min(Jt[e].amount,i),Qo("Mathematician")||Jt[e].amount=1&&Uo("One with everything"),1===o&&Uo("Mathematician"),1===n&&Uo("Base 10"),i>=100&&Uo("Centennial"),i>=150&&Uo("Centennial and a half"),i>=200&&Uo("Bicentennial"),i>=250&&Uo("Bicentennial and a half"),i>=300&&Uo("Tricentennial"),i>=350&&Uo("Tricentennial and a half"),i>=400&&Uo("Quadricentennial"),i>=450&&Uo("Quadricentennial and a half"),i>=500&&Uo("Quincentennial"),i>=550&&Uo("Quincentennial and a half"),i>=600&&Uo("Sexcentennial"),t>=100&&Uo("Builder"),t>=500&&Uo("Architect"),t>=1e3&&Uo("Engineer"),t>=2e3&&Uo("Lord of Constructs"),t>=4e3&&Uo("Grand design"),t>=8e3&&Uo("Ecumenopolis"),Le>=20&&Uo("Enhancer"),Le>=50&&Uo("Augmenter"),Le>=100&&Uo("Upgrader"),Le>=200&&Uo("Lord of Progress"),Le>=300&&Uo("The full picture"),Le>=400&&Uo("When there's nothing left to add"),t>=4e3&&Le>=300&&Uo("Polymath"),t>=8e3&&Le>=400&&Uo("Renaissance baker"),Jt.Cursor.amount+Jt.Grandma.amount>=777&&Uo("The elder scrolls");let a=!0;Object.keys(Io).forEach((e=>{io(Io[e])||(a=!1)})),a&&Uo("Spooky cookies");let r=!0;if(Object.keys(zo).forEach((e=>{io(zo[e])||(r=!1)})),r&&Uo("Let it snow"),io("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{io(e[o].name)&&(t+=1)})),t>=e.length&&Uo("O Fortuna")}}function qo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){xo(),Jt[e].amount+=t;const o=Jt[e];"Cursor"===e?(o.amount>=1&&Uo("Click"),o.amount>=2&&Uo("Double-click"),o.amount>=50&&Uo("Mouse wheel"),o.amount>=100&&Uo("Of Mice and Men"),o.amount>=200&&Uo("The Digital"),o.amount>=300&&Uo("Extreme polydactyly"),o.amount>=400&&Uo("Dr. T"),o.amount>=500&&Uo("Thumbs, phalanges, metacarpals"),o.amount>=600&&Uo("With her finger and her thumb"),o.amount>=700&&Uo("Gotta hand it to you"),o.amount>=800&&Uo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Uo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=je;return $o(),Xo(),n!==je&&$o(),Qe-Game.cookiesPs}(o,e),1!==e&&(Oe=1)})),t}function Yo(){Object.keys(Game.Objects).forEach((e=>{Ct[e].price=Ho(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),yt[e].price=Ho(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),bt[e].price=Ho(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Ko(){Ct=qo(1),yt=qo(10),bt=qo(100),Tt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){xo(),"Shimmering veil [on]"===Zt[e].name?Zt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Zt[e].name?Zt["Golden switch [off]"].bought=0:Zt[e].bought=(Zt[e].bought+1)%2,Zt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Le+=1),"Elder Pledge"===e?(Ae+=1,Ae>0&&Uo("Elder nap"),Ae>=5&&Uo("Elder slumber")):"Elder Covenant"===e?Uo("Elder calm"):"Prism heart biscuits"===e?Uo("Lovely cookies"):"Heavenly key"===e&&Uo("Wholesome");const t=je;$o(),Xo(),t!==je&&$o();const o=function(){let e=0;io("Thousand fingers")&&(e+=.1),io("Million fingers")&&(e*=5),io("Billion fingers")&&(e*=10),io("Trillion fingers")&&(e*=20),io("Quadrillion fingers")&&(e*=20),io("Quintillion fingers")&&(e*=20),io("Sextillion fingers")&&(e*=20),io("Septillion fingers")&&(e*=20),io("Octillion fingers")&&(e*=20),io("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Jt).forEach((e=>{t+=Jt[e].amount})),t-=Jt.Cursor.amount,e*=t,io("Plastic mouse")&&(e+=.01*Qe),io("Iron mouse")&&(e+=.01*Qe),io("Titanium mouse")&&(e+=.01*Qe),io("Adamantium mouse")&&(e+=.01*Qe),io("Unobtainium mouse")&&(e+=.01*Qe),io("Eludium mouse")&&(e+=.01*Qe),io("Wishalloy mouse")&&(e+=.01*Qe),io("Fantasteel mouse")&&(e+=.01*Qe),io("Nevercrack mouse")&&(e+=.01*Qe),io("Armythril mouse")&&(e+=.01*Qe),io("Technobsidian mouse")&&(e+=.01*Qe),io("Plasmarble mouse")&&(e+=.01*Qe),io("Miraculite mouse")&&(e+=.01*Qe),io("Fortune #104")&&(e+=.01*Qe);let o=1;if(io("Santa's helpers")&&(o*=1.1),io("Cookie egg")&&(o*=1.1),io("Halo gloves")&&(o*=1.1),io("Dragon claw")&&(o*=1.03),io("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,io("Luminous gloves")?20:10)),o*=no("click"),Jt.Temple.minigameLoaded&&ao){const e=ao("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*to("Dragon Cursor");let n=o*Game.ComputeCps(1,io("Reinforced index finger")+io("Carpal tunnel prevention cream")+io("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Qe-Game.cookiesPs,o]:[Qe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Tt[t]={bonus:Game.cookiesPs-Te},1===e.CalcWrink?Tt[t].bonus-=Me:2===e.CalcWrink&&(Tt[t].bonus-=Se),Number.isFinite(Tt[t].bonus)||(Tt[t].bonus=0)):(Tt[t]={},o[0]&&(Tt[t].bonus=o[0]),o[1]&&(Tt[t].bonusMouse=o[1]))}))}function Jo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ot=Jo(7,e,pt),Et=2*Ot[1]/pt,Nt=Ot[2]/60/60/6/dt,Lt=Jo(6,e,ut),Ft=2*Lt[1]/ut,Wt=Lt[2]/60/60/6/dt,Dt=Jo(7,7*e,pt),At=2*Dt[1]/pt,jt=Dt[2]/60/60/6/dt,$t=Jo(6,7*e,ut),Ht=2*$t[1]/ut,Ut=$t[2]/60/60/6/dt}function en(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ee,i=Math.max(0,o-Ne)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Pt+=e:"cookie"===o.pool?Bt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(St+=e)}}))}function on(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),gt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(gt*=2)}}function nn(){Ze=900*ct/.15,Ze*=dt;const e=Po();e>0?Ze/=e:Ze=0,et=pt*(.15*Ze)+13,tt=ut*(.15*Ze)+13,ot=7*Ze,nt=pt*(.15*ot)+13,it=ut*(.15*ot)+13,at=2*Ze,rt=.15*at,lt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountlt&&(lt=2*Game.Objects[e].price,st=e)}))}function an(){let e=1,t=1,o=1;io("Green yeast digestives")&&(o*=1.01),io("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),pt=o*e,ut=o*t,dt=1,0===Game.shimmerTypes.golden.n&&(dt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function rn(){kt=0,Gt=0,vt=[0,null];for(let e=0;evt[0]&&(vt=[t,e]))}}function ln(){bo(),rn(),nn(),an(),Zo(),tn(),on(),he=new Fo(K[K.length-1]),ge=new Fo(K[K.length-1]),fe=new Fo(K[K.length-1]),Ce=new Fo(K[K.length-1]),ye=new Fo(J[J.length-1]),be=new Fo(5),me=new Fo(20*J[J.length-1]),en(),Wo(),Ko(),Yo(),Do()}const sn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},cn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function dn(){1===e.BotBar?(l("CMBotBar").style.display="",go()):l("CMBotBar").style.display="none",Co()}function pn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),go(),so(),co()}function un(){1===e.Favicon&&y>0?zt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class mn{constructor(e,t){this.type=e,this.group=t}}class hn extends mn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class gn extends mn{constructor(e,t,o){super(e,t),this.desc=o}}class fn extends mn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class Cn extends mn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const yn={CPSMode:new hn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new hn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new hn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new hn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){Ve=!0})),Scale:new hn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){pn()})),ScaleDecimals:new hn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){pn()})),ScaleSeparator:new hn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){pn()})),ScaleCutoff:new Cn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new hn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new hn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=z:Game.sayTime=P.sayTime})),PPDisplayTime:new hn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new hn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){so()})),PPOnlyConsiderBuyable:new hn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new hn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new hn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new Cn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new gn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new gn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new gn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new gn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new gn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new gn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new gn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new gn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new gn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new hn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){dn()})),TimerBar:new hn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){yo()})),TimerBarPos:new hn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),Co()})),TimerBarOverlay:new hn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new hn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",co()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",co()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new hn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new hn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){so()})),SortUpgrades:new hn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){co()})),DragonAuraInfo:new hn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new hn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new hn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(le).forEach((e=>{le[e].style.display="block",le[e].style.left=qt[e].l.style.left,le[e].style.top=qt[e].l.style.top})):Object.keys(le).forEach((e=>le[e].style.display="none"))})),Favicon:new hn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){un()})),WrinklerButtons:new hn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new hn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new hn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new hn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new hn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new hn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new hn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new hn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new hn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new Cn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new hn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new hn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Bo()})),TooltipGrim:new hn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new hn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new hn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new hn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new hn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new hn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new hn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new hn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new hn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new hn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new Cn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new hn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new hn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new hn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new hn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){cn(e.GCNotification)})),GCFlash:new hn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new gn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new hn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new fn("vol","NotificationGC",[],"Volume"),GCSoundURL:new hn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new hn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){cn(e.FortuneNotification)})),FortuneFlash:new hn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new gn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new hn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new fn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new hn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new hn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){cn(e.SeaNotification)})),SeaFlash:new hn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new gn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new hn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new fn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new hn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new hn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new gn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new hn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new fn("vol","NotificationGard",[],"Volume"),GardSoundURL:new hn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new hn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){cn(e.MagicNotification)})),MagicFlash:new hn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new gn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new hn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new fn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new hn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new hn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){cn(e.WrinklerNotification)})),WrinklerFlash:new hn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new gn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new hn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new fn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new hn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new hn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){cn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new hn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new gn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new hn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new fn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new hn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new hn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new hn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function bn(){return JSON.stringify({favouriteSettings:ce,settings:e,version:"2.031.6"})}function kn(){if(Ke!==Game.dragonLevel||Ve){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Jt[e]=vo(e)})),Zt=[],Object.keys(Game.Upgrades).forEach((e=>{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Achievements).forEach((e=>{eo[e]=ko(e)})),xo()}let wn=!1;function xn(t,o,n){(1===e[o]||n)&&3===t&&!1===wn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){xn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){xn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){xn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Tn(t,o,n,i){if((1===e[o]||i)&&!1===wn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Mn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===wn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Sn(){if(w=Date.now(),ae!==Game.OnAscend&&(ae=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(dn(),yo()),fo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(vn(),ln(),r=Object.keys(Game.mods).length),Ve&&(Ko(),Game.Has("Golden switch [off]")?(xo(),Zt["Golden switch [off]"].bought=0,$o(),ct=Qe):ct=Game.cookiesPs,an(),nn(),tn(),Zo(),kn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Kt[e][t]=Gn(e,t)}(),on(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;xo();let t=2;5!==Ue&&18!==Ue||(t-=1),5!==$e&&18!==$e||(t-=1),Ue=5,$e=18;for(let e=0;e{Jt[t].amount>0&&(e=t)})),Jt[e].amount-=1,We-=1}return Object.keys(Jt).forEach((t=>{const o=Jt[t];e+=lo(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Yt=e}(),Ve=0);const t=Game.auraMult("Fierce Hoarder")>0;!Fe&&t?(Fe=!0,Oe=1):Fe&&!t&&(Fe=!1,Oe=1),Oe&&(Yo(),Oe=0),function(){rn(),Do(),function(){wt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Jt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}xt=e,wt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Wo(),en();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);_t=pe(e/po())}(),G=0,qt={},Object.keys(Game.shimmers).forEach((e=>{qt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(zt=Game.shimmers[e],G+=1)})),Object.keys(le).forEach((e=>{void 0===qt[e]&&(le[e].parentNode.removeChild(le[e]),delete le[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===le[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},le[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),un(),b=G,0===G&&(zt=0)):1===e.GCTimer&&y&&Object.keys(le).forEach((e=>{le[e].style.opacity=qt[e].l.style.opacity,le[e].style.transform=qt[e].l.style.transform,le[e].textContent=Math.ceil(qt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(xn(3,"FortuneFlash",!1),Tn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Mn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(Vt=Game.shimmers[e])})),xn(3,"SeaFlash",!1),Tn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Mn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?xn(3,"WrinklerMaxFlash",!1):xn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Tn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Tn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Mn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Mn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Pn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=sn[t]):"Header"===t&&Object.keys(sn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=sn[t][n])}))})),o&&Bn(),Sn(),Object.keys(sn).forEach((e=>{"Header"!==e&&void 0!==yn[e].func&&yn[e].func()}))}else En(sn);Game.UpdateMenu(),Pn()}function Nn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function On(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Ho(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${de(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${ue((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(de(Game.Objects[o].bulkPrice)).join(de((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return oe=t,ne=o,Eo(),l("tooltip").innerHTML}function Fn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(M[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Wn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Bn()}function $n(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Un(o),Game.UpdateMenu()},n.appendChild(i),n}function Rn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function In(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function zn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild($n("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+uo(){Game.HasUnlocked(_o[e])||c.push(_o[e])})),0!==c.length&&e.appendChild(Rn("basic","Rare plant drops left to unlock",In(c))),e}())),o.appendChild($n("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Rt+Game.cookiesReset+kt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?ft:0)));t.appendChild(Rn("withTooltip","Prestige level (cur / max)",document.createTextNode(`${de(Game.prestige)} / ${de(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Rt+Game.cookiesReset+kt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&ft?ft:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(de(n)));const a=document.createElement("small");a.textContent=` (${pe(n/It,1)})`,i.appendChild(a),t.appendChild(Rn("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Rn("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${de(Game.heavenlyChips)} / ${de(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Rn("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(de(mt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Rn("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(de(e)))),t.appendChild(Rn("basic","Time till target (cur, current 5 second average)",document.createTextNode(pe(e/mt)))))}const l=function(e){let t=Game.cookiesPs;xo(),0===Zt["Heavenly key"].bought&&(Zt["Heavenly chip secret"].bought=1,Zt["Heavenly cookie stand"].bought=1,Zt["Heavenly bakery"].bought=1,Zt["Heavenly confectionery"].bought=1,Zt["Heavenly key"].bought=1,$o(),t=Qe,xo()),Rt>=1e6&&Uo("Sacrifice"),Rt>=1e9&&Uo("Oblivion"),Rt>=1e12&&Uo("From scratch"),Rt>=1e15&&Uo("Nihilism"),Rt>=1e18&&Uo("Dematerialize"),Rt>=1e21&&Uo("Nil zero zilch"),Rt>=1e24&&Uo("Transcendence"),Rt>=1e27&&Uo("Obliterate"),Rt>=1e30&&Uo("Negative void"),Rt>=1e33&&Uo("To crumbs, you say?"),Rt>=1e36&&Uo("You get nothing"),Rt>=1e39&&Uo("Humble rebeginnings"),Rt>=1e42&&Uo("The end of the world"),Rt>=1e45&&Uo("Oh, you're back"),Rt>=1e48&&Uo("Lazarus"),Rt>=1e51&&Uo("Smurf account"),Rt>=1e54&&Uo("If at first you don't succeed"),Zt["Heavenly chip secret"].bought=1,Zt["Heavenly cookie stand"].bought=1,Zt["Heavenly bakery"].bought=1,Zt["Heavenly confectionery"].bought=1,Zt["Heavenly key"].bought=1,He=e;const o=je;$o(),Xo(),o!==je&&$o();const n=Qe-t;return He=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(de(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Rn("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild($n("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${de(kt)} / ${de(Gt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Nn()},e.appendChild(t),o.appendChild(Rn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${de(vt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==vt[1]&&(Game.wrinklers[vt[1]].hp=0)},n.appendChild(i),o.appendChild(Rn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==vt[1]?vt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Io).forEach((e=>{Game.Has(Io[e])||(n.push(Io[e]),o=!0)}));const i=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(i.push(zo[e]),o=!0)}));const a=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(a.push(Vo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild($n("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Rn("basic","Halloween cookies left to buy",In(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Rn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${de((1-e)*o*100)}% / ${de((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Rn("basic","Christmas cookies left to buy",In(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Rn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${de((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Rn("basic","Valentine cookies left to buy",In(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Rn("basic","Normal easter eggs left to unlock",In(r))),t.appendChild(Rn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${de(100*e(.98)[0])}% / ${de(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Rn("basic","Rare easter eggs left to unlock",In(l))),t.appendChild(Rn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${de(100*e(.98)[1])}% / ${de(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Rn("basic","Reindeer reward",document.createTextNode(de(gt)))),s&&t.appendChild(Rn("withTooltip","Chocolate egg cookies",document.createTextNode(de(ft)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Rn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(ht-1))/100+"%")))}return t}()),o.appendChild($n("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Rn("basic",`Average cookies per second (past ${K[e.AvgCPSHist]<60?`${K[e.AvgCPSHist]} seconds`:K[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(de(po(),3)))),o.appendChild(Rn("basic",`Average cookie clicks per second (past ${J[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(de(Mt,1)))),o.appendChild(Rn("basic",`Cookies from clicking (past ${J[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(de(me.calcSum(Mt*J[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Ro).forEach((t=>{Game.Has(Ro[t])||e.push(Ro[t])})),0!==e.length&&o.appendChild(Rn("basic","Fortune Upgrades Left to Buy",In(e)))}if(e.ShowMissedGC&&o.appendChild(Rn("basic","Missed golden cookies",document.createTextNode(de(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Rn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const Vn={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},_n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Qn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Un(t),Game.UpdateMenu()},n.appendChild(i),n}function Xn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return ce.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){ce.includes(e)?ce=ce.filter((function(t){return t!==e})):ce.push(e)}(e),Bn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(R.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===yn[t].type){const n=document.createElement("a");yn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Dn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===yn[t].label.length?(e[t]=0,yn[t].toggle&&(l(Dn+t).className="option off")):l(Dn+t).className="option",void 0!==yn[t].func&&yn[t].func(),l(Dn+t).innerHTML=yn[t].label[e[t]],Bn()}(t)},n.textContent=yn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=yn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===yn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=yn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Hn(t)},r.onchange=function(){Hn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Tn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===yn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${yn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Dn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Dn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Bn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=yn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===yn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new An(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Pn(),Bn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=yn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){xn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),jn().init(),o}if("numscale"===yn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${yn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Dn+t,i.className="option",i.type="number",i.value=e[t],i.min=yn[t].min,i.max=yn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Bn(),pn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=yn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function qn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Yn(){P.Beautify=Beautify,Beautify=de,P.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){P.CalculateGains(),Ve=1},P.tooltip={},P.tooltip.draw=Game.tooltip.draw,P.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){P.tooltip.drawMod(e,t,o)},P.tooltip.update=Game.tooltip.update,P.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){P.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},P.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){qn(P.UpdateWrinklers)},P.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){qn(P.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){qn(Game.ClickCookie)}),!1),P.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){P.RebuildUpgrades(),S=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(S[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},P.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Jt[Game.ObjectsById[e].name].name;Jt[o].amount-=1,We-=1,t=Jt[o].basePrice*Game.priceIncrease**Math.max(0,Jt[o].amount-1-Jt[o].free),t=Game.modifyBuildingPrice(Jt[o],t),t=Math.ceil(t);break}const o=je;return $o(),Xo(),o!==je&&$o(),[Qe-Game.cookiesPs,t]}(t),n=pe(o/(e+Game.cookiesPs)),i=de(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${de(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},P.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){P.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Je}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},P.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==jn().picker&&void 0!==jn().picker.owner||(P.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Vn).forEach((t=>{if("Favourite"===t){if(0!==ce.length&&e.FavouriteSettings>0&&(o.appendChild(Qn(t,Vn[t])),e.Header[t]))for(let e=0;e{const n=Qn(t,_n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(yn).forEach((e=>{yn[e].group===t&&o.appendChild(Xn(e))}))})):Object.keys(yn).forEach((e=>{yn[e].group===t&&o.appendChild(Xn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){En(sn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",zn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Un("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},P.sayTime=Game.sayTime,z=function(e,t){return Number.isNaN(e)||e<=0?P.sayTime(e,t):pe(e/Game.fps,1)},P.Logic=Game.Logic,Game.Logic=function(){P.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),se=`${Game.OnAscend?"Ascending! ":""}${de(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=se;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=zt?zt.wrath?`[W${Math.ceil(zt.life/Game.fps)}]`:`[G${Math.ceil(zt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(Vt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=se;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;zt&&(t=!0,zt.wrath?e+=`[W${Math.ceil(zt.life/Game.fps)}]`:e+=`[G${Math.ceil(zt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(Vt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${de(Game.prestige)}.
(CpS +${de(Game.prestige)}%)`,n+='
'),n+=Ne<1?"Ascending now would grant you no prestige.":Ne<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${de(Ne)} prestige levels (+${de(Ne)}% CpS)
and ${de(Ne)} heavenly chips to spend.`,n+='
',n+=`You need ${de(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${_t} to reach the next level and you were making ${de(mt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Kn(){vn(),nn(),ln(),r=Object.keys(Game.mods).length,x=document.createElement("style"),x.type="text/css",x.id="CMCSS",document.head.appendChild(x),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=B+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",F)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",N)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",N)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",N)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{ho(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=mo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:j},{id:"CMTimerBarGCBar",color:A}]);e.appendChild(t);const o=mo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:j},{id:"CMTimerBarRenBar",color:W}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=E+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(N,"Better than the best PP of a building option")),e.appendChild(o(O,"Same as the best PP building option")),e.appendChild(o(F,"Within the top 10 of PP for buildings")),e.appendChild(o(W,"Within the top 20 of PP for buildings")),e.appendChild(o(L,"Within the top 30 of PP for buildings")),e.appendChild(o(A,"Outside of the top 30 of PP for buildings")),e.appendChild(o(j,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=B+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",N)),e.appendChild(o("CMUpgradeBarGreen",O)),e.appendChild(o("CMUpgradeBarYellow",F)),e.appendChild(o("CMUpgradeBarOrange",W)),e.appendChild(o("CMUpgradeBarRed",L)),e.appendChild(o("CMUpgradeBarPurple",A)),e.appendChild(o("CMUpgradeBarGray",j)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys($).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}($[e][0],$[e][1],$[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Nn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==vt[1]&&(Game.wrinklers[vt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(T[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Fn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Ln()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){V=1},l("backgroundLeftCanvas").onmouseout=function(){V=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{Q[e]=0}))},Yn(),Ln(),Game.CalculateGains(),En(),I=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Jn={init:function(){wn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Kn(),Game.registerHook("draw",No),Game.registerHook("logic",Sn),Game.registerHook("click",Oo),wn=!1)},load:function(e){const t=JSON.parse(e);vn(),void 0!==t.favouriteSettings&&(ce=t.favouriteSettings),En(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:bn};Game.registerMod("CookieMonster",Jn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index 6ad999d4..024e1adf 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],$={};let R,I,z=0,V=-1,_=[],Q=1,X=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=1,dt=1,pt=1,ut=0,mt=0,ht=0,gt=0,ft={},Ct={},yt={},bt=0,kt=0,Gt=[0,null],vt=0,wt=0,xt={},Tt={},Mt={},St={},Pt={},Bt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Dt=0,Ht=0,Ut=[],$t=0,Rt=0,It={},zt={},Vt=0,_t=0,Qt=[],Xt={},qt=0,Yt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Kt=[],Jt=[],Zt=[];function eo(e){let t=0;return Game.dragonAuras[He].name!==e&&Game.dragonAuras[Ue].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[He].name&&"Reality Bending"!==Game.dragonAuras[Ue].name||(t+=.1),t}function to(){let e=.25;return e*=1+eo("Earth Shatterer"),e}function oo(e,t){return void 0===Ve[e]?void 0===t?1:t:Ve[e]}function no(e){const t=Jt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function io(e){if(Game.hasGod){void 0===Kt.Temple.minigame&&(Kt.Temple.minigame=Game.Objects.Temple.minigame);const t=Kt.Temple.minigame.gods[e];if($e===t.id)return 1;if(Re===t.id)return 2;if(Ie===t.id)return 3}return!1}function ao(e,t){let o=t;if(no("Season savings")&&(o*=.99),no("Santa's dominion")&&(o*=.99),no("Faberge egg")&&(o*=.99),no("Divine discount")&&(o*=.99),no("Fortune #100")&&(o*=.99),o*=1-.02*eo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&no(e.fortune.name)&&(o*=.93),o*=oo("buildingCost"),Kt.Temple.minigameLoaded){const e=io("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ro(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function lo(){let t=Game.buyBulk;if(1===Game.buyMode?X=t:t=X,1===t?t=ft:10===t?t=Ct:100===t&&(t=yt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ft).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ro(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ft).map((e=>{const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?Q=i:i=Q,1===i&&(i=ft),10===i&&(i=Ct),100===i&&(i=yt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+po()))/co());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&no(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(no(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&no(e.fortune.name)&&(t*=1.07),e.grandma&&no(e.grandma.name)&&(t*=1+.01*Kt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&no(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function Go(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;no("Thousand fingers")&&(t+=.1),no("Million fingers")&&(t*=5),no("Billion fingers")&&(t*=10),no("Trillion fingers")&&(t*=20),no("Quadrillion fingers")&&(t*=20),no("Quintillion fingers")&&(t*=20),no("Sextillion fingers")&&(t*=20),no("Septillion fingers")&&(t*=20),no("Octillion fingers")&&(t*=20),no("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Kt).forEach((e=>{"Cursor"!==Kt[e].name&&(n+=Kt[e].amount)})),t*=n,o*=ko(e),o*=Game.magicCpS("Cursor"),o*=oo("cursorCps"),Game.ComputeCps(.1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{no(Game.GrandmaSynergies[e])&&(o*=2)})),no("Bingo center/Research facility")&&(o*=4),no("Ritual rolling pins")&&(o*=2),no("Naughty list")&&(o*=2),no("Elderwort biscuits")&&(o*=1.02),o*=oo("grandmaCps"),no("Cat ladies"))for(let e=0;e{"Grandma"!==Kt[e].name&&(i+=Kt[e].amount)})),o*=1+.01*eo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=ko(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function vo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Kt).forEach((t=>{Kt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(no("Starlove")&&(e=3),Game.hasGod){const t=io("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function wo(){We=Game.UpgradesOwned,Le=Game.pledges,Ae=Game.AchievementsOwned,je=Game.heavenlyPower,De=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e],mo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&($e=t.minigame.slot[0],Re=t.minigame.slot[1],Ie=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Kt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Jt[e];void 0===o&&(Jt[e]=vo(e),o=Jt[e]),o.bought=t.bought,Jt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Zt[e];void 0===o&&(Zt[e]=bo(e),o=Zt[e]),o.won=t.won,Zt[e]=o})),yo(),He=Xe,Ue=qe}function xo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function To(e){e.appendChild(xo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(xo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(xo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(xo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(xo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Mo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Po(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Bo(){if(wo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(To(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ft:10===Game.buyBulk?t=Ct:100===Game.buyBulk&&(t=yt),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+po()))/co());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(xo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(xo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=uo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,fo())}}(),ho(),Bo(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Kt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function No(){ue.addLatest(Game.computedMouseCps)}class Oo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Fo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+qt;Game.cpsSucked>0&&(o+=bt),$t=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-be,i=Math.max(0,Game.cookies-ke)/n,a=Math.max(0,bt-Ge)/n,r=Math.max(0,Gt[0]-ve)/n,l=Math.max(0,o-gt)/n,s=(Game.cookieClicks-we)/n;for(let e=0;e0&&(n=W),n}function Lo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Wo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+po()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Qt.push([t[n].pp,o])}))}function jo(){!function(){_t=1/0,Qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Ao(ft,1),Ao(Ct,10),Ao(yt,100),Qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Qt[t][1]>Game.cookies&&(t+=1,Qt.length!==t+1););_t=Qt[e.PPExcludeTop][t],Lo(ft,1),Lo(Ct,10),Lo(yt,100)}(),Object.keys(xt).forEach((e=>{Game.cookiesPs?xt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+po()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/xt[e].bonus:xt[e].pp=Game.Upgrades[e].getPrice()/xt[e].bonus,Number.isNaN(xt[e].pp)&&(xt[e].pp=1/0),xt[e].color=Wo(xt[e],Game.Upgrades[e].getPrice())}))}function Do(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ve=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(De)*je*function(){let e=0;if(no("Heavenly chip secret")&&(e+=.05),no("Heavenly cookie stand")&&(e+=.2),no("Heavenly bakery")&&(e+=.25),no("Heavenly confectionery")&&(e+=.25),no("Heavenly key")&&(e+=.25),e*=1+.05*eo("Dragon God"),no("Lucky digit")&&(e*=1.01),no("Lucky number")&&(e*=1.01),no("Lucky payout")&&(e*=1.01),Game.hasGod){const t=io("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=oo("cps"),no("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];no(o.name)&&("function"==typeof o.power?e*=1+.01*Jt[o.name].power(Jt[o.name]):e*=1+.01*o.power)})),no("Specialized chocolate chips")&&(e*=1.01),no("Designer cocoa beans")&&(e*=1.02),no("Underworld ovens")&&(e*=1.03),no("Exotic nuts")&&(e*=1.04),no("Arcane sugar")&&(e*=1.05),no("Increased merriness")&&(e*=1.15),no("Improved jolliness")&&(e*=1.15),no("A lump of coal")&&(e*=1.01),no("An itchy sweater")&&(e*=1.01),no("Santa's dominion")&&(e*=1.2),no("Fortune #100")&&(e*=1.01),no("Fortune #101")&&(e*=1.07),no("Dragon scale")&&(e*=1.03);let o=1;if(io){let t=io("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=io("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=io("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=io("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=io("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}no("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Ae/25;let i=1;if(no("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*eo("Breath of Milk"),io){const e=io("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=oo("milk");let a=1;no("Kitten helpers")&&(a*=1+.1*n*i),no("Kitten workers")&&(a*=1+.125*n*i),no("Kitten engineers")&&(a*=1+.15*n*i),no("Kitten overseers")&&(a*=1+.175*n*i),no("Kitten managers")&&(a*=1+.2*n*i),no("Kitten accountants")&&(a*=1+.2*n*i),no("Kitten specialists")&&(a*=1+.2*n*i),no("Kitten experts")&&(a*=1+.2*n*i),no("Kitten consultants")&&(a*=1+.2*n*i),no("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),no("Kitten marketeers")&&(a*=1+.15*n*i),no("Kitten analysts")&&(a*=1+.125*n*i),no("Kitten executives")&&(a*=1+.115*n*i),no("Kitten angels")&&(a*=1+.1*n*i),no("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Kt).forEach((e=>{const t=Kt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&no("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),_e+=t.amount*a})),no('"egg"')&&(_e+=9),e*=a;let r=1;if(no("Chicken egg")&&(r*=1.01),no("Duck egg")&&(r*=1.01),no("Turkey egg")&&(r*=1.01),no("Quail egg")&&(r*=1.01),no("Robin egg")&&(r*=1.01),no("Ostrich egg")&&(r*=1.01),no("Cassowary egg")&&(r*=1.01),no("Salmon roe")&&(r*=1.01),no("Frogspawn")&&(r*=1.01),no("Shark egg")&&(r*=1.01),no("Turtle egg")&&(r*=1.01),no("Ant larva")&&(r*=1.01),no("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),mt=1+.1*(1-(1-e/100)**3),r*=mt}e*=r,no("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+eo("Radiant Appetite");const l=_e*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ho(Game.CpsAchievements[e].name)})),Qe=l;const{n:s}=Game.shimmerTypes.golden,c=eo("Dragon's Fortune");for(let t=0;t{no(e[o])&&(t+=.1)}))}e*=t}if(no("Shimmering veil [off]")){let t=.5;no("Reinforced membrane")&&(t+=.1),e*=1+t}no("Magic shenanigans")&&(e*=1e3),no("Occult obstruction")&&(e*=0),_e=Game.runModHookOnValue("cps",_e),e*=So(),_e*=e}const $o=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ro=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Io=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],zo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Vo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function _o(e){return Zt[e]?Zt[e].won:0}function Qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{no(Game.GrandmaSynergies[t])&&(e+=1)})),!_o("Elder")&&e>=7&&Ho("Elder"),!_o("Veteran")&&e>=14&&Ho("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount,i=Math.min(Kt[e].amount,i),_o("Mathematician")||Kt[e].amount=1&&Ho("One with everything"),1===o&&Ho("Mathematician"),1===n&&Ho("Base 10"),i>=100&&Ho("Centennial"),i>=150&&Ho("Centennial and a half"),i>=200&&Ho("Bicentennial"),i>=250&&Ho("Bicentennial and a half"),i>=300&&Ho("Tricentennial"),i>=350&&Ho("Tricentennial and a half"),i>=400&&Ho("Quadricentennial"),i>=450&&Ho("Quadricentennial and a half"),i>=500&&Ho("Quincentennial"),i>=550&&Ho("Quincentennial and a half"),i>=600&&Ho("Sexcentennial"),t>=100&&Ho("Builder"),t>=500&&Ho("Architect"),t>=1e3&&Ho("Engineer"),t>=2e3&&Ho("Lord of Constructs"),t>=4e3&&Ho("Grand design"),t>=8e3&&Ho("Ecumenopolis"),We>=20&&Ho("Enhancer"),We>=50&&Ho("Augmenter"),We>=100&&Ho("Upgrader"),We>=200&&Ho("Lord of Progress"),We>=300&&Ho("The full picture"),We>=400&&Ho("When there's nothing left to add"),t>=4e3&&We>=300&&Ho("Polymath"),t>=8e3&&We>=400&&Ho("Renaissance baker"),Kt.Cursor.amount+Kt.Grandma.amount>=777&&Ho("The elder scrolls");let a=!0;Object.keys(Ro).forEach((e=>{no(Ro[e])||(a=!1)})),a&&Ho("Spooky cookies");let r=!0;if(Object.keys(Io).forEach((e=>{no(Io[e])||(r=!1)})),r&&Ho("Let it snow"),no("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{no(e[o].name)&&(t+=1)})),t>=e.length&&Ho("O Fortuna")}}function Xo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){wo(),Kt[e].amount+=t;const o=Kt[e];"Cursor"===e?(o.amount>=1&&Ho("Click"),o.amount>=2&&Ho("Double-click"),o.amount>=50&&Ho("Mouse wheel"),o.amount>=100&&Ho("Of Mice and Men"),o.amount>=200&&Ho("The Digital"),o.amount>=300&&Ho("Extreme polydactyly"),o.amount>=400&&Ho("Dr. T"),o.amount>=500&&Ho("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ho("With her finger and her thumb"),o.amount>=700&&Ho("Gotta hand it to you"),o.amount>=800&&Ho("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ho(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Ae;return Uo(),Qo(),n!==Ae&&Uo(),_e-Game.cookiesPs}(o,e),1!==e&&(Ne=1)})),t}function qo(){Object.keys(Game.Objects).forEach((e=>{ft[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),Ct[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),yt[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Yo(){ft=Xo(1),Ct=Xo(10),yt=Xo(100),xt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){wo(),"Shimmering veil [on]"===Jt[e].name?Jt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Jt[e].name?Jt["Golden switch [off]"].bought=0:Jt[e].bought=(Jt[e].bought+1)%2,Jt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(We+=1),"Elder Pledge"===e?(Le+=1,Le>0&&Ho("Elder nap"),Le>=5&&Ho("Elder slumber")):"Elder Covenant"===e?Ho("Elder calm"):"Prism heart biscuits"===e?Ho("Lovely cookies"):"Heavenly key"===e&&Ho("Wholesome");const t=Ae;Uo(),Qo(),t!==Ae&&Uo();const o=function(){let e=0;no("Thousand fingers")&&(e+=.1),no("Million fingers")&&(e*=5),no("Billion fingers")&&(e*=10),no("Trillion fingers")&&(e*=20),no("Quadrillion fingers")&&(e*=20),no("Quintillion fingers")&&(e*=20),no("Sextillion fingers")&&(e*=20),no("Septillion fingers")&&(e*=20),no("Octillion fingers")&&(e*=20),no("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount})),t-=Kt.Cursor.amount,e*=t,no("Plastic mouse")&&(e+=.01*_e),no("Iron mouse")&&(e+=.01*_e),no("Titanium mouse")&&(e+=.01*_e),no("Adamantium mouse")&&(e+=.01*_e),no("Unobtainium mouse")&&(e+=.01*_e),no("Eludium mouse")&&(e+=.01*_e),no("Wishalloy mouse")&&(e+=.01*_e),no("Fantasteel mouse")&&(e+=.01*_e),no("Nevercrack mouse")&&(e+=.01*_e),no("Armythril mouse")&&(e+=.01*_e),no("Technobsidian mouse")&&(e+=.01*_e),no("Plasmarble mouse")&&(e+=.01*_e),no("Miraculite mouse")&&(e+=.01*_e),no("Fortune #104")&&(e+=.01*_e);let o=1;if(no("Santa's helpers")&&(o*=1.1),no("Cookie egg")&&(o*=1.1),no("Halo gloves")&&(o*=1.1),no("Dragon claw")&&(o*=1.03),no("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,no("Luminous gloves")?20:10)),o*=oo("click"),Kt.Temple.minigameLoaded&&io){const e=io("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*eo("Dragon Cursor");let n=o*Game.ComputeCps(1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[_e-Game.cookiesPs,o]:[_e-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(xt[t]={bonus:Game.cookiesPs-xe},1===e.CalcWrink?xt[t].bonus-=Te:2===e.CalcWrink&&(xt[t].bonus-=Me),Number.isFinite(xt[t].bonus)||(xt[t].bonus=0)):(xt[t]={},o[0]&&(xt[t].bonus=o[0]),o[1]&&(xt[t].bonusMouse=o[1]))}))}function Ko(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Nt=Ko(7,e,dt),Bt=2*Nt[1]/dt,Et=Nt[2]/60/60/6/ct,Wt=Ko(6,e,pt),Ot=2*Wt[1]/pt,Ft=Wt[2]/60/60/6/ct,jt=Ko(7,7*e,dt),Lt=2*jt[1]/dt,At=jt[2]/60/60/6/ct,Ut=Ko(6,7*e,pt),Dt=2*Ut[1]/pt,Ht=Ut[2]/60/60/6/ct}function Zo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Be,i=Math.max(0,o-Ee)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?St+=e:"cookie"===o.pool?Pt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Mt+=e)}}))}function tn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ht=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ht*=2)}}function on(){Je=900*st/.15,Je*=ct;const e=So();e>0?Je/=e:Je=0,Ze=dt*(.15*Je)+13,et=pt*(.15*Je)+13,tt=7*Je,ot=dt*(.15*tt)+13,nt=pt*(.15*tt)+13,it=2*Je,at=.15*it,rt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountrt&&(rt=2*Game.Objects[e].price,lt=e)}))}function nn(){let e=1,t=1,o=1;no("Green yeast digestives")&&(o*=1.01),no("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),dt=o*e,pt=o*t,ct=1,0===Game.shimmerTypes.golden.n&&(ct*=1+1.23*Game.auraMult("Dragon's Fortune"))}function an(){bt=0,kt=0,Gt=[0,null];for(let e=0;eGt[0]&&(Gt=[t,e]))}}function rn(){yo(),an(),on(),nn(),Jo(),en(),tn(),me=new Oo(Y[Y.length-1]),he=new Oo(Y[Y.length-1]),ge=new Oo(Y[Y.length-1]),fe=new Oo(Y[Y.length-1]),Ce=new Oo(K[K.length-1]),ye=new Oo(5),ue=new Oo(20*K[K.length-1]),Zo(),Fo(),Yo(),qo(),jo()}const ln={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},sn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function cn(){1===e.BotBar?(l("CMBotBar").style.display="",ho()):l("CMBotBar").style.display="none",fo()}function dn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),ho(),lo(),so()}function pn(){1===e.Favicon&&y>0?It.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class un{constructor(e,t){this.type=e,this.group=t}}class mn extends un{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class hn extends un{constructor(e,t,o){super(e,t),this.desc=o}}class gn extends un{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class fn extends un{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const Cn={CPSMode:new mn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new mn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new mn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new mn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){ze=!0})),Scale:new mn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){dn()})),ScaleDecimals:new mn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){dn()})),ScaleSeparator:new mn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){dn()})),ScaleCutoff:new fn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new mn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new mn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new mn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new mn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){lo()})),PPOnlyConsiderBuyable:new mn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new mn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new mn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new fn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new hn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new hn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new hn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new hn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new hn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new hn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new hn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new hn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new hn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new mn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){cn()})),TimerBar:new mn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){Co()})),TimerBarPos:new mn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),fo()})),TimerBarOverlay:new mn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new mn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",so()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",so()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new mn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new mn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){lo()})),SortUpgrades:new mn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){so()})),DragonAuraInfo:new mn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new mn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new mn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Xt[e].l.style.left,re[e].style.top=Xt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new mn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){pn()})),WrinklerButtons:new mn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new mn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new mn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new mn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new mn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new mn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new mn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new mn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new mn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new fn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new mn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new mn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Po()})),TooltipGrim:new mn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new mn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new mn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new mn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new mn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new mn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new mn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new mn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new mn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new mn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new fn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new mn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new mn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new mn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new mn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){sn(e.GCNotification)})),GCFlash:new mn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new hn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new mn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new gn("vol","NotificationGC",[],"Volume"),GCSoundURL:new mn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new mn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){sn(e.FortuneNotification)})),FortuneFlash:new mn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new hn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new mn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new gn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new mn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new mn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){sn(e.SeaNotification)})),SeaFlash:new mn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new hn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new mn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new gn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new mn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new mn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new hn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new mn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new gn("vol","NotificationGard",[],"Volume"),GardSoundURL:new mn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new mn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){sn(e.MagicNotification)})),MagicFlash:new mn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new hn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new mn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new gn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new mn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new mn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){sn(e.WrinklerNotification)})),WrinklerFlash:new mn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new hn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new mn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new gn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new mn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new mn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){sn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new mn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new hn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new mn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new gn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new mn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new mn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new mn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function yn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function bn(){if(Ye!==Game.dragonLevel||ze){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Upgrades).forEach((e=>{Jt[e]=vo(e)})),Zt=[],Object.keys(Game.Achievements).forEach((e=>{Zt[e]=bo(e)})),wo()}let vn=!1;function wn(t,o,n){(1===e[o]||n)&&3===t&&!1===vn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){wn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){wn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){wn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function xn(t,o,n,i){if((1===e[o]||i)&&!1===vn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Tn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===vn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Mn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(cn(),Co()),go()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(Gn(),rn(),r=Object.keys(Game.mods).length),ze&&(Yo(),Game.Has("Golden switch [off]")?(wo(),Jt["Golden switch [off]"].bought=0,Uo(),st=_e):st=Game.cookiesPs,nn(),on(),en(),Jo(),bn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Yt[e][t]=kn(e,t)}(),tn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;wo();let t=2;5!==He&&18!==He||(t-=1),5!==Ue&&18!==Ue||(t-=1),He=5,Ue=18;for(let e=0;e{Kt[t].amount>0&&(e=t)})),Kt[e].amount-=1,Fe-=1}return Object.keys(Kt).forEach((t=>{const o=Kt[t];e+=ro(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),qt=e}(),ze=0);const t=Game.auraMult("Fierce Hoarder")>0;!Oe&&t?(Oe=!0,Ne=1):Oe&&!t&&(Oe=!1,Ne=1),Ne&&(qo(),Ne=0),function(){an(),jo(),function(){vt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Kt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}wt=e,vt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Fo(),Zo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Vt=de(e/co())}(),G=0,Xt={},Object.keys(Game.shimmers).forEach((e=>{Xt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(It=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Xt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),pn(),b=G,0===G&&(It=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Xt[e].l.style.opacity,re[e].style.transform=Xt[e].l.style.transform,re[e].textContent=Math.ceil(Xt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(wn(3,"FortuneFlash",!1),xn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Tn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(zt=Game.shimmers[e])})),wn(3,"SeaFlash",!1),xn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Tn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?wn(3,"WrinklerMaxFlash",!1):wn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?xn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):xn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Tn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Tn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Sn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=ln[t]):"Header"===t&&Object.keys(ln.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=ln[t][n])}))})),o&&Pn(),Mn(),Object.keys(ln).forEach((e=>{"Header"!==e&&void 0!==Cn[e].func&&Cn[e].func()}))}else Bn(ln);Game.UpdateMenu(),Sn()}function En(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Nn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Do(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Bo(),l("tooltip").innerHTML}function On(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Fn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Pn()}function Un(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Hn(o),Game.UpdateMenu()},n.appendChild(i),n}function $n(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape($[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Rn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function In(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Un("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+po(){Game.HasUnlocked(Vo[e])||c.push(Vo[e])})),0!==c.length&&e.appendChild($n("basic","Rare plant drops left to unlock",Rn(c))),e}())),o.appendChild(Un("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?gt:0)));t.appendChild($n("withTooltip","Prestige level (cur / max)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&>?gt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/Rt,1)})`,i.appendChild(a),t.appendChild($n("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild($n("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild($n("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(ce(ut,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild($n("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(ce(e)))),t.appendChild($n("basic","Time till target (cur, current 5 second average)",document.createTextNode(de(e/ut)))))}const l=function(e){let t=Game.cookiesPs;wo(),0===Jt["Heavenly key"].bought&&(Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,Uo(),t=_e,wo()),$t>=1e6&&Ho("Sacrifice"),$t>=1e9&&Ho("Oblivion"),$t>=1e12&&Ho("From scratch"),$t>=1e15&&Ho("Nihilism"),$t>=1e18&&Ho("Dematerialize"),$t>=1e21&&Ho("Nil zero zilch"),$t>=1e24&&Ho("Transcendence"),$t>=1e27&&Ho("Obliterate"),$t>=1e30&&Ho("Negative void"),$t>=1e33&&Ho("To crumbs, you say?"),$t>=1e36&&Ho("You get nothing"),$t>=1e39&&Ho("Humble rebeginnings"),$t>=1e42&&Ho("The end of the world"),$t>=1e45&&Ho("Oh, you're back"),$t>=1e48&&Ho("Lazarus"),$t>=1e51&&Ho("Smurf account"),$t>=1e54&&Ho("If at first you don't succeed"),Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,De=e;const o=Ae;Uo(),Qo(),o!==Ae&&Uo();const n=_e-t;return De=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild($n("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Un("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(bt)} / ${ce(kt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){En()},e.appendChild(t),o.appendChild($n("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(Gt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},n.appendChild(i),o.appendChild($n("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==Gt[1]?Gt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(n.push(Ro[e]),o=!0)}));const i=[];Object.keys(Io).forEach((e=>{Game.Has(Io[e])||(i.push(Io[e]),o=!0)}));const a=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(a.push(zo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Un("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild($n("basic","Halloween cookies left to buy",Rn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild($n("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild($n("basic","Christmas cookies left to buy",Rn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild($n("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild($n("basic","Valentine cookies left to buy",Rn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild($n("basic","Normal easter eggs left to unlock",Rn(r))),t.appendChild($n("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild($n("basic","Rare easter eggs left to unlock",Rn(l))),t.appendChild($n("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild($n("basic","Reindeer reward",document.createTextNode(ce(ht)))),s&&t.appendChild($n("withTooltip","Chocolate egg cookies",document.createTextNode(ce(gt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild($n("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(mt-1))/100+"%")))}return t}()),o.appendChild(Un("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild($n("basic",`Average cookies per second (past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(co(),3)))),o.appendChild($n("basic",`Average cookie clicks per second (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(Tt,1)))),o.appendChild($n("basic",`Cookies from clicking (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(ue.calcSum(Tt*K[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys($o).forEach((t=>{Game.Has($o[t])||e.push($o[t])})),0!==e.length&&o.appendChild($n("basic","Fortune Upgrades Left to Buy",Rn(e)))}if(e.ShowMissedGC&&o.appendChild($n("basic","Missed golden cookies",document.createTextNode(ce(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild($n("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const zn={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Vn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function _n(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Hn(t),Game.UpdateMenu()},n.appendChild(i),n}function Qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return se.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(e),Pn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape($.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===Cn[t].type){const n=document.createElement("a");Cn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=jn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===Cn[t].label.length?(e[t]=0,Cn[t].toggle&&(l(jn+t).className="option off")):l(jn+t).className="option",void 0!==Cn[t].func&&Cn[t].func(),l(jn+t).innerHTML=Cn[t].label[e[t]],Pn()}(t)},n.textContent=Cn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=Cn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===Cn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=Cn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Dn(t)},r.onchange=function(){Dn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){xn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${jn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Pn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=Cn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===Cn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Ln(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Sn(),Pn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=Cn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){wn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),An().init(),o}if("numscale"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="number",i.value=e[t],i.min=Cn[t].min,i.max=Cn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Pn(),dn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=Cn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Xn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function qn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),ze=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Xn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Xn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Xn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Kt[Game.ObjectsById[e].name].name;Kt[o].amount-=1,Fe-=1,t=Kt[o].basePrice*Game.priceIncrease**Math.max(0,Kt[o].amount-1-Kt[o].free),t=Game.modifyBuildingPrice(Kt[o],t),t=Math.ceil(t);break}const o=Ae;return Uo(),Qo(),o!==Ae&&Uo(),[_e-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${ce(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ke}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==An().picker&&void 0!==An().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(zn).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(_n(t,zn[t])),e.Header[t]))for(let e=0;e{const n=_n(t,Vn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Qn(e))}))})):Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Bn(ln)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",In(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Hn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=It?It.wrath?`[W${Math.ceil(It.life/Game.fps)}]`:`[G${Math.ceil(It.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(zt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;It&&(t=!0,It.wrath?e+=`[W${Math.ceil(It.life/Game.fps)}]`:e+=`[G${Math.ceil(It.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(zt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Ee<1?"Ascending now would grant you no prestige.":Ee<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Ee)} prestige levels (+${ce(Ee)}% CpS)
and ${ce(Ee)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Vt} to reach the next level and you were making ${ce(ut,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Yn(){Gn(),on(),rn(),r=Object.keys(Game.mods).length,w=document.createElement("style"),w.type="text/css",w.id="CMCSS",document.head.appendChild(w),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{mo(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=uo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=uo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),$[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){En()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),On(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Wn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},qn(),Wn(),Game.CalculateGains(),Bn(),R=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Kn={init:function(){vn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Yn(),Game.registerHook("draw",Eo),Game.registerHook("logic",Mn),Game.registerHook("click",No),vn=!1)},load:function(e){const t=JSON.parse(e);Gn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Bn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:yn};Game.registerMod("CookieMonster",Kn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x,T=[],M=[],S=[],P={};const B="CMText",E="CMBack",N="Blue",O="Green",F="Yellow",W="Orange",L="Red",A="Purple",j="Gray",D="Pink",H="Brown",U=[j,N,O,F,W,L,A,D,H],$=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],R={};let I,z,V=0,_=-1,Q=[],X=1,q=1,Y=1;const K=[10,15,30,60,300,600,900,1800],J=[1,5,10,15,30],Z={Frenzy:F,"Dragon Harvest":H,"Elder frenzy":O,Clot:L,"Click frenzy":N,Dragonflight:D};let ee,te,oe,ne,ie,ae,re,le={},se="",ce=[];function de(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return P.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${de(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function ue(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=O):(n=pe(t),o=t>300?L:t>60?W:F),{text:n,color:o}}let me,he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=1,pt=1,ut=1,mt=0,ht=0,gt=0,ft=0,Ct={},yt={},bt={},kt=0,Gt=0,vt=[0,null],wt=0,xt=0,Tt={},Mt={},St={},Pt={},Bt={},Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,$t=[],Rt=0,It=0,zt={},Vt={},_t=0,Qt=0,Xt=[],qt={},Yt=0,Kt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Jt=[],Zt=[],eo=[];function to(e){let t=0;return Game.dragonAuras[Ue].name!==e&&Game.dragonAuras[$e].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Ue].name&&"Reality Bending"!==Game.dragonAuras[$e].name||(t+=.1),t}function oo(){let e=.25;return e*=1+to("Earth Shatterer"),e}function no(e,t){return void 0===_e[e]?void 0===t?1:t:_e[e]}function io(e){const t=Zt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ao(e){if(Game.hasGod){void 0===Jt.Temple.minigame&&(Jt.Temple.minigame=Game.Objects.Temple.minigame);const t=Jt.Temple.minigame.gods[e];if(Re===t.id)return 1;if(Ie===t.id)return 2;if(ze===t.id)return 3}return!1}function ro(e,t){let o=t;if(io("Season savings")&&(o*=.99),io("Santa's dominion")&&(o*=.99),io("Faberge egg")&&(o*=.99),io("Divine discount")&&(o*=.99),io("Fortune #100")&&(o*=.99),o*=1-.02*to("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&io(e.fortune.name)&&(o*=.93),o*=no("buildingCost"),Jt.Temple.minigameLoaded){const e=ao("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function lo(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function so(){let t=Game.buyBulk;if(1===Game.buyMode?q=t:t=q,1===t?t=Ct:10===t?t=yt:100===t&&(t=bt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(Ct).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=de(lo(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(Ct).map((e=>{const t=Ct[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const t=Ct[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eU.indexOf(t.color)?1:U.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=Ct),10===i&&(i=yt),100===i&&(i=bt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=de(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=B+i[o].color,n=e.PPDisplayTime?pe(Math.round(i[o].pp)):de(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=ue((Game.Objects[o].bulkPrice-(Game.cookies+uo()))/po());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=B+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&io(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(io(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&io(e.fortune.name)&&(t*=1.07),e.grandma&&io(e.grandma.name)&&(t*=1+.01*Jt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&io(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function vo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;io("Thousand fingers")&&(t+=.1),io("Million fingers")&&(t*=5),io("Billion fingers")&&(t*=10),io("Trillion fingers")&&(t*=20),io("Quadrillion fingers")&&(t*=20),io("Quintillion fingers")&&(t*=20),io("Sextillion fingers")&&(t*=20),io("Septillion fingers")&&(t*=20),io("Octillion fingers")&&(t*=20),io("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Jt).forEach((e=>{"Cursor"!==Jt[e].name&&(n+=Jt[e].amount)})),t*=n,o*=Go(e),o*=Game.magicCpS("Cursor"),o*=no("cursorCps"),Game.ComputeCps(.1,io("Reinforced index finger")+io("Carpal tunnel prevention cream")+io("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{io(Game.GrandmaSynergies[e])&&(o*=2)})),io("Bingo center/Research facility")&&(o*=4),io("Ritual rolling pins")&&(o*=2),io("Naughty list")&&(o*=2),io("Elderwort biscuits")&&(o*=1.02),o*=no("grandmaCps"),io("Cat ladies"))for(let e=0;e{"Grandma"!==Jt[e].name&&(i+=Jt[e].amount)})),o*=1+.01*to("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=Go(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function wo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Jt).forEach((t=>{Jt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(io("Starlove")&&(e=3),Game.hasGod){const t=ao("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function xo(){Le=Game.UpgradesOwned,Ae=Game.pledges,je=Game.AchievementsOwned,De=Game.heavenlyPower,He=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Jt[e];void 0===o&&(Jt[e]=vo(e),o=Jt[e],ho(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Re=t.minigame.slot[0],Ie=t.minigame.slot[1],ze=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Jt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e]),o.bought=t.bought,Zt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=eo[e];void 0===o&&(eo[e]=ko(e),o=eo[e]),o.won=t.won,eo[e]=o})),bo(),Ue=qe,$e=Ye}function To(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function Mo(e){e.appendChild(To("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(To("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(To("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(To("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===oe){e.appendChild(To("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function So(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Bo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Eo(){if(xo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===oe?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(Mo(l("CMTooltipBorder")),1===Game.buyMode?Y=t:t=Y,1===Game.buyBulk?t=Ct:10===Game.buyBulk?t=yt:100===Game.buyBulk&&(t=bt),ee=Game.Objects[ne].bulkPrice,te=t[ne].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=de(te,2);const o=Math.round(te/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=B+t[ne].color,e.PPDisplayTime?l("CMTooltipPP").textContent=pe(t[ne].pp):l("CMTooltipPP").textContent=de(t[ne].pp,2),l("CMTooltipPP").className=B+t[ne].color;const n=ue((ee-(Game.cookies+uo()))/po());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ne[1]][ne[0]][0]-1].mature,o=t.plantsById[t.plot[ne[1]][ne[0]][0]-1].name;l("CMTooltipBorder").appendChild(To("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${de(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${de(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${de(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${de(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===oe?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(To("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=mo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==Z[Game.buffs[t].name]?Z[Game.buffs[t].name]:A,a.lastChild.children[1].className=E+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),re!==n&&(re=n,Co())}}(),go(),Eo(),function(){if(1===e.TooltipWrink&&1===V){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===Q[t]||void 0===Q[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),_=t,Q[t]=1}}else Q[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[_],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[_].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Jt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=de(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,de(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Oo(){me.addLatest(Game.computedMouseCps)}class Fo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Wo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Yt;Game.cpsSucked>0&&(o+=kt),Rt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-ke,i=Math.max(0,Game.cookies-Ge)/n,a=Math.max(0,kt-ve)/n,r=Math.max(0,vt[0]-we)/n,l=Math.max(0,o-ft)/n,s=(Game.cookieClicks-xe)/n;for(let e=0;e0&&(n=L),n}function Ao(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=j;else{t[n].color=Lo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+uo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Xt.push([t[n].pp,o])}))}function Do(){!function(){Qt=1/0,Xt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),jo(Ct,1),jo(yt,10),jo(bt,100),Xt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Xt[t][1]>Game.cookies&&(t+=1,Xt.length!==t+1););Qt=Xt[e.PPExcludeTop][t],Ao(Ct,1),Ao(yt,10),Ao(bt,100)}(),Object.keys(Tt).forEach((e=>{Game.cookiesPs?Tt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+uo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Tt[e].bonus:Tt[e].pp=Game.Upgrades[e].getPrice()/Tt[e].bonus,Number.isNaN(Tt[e].pp)&&(Tt[e].pp=1/0),Tt[e].color=Lo(Tt[e],Game.Upgrades[e].getPrice())}))}function Ho(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),_e=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(He)*De*function(){let e=0;if(io("Heavenly chip secret")&&(e+=.05),io("Heavenly cookie stand")&&(e+=.2),io("Heavenly bakery")&&(e+=.25),io("Heavenly confectionery")&&(e+=.25),io("Heavenly key")&&(e+=.25),e*=1+.05*to("Dragon God"),io("Lucky digit")&&(e*=1.01),io("Lucky number")&&(e*=1.01),io("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ao("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=no("cps"),io("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];io(o.name)&&("function"==typeof o.power?e*=1+.01*Zt[o.name].power(Zt[o.name]):e*=1+.01*o.power)})),io("Specialized chocolate chips")&&(e*=1.01),io("Designer cocoa beans")&&(e*=1.02),io("Underworld ovens")&&(e*=1.03),io("Exotic nuts")&&(e*=1.04),io("Arcane sugar")&&(e*=1.05),io("Increased merriness")&&(e*=1.15),io("Improved jolliness")&&(e*=1.15),io("A lump of coal")&&(e*=1.01),io("An itchy sweater")&&(e*=1.01),io("Santa's dominion")&&(e*=1.2),io("Fortune #100")&&(e*=1.01),io("Fortune #101")&&(e*=1.07),io("Dragon scale")&&(e*=1.03);let o=1;if(ao){let t=ao("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ao("ages"),1===t?e*=1+.15*Math.sin(w/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(w/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(w/1e3/86400*Math.PI*2)),t=ao("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ao("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ao("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}io("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=je/25;let i=1;if(io("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*to("Breath of Milk"),ao){const e=ao("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=no("milk");let a=1;io("Kitten helpers")&&(a*=1+.1*n*i),io("Kitten workers")&&(a*=1+.125*n*i),io("Kitten engineers")&&(a*=1+.15*n*i),io("Kitten overseers")&&(a*=1+.175*n*i),io("Kitten managers")&&(a*=1+.2*n*i),io("Kitten accountants")&&(a*=1+.2*n*i),io("Kitten specialists")&&(a*=1+.2*n*i),io("Kitten experts")&&(a*=1+.2*n*i),io("Kitten consultants")&&(a*=1+.2*n*i),io("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),io("Kitten marketeers")&&(a*=1+.15*n*i),io("Kitten analysts")&&(a*=1+.125*n*i),io("Kitten executives")&&(a*=1+.115*n*i),io("Kitten angels")&&(a*=1+.1*n*i),io("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Jt).forEach((e=>{const t=Jt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&io("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Qe+=t.amount*a})),io('"egg"')&&(Qe+=9),e*=a;let r=1;if(io("Chicken egg")&&(r*=1.01),io("Duck egg")&&(r*=1.01),io("Turkey egg")&&(r*=1.01),io("Quail egg")&&(r*=1.01),io("Robin egg")&&(r*=1.01),io("Ostrich egg")&&(r*=1.01),io("Cassowary egg")&&(r*=1.01),io("Salmon roe")&&(r*=1.01),io("Frogspawn")&&(r*=1.01),io("Shark egg")&&(r*=1.01),io("Turtle egg")&&(r*=1.01),io("Ant larva")&&(r*=1.01),io("Century egg")){let e=10*Math.floor((w-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),ht=1+.1*(1-(1-e/100)**3),r*=ht}e*=r,io("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+to("Radiant Appetite");const l=Qe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Uo(Game.CpsAchievements[e].name)})),Xe=l;const{n:s}=Game.shimmerTypes.golden,c=to("Dragon's Fortune");for(let t=0;t{io(e[o])&&(t+=.1)}))}e*=t}if(io("Shimmering veil [off]")){let t=.5;io("Reinforced membrane")&&(t+=.1),e*=1+t}io("Magic shenanigans")&&(e*=1e3),io("Occult obstruction")&&(e*=0),Qe=Game.runModHookOnValue("cps",Qe),e*=Po(),Qe*=e}const Ro=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Io=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],zo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Vo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],_o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Qo(e){return eo[e]?eo[e].won:0}function Xo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{io(Game.GrandmaSynergies[t])&&(e+=1)})),!Qo("Elder")&&e>=7&&Uo("Elder"),!Qo("Veteran")&&e>=14&&Uo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Jt).forEach((e=>{t+=Jt[e].amount,i=Math.min(Jt[e].amount,i),Qo("Mathematician")||Jt[e].amount=1&&Uo("One with everything"),1===o&&Uo("Mathematician"),1===n&&Uo("Base 10"),i>=100&&Uo("Centennial"),i>=150&&Uo("Centennial and a half"),i>=200&&Uo("Bicentennial"),i>=250&&Uo("Bicentennial and a half"),i>=300&&Uo("Tricentennial"),i>=350&&Uo("Tricentennial and a half"),i>=400&&Uo("Quadricentennial"),i>=450&&Uo("Quadricentennial and a half"),i>=500&&Uo("Quincentennial"),i>=550&&Uo("Quincentennial and a half"),i>=600&&Uo("Sexcentennial"),t>=100&&Uo("Builder"),t>=500&&Uo("Architect"),t>=1e3&&Uo("Engineer"),t>=2e3&&Uo("Lord of Constructs"),t>=4e3&&Uo("Grand design"),t>=8e3&&Uo("Ecumenopolis"),Le>=20&&Uo("Enhancer"),Le>=50&&Uo("Augmenter"),Le>=100&&Uo("Upgrader"),Le>=200&&Uo("Lord of Progress"),Le>=300&&Uo("The full picture"),Le>=400&&Uo("When there's nothing left to add"),t>=4e3&&Le>=300&&Uo("Polymath"),t>=8e3&&Le>=400&&Uo("Renaissance baker"),Jt.Cursor.amount+Jt.Grandma.amount>=777&&Uo("The elder scrolls");let a=!0;Object.keys(Io).forEach((e=>{io(Io[e])||(a=!1)})),a&&Uo("Spooky cookies");let r=!0;if(Object.keys(zo).forEach((e=>{io(zo[e])||(r=!1)})),r&&Uo("Let it snow"),io("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{io(e[o].name)&&(t+=1)})),t>=e.length&&Uo("O Fortuna")}}function qo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){xo(),Jt[e].amount+=t;const o=Jt[e];"Cursor"===e?(o.amount>=1&&Uo("Click"),o.amount>=2&&Uo("Double-click"),o.amount>=50&&Uo("Mouse wheel"),o.amount>=100&&Uo("Of Mice and Men"),o.amount>=200&&Uo("The Digital"),o.amount>=300&&Uo("Extreme polydactyly"),o.amount>=400&&Uo("Dr. T"),o.amount>=500&&Uo("Thumbs, phalanges, metacarpals"),o.amount>=600&&Uo("With her finger and her thumb"),o.amount>=700&&Uo("Gotta hand it to you"),o.amount>=800&&Uo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Uo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=je;return $o(),Xo(),n!==je&&$o(),Qe-Game.cookiesPs}(o,e),1!==e&&(Oe=1)})),t}function Yo(){Object.keys(Game.Objects).forEach((e=>{Ct[e].price=Ho(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),yt[e].price=Ho(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),bt[e].price=Ho(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Ko(){Ct=qo(1),yt=qo(10),bt=qo(100),Tt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){xo(),"Shimmering veil [on]"===Zt[e].name?Zt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Zt[e].name?Zt["Golden switch [off]"].bought=0:Zt[e].bought=(Zt[e].bought+1)%2,Zt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Le+=1),"Elder Pledge"===e?(Ae+=1,Ae>0&&Uo("Elder nap"),Ae>=5&&Uo("Elder slumber")):"Elder Covenant"===e?Uo("Elder calm"):"Prism heart biscuits"===e?Uo("Lovely cookies"):"Heavenly key"===e&&Uo("Wholesome");const t=je;$o(),Xo(),t!==je&&$o();const o=function(){let e=0;io("Thousand fingers")&&(e+=.1),io("Million fingers")&&(e*=5),io("Billion fingers")&&(e*=10),io("Trillion fingers")&&(e*=20),io("Quadrillion fingers")&&(e*=20),io("Quintillion fingers")&&(e*=20),io("Sextillion fingers")&&(e*=20),io("Septillion fingers")&&(e*=20),io("Octillion fingers")&&(e*=20),io("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Jt).forEach((e=>{t+=Jt[e].amount})),t-=Jt.Cursor.amount,e*=t,io("Plastic mouse")&&(e+=.01*Qe),io("Iron mouse")&&(e+=.01*Qe),io("Titanium mouse")&&(e+=.01*Qe),io("Adamantium mouse")&&(e+=.01*Qe),io("Unobtainium mouse")&&(e+=.01*Qe),io("Eludium mouse")&&(e+=.01*Qe),io("Wishalloy mouse")&&(e+=.01*Qe),io("Fantasteel mouse")&&(e+=.01*Qe),io("Nevercrack mouse")&&(e+=.01*Qe),io("Armythril mouse")&&(e+=.01*Qe),io("Technobsidian mouse")&&(e+=.01*Qe),io("Plasmarble mouse")&&(e+=.01*Qe),io("Miraculite mouse")&&(e+=.01*Qe),io("Fortune #104")&&(e+=.01*Qe);let o=1;if(io("Santa's helpers")&&(o*=1.1),io("Cookie egg")&&(o*=1.1),io("Halo gloves")&&(o*=1.1),io("Dragon claw")&&(o*=1.03),io("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,io("Luminous gloves")?20:10)),o*=no("click"),Jt.Temple.minigameLoaded&&ao){const e=ao("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*to("Dragon Cursor");let n=o*Game.ComputeCps(1,io("Reinforced index finger")+io("Carpal tunnel prevention cream")+io("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Qe-Game.cookiesPs,o]:[Qe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Tt[t]={bonus:Game.cookiesPs-Te},1===e.CalcWrink?Tt[t].bonus-=Me:2===e.CalcWrink&&(Tt[t].bonus-=Se),Number.isFinite(Tt[t].bonus)||(Tt[t].bonus=0)):(Tt[t]={},o[0]&&(Tt[t].bonus=o[0]),o[1]&&(Tt[t].bonusMouse=o[1]))}))}function Jo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ot=Jo(7,e,pt),Et=2*Ot[1]/pt,Nt=Ot[2]/60/60/6/dt,Lt=Jo(6,e,ut),Ft=2*Lt[1]/ut,Wt=Lt[2]/60/60/6/dt,Dt=Jo(7,7*e,pt),At=2*Dt[1]/pt,jt=Dt[2]/60/60/6/dt,$t=Jo(6,7*e,ut),Ht=2*$t[1]/ut,Ut=$t[2]/60/60/6/dt}function en(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ee,i=Math.max(0,o-Ne)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Pt+=e:"cookie"===o.pool?Bt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(St+=e)}}))}function on(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),gt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(gt*=2)}}function nn(){Ze=900*ct/.15,Ze*=dt;const e=Po();e>0?Ze/=e:Ze=0,et=pt*(.15*Ze)+13,tt=ut*(.15*Ze)+13,ot=7*Ze,nt=pt*(.15*ot)+13,it=ut*(.15*ot)+13,at=2*Ze,rt=.15*at,lt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountlt&&(lt=2*Game.Objects[e].price,st=e)}))}function an(){let e=1,t=1,o=1;io("Green yeast digestives")&&(o*=1.01),io("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),pt=o*e,ut=o*t,dt=1,0===Game.shimmerTypes.golden.n&&(dt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function rn(){kt=0,Gt=0,vt=[0,null];for(let e=0;evt[0]&&(vt=[t,e]))}}function ln(){bo(),rn(),nn(),an(),Zo(),tn(),on(),he=new Fo(K[K.length-1]),ge=new Fo(K[K.length-1]),fe=new Fo(K[K.length-1]),Ce=new Fo(K[K.length-1]),ye=new Fo(J[J.length-1]),be=new Fo(5),me=new Fo(20*J[J.length-1]),en(),Wo(),Ko(),Yo(),Do()}const sn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},cn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function dn(){1===e.BotBar?(l("CMBotBar").style.display="",go()):l("CMBotBar").style.display="none",Co()}function pn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),go(),so(),co()}function un(){1===e.Favicon&&y>0?zt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class mn{constructor(e,t){this.type=e,this.group=t}}class hn extends mn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class gn extends mn{constructor(e,t,o){super(e,t),this.desc=o}}class fn extends mn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class Cn extends mn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const yn={CPSMode:new hn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new hn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new hn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new hn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){Ve=!0})),Scale:new hn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){pn()})),ScaleDecimals:new hn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){pn()})),ScaleSeparator:new hn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){pn()})),ScaleCutoff:new Cn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new hn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new hn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=z:Game.sayTime=P.sayTime})),PPDisplayTime:new hn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new hn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){so()})),PPOnlyConsiderBuyable:new hn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new hn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new hn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new Cn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new gn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new gn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new gn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new gn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new gn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new gn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new gn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new gn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new gn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new hn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){dn()})),TimerBar:new hn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){yo()})),TimerBarPos:new hn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),Co()})),TimerBarOverlay:new hn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new hn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",co()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",co()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new hn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new hn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){so()})),SortUpgrades:new hn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){co()})),DragonAuraInfo:new hn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new hn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new hn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(le).forEach((e=>{le[e].style.display="block",le[e].style.left=qt[e].l.style.left,le[e].style.top=qt[e].l.style.top})):Object.keys(le).forEach((e=>le[e].style.display="none"))})),Favicon:new hn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){un()})),WrinklerButtons:new hn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new hn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new hn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new hn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new hn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new hn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new hn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new hn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new hn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new Cn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new hn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new hn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Bo()})),TooltipGrim:new hn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new hn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new hn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new hn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new hn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new hn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new hn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new hn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new hn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new hn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new Cn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new hn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new hn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new hn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new hn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){cn(e.GCNotification)})),GCFlash:new hn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new gn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new hn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new fn("vol","NotificationGC",[],"Volume"),GCSoundURL:new hn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new hn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){cn(e.FortuneNotification)})),FortuneFlash:new hn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new gn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new hn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new fn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new hn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new hn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){cn(e.SeaNotification)})),SeaFlash:new hn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new gn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new hn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new fn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new hn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new hn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new gn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new hn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new fn("vol","NotificationGard",[],"Volume"),GardSoundURL:new hn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new hn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){cn(e.MagicNotification)})),MagicFlash:new hn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new gn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new hn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new fn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new hn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new hn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){cn(e.WrinklerNotification)})),WrinklerFlash:new hn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new gn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new hn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new fn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new hn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new hn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){cn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new hn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new gn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new hn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new fn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new hn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new hn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new hn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function bn(){return JSON.stringify({favouriteSettings:ce,settings:e,version:"2.031.6"})}function kn(){if(Ke!==Game.dragonLevel||Ve){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Jt[e]=vo(e)})),Zt=[],Object.keys(Game.Upgrades).forEach((e=>{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Achievements).forEach((e=>{eo[e]=ko(e)})),xo()}let wn=!1;function xn(t,o,n){(1===e[o]||n)&&3===t&&!1===wn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){xn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){xn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){xn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Tn(t,o,n,i){if((1===e[o]||i)&&!1===wn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Mn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===wn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Sn(){if(w=Date.now(),ae!==Game.OnAscend&&(ae=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(dn(),yo()),fo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(vn(),ln(),r=Object.keys(Game.mods).length),Ve&&(Ko(),Game.Has("Golden switch [off]")?(xo(),Zt["Golden switch [off]"].bought=0,$o(),ct=Qe):ct=Game.cookiesPs,an(),nn(),tn(),Zo(),kn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Kt[e][t]=Gn(e,t)}(),on(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;xo();let t=2;5!==Ue&&18!==Ue||(t-=1),5!==$e&&18!==$e||(t-=1),Ue=5,$e=18;for(let e=0;e{Jt[t].amount>0&&(e=t)})),Jt[e].amount-=1,We-=1}return Object.keys(Jt).forEach((t=>{const o=Jt[t];e+=lo(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Yt=e}(),Ve=0);const t=Game.auraMult("Fierce Hoarder")>0;!Fe&&t?(Fe=!0,Oe=1):Fe&&!t&&(Fe=!1,Oe=1),Oe&&(Yo(),Oe=0),function(){rn(),Do(),function(){wt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Jt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}xt=e,wt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Wo(),en();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);_t=pe(e/po())}(),G=0,qt={},Object.keys(Game.shimmers).forEach((e=>{qt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(zt=Game.shimmers[e],G+=1)})),Object.keys(le).forEach((e=>{void 0===qt[e]&&(le[e].parentNode.removeChild(le[e]),delete le[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===le[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},le[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),un(),b=G,0===G&&(zt=0)):1===e.GCTimer&&y&&Object.keys(le).forEach((e=>{le[e].style.opacity=qt[e].l.style.opacity,le[e].style.transform=qt[e].l.style.transform,le[e].textContent=Math.ceil(qt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(xn(3,"FortuneFlash",!1),Tn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Mn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(Vt=Game.shimmers[e])})),xn(3,"SeaFlash",!1),Tn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Mn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?xn(3,"WrinklerMaxFlash",!1):xn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Tn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Tn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Mn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Mn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Pn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=sn[t]):"Header"===t&&Object.keys(sn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=sn[t][n])}))})),o&&Bn(),Sn(),Object.keys(sn).forEach((e=>{"Header"!==e&&void 0!==yn[e].func&&yn[e].func()}))}else En(sn);Game.UpdateMenu(),Pn()}function Nn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function On(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Ho(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${de(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${ue((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(de(Game.Objects[o].bulkPrice)).join(de((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return oe=t,ne=o,Eo(),l("tooltip").innerHTML}function Fn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(M[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Wn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Bn()}function $n(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Un(o),Game.UpdateMenu()},n.appendChild(i),n}function Rn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function In(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function zn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild($n("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+uo(){Game.HasUnlocked(_o[e])||c.push(_o[e])})),0!==c.length&&e.appendChild(Rn("basic","Rare plant drops left to unlock",In(c))),e}())),o.appendChild($n("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Rt+Game.cookiesReset+kt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?ft:0)));t.appendChild(Rn("withTooltip","Prestige level (cur / max)",document.createTextNode(`${de(Game.prestige)} / ${de(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Rt+Game.cookiesReset+kt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&ft?ft:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(de(n)));const a=document.createElement("small");a.textContent=` (${pe(n/It,1)})`,i.appendChild(a),t.appendChild(Rn("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Rn("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${de(Game.heavenlyChips)} / ${de(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Rn("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(de(mt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Rn("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(de(e)))),t.appendChild(Rn("basic","Time till target (cur, current 5 second average)",document.createTextNode(pe(e/mt)))))}const l=function(e){let t=Game.cookiesPs;xo(),0===Zt["Heavenly key"].bought&&(Zt["Heavenly chip secret"].bought=1,Zt["Heavenly cookie stand"].bought=1,Zt["Heavenly bakery"].bought=1,Zt["Heavenly confectionery"].bought=1,Zt["Heavenly key"].bought=1,$o(),t=Qe,xo()),Rt>=1e6&&Uo("Sacrifice"),Rt>=1e9&&Uo("Oblivion"),Rt>=1e12&&Uo("From scratch"),Rt>=1e15&&Uo("Nihilism"),Rt>=1e18&&Uo("Dematerialize"),Rt>=1e21&&Uo("Nil zero zilch"),Rt>=1e24&&Uo("Transcendence"),Rt>=1e27&&Uo("Obliterate"),Rt>=1e30&&Uo("Negative void"),Rt>=1e33&&Uo("To crumbs, you say?"),Rt>=1e36&&Uo("You get nothing"),Rt>=1e39&&Uo("Humble rebeginnings"),Rt>=1e42&&Uo("The end of the world"),Rt>=1e45&&Uo("Oh, you're back"),Rt>=1e48&&Uo("Lazarus"),Rt>=1e51&&Uo("Smurf account"),Rt>=1e54&&Uo("If at first you don't succeed"),Zt["Heavenly chip secret"].bought=1,Zt["Heavenly cookie stand"].bought=1,Zt["Heavenly bakery"].bought=1,Zt["Heavenly confectionery"].bought=1,Zt["Heavenly key"].bought=1,He=e;const o=je;$o(),Xo(),o!==je&&$o();const n=Qe-t;return He=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(de(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Rn("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild($n("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${de(kt)} / ${de(Gt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Nn()},e.appendChild(t),o.appendChild(Rn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${de(vt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==vt[1]&&(Game.wrinklers[vt[1]].hp=0)},n.appendChild(i),o.appendChild(Rn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==vt[1]?vt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Io).forEach((e=>{Game.Has(Io[e])||(n.push(Io[e]),o=!0)}));const i=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(i.push(zo[e]),o=!0)}));const a=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(a.push(Vo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild($n("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Rn("basic","Halloween cookies left to buy",In(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Rn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${de((1-e)*o*100)}% / ${de((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Rn("basic","Christmas cookies left to buy",In(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Rn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${de((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Rn("basic","Valentine cookies left to buy",In(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Rn("basic","Normal easter eggs left to unlock",In(r))),t.appendChild(Rn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${de(100*e(.98)[0])}% / ${de(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Rn("basic","Rare easter eggs left to unlock",In(l))),t.appendChild(Rn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${de(100*e(.98)[1])}% / ${de(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Rn("basic","Reindeer reward",document.createTextNode(de(gt)))),s&&t.appendChild(Rn("withTooltip","Chocolate egg cookies",document.createTextNode(de(ft)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Rn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(ht-1))/100+"%")))}return t}()),o.appendChild($n("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Rn("basic",`Average cookies per second (past ${K[e.AvgCPSHist]<60?`${K[e.AvgCPSHist]} seconds`:K[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(de(po(),3)))),o.appendChild(Rn("basic",`Average cookie clicks per second (past ${J[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(de(Mt,1)))),o.appendChild(Rn("basic",`Cookies from clicking (past ${J[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(de(me.calcSum(Mt*J[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Ro).forEach((t=>{Game.Has(Ro[t])||e.push(Ro[t])})),0!==e.length&&o.appendChild(Rn("basic","Fortune Upgrades Left to Buy",In(e)))}if(e.ShowMissedGC&&o.appendChild(Rn("basic","Missed golden cookies",document.createTextNode(de(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Rn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const Vn={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},_n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Qn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Un(t),Game.UpdateMenu()},n.appendChild(i),n}function Xn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return ce.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){ce.includes(e)?ce=ce.filter((function(t){return t!==e})):ce.push(e)}(e),Bn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(R.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===yn[t].type){const n=document.createElement("a");yn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Dn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===yn[t].label.length?(e[t]=0,yn[t].toggle&&(l(Dn+t).className="option off")):l(Dn+t).className="option",void 0!==yn[t].func&&yn[t].func(),l(Dn+t).innerHTML=yn[t].label[e[t]],Bn()}(t)},n.textContent=yn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=yn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===yn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=yn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Hn(t)},r.onchange=function(){Hn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Tn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===yn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${yn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Dn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Dn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Bn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=yn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===yn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new An(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Pn(),Bn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=yn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){xn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),jn().init(),o}if("numscale"===yn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${yn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Dn+t,i.className="option",i.type="number",i.value=e[t],i.min=yn[t].min,i.max=yn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Bn(),pn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=yn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function qn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Yn(){P.Beautify=Beautify,Beautify=de,P.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){P.CalculateGains(),Ve=1},P.tooltip={},P.tooltip.draw=Game.tooltip.draw,P.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){P.tooltip.drawMod(e,t,o)},P.tooltip.update=Game.tooltip.update,P.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){P.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},P.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){qn(P.UpdateWrinklers)},P.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){qn(P.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){qn(Game.ClickCookie)}),!1),P.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){P.RebuildUpgrades(),S=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(S[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},P.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Jt[Game.ObjectsById[e].name].name;Jt[o].amount-=1,We-=1,t=Jt[o].basePrice*Game.priceIncrease**Math.max(0,Jt[o].amount-1-Jt[o].free),t=Game.modifyBuildingPrice(Jt[o],t),t=Math.ceil(t);break}const o=je;return $o(),Xo(),o!==je&&$o(),[Qe-Game.cookiesPs,t]}(t),n=pe(o/(e+Game.cookiesPs)),i=de(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${de(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},P.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){P.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Je}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},P.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==jn().picker&&void 0!==jn().picker.owner||(P.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Vn).forEach((t=>{if("Favourite"===t){if(0!==ce.length&&e.FavouriteSettings>0&&(o.appendChild(Qn(t,Vn[t])),e.Header[t]))for(let e=0;e{const n=Qn(t,_n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(yn).forEach((e=>{yn[e].group===t&&o.appendChild(Xn(e))}))})):Object.keys(yn).forEach((e=>{yn[e].group===t&&o.appendChild(Xn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){En(sn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",zn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Un("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},P.sayTime=Game.sayTime,z=function(e,t){return Number.isNaN(e)||e<=0?P.sayTime(e,t):pe(e/Game.fps,1)},P.Logic=Game.Logic,Game.Logic=function(){P.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),se=`${Game.OnAscend?"Ascending! ":""}${de(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=se;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=zt?zt.wrath?`[W${Math.ceil(zt.life/Game.fps)}]`:`[G${Math.ceil(zt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(Vt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=se;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;zt&&(t=!0,zt.wrath?e+=`[W${Math.ceil(zt.life/Game.fps)}]`:e+=`[G${Math.ceil(zt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(Vt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${de(Game.prestige)}.
(CpS +${de(Game.prestige)}%)`,n+='
'),n+=Ne<1?"Ascending now would grant you no prestige.":Ne<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${de(Ne)} prestige levels (+${de(Ne)}% CpS)
and ${de(Ne)} heavenly chips to spend.`,n+='
',n+=`You need ${de(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${_t} to reach the next level and you were making ${de(mt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Kn(){vn(),nn(),ln(),r=Object.keys(Game.mods).length,x=document.createElement("style"),x.type="text/css",x.id="CMCSS",document.head.appendChild(x),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=B+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",F)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",N)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",N)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",N)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{ho(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=mo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:j},{id:"CMTimerBarGCBar",color:A}]);e.appendChild(t);const o=mo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:j},{id:"CMTimerBarRenBar",color:W}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=E+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(N,"Better than the best PP of a building option")),e.appendChild(o(O,"Same as the best PP building option")),e.appendChild(o(F,"Within the top 10 of PP for buildings")),e.appendChild(o(W,"Within the top 20 of PP for buildings")),e.appendChild(o(L,"Within the top 30 of PP for buildings")),e.appendChild(o(A,"Outside of the top 30 of PP for buildings")),e.appendChild(o(j,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=B+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",N)),e.appendChild(o("CMUpgradeBarGreen",O)),e.appendChild(o("CMUpgradeBarYellow",F)),e.appendChild(o("CMUpgradeBarOrange",W)),e.appendChild(o("CMUpgradeBarRed",L)),e.appendChild(o("CMUpgradeBarPurple",A)),e.appendChild(o("CMUpgradeBarGray",j)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys($).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}($[e][0],$[e][1],$[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Nn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==vt[1]&&(Game.wrinklers[vt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(T[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Fn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Ln()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){V=1},l("backgroundLeftCanvas").onmouseout=function(){V=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{Q[e]=0}))},Yn(),Ln(),Game.CalculateGains(),En(),I=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Jn={init:function(){wn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Kn(),Game.registerHook("draw",No),Game.registerHook("logic",Sn),Game.registerHook("click",Oo),wn=!1)},load:function(e){const t=JSON.parse(e);vn(),void 0!==t.favouriteSettings&&(ce=t.favouriteSettings),En(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:bn};Game.registerMod("CookieMonster",Jn)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index 1c671f42..ef7b2805 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CacheAverageCookiesFromClicks","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","CMDrawHook","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","reduce","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","MissingAchievements","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoopHook","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","calcSum","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","achievs","values","parentElement","achievsCrate","AchievementsById","mouseDown","setOnCrate","tags","neuromancy","sesame","descFunc","tagsStr","CrateTooltipLockedAchievements","AddMissingAchievements","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DateAtBeginLoop","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CacheAverageCookiesFromClicks","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","CMDrawHook","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","reduce","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","MissingAchievements","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoopHook","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","calcSum","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","achievs","values","parentElement","achievsCrate","AchievementsById","mouseDown","setOnCrate","tags","neuromancy","sesame","descFunc","tagsStr","CrateTooltipLockedAchievements","AddMissingAchievements","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAKAC,EAOAC,EA/BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GA0BtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file diff --git a/src/Main/LoopHook.js b/src/Main/LoopHook.js index 5ce57d77..91fbf016 100644 --- a/src/Main/LoopHook.js +++ b/src/Main/LoopHook.js @@ -1,3 +1,4 @@ +/* eslint-disable no-unused-vars */ import InitCache from '../Cache/CacheInit'; import LoopCache from '../Cache/CacheLoop'; import CacheNoGoldSwitchCPS from '../Cache/CPS/NoGoldSwitchCPS'; @@ -29,13 +30,14 @@ import CheckMagicMeter from './CheckStates/Grimoire'; import CheckSeasonPopup from './CheckStates/Season'; import CheckTickerFortune from './CheckStates/Ticker'; import CheckWrinklerCount from './CheckStates/Wrinkler'; -import { LastModCount } from './VariablesAndData'; +import { DateAtBeginLoop, LastModCount } from './VariablesAndData'; /** * Main loop of Cookie Monster * CM.init registers it to the "logic" hook provided by the modding api */ export default function CMLoopHook() { + DateAtBeginLoop = Date.now(); if (LastAscendState !== Game.OnAscend) { LastAscendState = Game.OnAscend; UpdateAscendState(); diff --git a/src/Main/VariablesAndData.js b/src/Main/VariablesAndData.js index 67fc80e5..429d7f30 100644 --- a/src/Main/VariablesAndData.js +++ b/src/Main/VariablesAndData.js @@ -21,3 +21,8 @@ export let LastSpawnedGoldenCookieState; export let LastMagicBarFull; export let CurrSpawnedGoldenCookieState; export let LastWrinklerCount; + +/** Stores the date at the beginning of a Main loop + * Calculations depending on time (God Cyclius) will all use same time + */ +export let DateAtBeginLoop; diff --git a/src/Sim/Calculations/CalculateGains.js b/src/Sim/Calculations/CalculateGains.js index fd42a0f8..5c11539e 100644 --- a/src/Sim/Calculations/CalculateGains.js +++ b/src/Sim/Calculations/CalculateGains.js @@ -1,6 +1,7 @@ /* eslint-disable no-unused-vars */ import GetCPSBuffMult from '../../Cache/CPS/GetCPSBuffMult'; import { CacheCentEgg } from '../../Cache/VariablesAndData'; +import { DateAtBeginLoop } from '../../Main/VariablesAndData'; import SimAuraMult from '../ReplacedGameFunctions/SimAuraMult'; import SimEff from '../ReplacedGameFunctions/SimEff'; import SimGetHeavenlyMultiplier from '../ReplacedGameFunctions/SimGetHeavenlyMultiplier'; @@ -92,13 +93,18 @@ export default function CalculateGains() { godLvl = SimHasGod('ages'); if (godLvl === 1) mult *= - 1 + 0.15 * Math.sin((Date.now() / 1000 / (60 * 60 * 3)) * Math.PI * 2); + 1 + + 0.15 * Math.sin((DateAtBeginLoop / 1000 / (60 * 60 * 3)) * Math.PI * 2); else if (godLvl === 2) mult *= - 1 + 0.15 * Math.sin((Date.now() / 1000 / (60 * 60 * 12)) * Math.PI * 2); + 1 + + 0.15 * + Math.sin((DateAtBeginLoop / 1000 / (60 * 60 * 12)) * Math.PI * 2); else if (godLvl === 3) mult *= - 1 + 0.15 * Math.sin((Date.now() / 1000 / (60 * 60 * 24)) * Math.PI * 2); + 1 + + 0.15 * + Math.sin((DateAtBeginLoop / 1000 / (60 * 60 * 24)) * Math.PI * 2); godLvl = SimHasGod('decadence'); if (godLvl === 1) buildMult *= 0.93; @@ -189,7 +195,7 @@ export default function CalculateGains() { if (SimHas('Century egg')) { // The boost increases a little every day, with diminishing returns up to +10% on the 100th day let day = - (Math.floor((Date.now() - Game.startDate) / 1000 / 10) * 10) / + (Math.floor((DateAtBeginLoop - Game.startDate) / 1000 / 10) * 10) / 60 / 60 / 24; From 3f08ed3e2dd7f09a0b885e43ba4a15d45cab94eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Sun, 4 Apr 2021 14:04:56 +0200 Subject: [PATCH 24/30] Additional fixes for #707 --- CookieMonster.js | 2 +- dist/CookieMonster.js | 2 +- dist/CookieMonster.js.map | 2 +- src/Main/LoopHook.js | 3 +-- .../ReplaceGameFunctions/ReplaceNative.js | 8 +++++++- src/Main/VariablesAndData.js | 9 ++++++--- src/Sim/Calculations/CalculateGains.js | 20 ++++++++++++++----- 7 files changed, 32 insertions(+), 14 deletions(-) diff --git a/CookieMonster.js b/CookieMonster.js index 024e1adf..74d19ed2 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x,T=[],M=[],S=[],P={};const B="CMText",E="CMBack",N="Blue",O="Green",F="Yellow",W="Orange",L="Red",A="Purple",j="Gray",D="Pink",H="Brown",U=[j,N,O,F,W,L,A,D,H],$=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],R={};let I,z,V=0,_=-1,Q=[],X=1,q=1,Y=1;const K=[10,15,30,60,300,600,900,1800],J=[1,5,10,15,30],Z={Frenzy:F,"Dragon Harvest":H,"Elder frenzy":O,Clot:L,"Click frenzy":N,Dragonflight:D};let ee,te,oe,ne,ie,ae,re,le={},se="",ce=[];function de(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return P.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${de(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function ue(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=O):(n=pe(t),o=t>300?L:t>60?W:F),{text:n,color:o}}let me,he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=1,pt=1,ut=1,mt=0,ht=0,gt=0,ft=0,Ct={},yt={},bt={},kt=0,Gt=0,vt=[0,null],wt=0,xt=0,Tt={},Mt={},St={},Pt={},Bt={},Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,$t=[],Rt=0,It=0,zt={},Vt={},_t=0,Qt=0,Xt=[],qt={},Yt=0,Kt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Jt=[],Zt=[],eo=[];function to(e){let t=0;return Game.dragonAuras[Ue].name!==e&&Game.dragonAuras[$e].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Ue].name&&"Reality Bending"!==Game.dragonAuras[$e].name||(t+=.1),t}function oo(){let e=.25;return e*=1+to("Earth Shatterer"),e}function no(e,t){return void 0===_e[e]?void 0===t?1:t:_e[e]}function io(e){const t=Zt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ao(e){if(Game.hasGod){void 0===Jt.Temple.minigame&&(Jt.Temple.minigame=Game.Objects.Temple.minigame);const t=Jt.Temple.minigame.gods[e];if(Re===t.id)return 1;if(Ie===t.id)return 2;if(ze===t.id)return 3}return!1}function ro(e,t){let o=t;if(io("Season savings")&&(o*=.99),io("Santa's dominion")&&(o*=.99),io("Faberge egg")&&(o*=.99),io("Divine discount")&&(o*=.99),io("Fortune #100")&&(o*=.99),o*=1-.02*to("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&io(e.fortune.name)&&(o*=.93),o*=no("buildingCost"),Jt.Temple.minigameLoaded){const e=ao("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function lo(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function so(){let t=Game.buyBulk;if(1===Game.buyMode?q=t:t=q,1===t?t=Ct:10===t?t=yt:100===t&&(t=bt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(Ct).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=de(lo(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(Ct).map((e=>{const t=Ct[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const t=Ct[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eU.indexOf(t.color)?1:U.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=Ct),10===i&&(i=yt),100===i&&(i=bt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=de(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=B+i[o].color,n=e.PPDisplayTime?pe(Math.round(i[o].pp)):de(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=ue((Game.Objects[o].bulkPrice-(Game.cookies+uo()))/po());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=B+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&io(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(io(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&io(e.fortune.name)&&(t*=1.07),e.grandma&&io(e.grandma.name)&&(t*=1+.01*Jt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&io(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function vo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;io("Thousand fingers")&&(t+=.1),io("Million fingers")&&(t*=5),io("Billion fingers")&&(t*=10),io("Trillion fingers")&&(t*=20),io("Quadrillion fingers")&&(t*=20),io("Quintillion fingers")&&(t*=20),io("Sextillion fingers")&&(t*=20),io("Septillion fingers")&&(t*=20),io("Octillion fingers")&&(t*=20),io("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Jt).forEach((e=>{"Cursor"!==Jt[e].name&&(n+=Jt[e].amount)})),t*=n,o*=Go(e),o*=Game.magicCpS("Cursor"),o*=no("cursorCps"),Game.ComputeCps(.1,io("Reinforced index finger")+io("Carpal tunnel prevention cream")+io("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{io(Game.GrandmaSynergies[e])&&(o*=2)})),io("Bingo center/Research facility")&&(o*=4),io("Ritual rolling pins")&&(o*=2),io("Naughty list")&&(o*=2),io("Elderwort biscuits")&&(o*=1.02),o*=no("grandmaCps"),io("Cat ladies"))for(let e=0;e{"Grandma"!==Jt[e].name&&(i+=Jt[e].amount)})),o*=1+.01*to("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=Go(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function wo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Jt).forEach((t=>{Jt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(io("Starlove")&&(e=3),Game.hasGod){const t=ao("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function xo(){Le=Game.UpgradesOwned,Ae=Game.pledges,je=Game.AchievementsOwned,De=Game.heavenlyPower,He=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Jt[e];void 0===o&&(Jt[e]=vo(e),o=Jt[e],ho(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Re=t.minigame.slot[0],Ie=t.minigame.slot[1],ze=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Jt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e]),o.bought=t.bought,Zt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=eo[e];void 0===o&&(eo[e]=ko(e),o=eo[e]),o.won=t.won,eo[e]=o})),bo(),Ue=qe,$e=Ye}function To(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function Mo(e){e.appendChild(To("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(To("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(To("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(To("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===oe){e.appendChild(To("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function So(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Bo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Eo(){if(xo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===oe?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(Mo(l("CMTooltipBorder")),1===Game.buyMode?Y=t:t=Y,1===Game.buyBulk?t=Ct:10===Game.buyBulk?t=yt:100===Game.buyBulk&&(t=bt),ee=Game.Objects[ne].bulkPrice,te=t[ne].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=de(te,2);const o=Math.round(te/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=B+t[ne].color,e.PPDisplayTime?l("CMTooltipPP").textContent=pe(t[ne].pp):l("CMTooltipPP").textContent=de(t[ne].pp,2),l("CMTooltipPP").className=B+t[ne].color;const n=ue((ee-(Game.cookies+uo()))/po());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ne[1]][ne[0]][0]-1].mature,o=t.plantsById[t.plot[ne[1]][ne[0]][0]-1].name;l("CMTooltipBorder").appendChild(To("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${de(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${de(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${de(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${de(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===oe?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(To("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=mo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==Z[Game.buffs[t].name]?Z[Game.buffs[t].name]:A,a.lastChild.children[1].className=E+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),re!==n&&(re=n,Co())}}(),go(),Eo(),function(){if(1===e.TooltipWrink&&1===V){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===Q[t]||void 0===Q[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),_=t,Q[t]=1}}else Q[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[_],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[_].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Jt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=de(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,de(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Oo(){me.addLatest(Game.computedMouseCps)}class Fo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Wo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Yt;Game.cpsSucked>0&&(o+=kt),Rt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-ke,i=Math.max(0,Game.cookies-Ge)/n,a=Math.max(0,kt-ve)/n,r=Math.max(0,vt[0]-we)/n,l=Math.max(0,o-ft)/n,s=(Game.cookieClicks-xe)/n;for(let e=0;e0&&(n=L),n}function Ao(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=j;else{t[n].color=Lo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+uo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Xt.push([t[n].pp,o])}))}function Do(){!function(){Qt=1/0,Xt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),jo(Ct,1),jo(yt,10),jo(bt,100),Xt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Xt[t][1]>Game.cookies&&(t+=1,Xt.length!==t+1););Qt=Xt[e.PPExcludeTop][t],Ao(Ct,1),Ao(yt,10),Ao(bt,100)}(),Object.keys(Tt).forEach((e=>{Game.cookiesPs?Tt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+uo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Tt[e].bonus:Tt[e].pp=Game.Upgrades[e].getPrice()/Tt[e].bonus,Number.isNaN(Tt[e].pp)&&(Tt[e].pp=1/0),Tt[e].color=Lo(Tt[e],Game.Upgrades[e].getPrice())}))}function Ho(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),_e=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(He)*De*function(){let e=0;if(io("Heavenly chip secret")&&(e+=.05),io("Heavenly cookie stand")&&(e+=.2),io("Heavenly bakery")&&(e+=.25),io("Heavenly confectionery")&&(e+=.25),io("Heavenly key")&&(e+=.25),e*=1+.05*to("Dragon God"),io("Lucky digit")&&(e*=1.01),io("Lucky number")&&(e*=1.01),io("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ao("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=no("cps"),io("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];io(o.name)&&("function"==typeof o.power?e*=1+.01*Zt[o.name].power(Zt[o.name]):e*=1+.01*o.power)})),io("Specialized chocolate chips")&&(e*=1.01),io("Designer cocoa beans")&&(e*=1.02),io("Underworld ovens")&&(e*=1.03),io("Exotic nuts")&&(e*=1.04),io("Arcane sugar")&&(e*=1.05),io("Increased merriness")&&(e*=1.15),io("Improved jolliness")&&(e*=1.15),io("A lump of coal")&&(e*=1.01),io("An itchy sweater")&&(e*=1.01),io("Santa's dominion")&&(e*=1.2),io("Fortune #100")&&(e*=1.01),io("Fortune #101")&&(e*=1.07),io("Dragon scale")&&(e*=1.03);let o=1;if(ao){let t=ao("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ao("ages"),1===t?e*=1+.15*Math.sin(w/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(w/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(w/1e3/86400*Math.PI*2)),t=ao("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ao("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ao("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}io("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=je/25;let i=1;if(io("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*to("Breath of Milk"),ao){const e=ao("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=no("milk");let a=1;io("Kitten helpers")&&(a*=1+.1*n*i),io("Kitten workers")&&(a*=1+.125*n*i),io("Kitten engineers")&&(a*=1+.15*n*i),io("Kitten overseers")&&(a*=1+.175*n*i),io("Kitten managers")&&(a*=1+.2*n*i),io("Kitten accountants")&&(a*=1+.2*n*i),io("Kitten specialists")&&(a*=1+.2*n*i),io("Kitten experts")&&(a*=1+.2*n*i),io("Kitten consultants")&&(a*=1+.2*n*i),io("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),io("Kitten marketeers")&&(a*=1+.15*n*i),io("Kitten analysts")&&(a*=1+.125*n*i),io("Kitten executives")&&(a*=1+.115*n*i),io("Kitten angels")&&(a*=1+.1*n*i),io("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Jt).forEach((e=>{const t=Jt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&io("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Qe+=t.amount*a})),io('"egg"')&&(Qe+=9),e*=a;let r=1;if(io("Chicken egg")&&(r*=1.01),io("Duck egg")&&(r*=1.01),io("Turkey egg")&&(r*=1.01),io("Quail egg")&&(r*=1.01),io("Robin egg")&&(r*=1.01),io("Ostrich egg")&&(r*=1.01),io("Cassowary egg")&&(r*=1.01),io("Salmon roe")&&(r*=1.01),io("Frogspawn")&&(r*=1.01),io("Shark egg")&&(r*=1.01),io("Turtle egg")&&(r*=1.01),io("Ant larva")&&(r*=1.01),io("Century egg")){let e=10*Math.floor((w-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),ht=1+.1*(1-(1-e/100)**3),r*=ht}e*=r,io("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+to("Radiant Appetite");const l=Qe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Uo(Game.CpsAchievements[e].name)})),Xe=l;const{n:s}=Game.shimmerTypes.golden,c=to("Dragon's Fortune");for(let t=0;t{io(e[o])&&(t+=.1)}))}e*=t}if(io("Shimmering veil [off]")){let t=.5;io("Reinforced membrane")&&(t+=.1),e*=1+t}io("Magic shenanigans")&&(e*=1e3),io("Occult obstruction")&&(e*=0),Qe=Game.runModHookOnValue("cps",Qe),e*=Po(),Qe*=e}const Ro=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Io=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],zo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Vo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],_o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Qo(e){return eo[e]?eo[e].won:0}function Xo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{io(Game.GrandmaSynergies[t])&&(e+=1)})),!Qo("Elder")&&e>=7&&Uo("Elder"),!Qo("Veteran")&&e>=14&&Uo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Jt).forEach((e=>{t+=Jt[e].amount,i=Math.min(Jt[e].amount,i),Qo("Mathematician")||Jt[e].amount=1&&Uo("One with everything"),1===o&&Uo("Mathematician"),1===n&&Uo("Base 10"),i>=100&&Uo("Centennial"),i>=150&&Uo("Centennial and a half"),i>=200&&Uo("Bicentennial"),i>=250&&Uo("Bicentennial and a half"),i>=300&&Uo("Tricentennial"),i>=350&&Uo("Tricentennial and a half"),i>=400&&Uo("Quadricentennial"),i>=450&&Uo("Quadricentennial and a half"),i>=500&&Uo("Quincentennial"),i>=550&&Uo("Quincentennial and a half"),i>=600&&Uo("Sexcentennial"),t>=100&&Uo("Builder"),t>=500&&Uo("Architect"),t>=1e3&&Uo("Engineer"),t>=2e3&&Uo("Lord of Constructs"),t>=4e3&&Uo("Grand design"),t>=8e3&&Uo("Ecumenopolis"),Le>=20&&Uo("Enhancer"),Le>=50&&Uo("Augmenter"),Le>=100&&Uo("Upgrader"),Le>=200&&Uo("Lord of Progress"),Le>=300&&Uo("The full picture"),Le>=400&&Uo("When there's nothing left to add"),t>=4e3&&Le>=300&&Uo("Polymath"),t>=8e3&&Le>=400&&Uo("Renaissance baker"),Jt.Cursor.amount+Jt.Grandma.amount>=777&&Uo("The elder scrolls");let a=!0;Object.keys(Io).forEach((e=>{io(Io[e])||(a=!1)})),a&&Uo("Spooky cookies");let r=!0;if(Object.keys(zo).forEach((e=>{io(zo[e])||(r=!1)})),r&&Uo("Let it snow"),io("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{io(e[o].name)&&(t+=1)})),t>=e.length&&Uo("O Fortuna")}}function qo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){xo(),Jt[e].amount+=t;const o=Jt[e];"Cursor"===e?(o.amount>=1&&Uo("Click"),o.amount>=2&&Uo("Double-click"),o.amount>=50&&Uo("Mouse wheel"),o.amount>=100&&Uo("Of Mice and Men"),o.amount>=200&&Uo("The Digital"),o.amount>=300&&Uo("Extreme polydactyly"),o.amount>=400&&Uo("Dr. T"),o.amount>=500&&Uo("Thumbs, phalanges, metacarpals"),o.amount>=600&&Uo("With her finger and her thumb"),o.amount>=700&&Uo("Gotta hand it to you"),o.amount>=800&&Uo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Uo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=je;return $o(),Xo(),n!==je&&$o(),Qe-Game.cookiesPs}(o,e),1!==e&&(Oe=1)})),t}function Yo(){Object.keys(Game.Objects).forEach((e=>{Ct[e].price=Ho(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),yt[e].price=Ho(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),bt[e].price=Ho(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Ko(){Ct=qo(1),yt=qo(10),bt=qo(100),Tt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){xo(),"Shimmering veil [on]"===Zt[e].name?Zt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Zt[e].name?Zt["Golden switch [off]"].bought=0:Zt[e].bought=(Zt[e].bought+1)%2,Zt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Le+=1),"Elder Pledge"===e?(Ae+=1,Ae>0&&Uo("Elder nap"),Ae>=5&&Uo("Elder slumber")):"Elder Covenant"===e?Uo("Elder calm"):"Prism heart biscuits"===e?Uo("Lovely cookies"):"Heavenly key"===e&&Uo("Wholesome");const t=je;$o(),Xo(),t!==je&&$o();const o=function(){let e=0;io("Thousand fingers")&&(e+=.1),io("Million fingers")&&(e*=5),io("Billion fingers")&&(e*=10),io("Trillion fingers")&&(e*=20),io("Quadrillion fingers")&&(e*=20),io("Quintillion fingers")&&(e*=20),io("Sextillion fingers")&&(e*=20),io("Septillion fingers")&&(e*=20),io("Octillion fingers")&&(e*=20),io("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Jt).forEach((e=>{t+=Jt[e].amount})),t-=Jt.Cursor.amount,e*=t,io("Plastic mouse")&&(e+=.01*Qe),io("Iron mouse")&&(e+=.01*Qe),io("Titanium mouse")&&(e+=.01*Qe),io("Adamantium mouse")&&(e+=.01*Qe),io("Unobtainium mouse")&&(e+=.01*Qe),io("Eludium mouse")&&(e+=.01*Qe),io("Wishalloy mouse")&&(e+=.01*Qe),io("Fantasteel mouse")&&(e+=.01*Qe),io("Nevercrack mouse")&&(e+=.01*Qe),io("Armythril mouse")&&(e+=.01*Qe),io("Technobsidian mouse")&&(e+=.01*Qe),io("Plasmarble mouse")&&(e+=.01*Qe),io("Miraculite mouse")&&(e+=.01*Qe),io("Fortune #104")&&(e+=.01*Qe);let o=1;if(io("Santa's helpers")&&(o*=1.1),io("Cookie egg")&&(o*=1.1),io("Halo gloves")&&(o*=1.1),io("Dragon claw")&&(o*=1.03),io("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,io("Luminous gloves")?20:10)),o*=no("click"),Jt.Temple.minigameLoaded&&ao){const e=ao("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*to("Dragon Cursor");let n=o*Game.ComputeCps(1,io("Reinforced index finger")+io("Carpal tunnel prevention cream")+io("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Qe-Game.cookiesPs,o]:[Qe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Tt[t]={bonus:Game.cookiesPs-Te},1===e.CalcWrink?Tt[t].bonus-=Me:2===e.CalcWrink&&(Tt[t].bonus-=Se),Number.isFinite(Tt[t].bonus)||(Tt[t].bonus=0)):(Tt[t]={},o[0]&&(Tt[t].bonus=o[0]),o[1]&&(Tt[t].bonusMouse=o[1]))}))}function Jo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ot=Jo(7,e,pt),Et=2*Ot[1]/pt,Nt=Ot[2]/60/60/6/dt,Lt=Jo(6,e,ut),Ft=2*Lt[1]/ut,Wt=Lt[2]/60/60/6/dt,Dt=Jo(7,7*e,pt),At=2*Dt[1]/pt,jt=Dt[2]/60/60/6/dt,$t=Jo(6,7*e,ut),Ht=2*$t[1]/ut,Ut=$t[2]/60/60/6/dt}function en(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ee,i=Math.max(0,o-Ne)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Pt+=e:"cookie"===o.pool?Bt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(St+=e)}}))}function on(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),gt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(gt*=2)}}function nn(){Ze=900*ct/.15,Ze*=dt;const e=Po();e>0?Ze/=e:Ze=0,et=pt*(.15*Ze)+13,tt=ut*(.15*Ze)+13,ot=7*Ze,nt=pt*(.15*ot)+13,it=ut*(.15*ot)+13,at=2*Ze,rt=.15*at,lt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountlt&&(lt=2*Game.Objects[e].price,st=e)}))}function an(){let e=1,t=1,o=1;io("Green yeast digestives")&&(o*=1.01),io("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),pt=o*e,ut=o*t,dt=1,0===Game.shimmerTypes.golden.n&&(dt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function rn(){kt=0,Gt=0,vt=[0,null];for(let e=0;evt[0]&&(vt=[t,e]))}}function ln(){bo(),rn(),nn(),an(),Zo(),tn(),on(),he=new Fo(K[K.length-1]),ge=new Fo(K[K.length-1]),fe=new Fo(K[K.length-1]),Ce=new Fo(K[K.length-1]),ye=new Fo(J[J.length-1]),be=new Fo(5),me=new Fo(20*J[J.length-1]),en(),Wo(),Ko(),Yo(),Do()}const sn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},cn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function dn(){1===e.BotBar?(l("CMBotBar").style.display="",go()):l("CMBotBar").style.display="none",Co()}function pn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),go(),so(),co()}function un(){1===e.Favicon&&y>0?zt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class mn{constructor(e,t){this.type=e,this.group=t}}class hn extends mn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class gn extends mn{constructor(e,t,o){super(e,t),this.desc=o}}class fn extends mn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class Cn extends mn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const yn={CPSMode:new hn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new hn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new hn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new hn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){Ve=!0})),Scale:new hn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){pn()})),ScaleDecimals:new hn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){pn()})),ScaleSeparator:new hn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){pn()})),ScaleCutoff:new Cn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new hn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new hn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=z:Game.sayTime=P.sayTime})),PPDisplayTime:new hn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new hn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){so()})),PPOnlyConsiderBuyable:new hn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new hn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new hn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new Cn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new gn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new gn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new gn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new gn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new gn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new gn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new gn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new gn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new gn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new hn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){dn()})),TimerBar:new hn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){yo()})),TimerBarPos:new hn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),Co()})),TimerBarOverlay:new hn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new hn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",co()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",co()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new hn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new hn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){so()})),SortUpgrades:new hn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){co()})),DragonAuraInfo:new hn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new hn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new hn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(le).forEach((e=>{le[e].style.display="block",le[e].style.left=qt[e].l.style.left,le[e].style.top=qt[e].l.style.top})):Object.keys(le).forEach((e=>le[e].style.display="none"))})),Favicon:new hn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){un()})),WrinklerButtons:new hn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new hn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new hn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new hn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new hn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new hn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new hn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new hn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new hn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new Cn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new hn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new hn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Bo()})),TooltipGrim:new hn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new hn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new hn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new hn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new hn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new hn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new hn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new hn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new hn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new hn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new Cn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new hn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new hn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new hn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new hn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){cn(e.GCNotification)})),GCFlash:new hn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new gn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new hn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new fn("vol","NotificationGC",[],"Volume"),GCSoundURL:new hn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new hn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){cn(e.FortuneNotification)})),FortuneFlash:new hn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new gn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new hn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new fn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new hn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new hn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){cn(e.SeaNotification)})),SeaFlash:new hn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new gn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new hn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new fn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new hn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new hn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new gn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new hn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new fn("vol","NotificationGard",[],"Volume"),GardSoundURL:new hn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new hn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){cn(e.MagicNotification)})),MagicFlash:new hn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new gn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new hn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new fn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new hn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new hn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){cn(e.WrinklerNotification)})),WrinklerFlash:new hn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new gn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new hn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new fn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new hn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new hn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){cn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new hn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new gn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new hn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new fn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new hn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new hn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new hn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function bn(){return JSON.stringify({favouriteSettings:ce,settings:e,version:"2.031.6"})}function kn(){if(Ke!==Game.dragonLevel||Ve){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Jt[e]=vo(e)})),Zt=[],Object.keys(Game.Upgrades).forEach((e=>{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Achievements).forEach((e=>{eo[e]=ko(e)})),xo()}let wn=!1;function xn(t,o,n){(1===e[o]||n)&&3===t&&!1===wn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){xn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){xn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){xn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Tn(t,o,n,i){if((1===e[o]||i)&&!1===wn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Mn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===wn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Sn(){if(w=Date.now(),ae!==Game.OnAscend&&(ae=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(dn(),yo()),fo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(vn(),ln(),r=Object.keys(Game.mods).length),Ve&&(Ko(),Game.Has("Golden switch [off]")?(xo(),Zt["Golden switch [off]"].bought=0,$o(),ct=Qe):ct=Game.cookiesPs,an(),nn(),tn(),Zo(),kn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Kt[e][t]=Gn(e,t)}(),on(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;xo();let t=2;5!==Ue&&18!==Ue||(t-=1),5!==$e&&18!==$e||(t-=1),Ue=5,$e=18;for(let e=0;e{Jt[t].amount>0&&(e=t)})),Jt[e].amount-=1,We-=1}return Object.keys(Jt).forEach((t=>{const o=Jt[t];e+=lo(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Yt=e}(),Ve=0);const t=Game.auraMult("Fierce Hoarder")>0;!Fe&&t?(Fe=!0,Oe=1):Fe&&!t&&(Fe=!1,Oe=1),Oe&&(Yo(),Oe=0),function(){rn(),Do(),function(){wt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Jt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}xt=e,wt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Wo(),en();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);_t=pe(e/po())}(),G=0,qt={},Object.keys(Game.shimmers).forEach((e=>{qt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(zt=Game.shimmers[e],G+=1)})),Object.keys(le).forEach((e=>{void 0===qt[e]&&(le[e].parentNode.removeChild(le[e]),delete le[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===le[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},le[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),un(),b=G,0===G&&(zt=0)):1===e.GCTimer&&y&&Object.keys(le).forEach((e=>{le[e].style.opacity=qt[e].l.style.opacity,le[e].style.transform=qt[e].l.style.transform,le[e].textContent=Math.ceil(qt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(xn(3,"FortuneFlash",!1),Tn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Mn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(Vt=Game.shimmers[e])})),xn(3,"SeaFlash",!1),Tn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Mn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?xn(3,"WrinklerMaxFlash",!1):xn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Tn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Tn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Mn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Mn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Pn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=sn[t]):"Header"===t&&Object.keys(sn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=sn[t][n])}))})),o&&Bn(),Sn(),Object.keys(sn).forEach((e=>{"Header"!==e&&void 0!==yn[e].func&&yn[e].func()}))}else En(sn);Game.UpdateMenu(),Pn()}function Nn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function On(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Ho(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${de(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${ue((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(de(Game.Objects[o].bulkPrice)).join(de((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return oe=t,ne=o,Eo(),l("tooltip").innerHTML}function Fn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(M[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Wn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Bn()}function $n(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Un(o),Game.UpdateMenu()},n.appendChild(i),n}function Rn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function In(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function zn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild($n("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+uo(){Game.HasUnlocked(_o[e])||c.push(_o[e])})),0!==c.length&&e.appendChild(Rn("basic","Rare plant drops left to unlock",In(c))),e}())),o.appendChild($n("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Rt+Game.cookiesReset+kt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?ft:0)));t.appendChild(Rn("withTooltip","Prestige level (cur / max)",document.createTextNode(`${de(Game.prestige)} / ${de(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Rt+Game.cookiesReset+kt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&ft?ft:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(de(n)));const a=document.createElement("small");a.textContent=` (${pe(n/It,1)})`,i.appendChild(a),t.appendChild(Rn("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Rn("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${de(Game.heavenlyChips)} / ${de(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Rn("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(de(mt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Rn("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(de(e)))),t.appendChild(Rn("basic","Time till target (cur, current 5 second average)",document.createTextNode(pe(e/mt)))))}const l=function(e){let t=Game.cookiesPs;xo(),0===Zt["Heavenly key"].bought&&(Zt["Heavenly chip secret"].bought=1,Zt["Heavenly cookie stand"].bought=1,Zt["Heavenly bakery"].bought=1,Zt["Heavenly confectionery"].bought=1,Zt["Heavenly key"].bought=1,$o(),t=Qe,xo()),Rt>=1e6&&Uo("Sacrifice"),Rt>=1e9&&Uo("Oblivion"),Rt>=1e12&&Uo("From scratch"),Rt>=1e15&&Uo("Nihilism"),Rt>=1e18&&Uo("Dematerialize"),Rt>=1e21&&Uo("Nil zero zilch"),Rt>=1e24&&Uo("Transcendence"),Rt>=1e27&&Uo("Obliterate"),Rt>=1e30&&Uo("Negative void"),Rt>=1e33&&Uo("To crumbs, you say?"),Rt>=1e36&&Uo("You get nothing"),Rt>=1e39&&Uo("Humble rebeginnings"),Rt>=1e42&&Uo("The end of the world"),Rt>=1e45&&Uo("Oh, you're back"),Rt>=1e48&&Uo("Lazarus"),Rt>=1e51&&Uo("Smurf account"),Rt>=1e54&&Uo("If at first you don't succeed"),Zt["Heavenly chip secret"].bought=1,Zt["Heavenly cookie stand"].bought=1,Zt["Heavenly bakery"].bought=1,Zt["Heavenly confectionery"].bought=1,Zt["Heavenly key"].bought=1,He=e;const o=je;$o(),Xo(),o!==je&&$o();const n=Qe-t;return He=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(de(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Rn("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild($n("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${de(kt)} / ${de(Gt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Nn()},e.appendChild(t),o.appendChild(Rn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${de(vt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==vt[1]&&(Game.wrinklers[vt[1]].hp=0)},n.appendChild(i),o.appendChild(Rn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==vt[1]?vt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Io).forEach((e=>{Game.Has(Io[e])||(n.push(Io[e]),o=!0)}));const i=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(i.push(zo[e]),o=!0)}));const a=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(a.push(Vo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild($n("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Rn("basic","Halloween cookies left to buy",In(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Rn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${de((1-e)*o*100)}% / ${de((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Rn("basic","Christmas cookies left to buy",In(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Rn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${de((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Rn("basic","Valentine cookies left to buy",In(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Rn("basic","Normal easter eggs left to unlock",In(r))),t.appendChild(Rn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${de(100*e(.98)[0])}% / ${de(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Rn("basic","Rare easter eggs left to unlock",In(l))),t.appendChild(Rn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${de(100*e(.98)[1])}% / ${de(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Rn("basic","Reindeer reward",document.createTextNode(de(gt)))),s&&t.appendChild(Rn("withTooltip","Chocolate egg cookies",document.createTextNode(de(ft)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Rn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(ht-1))/100+"%")))}return t}()),o.appendChild($n("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Rn("basic",`Average cookies per second (past ${K[e.AvgCPSHist]<60?`${K[e.AvgCPSHist]} seconds`:K[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(de(po(),3)))),o.appendChild(Rn("basic",`Average cookie clicks per second (past ${J[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(de(Mt,1)))),o.appendChild(Rn("basic",`Cookies from clicking (past ${J[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(de(me.calcSum(Mt*J[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Ro).forEach((t=>{Game.Has(Ro[t])||e.push(Ro[t])})),0!==e.length&&o.appendChild(Rn("basic","Fortune Upgrades Left to Buy",In(e)))}if(e.ShowMissedGC&&o.appendChild(Rn("basic","Missed golden cookies",document.createTextNode(de(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Rn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const Vn={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},_n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Qn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Un(t),Game.UpdateMenu()},n.appendChild(i),n}function Xn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return ce.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){ce.includes(e)?ce=ce.filter((function(t){return t!==e})):ce.push(e)}(e),Bn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(R.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===yn[t].type){const n=document.createElement("a");yn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Dn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===yn[t].label.length?(e[t]=0,yn[t].toggle&&(l(Dn+t).className="option off")):l(Dn+t).className="option",void 0!==yn[t].func&&yn[t].func(),l(Dn+t).innerHTML=yn[t].label[e[t]],Bn()}(t)},n.textContent=yn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=yn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===yn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=yn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Hn(t)},r.onchange=function(){Hn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Tn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===yn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${yn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Dn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Dn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Bn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=yn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===yn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new An(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Pn(),Bn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=yn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){xn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),jn().init(),o}if("numscale"===yn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${yn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Dn+t,i.className="option",i.type="number",i.value=e[t],i.min=yn[t].min,i.max=yn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Bn(),pn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=yn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function qn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Yn(){P.Beautify=Beautify,Beautify=de,P.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){P.CalculateGains(),Ve=1},P.tooltip={},P.tooltip.draw=Game.tooltip.draw,P.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){P.tooltip.drawMod(e,t,o)},P.tooltip.update=Game.tooltip.update,P.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){P.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},P.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){qn(P.UpdateWrinklers)},P.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){qn(P.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){qn(Game.ClickCookie)}),!1),P.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){P.RebuildUpgrades(),S=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(S[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},P.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Jt[Game.ObjectsById[e].name].name;Jt[o].amount-=1,We-=1,t=Jt[o].basePrice*Game.priceIncrease**Math.max(0,Jt[o].amount-1-Jt[o].free),t=Game.modifyBuildingPrice(Jt[o],t),t=Math.ceil(t);break}const o=je;return $o(),Xo(),o!==je&&$o(),[Qe-Game.cookiesPs,t]}(t),n=pe(o/(e+Game.cookiesPs)),i=de(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${de(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},P.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){P.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Je}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},P.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==jn().picker&&void 0!==jn().picker.owner||(P.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Vn).forEach((t=>{if("Favourite"===t){if(0!==ce.length&&e.FavouriteSettings>0&&(o.appendChild(Qn(t,Vn[t])),e.Header[t]))for(let e=0;e{const n=Qn(t,_n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(yn).forEach((e=>{yn[e].group===t&&o.appendChild(Xn(e))}))})):Object.keys(yn).forEach((e=>{yn[e].group===t&&o.appendChild(Xn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){En(sn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",zn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Un("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},P.sayTime=Game.sayTime,z=function(e,t){return Number.isNaN(e)||e<=0?P.sayTime(e,t):pe(e/Game.fps,1)},P.Logic=Game.Logic,Game.Logic=function(){P.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),se=`${Game.OnAscend?"Ascending! ":""}${de(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=se;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=zt?zt.wrath?`[W${Math.ceil(zt.life/Game.fps)}]`:`[G${Math.ceil(zt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(Vt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=se;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;zt&&(t=!0,zt.wrath?e+=`[W${Math.ceil(zt.life/Game.fps)}]`:e+=`[G${Math.ceil(zt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(Vt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${de(Game.prestige)}.
(CpS +${de(Game.prestige)}%)`,n+='
'),n+=Ne<1?"Ascending now would grant you no prestige.":Ne<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${de(Ne)} prestige levels (+${de(Ne)}% CpS)
and ${de(Ne)} heavenly chips to spend.`,n+='
',n+=`You need ${de(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${_t} to reach the next level and you were making ${de(mt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Kn(){vn(),nn(),ln(),r=Object.keys(Game.mods).length,x=document.createElement("style"),x.type="text/css",x.id="CMCSS",document.head.appendChild(x),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=B+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",F)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",N)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",N)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",N)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{ho(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=mo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:j},{id:"CMTimerBarGCBar",color:A}]);e.appendChild(t);const o=mo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:j},{id:"CMTimerBarRenBar",color:W}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=E+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(N,"Better than the best PP of a building option")),e.appendChild(o(O,"Same as the best PP building option")),e.appendChild(o(F,"Within the top 10 of PP for buildings")),e.appendChild(o(W,"Within the top 20 of PP for buildings")),e.appendChild(o(L,"Within the top 30 of PP for buildings")),e.appendChild(o(A,"Outside of the top 30 of PP for buildings")),e.appendChild(o(j,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=B+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",N)),e.appendChild(o("CMUpgradeBarGreen",O)),e.appendChild(o("CMUpgradeBarYellow",F)),e.appendChild(o("CMUpgradeBarOrange",W)),e.appendChild(o("CMUpgradeBarRed",L)),e.appendChild(o("CMUpgradeBarPurple",A)),e.appendChild(o("CMUpgradeBarGray",j)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys($).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}($[e][0],$[e][1],$[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Nn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==vt[1]&&(Game.wrinklers[vt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(T[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Fn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Ln()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){V=1},l("backgroundLeftCanvas").onmouseout=function(){V=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{Q[e]=0}))},Yn(),Ln(),Game.CalculateGains(),En(),I=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Jn={init:function(){wn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Kn(),Game.registerHook("draw",No),Game.registerHook("logic",Sn),Game.registerHook("click",Oo),wn=!1)},load:function(e){const t=JSON.parse(e);vn(),void 0!==t.favouriteSettings&&(ce=t.favouriteSettings),En(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:bn};Game.registerMod("CookieMonster",Jn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x,T,M=[],S=[],P=[],B={};const E="CMText",N="CMBack",O="Blue",F="Green",W="Yellow",L="Orange",A="Red",j="Purple",D="Gray",H="Pink",U="Brown",$=[D,O,F,W,L,A,j,H,U],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],I={};let z,V,_=0,Q=-1,X=[],q=1,Y=1,K=1;const J=[10,15,30,60,300,600,900,1800],Z=[1,5,10,15,30],ee={Frenzy:W,"Dragon Harvest":U,"Elder frenzy":F,Clot:A,"Click frenzy":O,Dragonflight:H};let te,oe,ne,ie,ae,re,le,se={},ce="",de=[];function pe(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return B.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${pe(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function me(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=F):(n=ue(t),o=t>300?A:t>60?L:W),{text:n,color:o}}let he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=0,pt=1,ut=1,mt=1,ht=0,gt=0,ft=0,Ct=0,yt={},bt={},kt={},Gt=0,vt=0,wt=[0,null],xt=0,Tt=0,Mt={},St={},Pt={},Bt={},Et={},Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,$t=0,Rt=[],It=0,zt=0,Vt={},_t={},Qt=0,Xt=0,qt=[],Yt={},Kt=0,Jt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Zt=[],eo=[],to=[];function oo(e){let t=0;return Game.dragonAuras[$e].name!==e&&Game.dragonAuras[Re].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[$e].name&&"Reality Bending"!==Game.dragonAuras[Re].name||(t+=.1),t}function no(){let e=.25;return e*=1+oo("Earth Shatterer"),e}function io(e,t){return void 0===Qe[e]?void 0===t?1:t:Qe[e]}function ao(e){const t=eo[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ro(e){if(Game.hasGod){void 0===Zt.Temple.minigame&&(Zt.Temple.minigame=Game.Objects.Temple.minigame);const t=Zt.Temple.minigame.gods[e];if(Ie===t.id)return 1;if(ze===t.id)return 2;if(Ve===t.id)return 3}return!1}function lo(e,t){let o=t;if(ao("Season savings")&&(o*=.99),ao("Santa's dominion")&&(o*=.99),ao("Faberge egg")&&(o*=.99),ao("Divine discount")&&(o*=.99),ao("Fortune #100")&&(o*=.99),o*=1-.02*oo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&ao(e.fortune.name)&&(o*=.93),o*=io("buildingCost"),Zt.Temple.minigameLoaded){const e=ro("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function so(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function co(){let t=Game.buyBulk;if(1===Game.buyMode?Y=t:t=Y,1===t?t=yt:10===t?t=bt:100===t&&(t=kt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(yt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=pe(so(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(yt).map((e=>{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;e$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.ppe.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?q=i:i=q,1===i&&(i=yt),10===i&&(i=bt),100===i&&(i=kt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=pe(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=E+i[o].color,n=e.PPDisplayTime?ue(Math.round(i[o].pp)):pe(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=me((Game.Objects[o].bulkPrice-(Game.cookies+mo()))/uo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=E+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&ao(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(ao(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&ao(e.fortune.name)&&(t*=1.07),e.grandma&&ao(e.grandma.name)&&(t*=1+.01*Zt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&ao(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function wo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;ao("Thousand fingers")&&(t+=.1),ao("Million fingers")&&(t*=5),ao("Billion fingers")&&(t*=10),ao("Trillion fingers")&&(t*=20),ao("Quadrillion fingers")&&(t*=20),ao("Quintillion fingers")&&(t*=20),ao("Sextillion fingers")&&(t*=20),ao("Septillion fingers")&&(t*=20),ao("Octillion fingers")&&(t*=20),ao("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Zt).forEach((e=>{"Cursor"!==Zt[e].name&&(n+=Zt[e].amount)})),t*=n,o*=vo(e),o*=Game.magicCpS("Cursor"),o*=io("cursorCps"),Game.ComputeCps(.1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{ao(Game.GrandmaSynergies[e])&&(o*=2)})),ao("Bingo center/Research facility")&&(o*=4),ao("Ritual rolling pins")&&(o*=2),ao("Naughty list")&&(o*=2),ao("Elderwort biscuits")&&(o*=1.02),o*=io("grandmaCps"),ao("Cat ladies"))for(let e=0;e{"Grandma"!==Zt[e].name&&(i+=Zt[e].amount)})),o*=1+.01*oo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=vo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function xo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Zt).forEach((t=>{Zt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(ao("Starlove")&&(e=3),Game.hasGod){const t=ro("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function To(){Ae=Game.UpgradesOwned,je=Game.pledges,De=Game.AchievementsOwned,He=Game.heavenlyPower,Ue=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e],go(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ie=t.minigame.slot[0],ze=t.minigame.slot[1],Ve=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Zt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=eo[e];void 0===o&&(eo[e]=xo(e),o=eo[e]),o.bought=t.bought,eo[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=to[e];void 0===o&&(to[e]=Go(e),o=to[e]),o.won=t.won,to[e]=o})),ko(),$e=Ye,Re=Ke}function Mo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function So(e){e.appendChild(Mo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(Mo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(Mo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(Mo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ne){e.appendChild(Mo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Po(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Eo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function No(){if(To(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ne?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(So(l("CMTooltipBorder")),1===Game.buyMode?K=t:t=K,1===Game.buyBulk?t=yt:10===Game.buyBulk?t=bt:100===Game.buyBulk&&(t=kt),te=Game.Objects[ie].bulkPrice,oe=t[ie].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=pe(oe,2);const o=Math.round(oe/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=E+t[ie].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ue(t[ie].pp):l("CMTooltipPP").textContent=pe(t[ie].pp,2),l("CMTooltipPP").className=E+t[ie].color;const n=me((te-(Game.cookies+mo()))/uo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ie[1]][ie[0]][0]-1].mature,o=t.plantsById[t.plot[ie[1]][ie[0]][0]-1].name;l("CMTooltipBorder").appendChild(Mo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${pe(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${pe(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${pe(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${pe(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ne?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(Mo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=ho(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==ee[Game.buffs[t].name]?ee[Game.buffs[t].name]:j,a.lastChild.children[1].className=N+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),le!==n&&(le=n,yo())}}(),fo(),No(),function(){if(1===e.TooltipWrink&&1===_){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===X[t]||void 0===X[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),Q=t,X[t]=1}}else X[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[Q],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[Q].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Zt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=pe(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,pe(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Fo(){he.addLatest(Game.computedMouseCps)}class Wo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Lo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Kt;Game.cpsSucked>0&&(o+=Gt),It=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ge,i=Math.max(0,Game.cookies-ve)/n,a=Math.max(0,Gt-we)/n,r=Math.max(0,wt[0]-xe)/n,l=Math.max(0,o-Ct)/n,s=(Game.cookieClicks-Te)/n;for(let e=0;e0&&(n=A),n}function jo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=D;else{t[n].color=Ao(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+mo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||qt.push([t[n].pp,o])}))}function Ho(){!function(){Xt=1/0,qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Do(yt,1),Do(bt,10),Do(kt,100),qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;qt[t][1]>Game.cookies&&(t+=1,qt.length!==t+1););Xt=qt[e.PPExcludeTop][t],jo(yt,1),jo(bt,10),jo(kt,100)}(),Object.keys(Mt).forEach((e=>{Game.cookiesPs?Mt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+mo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Mt[e].bonus:Mt[e].pp=Game.Upgrades[e].getPrice()/Mt[e].bonus,Number.isNaN(Mt[e].pp)&&(Mt[e].pp=1/0),Mt[e].color=Ao(Mt[e],Game.Upgrades[e].getPrice())}))}function Uo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Qe=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ue)*He*function(){let e=0;if(ao("Heavenly chip secret")&&(e+=.05),ao("Heavenly cookie stand")&&(e+=.2),ao("Heavenly bakery")&&(e+=.25),ao("Heavenly confectionery")&&(e+=.25),ao("Heavenly key")&&(e+=.25),e*=1+.05*oo("Dragon God"),ao("Lucky digit")&&(e*=1.01),ao("Lucky number")&&(e*=1.01),ao("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ro("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=io("cps"),ao("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];ao(o.name)&&("function"==typeof o.power?e*=1+.01*eo[o.name].power(eo[o.name]):e*=1+.01*o.power)})),ao("Specialized chocolate chips")&&(e*=1.01),ao("Designer cocoa beans")&&(e*=1.02),ao("Underworld ovens")&&(e*=1.03),ao("Exotic nuts")&&(e*=1.04),ao("Arcane sugar")&&(e*=1.05),ao("Increased merriness")&&(e*=1.15),ao("Improved jolliness")&&(e*=1.15),ao("A lump of coal")&&(e*=1.01),ao("An itchy sweater")&&(e*=1.01),ao("Santa's dominion")&&(e*=1.2),ao("Fortune #100")&&(e*=1.01),ao("Fortune #101")&&(e*=1.07),ao("Dragon scale")&&(e*=1.03);let o=1;if(ro){let t=ro("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ro("ages"),1===t?e*=1+.15*Math.sin(w/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(w/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(w/1e3/86400*Math.PI*2)),t=ro("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ro("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ro("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}ao("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=De/25;let i=1;if(ao("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*oo("Breath of Milk"),ro){const e=ro("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=io("milk");let a=1;ao("Kitten helpers")&&(a*=1+.1*n*i),ao("Kitten workers")&&(a*=1+.125*n*i),ao("Kitten engineers")&&(a*=1+.15*n*i),ao("Kitten overseers")&&(a*=1+.175*n*i),ao("Kitten managers")&&(a*=1+.2*n*i),ao("Kitten accountants")&&(a*=1+.2*n*i),ao("Kitten specialists")&&(a*=1+.2*n*i),ao("Kitten experts")&&(a*=1+.2*n*i),ao("Kitten consultants")&&(a*=1+.2*n*i),ao("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),ao("Kitten marketeers")&&(a*=1+.15*n*i),ao("Kitten analysts")&&(a*=1+.125*n*i),ao("Kitten executives")&&(a*=1+.115*n*i),ao("Kitten angels")&&(a*=1+.1*n*i),ao("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Zt).forEach((e=>{const t=Zt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&ao("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Xe+=t.amount*a})),ao('"egg"')&&(Xe+=9),e*=a;let r=1;if(ao("Chicken egg")&&(r*=1.01),ao("Duck egg")&&(r*=1.01),ao("Turkey egg")&&(r*=1.01),ao("Quail egg")&&(r*=1.01),ao("Robin egg")&&(r*=1.01),ao("Ostrich egg")&&(r*=1.01),ao("Cassowary egg")&&(r*=1.01),ao("Salmon roe")&&(r*=1.01),ao("Frogspawn")&&(r*=1.01),ao("Shark egg")&&(r*=1.01),ao("Turtle egg")&&(r*=1.01),ao("Ant larva")&&(r*=1.01),ao("Century egg")){let e=10*Math.floor((x-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),gt=1+.1*(1-(1-e/100)**3),r*=gt}e*=r,ao("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+oo("Radiant Appetite");const l=Xe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&$o(Game.CpsAchievements[e].name)})),qe=l;const{n:s}=Game.shimmerTypes.golden,c=oo("Dragon's Fortune");for(let t=0;t{ao(e[o])&&(t+=.1)}))}e*=t}if(ao("Shimmering veil [off]")){let t=.5;ao("Reinforced membrane")&&(t+=.1),e*=1+t}ao("Magic shenanigans")&&(e*=1e3),ao("Occult obstruction")&&(e*=0),Xe=Game.runModHookOnValue("cps",Xe),e*=Bo(),Xe*=e}const Io=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],zo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Vo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],_o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Qo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Xo(e){return to[e]?to[e].won:0}function qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{ao(Game.GrandmaSynergies[t])&&(e+=1)})),!Xo("Elder")&&e>=7&&$o("Elder"),!Xo("Veteran")&&e>=14&&$o("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount,i=Math.min(Zt[e].amount,i),Xo("Mathematician")||Zt[e].amount=1&&$o("One with everything"),1===o&&$o("Mathematician"),1===n&&$o("Base 10"),i>=100&&$o("Centennial"),i>=150&&$o("Centennial and a half"),i>=200&&$o("Bicentennial"),i>=250&&$o("Bicentennial and a half"),i>=300&&$o("Tricentennial"),i>=350&&$o("Tricentennial and a half"),i>=400&&$o("Quadricentennial"),i>=450&&$o("Quadricentennial and a half"),i>=500&&$o("Quincentennial"),i>=550&&$o("Quincentennial and a half"),i>=600&&$o("Sexcentennial"),t>=100&&$o("Builder"),t>=500&&$o("Architect"),t>=1e3&&$o("Engineer"),t>=2e3&&$o("Lord of Constructs"),t>=4e3&&$o("Grand design"),t>=8e3&&$o("Ecumenopolis"),Ae>=20&&$o("Enhancer"),Ae>=50&&$o("Augmenter"),Ae>=100&&$o("Upgrader"),Ae>=200&&$o("Lord of Progress"),Ae>=300&&$o("The full picture"),Ae>=400&&$o("When there's nothing left to add"),t>=4e3&&Ae>=300&&$o("Polymath"),t>=8e3&&Ae>=400&&$o("Renaissance baker"),Zt.Cursor.amount+Zt.Grandma.amount>=777&&$o("The elder scrolls");let a=!0;Object.keys(zo).forEach((e=>{ao(zo[e])||(a=!1)})),a&&$o("Spooky cookies");let r=!0;if(Object.keys(Vo).forEach((e=>{ao(Vo[e])||(r=!1)})),r&&$o("Let it snow"),ao("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{ao(e[o].name)&&(t+=1)})),t>=e.length&&$o("O Fortuna")}}function Yo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){To(),Zt[e].amount+=t;const o=Zt[e];"Cursor"===e?(o.amount>=1&&$o("Click"),o.amount>=2&&$o("Double-click"),o.amount>=50&&$o("Mouse wheel"),o.amount>=100&&$o("Of Mice and Men"),o.amount>=200&&$o("The Digital"),o.amount>=300&&$o("Extreme polydactyly"),o.amount>=400&&$o("Dr. T"),o.amount>=500&&$o("Thumbs, phalanges, metacarpals"),o.amount>=600&&$o("With her finger and her thumb"),o.amount>=700&&$o("Gotta hand it to you"),o.amount>=800&&$o("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&$o(Game.Objects[o.name].tieredAchievs[e].name)}));const n=De;return Ro(),qo(),n!==De&&Ro(),Xe-Game.cookiesPs}(o,e),1!==e&&(Fe=1)})),t}function Ko(){Object.keys(Game.Objects).forEach((e=>{yt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),bt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),kt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Jo(){yt=Yo(1),bt=Yo(10),kt=Yo(100),Mt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){To(),"Shimmering veil [on]"===eo[e].name?eo["Shimmering veil [off]"].bought=0:"Golden switch [on]"===eo[e].name?eo["Golden switch [off]"].bought=0:eo[e].bought=(eo[e].bought+1)%2,eo[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ae+=1),"Elder Pledge"===e?(je+=1,je>0&&$o("Elder nap"),je>=5&&$o("Elder slumber")):"Elder Covenant"===e?$o("Elder calm"):"Prism heart biscuits"===e?$o("Lovely cookies"):"Heavenly key"===e&&$o("Wholesome");const t=De;Ro(),qo(),t!==De&&Ro();const o=function(){let e=0;ao("Thousand fingers")&&(e+=.1),ao("Million fingers")&&(e*=5),ao("Billion fingers")&&(e*=10),ao("Trillion fingers")&&(e*=20),ao("Quadrillion fingers")&&(e*=20),ao("Quintillion fingers")&&(e*=20),ao("Sextillion fingers")&&(e*=20),ao("Septillion fingers")&&(e*=20),ao("Octillion fingers")&&(e*=20),ao("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount})),t-=Zt.Cursor.amount,e*=t,ao("Plastic mouse")&&(e+=.01*Xe),ao("Iron mouse")&&(e+=.01*Xe),ao("Titanium mouse")&&(e+=.01*Xe),ao("Adamantium mouse")&&(e+=.01*Xe),ao("Unobtainium mouse")&&(e+=.01*Xe),ao("Eludium mouse")&&(e+=.01*Xe),ao("Wishalloy mouse")&&(e+=.01*Xe),ao("Fantasteel mouse")&&(e+=.01*Xe),ao("Nevercrack mouse")&&(e+=.01*Xe),ao("Armythril mouse")&&(e+=.01*Xe),ao("Technobsidian mouse")&&(e+=.01*Xe),ao("Plasmarble mouse")&&(e+=.01*Xe),ao("Miraculite mouse")&&(e+=.01*Xe),ao("Fortune #104")&&(e+=.01*Xe);let o=1;if(ao("Santa's helpers")&&(o*=1.1),ao("Cookie egg")&&(o*=1.1),ao("Halo gloves")&&(o*=1.1),ao("Dragon claw")&&(o*=1.03),ao("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,ao("Luminous gloves")?20:10)),o*=io("click"),Zt.Temple.minigameLoaded&&ro){const e=ro("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*oo("Dragon Cursor");let n=o*Game.ComputeCps(1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Xe-Game.cookiesPs,o]:[Xe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Mt[t]={bonus:Game.cookiesPs-Me},1===e.CalcWrink?Mt[t].bonus-=Se:2===e.CalcWrink&&(Mt[t].bonus-=Pe),Number.isFinite(Mt[t].bonus)||(Mt[t].bonus=0)):(Mt[t]={},o[0]&&(Mt[t].bonus=o[0]),o[1]&&(Mt[t].bonusMouse=o[1]))}))}function Zo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ft=Zo(7,e,ut),Nt=2*Ft[1]/ut,Ot=Ft[2]/60/60/6/pt,At=Zo(6,e,mt),Wt=2*At[1]/mt,Lt=At[2]/60/60/6/pt,Ht=Zo(7,7*e,ut),jt=2*Ht[1]/ut,Dt=Ht[2]/60/60/6/pt,Rt=Zo(6,7*e,mt),Ut=2*Rt[1]/mt,$t=Rt[2]/60/60/6/pt}function tn(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ne,i=Math.max(0,o-Oe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Bt+=e:"cookie"===o.pool?Et+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Pt+=e)}}))}function nn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ft=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ft*=2)}}function an(){et=900*dt/.15,et*=pt;const e=Bo();e>0?et/=e:et=0,tt=ut*(.15*et)+13,ot=mt*(.15*et)+13,nt=7*et,it=ut*(.15*nt)+13,at=mt*(.15*nt)+13,rt=2*et,lt=.15*rt,st=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountst&&(st=2*Game.Objects[e].price,ct=e)}))}function rn(){let e=1,t=1,o=1;ao("Green yeast digestives")&&(o*=1.01),ao("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ut=o*e,mt=o*t,pt=1,0===Game.shimmerTypes.golden.n&&(pt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function ln(){Gt=0,vt=0,wt=[0,null];for(let e=0;ewt[0]&&(wt=[t,e]))}}function sn(){ko(),ln(),an(),rn(),en(),on(),nn(),ge=new Wo(J[J.length-1]),fe=new Wo(J[J.length-1]),Ce=new Wo(J[J.length-1]),ye=new Wo(J[J.length-1]),be=new Wo(Z[Z.length-1]),ke=new Wo(5),he=new Wo(20*Z[Z.length-1]),tn(),Lo(),Jo(),Ko(),Ho()}const cn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},dn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function pn(){1===e.BotBar?(l("CMBotBar").style.display="",fo()):l("CMBotBar").style.display="none",yo()}function un(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),fo(),co(),po()}function mn(){1===e.Favicon&&y>0?Vt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class hn{constructor(e,t){this.type=e,this.group=t}}class gn extends hn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class fn extends hn{constructor(e,t,o){super(e,t),this.desc=o}}class Cn extends hn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class yn extends hn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const bn={CPSMode:new gn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new gn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new gn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new gn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){_e=!0})),Scale:new gn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){un()})),ScaleDecimals:new gn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){un()})),ScaleSeparator:new gn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){un()})),ScaleCutoff:new yn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new gn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new gn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=V:Game.sayTime=B.sayTime})),PPDisplayTime:new gn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new gn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){co()})),PPOnlyConsiderBuyable:new gn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new gn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new gn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new yn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new fn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new fn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new fn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new fn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new fn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new fn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new fn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new fn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new fn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new gn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){pn()})),TimerBar:new gn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){bo()})),TimerBarPos:new gn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),yo()})),TimerBarOverlay:new gn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new gn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",po()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",po()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new gn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new gn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){co()})),SortUpgrades:new gn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){po()})),DragonAuraInfo:new gn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new gn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new gn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(se).forEach((e=>{se[e].style.display="block",se[e].style.left=Yt[e].l.style.left,se[e].style.top=Yt[e].l.style.top})):Object.keys(se).forEach((e=>se[e].style.display="none"))})),Favicon:new gn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){mn()})),WrinklerButtons:new gn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new gn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new gn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new gn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new gn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new gn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new gn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new gn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new gn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new yn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new gn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new gn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Eo()})),TooltipGrim:new gn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new gn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new gn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new gn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new gn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new gn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new gn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new gn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new gn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new gn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new yn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new gn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new gn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new gn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new gn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){dn(e.GCNotification)})),GCFlash:new gn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new fn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new gn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new Cn("vol","NotificationGC",[],"Volume"),GCSoundURL:new gn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new gn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){dn(e.FortuneNotification)})),FortuneFlash:new gn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new fn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new gn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new Cn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new gn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new gn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){dn(e.SeaNotification)})),SeaFlash:new gn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new fn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new gn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new Cn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new gn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new gn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new fn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new gn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new Cn("vol","NotificationGard",[],"Volume"),GardSoundURL:new gn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new gn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){dn(e.MagicNotification)})),MagicFlash:new gn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new fn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new gn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new Cn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new gn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new gn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){dn(e.WrinklerNotification)})),WrinklerFlash:new gn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new fn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new gn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new Cn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new gn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new gn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){dn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new gn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new fn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new gn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new Cn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new gn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new gn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new gn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function kn(){return JSON.stringify({favouriteSettings:de,settings:e,version:"2.031.6"})}function Gn(){if(Je!==Game.dragonLevel||_e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Upgrades).forEach((e=>{eo[e]=xo(e)})),to=[],Object.keys(Game.Achievements).forEach((e=>{to[e]=Go(e)})),To()}let xn=!1;function Tn(t,o,n){(1===e[o]||n)&&3===t&&!1===xn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Tn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Tn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Tn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Mn(t,o,n,i){if((1===e[o]||i)&&!1===xn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Sn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===xn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Pn(){if(re!==Game.OnAscend&&(re=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(pn(),bo()),Co()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(wn(),sn(),r=Object.keys(Game.mods).length),_e&&(Jo(),Game.Has("Golden switch [off]")?(To(),eo["Golden switch [off]"].bought=0,Ro(),dt=Xe):dt=Game.cookiesPs,rn(),an(),on(),en(),Gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Jt[e][t]=vn(e,t)}(),nn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;To();let t=2;5!==$e&&18!==$e||(t-=1),5!==Re&&18!==Re||(t-=1),$e=5,Re=18;for(let e=0;e{Zt[t].amount>0&&(e=t)})),Zt[e].amount-=1,Le-=1}return Object.keys(Zt).forEach((t=>{const o=Zt[t];e+=so(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Kt=e}(),_e=0);const t=Game.auraMult("Fierce Hoarder")>0;!We&&t?(We=!0,Fe=1):We&&!t&&(We=!1,Fe=1),Fe&&(Ko(),Fe=0),function(){ln(),Ho(),function(){xt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Zt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Tt=e,xt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Lo(),tn();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Qt=ue(e/uo())}(),G=0,Yt={},Object.keys(Game.shimmers).forEach((e=>{Yt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Vt=Game.shimmers[e],G+=1)})),Object.keys(se).forEach((e=>{void 0===Yt[e]&&(se[e].parentNode.removeChild(se[e]),delete se[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===se[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},se[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),mn(),b=G,0===G&&(Vt=0)):1===e.GCTimer&&y&&Object.keys(se).forEach((e=>{se[e].style.opacity=Yt[e].l.style.opacity,se[e].style.transform=Yt[e].l.style.transform,se[e].textContent=Math.ceil(Yt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Tn(3,"FortuneFlash",!1),Mn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Sn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(_t=Game.shimmers[e])})),Tn(3,"SeaFlash",!1),Mn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Sn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Tn(3,"WrinklerMaxFlash",!1):Tn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Mn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Mn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Sn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Sn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Bn(){let t="";for(let o=0;o<$.length;o++)t+=`.CMText${$[o]} { color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBack${$[o]} { background-color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBorder${$[o]} { border: 1px solid ${e[`Colour${$[o]}`]}; }\n`;l("CMCSS").textContent=t,co()}function En(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${kn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Nn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t,void 0!==e.Colors&&delete e.Colors,void 0!==e.Colours&&delete e.Colours;let o=!1;Object.keys(cn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=cn[t]):"Header"===t&&Object.keys(cn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=cn[t][n])}))})),o&&En(),Pn(),Object.keys(cn).forEach((e=>{"Header"!==e&&void 0!==bn[e].func&&bn[e].func()}))}else Nn(cn);Game.UpdateMenu(),Bn()}function On(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Fn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Uo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${pe(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${me((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(pe(Game.Objects[o].bulkPrice)).join(pe((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ne=t,ie=o,No(),l("tooltip").innerHTML}function Wn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(S[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Ln(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),En()}function Rn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){$n(o),Game.UpdateMenu()},n.appendChild(i),n}function In(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(I[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function zn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Vn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Rn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+mo(){Game.HasUnlocked(Qo[e])||c.push(Qo[e])})),0!==c.length&&e.appendChild(In("basic","Rare plant drops left to unlock",zn(c))),e}())),o.appendChild(Rn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?Ct:0)));t.appendChild(In("withTooltip","Prestige level (cur / max)",document.createTextNode(`${pe(Game.prestige)} / ${pe(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&Ct?Ct:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(pe(n)));const a=document.createElement("small");a.textContent=` (${ue(n/zt,1)})`,i.appendChild(a),t.appendChild(In("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(In("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${pe(Game.heavenlyChips)} / ${pe(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(In("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(pe(ht,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(In("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(pe(e)))),t.appendChild(In("basic","Time till target (cur, current 5 second average)",document.createTextNode(ue(e/ht)))))}const l=function(e){let t=Game.cookiesPs;To(),0===eo["Heavenly key"].bought&&(eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ro(),t=Xe,To()),It>=1e6&&$o("Sacrifice"),It>=1e9&&$o("Oblivion"),It>=1e12&&$o("From scratch"),It>=1e15&&$o("Nihilism"),It>=1e18&&$o("Dematerialize"),It>=1e21&&$o("Nil zero zilch"),It>=1e24&&$o("Transcendence"),It>=1e27&&$o("Obliterate"),It>=1e30&&$o("Negative void"),It>=1e33&&$o("To crumbs, you say?"),It>=1e36&&$o("You get nothing"),It>=1e39&&$o("Humble rebeginnings"),It>=1e42&&$o("The end of the world"),It>=1e45&&$o("Oh, you're back"),It>=1e48&&$o("Lazarus"),It>=1e51&&$o("Smurf account"),It>=1e54&&$o("If at first you don't succeed"),eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ue=e;const o=De;Ro(),qo(),o!==De&&Ro();const n=Xe-t;return Ue=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(pe(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(In("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Rn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${pe(Gt)} / ${pe(vt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){On()},e.appendChild(t),o.appendChild(In("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${pe(wt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},n.appendChild(i),o.appendChild(In("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==wt[1]?wt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(n.push(zo[e]),o=!0)}));const i=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(i.push(Vo[e]),o=!0)}));const a=[];Object.keys(_o).forEach((e=>{Game.Has(_o[e])||(a.push(_o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Rn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(In("basic","Halloween cookies left to buy",zn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(In("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${pe((1-e)*o*100)}% / ${pe((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(In("basic","Christmas cookies left to buy",zn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(In("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${pe((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(In("basic","Valentine cookies left to buy",zn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(In("basic","Normal easter eggs left to unlock",zn(r))),t.appendChild(In("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[0])}% / ${pe(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(In("basic","Rare easter eggs left to unlock",zn(l))),t.appendChild(In("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[1])}% / ${pe(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(In("basic","Reindeer reward",document.createTextNode(pe(ft)))),s&&t.appendChild(In("withTooltip","Chocolate egg cookies",document.createTextNode(pe(Ct)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(In("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(gt-1))/100+"%")))}return t}()),o.appendChild(Rn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(In("basic",`Average cookies per second (past ${J[e.AvgCPSHist]<60?`${J[e.AvgCPSHist]} seconds`:J[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(pe(uo(),3)))),o.appendChild(In("basic",`Average cookie clicks per second (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(St,1)))),o.appendChild(In("basic",`Cookies from clicking (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(he.calcSum(St*Z[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Io).forEach((t=>{Game.Has(Io[t])||e.push(Io[t])})),0!==e.length&&o.appendChild(In("basic","Fortune Upgrades Left to Buy",zn(e)))}if(e.ShowMissedGC&&o.appendChild(In("basic","Missed golden cookies",document.createTextNode(pe(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(In("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Et){const t=Et.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Et,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const _n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Qn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Xn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){$n(t),Game.UpdateMenu()},n.appendChild(i),n}function qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return de.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){de.includes(e)?de=de.filter((function(t){return t!==e})):de.push(e)}(e),En(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(I.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===bn[t].type){const n=document.createElement("a");bn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Hn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===bn[t].label.length?(e[t]=0,bn[t].toggle&&(l(Hn+t).className="option off")):l(Hn+t).className="option",void 0!==bn[t].func&&bn[t].func(),l(Hn+t).innerHTML=bn[t].label[e[t]],En()}(t)},n.textContent=bn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=bn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===bn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=bn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Un(t)},r.onchange=function(){Un(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Mn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Hn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,En(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=bn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===bn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new jn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Bn(),En(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=bn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Tn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Dn().init(),o}if("numscale"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="number",i.value=e[t],i.min=bn[t].min,i.max=bn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,En(),un()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=bn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Yn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Kn(){B.Beautify=Beautify,Beautify=pe,B.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){B.CalculateGains(),_e=1,w=Date.now(),x=Date.now()},B.tooltip={},B.tooltip.draw=Game.tooltip.draw,B.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){B.tooltip.drawMod(e,t,o)},B.tooltip.update=Game.tooltip.update,B.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){B.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},B.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Yn(B.UpdateWrinklers)},B.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Yn(B.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Yn(Game.ClickCookie)}),!1),B.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){B.RebuildUpgrades(),P=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(P[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},B.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Zt[Game.ObjectsById[e].name].name;Zt[o].amount-=1,Le-=1,t=Zt[o].basePrice*Game.priceIncrease**Math.max(0,Zt[o].amount-1-Zt[o].free),t=Game.modifyBuildingPrice(Zt[o],t),t=Math.ceil(t);break}const o=De;return Ro(),qo(),o!==De&&Ro(),[Xe-Game.cookiesPs,t]}(t),n=ue(o/(e+Game.cookiesPs)),i=pe(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${pe(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},B.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){B.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},B.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Dn().picker&&void 0!==Dn().picker.owner||(B.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(_n).forEach((t=>{if("Favourite"===t){if(0!==de.length&&e.FavouriteSettings>0&&(o.appendChild(Xn(t,_n[t])),e.Header[t]))for(let e=0;e{const n=Xn(t,Qn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))}))})):Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Nn(cn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Vn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){$n("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},B.sayTime=Game.sayTime,V=function(e,t){return Number.isNaN(e)||e<=0?B.sayTime(e,t):ue(e/Game.fps,1)},B.Logic=Game.Logic,Game.Logic=function(){B.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ce=`${Game.OnAscend?"Ascending! ":""}${pe(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ce;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Vt?Vt.wrath?`[W${Math.ceil(Vt.life/Game.fps)}]`:`[G${Math.ceil(Vt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(_t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ce;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Vt&&(t=!0,Vt.wrath?e+=`[W${Math.ceil(Vt.life/Game.fps)}]`:e+=`[G${Math.ceil(Vt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(_t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${pe(Game.prestige)}.
(CpS +${pe(Game.prestige)}%)`,n+='
'),n+=Oe<1?"Ascending now would grant you no prestige.":Oe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${pe(Oe)} prestige levels (+${pe(Oe)}% CpS)
and ${pe(Oe)} heavenly chips to spend.`,n+='
',n+=`You need ${pe(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Qt} to reach the next level and you were making ${pe(ht,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Jn(){wn(),an(),sn(),r=Object.keys(Game.mods).length,T=document.createElement("style"),T.type="text/css",T.id="CMCSS",document.head.appendChild(T),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=E+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",W)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",O)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",O)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",O)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{go(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=ho("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:D},{id:"CMTimerBarGCBar",color:j}]);e.appendChild(t);const o=ho("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:D},{id:"CMTimerBarRenBar",color:L}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=N+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(O,"Better than the best PP of a building option")),e.appendChild(o(F,"Same as the best PP building option")),e.appendChild(o(W,"Within the top 10 of PP for buildings")),e.appendChild(o(L,"Within the top 20 of PP for buildings")),e.appendChild(o(A,"Within the top 30 of PP for buildings")),e.appendChild(o(j,"Outside of the top 30 of PP for buildings")),e.appendChild(o(D,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=E+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",O)),e.appendChild(o("CMUpgradeBarGreen",F)),e.appendChild(o("CMUpgradeBarYellow",W)),e.appendChild(o("CMUpgradeBarOrange",L)),e.appendChild(o("CMUpgradeBarRed",A)),e.appendChild(o("CMUpgradeBarPurple",j)),e.appendChild(o("CMUpgradeBarGray",D)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),I[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){On()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(M[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Wn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),An()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){_=1},l("backgroundLeftCanvas").onmouseout=function(){_=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{X[e]=0}))},Kn(),An(),Game.CalculateGains(),Nn(),z=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Zn={init:function(){xn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Jn(),Game.registerHook("draw",Oo),Game.registerHook("logic",Pn),Game.registerHook("click",Fo),xn=!1)},load:function(e){const t=JSON.parse(e);wn(),void 0!==t.favouriteSettings&&(de=t.favouriteSettings),Nn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:kn};Game.registerMod("CookieMonster",Zn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index 024e1adf..74d19ed2 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x,T=[],M=[],S=[],P={};const B="CMText",E="CMBack",N="Blue",O="Green",F="Yellow",W="Orange",L="Red",A="Purple",j="Gray",D="Pink",H="Brown",U=[j,N,O,F,W,L,A,D,H],$=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],R={};let I,z,V=0,_=-1,Q=[],X=1,q=1,Y=1;const K=[10,15,30,60,300,600,900,1800],J=[1,5,10,15,30],Z={Frenzy:F,"Dragon Harvest":H,"Elder frenzy":O,Clot:L,"Click frenzy":N,Dragonflight:D};let ee,te,oe,ne,ie,ae,re,le={},se="",ce=[];function de(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return P.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${de(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function ue(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=O):(n=pe(t),o=t>300?L:t>60?W:F),{text:n,color:o}}let me,he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=1,pt=1,ut=1,mt=0,ht=0,gt=0,ft=0,Ct={},yt={},bt={},kt=0,Gt=0,vt=[0,null],wt=0,xt=0,Tt={},Mt={},St={},Pt={},Bt={},Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,$t=[],Rt=0,It=0,zt={},Vt={},_t=0,Qt=0,Xt=[],qt={},Yt=0,Kt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Jt=[],Zt=[],eo=[];function to(e){let t=0;return Game.dragonAuras[Ue].name!==e&&Game.dragonAuras[$e].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Ue].name&&"Reality Bending"!==Game.dragonAuras[$e].name||(t+=.1),t}function oo(){let e=.25;return e*=1+to("Earth Shatterer"),e}function no(e,t){return void 0===_e[e]?void 0===t?1:t:_e[e]}function io(e){const t=Zt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ao(e){if(Game.hasGod){void 0===Jt.Temple.minigame&&(Jt.Temple.minigame=Game.Objects.Temple.minigame);const t=Jt.Temple.minigame.gods[e];if(Re===t.id)return 1;if(Ie===t.id)return 2;if(ze===t.id)return 3}return!1}function ro(e,t){let o=t;if(io("Season savings")&&(o*=.99),io("Santa's dominion")&&(o*=.99),io("Faberge egg")&&(o*=.99),io("Divine discount")&&(o*=.99),io("Fortune #100")&&(o*=.99),o*=1-.02*to("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&io(e.fortune.name)&&(o*=.93),o*=no("buildingCost"),Jt.Temple.minigameLoaded){const e=ao("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function lo(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function so(){let t=Game.buyBulk;if(1===Game.buyMode?q=t:t=q,1===t?t=Ct:10===t?t=yt:100===t&&(t=bt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(Ct).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=de(lo(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(Ct).map((e=>{const t=Ct[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const t=Ct[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eU.indexOf(t.color)?1:U.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=Ct),10===i&&(i=yt),100===i&&(i=bt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=de(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=B+i[o].color,n=e.PPDisplayTime?pe(Math.round(i[o].pp)):de(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=ue((Game.Objects[o].bulkPrice-(Game.cookies+uo()))/po());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=B+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&io(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(io(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&io(e.fortune.name)&&(t*=1.07),e.grandma&&io(e.grandma.name)&&(t*=1+.01*Jt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&io(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function vo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;io("Thousand fingers")&&(t+=.1),io("Million fingers")&&(t*=5),io("Billion fingers")&&(t*=10),io("Trillion fingers")&&(t*=20),io("Quadrillion fingers")&&(t*=20),io("Quintillion fingers")&&(t*=20),io("Sextillion fingers")&&(t*=20),io("Septillion fingers")&&(t*=20),io("Octillion fingers")&&(t*=20),io("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Jt).forEach((e=>{"Cursor"!==Jt[e].name&&(n+=Jt[e].amount)})),t*=n,o*=Go(e),o*=Game.magicCpS("Cursor"),o*=no("cursorCps"),Game.ComputeCps(.1,io("Reinforced index finger")+io("Carpal tunnel prevention cream")+io("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{io(Game.GrandmaSynergies[e])&&(o*=2)})),io("Bingo center/Research facility")&&(o*=4),io("Ritual rolling pins")&&(o*=2),io("Naughty list")&&(o*=2),io("Elderwort biscuits")&&(o*=1.02),o*=no("grandmaCps"),io("Cat ladies"))for(let e=0;e{"Grandma"!==Jt[e].name&&(i+=Jt[e].amount)})),o*=1+.01*to("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=Go(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function wo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Jt).forEach((t=>{Jt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(io("Starlove")&&(e=3),Game.hasGod){const t=ao("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function xo(){Le=Game.UpgradesOwned,Ae=Game.pledges,je=Game.AchievementsOwned,De=Game.heavenlyPower,He=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Jt[e];void 0===o&&(Jt[e]=vo(e),o=Jt[e],ho(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Re=t.minigame.slot[0],Ie=t.minigame.slot[1],ze=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Jt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e]),o.bought=t.bought,Zt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=eo[e];void 0===o&&(eo[e]=ko(e),o=eo[e]),o.won=t.won,eo[e]=o})),bo(),Ue=qe,$e=Ye}function To(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function Mo(e){e.appendChild(To("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(To("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(To("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(To("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===oe){e.appendChild(To("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function So(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Bo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Eo(){if(xo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===oe?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(Mo(l("CMTooltipBorder")),1===Game.buyMode?Y=t:t=Y,1===Game.buyBulk?t=Ct:10===Game.buyBulk?t=yt:100===Game.buyBulk&&(t=bt),ee=Game.Objects[ne].bulkPrice,te=t[ne].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=de(te,2);const o=Math.round(te/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=B+t[ne].color,e.PPDisplayTime?l("CMTooltipPP").textContent=pe(t[ne].pp):l("CMTooltipPP").textContent=de(t[ne].pp,2),l("CMTooltipPP").className=B+t[ne].color;const n=ue((ee-(Game.cookies+uo()))/po());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ne[1]][ne[0]][0]-1].mature,o=t.plantsById[t.plot[ne[1]][ne[0]][0]-1].name;l("CMTooltipBorder").appendChild(To("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${de(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${de(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${de(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${de(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===oe?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(To("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=mo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==Z[Game.buffs[t].name]?Z[Game.buffs[t].name]:A,a.lastChild.children[1].className=E+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),re!==n&&(re=n,Co())}}(),go(),Eo(),function(){if(1===e.TooltipWrink&&1===V){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===Q[t]||void 0===Q[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),_=t,Q[t]=1}}else Q[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[_],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[_].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Jt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=de(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,de(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Oo(){me.addLatest(Game.computedMouseCps)}class Fo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Wo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Yt;Game.cpsSucked>0&&(o+=kt),Rt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-ke,i=Math.max(0,Game.cookies-Ge)/n,a=Math.max(0,kt-ve)/n,r=Math.max(0,vt[0]-we)/n,l=Math.max(0,o-ft)/n,s=(Game.cookieClicks-xe)/n;for(let e=0;e0&&(n=L),n}function Ao(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=j;else{t[n].color=Lo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+uo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Xt.push([t[n].pp,o])}))}function Do(){!function(){Qt=1/0,Xt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),jo(Ct,1),jo(yt,10),jo(bt,100),Xt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Xt[t][1]>Game.cookies&&(t+=1,Xt.length!==t+1););Qt=Xt[e.PPExcludeTop][t],Ao(Ct,1),Ao(yt,10),Ao(bt,100)}(),Object.keys(Tt).forEach((e=>{Game.cookiesPs?Tt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+uo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Tt[e].bonus:Tt[e].pp=Game.Upgrades[e].getPrice()/Tt[e].bonus,Number.isNaN(Tt[e].pp)&&(Tt[e].pp=1/0),Tt[e].color=Lo(Tt[e],Game.Upgrades[e].getPrice())}))}function Ho(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),_e=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(He)*De*function(){let e=0;if(io("Heavenly chip secret")&&(e+=.05),io("Heavenly cookie stand")&&(e+=.2),io("Heavenly bakery")&&(e+=.25),io("Heavenly confectionery")&&(e+=.25),io("Heavenly key")&&(e+=.25),e*=1+.05*to("Dragon God"),io("Lucky digit")&&(e*=1.01),io("Lucky number")&&(e*=1.01),io("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ao("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=no("cps"),io("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];io(o.name)&&("function"==typeof o.power?e*=1+.01*Zt[o.name].power(Zt[o.name]):e*=1+.01*o.power)})),io("Specialized chocolate chips")&&(e*=1.01),io("Designer cocoa beans")&&(e*=1.02),io("Underworld ovens")&&(e*=1.03),io("Exotic nuts")&&(e*=1.04),io("Arcane sugar")&&(e*=1.05),io("Increased merriness")&&(e*=1.15),io("Improved jolliness")&&(e*=1.15),io("A lump of coal")&&(e*=1.01),io("An itchy sweater")&&(e*=1.01),io("Santa's dominion")&&(e*=1.2),io("Fortune #100")&&(e*=1.01),io("Fortune #101")&&(e*=1.07),io("Dragon scale")&&(e*=1.03);let o=1;if(ao){let t=ao("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ao("ages"),1===t?e*=1+.15*Math.sin(w/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(w/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(w/1e3/86400*Math.PI*2)),t=ao("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ao("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ao("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}io("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=je/25;let i=1;if(io("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*to("Breath of Milk"),ao){const e=ao("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=no("milk");let a=1;io("Kitten helpers")&&(a*=1+.1*n*i),io("Kitten workers")&&(a*=1+.125*n*i),io("Kitten engineers")&&(a*=1+.15*n*i),io("Kitten overseers")&&(a*=1+.175*n*i),io("Kitten managers")&&(a*=1+.2*n*i),io("Kitten accountants")&&(a*=1+.2*n*i),io("Kitten specialists")&&(a*=1+.2*n*i),io("Kitten experts")&&(a*=1+.2*n*i),io("Kitten consultants")&&(a*=1+.2*n*i),io("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),io("Kitten marketeers")&&(a*=1+.15*n*i),io("Kitten analysts")&&(a*=1+.125*n*i),io("Kitten executives")&&(a*=1+.115*n*i),io("Kitten angels")&&(a*=1+.1*n*i),io("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Jt).forEach((e=>{const t=Jt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&io("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Qe+=t.amount*a})),io('"egg"')&&(Qe+=9),e*=a;let r=1;if(io("Chicken egg")&&(r*=1.01),io("Duck egg")&&(r*=1.01),io("Turkey egg")&&(r*=1.01),io("Quail egg")&&(r*=1.01),io("Robin egg")&&(r*=1.01),io("Ostrich egg")&&(r*=1.01),io("Cassowary egg")&&(r*=1.01),io("Salmon roe")&&(r*=1.01),io("Frogspawn")&&(r*=1.01),io("Shark egg")&&(r*=1.01),io("Turtle egg")&&(r*=1.01),io("Ant larva")&&(r*=1.01),io("Century egg")){let e=10*Math.floor((w-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),ht=1+.1*(1-(1-e/100)**3),r*=ht}e*=r,io("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+to("Radiant Appetite");const l=Qe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Uo(Game.CpsAchievements[e].name)})),Xe=l;const{n:s}=Game.shimmerTypes.golden,c=to("Dragon's Fortune");for(let t=0;t{io(e[o])&&(t+=.1)}))}e*=t}if(io("Shimmering veil [off]")){let t=.5;io("Reinforced membrane")&&(t+=.1),e*=1+t}io("Magic shenanigans")&&(e*=1e3),io("Occult obstruction")&&(e*=0),Qe=Game.runModHookOnValue("cps",Qe),e*=Po(),Qe*=e}const Ro=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Io=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],zo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Vo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],_o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Qo(e){return eo[e]?eo[e].won:0}function Xo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{io(Game.GrandmaSynergies[t])&&(e+=1)})),!Qo("Elder")&&e>=7&&Uo("Elder"),!Qo("Veteran")&&e>=14&&Uo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Jt).forEach((e=>{t+=Jt[e].amount,i=Math.min(Jt[e].amount,i),Qo("Mathematician")||Jt[e].amount=1&&Uo("One with everything"),1===o&&Uo("Mathematician"),1===n&&Uo("Base 10"),i>=100&&Uo("Centennial"),i>=150&&Uo("Centennial and a half"),i>=200&&Uo("Bicentennial"),i>=250&&Uo("Bicentennial and a half"),i>=300&&Uo("Tricentennial"),i>=350&&Uo("Tricentennial and a half"),i>=400&&Uo("Quadricentennial"),i>=450&&Uo("Quadricentennial and a half"),i>=500&&Uo("Quincentennial"),i>=550&&Uo("Quincentennial and a half"),i>=600&&Uo("Sexcentennial"),t>=100&&Uo("Builder"),t>=500&&Uo("Architect"),t>=1e3&&Uo("Engineer"),t>=2e3&&Uo("Lord of Constructs"),t>=4e3&&Uo("Grand design"),t>=8e3&&Uo("Ecumenopolis"),Le>=20&&Uo("Enhancer"),Le>=50&&Uo("Augmenter"),Le>=100&&Uo("Upgrader"),Le>=200&&Uo("Lord of Progress"),Le>=300&&Uo("The full picture"),Le>=400&&Uo("When there's nothing left to add"),t>=4e3&&Le>=300&&Uo("Polymath"),t>=8e3&&Le>=400&&Uo("Renaissance baker"),Jt.Cursor.amount+Jt.Grandma.amount>=777&&Uo("The elder scrolls");let a=!0;Object.keys(Io).forEach((e=>{io(Io[e])||(a=!1)})),a&&Uo("Spooky cookies");let r=!0;if(Object.keys(zo).forEach((e=>{io(zo[e])||(r=!1)})),r&&Uo("Let it snow"),io("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{io(e[o].name)&&(t+=1)})),t>=e.length&&Uo("O Fortuna")}}function qo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){xo(),Jt[e].amount+=t;const o=Jt[e];"Cursor"===e?(o.amount>=1&&Uo("Click"),o.amount>=2&&Uo("Double-click"),o.amount>=50&&Uo("Mouse wheel"),o.amount>=100&&Uo("Of Mice and Men"),o.amount>=200&&Uo("The Digital"),o.amount>=300&&Uo("Extreme polydactyly"),o.amount>=400&&Uo("Dr. T"),o.amount>=500&&Uo("Thumbs, phalanges, metacarpals"),o.amount>=600&&Uo("With her finger and her thumb"),o.amount>=700&&Uo("Gotta hand it to you"),o.amount>=800&&Uo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Uo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=je;return $o(),Xo(),n!==je&&$o(),Qe-Game.cookiesPs}(o,e),1!==e&&(Oe=1)})),t}function Yo(){Object.keys(Game.Objects).forEach((e=>{Ct[e].price=Ho(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),yt[e].price=Ho(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),bt[e].price=Ho(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Ko(){Ct=qo(1),yt=qo(10),bt=qo(100),Tt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){xo(),"Shimmering veil [on]"===Zt[e].name?Zt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Zt[e].name?Zt["Golden switch [off]"].bought=0:Zt[e].bought=(Zt[e].bought+1)%2,Zt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Le+=1),"Elder Pledge"===e?(Ae+=1,Ae>0&&Uo("Elder nap"),Ae>=5&&Uo("Elder slumber")):"Elder Covenant"===e?Uo("Elder calm"):"Prism heart biscuits"===e?Uo("Lovely cookies"):"Heavenly key"===e&&Uo("Wholesome");const t=je;$o(),Xo(),t!==je&&$o();const o=function(){let e=0;io("Thousand fingers")&&(e+=.1),io("Million fingers")&&(e*=5),io("Billion fingers")&&(e*=10),io("Trillion fingers")&&(e*=20),io("Quadrillion fingers")&&(e*=20),io("Quintillion fingers")&&(e*=20),io("Sextillion fingers")&&(e*=20),io("Septillion fingers")&&(e*=20),io("Octillion fingers")&&(e*=20),io("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Jt).forEach((e=>{t+=Jt[e].amount})),t-=Jt.Cursor.amount,e*=t,io("Plastic mouse")&&(e+=.01*Qe),io("Iron mouse")&&(e+=.01*Qe),io("Titanium mouse")&&(e+=.01*Qe),io("Adamantium mouse")&&(e+=.01*Qe),io("Unobtainium mouse")&&(e+=.01*Qe),io("Eludium mouse")&&(e+=.01*Qe),io("Wishalloy mouse")&&(e+=.01*Qe),io("Fantasteel mouse")&&(e+=.01*Qe),io("Nevercrack mouse")&&(e+=.01*Qe),io("Armythril mouse")&&(e+=.01*Qe),io("Technobsidian mouse")&&(e+=.01*Qe),io("Plasmarble mouse")&&(e+=.01*Qe),io("Miraculite mouse")&&(e+=.01*Qe),io("Fortune #104")&&(e+=.01*Qe);let o=1;if(io("Santa's helpers")&&(o*=1.1),io("Cookie egg")&&(o*=1.1),io("Halo gloves")&&(o*=1.1),io("Dragon claw")&&(o*=1.03),io("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,io("Luminous gloves")?20:10)),o*=no("click"),Jt.Temple.minigameLoaded&&ao){const e=ao("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*to("Dragon Cursor");let n=o*Game.ComputeCps(1,io("Reinforced index finger")+io("Carpal tunnel prevention cream")+io("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Qe-Game.cookiesPs,o]:[Qe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Tt[t]={bonus:Game.cookiesPs-Te},1===e.CalcWrink?Tt[t].bonus-=Me:2===e.CalcWrink&&(Tt[t].bonus-=Se),Number.isFinite(Tt[t].bonus)||(Tt[t].bonus=0)):(Tt[t]={},o[0]&&(Tt[t].bonus=o[0]),o[1]&&(Tt[t].bonusMouse=o[1]))}))}function Jo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ot=Jo(7,e,pt),Et=2*Ot[1]/pt,Nt=Ot[2]/60/60/6/dt,Lt=Jo(6,e,ut),Ft=2*Lt[1]/ut,Wt=Lt[2]/60/60/6/dt,Dt=Jo(7,7*e,pt),At=2*Dt[1]/pt,jt=Dt[2]/60/60/6/dt,$t=Jo(6,7*e,ut),Ht=2*$t[1]/ut,Ut=$t[2]/60/60/6/dt}function en(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ee,i=Math.max(0,o-Ne)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Pt+=e:"cookie"===o.pool?Bt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(St+=e)}}))}function on(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),gt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(gt*=2)}}function nn(){Ze=900*ct/.15,Ze*=dt;const e=Po();e>0?Ze/=e:Ze=0,et=pt*(.15*Ze)+13,tt=ut*(.15*Ze)+13,ot=7*Ze,nt=pt*(.15*ot)+13,it=ut*(.15*ot)+13,at=2*Ze,rt=.15*at,lt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountlt&&(lt=2*Game.Objects[e].price,st=e)}))}function an(){let e=1,t=1,o=1;io("Green yeast digestives")&&(o*=1.01),io("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),pt=o*e,ut=o*t,dt=1,0===Game.shimmerTypes.golden.n&&(dt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function rn(){kt=0,Gt=0,vt=[0,null];for(let e=0;evt[0]&&(vt=[t,e]))}}function ln(){bo(),rn(),nn(),an(),Zo(),tn(),on(),he=new Fo(K[K.length-1]),ge=new Fo(K[K.length-1]),fe=new Fo(K[K.length-1]),Ce=new Fo(K[K.length-1]),ye=new Fo(J[J.length-1]),be=new Fo(5),me=new Fo(20*J[J.length-1]),en(),Wo(),Ko(),Yo(),Do()}const sn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},cn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function dn(){1===e.BotBar?(l("CMBotBar").style.display="",go()):l("CMBotBar").style.display="none",Co()}function pn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),go(),so(),co()}function un(){1===e.Favicon&&y>0?zt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class mn{constructor(e,t){this.type=e,this.group=t}}class hn extends mn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class gn extends mn{constructor(e,t,o){super(e,t),this.desc=o}}class fn extends mn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class Cn extends mn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const yn={CPSMode:new hn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new hn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new hn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new hn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){Ve=!0})),Scale:new hn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){pn()})),ScaleDecimals:new hn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){pn()})),ScaleSeparator:new hn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){pn()})),ScaleCutoff:new Cn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new hn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new hn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=z:Game.sayTime=P.sayTime})),PPDisplayTime:new hn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new hn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){so()})),PPOnlyConsiderBuyable:new hn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new hn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new hn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new Cn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new gn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new gn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new gn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new gn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new gn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new gn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new gn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new gn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new gn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new hn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){dn()})),TimerBar:new hn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){yo()})),TimerBarPos:new hn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),Co()})),TimerBarOverlay:new hn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new hn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",co()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",co()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new hn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new hn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){so()})),SortUpgrades:new hn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){co()})),DragonAuraInfo:new hn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new hn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new hn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(le).forEach((e=>{le[e].style.display="block",le[e].style.left=qt[e].l.style.left,le[e].style.top=qt[e].l.style.top})):Object.keys(le).forEach((e=>le[e].style.display="none"))})),Favicon:new hn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){un()})),WrinklerButtons:new hn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new hn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new hn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new hn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new hn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new hn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new hn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new hn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new hn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new Cn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new hn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new hn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Bo()})),TooltipGrim:new hn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new hn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new hn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new hn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new hn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new hn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new hn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new hn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new hn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new hn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new Cn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new hn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new hn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new hn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new hn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){cn(e.GCNotification)})),GCFlash:new hn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new gn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new hn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new fn("vol","NotificationGC",[],"Volume"),GCSoundURL:new hn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new hn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){cn(e.FortuneNotification)})),FortuneFlash:new hn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new gn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new hn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new fn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new hn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new hn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){cn(e.SeaNotification)})),SeaFlash:new hn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new gn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new hn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new fn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new hn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new hn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new gn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new hn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new fn("vol","NotificationGard",[],"Volume"),GardSoundURL:new hn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new hn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){cn(e.MagicNotification)})),MagicFlash:new hn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new gn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new hn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new fn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new hn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new hn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){cn(e.WrinklerNotification)})),WrinklerFlash:new hn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new gn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new hn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new fn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new hn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new hn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){cn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new hn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new gn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new hn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new fn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new hn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new hn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new hn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function bn(){return JSON.stringify({favouriteSettings:ce,settings:e,version:"2.031.6"})}function kn(){if(Ke!==Game.dragonLevel||Ve){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Jt[e]=vo(e)})),Zt=[],Object.keys(Game.Upgrades).forEach((e=>{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Achievements).forEach((e=>{eo[e]=ko(e)})),xo()}let wn=!1;function xn(t,o,n){(1===e[o]||n)&&3===t&&!1===wn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){xn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){xn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){xn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Tn(t,o,n,i){if((1===e[o]||i)&&!1===wn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Mn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===wn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Sn(){if(w=Date.now(),ae!==Game.OnAscend&&(ae=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(dn(),yo()),fo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(vn(),ln(),r=Object.keys(Game.mods).length),Ve&&(Ko(),Game.Has("Golden switch [off]")?(xo(),Zt["Golden switch [off]"].bought=0,$o(),ct=Qe):ct=Game.cookiesPs,an(),nn(),tn(),Zo(),kn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Kt[e][t]=Gn(e,t)}(),on(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;xo();let t=2;5!==Ue&&18!==Ue||(t-=1),5!==$e&&18!==$e||(t-=1),Ue=5,$e=18;for(let e=0;e{Jt[t].amount>0&&(e=t)})),Jt[e].amount-=1,We-=1}return Object.keys(Jt).forEach((t=>{const o=Jt[t];e+=lo(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Yt=e}(),Ve=0);const t=Game.auraMult("Fierce Hoarder")>0;!Fe&&t?(Fe=!0,Oe=1):Fe&&!t&&(Fe=!1,Oe=1),Oe&&(Yo(),Oe=0),function(){rn(),Do(),function(){wt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Jt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}xt=e,wt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Wo(),en();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);_t=pe(e/po())}(),G=0,qt={},Object.keys(Game.shimmers).forEach((e=>{qt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(zt=Game.shimmers[e],G+=1)})),Object.keys(le).forEach((e=>{void 0===qt[e]&&(le[e].parentNode.removeChild(le[e]),delete le[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===le[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},le[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),un(),b=G,0===G&&(zt=0)):1===e.GCTimer&&y&&Object.keys(le).forEach((e=>{le[e].style.opacity=qt[e].l.style.opacity,le[e].style.transform=qt[e].l.style.transform,le[e].textContent=Math.ceil(qt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(xn(3,"FortuneFlash",!1),Tn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Mn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(Vt=Game.shimmers[e])})),xn(3,"SeaFlash",!1),Tn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Mn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?xn(3,"WrinklerMaxFlash",!1):xn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Tn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Tn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Mn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Mn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Pn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=sn[t]):"Header"===t&&Object.keys(sn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=sn[t][n])}))})),o&&Bn(),Sn(),Object.keys(sn).forEach((e=>{"Header"!==e&&void 0!==yn[e].func&&yn[e].func()}))}else En(sn);Game.UpdateMenu(),Pn()}function Nn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function On(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Ho(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${de(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${ue((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(de(Game.Objects[o].bulkPrice)).join(de((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return oe=t,ne=o,Eo(),l("tooltip").innerHTML}function Fn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(M[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Wn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Bn()}function $n(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Un(o),Game.UpdateMenu()},n.appendChild(i),n}function Rn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function In(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function zn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild($n("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+uo(){Game.HasUnlocked(_o[e])||c.push(_o[e])})),0!==c.length&&e.appendChild(Rn("basic","Rare plant drops left to unlock",In(c))),e}())),o.appendChild($n("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Rt+Game.cookiesReset+kt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?ft:0)));t.appendChild(Rn("withTooltip","Prestige level (cur / max)",document.createTextNode(`${de(Game.prestige)} / ${de(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Rt+Game.cookiesReset+kt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&ft?ft:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(de(n)));const a=document.createElement("small");a.textContent=` (${pe(n/It,1)})`,i.appendChild(a),t.appendChild(Rn("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Rn("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${de(Game.heavenlyChips)} / ${de(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Rn("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(de(mt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Rn("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(de(e)))),t.appendChild(Rn("basic","Time till target (cur, current 5 second average)",document.createTextNode(pe(e/mt)))))}const l=function(e){let t=Game.cookiesPs;xo(),0===Zt["Heavenly key"].bought&&(Zt["Heavenly chip secret"].bought=1,Zt["Heavenly cookie stand"].bought=1,Zt["Heavenly bakery"].bought=1,Zt["Heavenly confectionery"].bought=1,Zt["Heavenly key"].bought=1,$o(),t=Qe,xo()),Rt>=1e6&&Uo("Sacrifice"),Rt>=1e9&&Uo("Oblivion"),Rt>=1e12&&Uo("From scratch"),Rt>=1e15&&Uo("Nihilism"),Rt>=1e18&&Uo("Dematerialize"),Rt>=1e21&&Uo("Nil zero zilch"),Rt>=1e24&&Uo("Transcendence"),Rt>=1e27&&Uo("Obliterate"),Rt>=1e30&&Uo("Negative void"),Rt>=1e33&&Uo("To crumbs, you say?"),Rt>=1e36&&Uo("You get nothing"),Rt>=1e39&&Uo("Humble rebeginnings"),Rt>=1e42&&Uo("The end of the world"),Rt>=1e45&&Uo("Oh, you're back"),Rt>=1e48&&Uo("Lazarus"),Rt>=1e51&&Uo("Smurf account"),Rt>=1e54&&Uo("If at first you don't succeed"),Zt["Heavenly chip secret"].bought=1,Zt["Heavenly cookie stand"].bought=1,Zt["Heavenly bakery"].bought=1,Zt["Heavenly confectionery"].bought=1,Zt["Heavenly key"].bought=1,He=e;const o=je;$o(),Xo(),o!==je&&$o();const n=Qe-t;return He=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(de(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Rn("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild($n("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${de(kt)} / ${de(Gt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Nn()},e.appendChild(t),o.appendChild(Rn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${de(vt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==vt[1]&&(Game.wrinklers[vt[1]].hp=0)},n.appendChild(i),o.appendChild(Rn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==vt[1]?vt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Io).forEach((e=>{Game.Has(Io[e])||(n.push(Io[e]),o=!0)}));const i=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(i.push(zo[e]),o=!0)}));const a=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(a.push(Vo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild($n("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Rn("basic","Halloween cookies left to buy",In(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Rn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${de((1-e)*o*100)}% / ${de((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Rn("basic","Christmas cookies left to buy",In(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Rn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${de((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Rn("basic","Valentine cookies left to buy",In(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Rn("basic","Normal easter eggs left to unlock",In(r))),t.appendChild(Rn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${de(100*e(.98)[0])}% / ${de(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Rn("basic","Rare easter eggs left to unlock",In(l))),t.appendChild(Rn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${de(100*e(.98)[1])}% / ${de(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Rn("basic","Reindeer reward",document.createTextNode(de(gt)))),s&&t.appendChild(Rn("withTooltip","Chocolate egg cookies",document.createTextNode(de(ft)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Rn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(ht-1))/100+"%")))}return t}()),o.appendChild($n("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Rn("basic",`Average cookies per second (past ${K[e.AvgCPSHist]<60?`${K[e.AvgCPSHist]} seconds`:K[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(de(po(),3)))),o.appendChild(Rn("basic",`Average cookie clicks per second (past ${J[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(de(Mt,1)))),o.appendChild(Rn("basic",`Cookies from clicking (past ${J[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(de(me.calcSum(Mt*J[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Ro).forEach((t=>{Game.Has(Ro[t])||e.push(Ro[t])})),0!==e.length&&o.appendChild(Rn("basic","Fortune Upgrades Left to Buy",In(e)))}if(e.ShowMissedGC&&o.appendChild(Rn("basic","Missed golden cookies",document.createTextNode(de(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Rn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const Vn={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},_n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Qn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Un(t),Game.UpdateMenu()},n.appendChild(i),n}function Xn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return ce.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){ce.includes(e)?ce=ce.filter((function(t){return t!==e})):ce.push(e)}(e),Bn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(R.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===yn[t].type){const n=document.createElement("a");yn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Dn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===yn[t].label.length?(e[t]=0,yn[t].toggle&&(l(Dn+t).className="option off")):l(Dn+t).className="option",void 0!==yn[t].func&&yn[t].func(),l(Dn+t).innerHTML=yn[t].label[e[t]],Bn()}(t)},n.textContent=yn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=yn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===yn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=yn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Hn(t)},r.onchange=function(){Hn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Tn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===yn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${yn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Dn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Dn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Bn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=yn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===yn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new An(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Pn(),Bn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=yn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){xn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),jn().init(),o}if("numscale"===yn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${yn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Dn+t,i.className="option",i.type="number",i.value=e[t],i.min=yn[t].min,i.max=yn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Bn(),pn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=yn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function qn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Yn(){P.Beautify=Beautify,Beautify=de,P.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){P.CalculateGains(),Ve=1},P.tooltip={},P.tooltip.draw=Game.tooltip.draw,P.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){P.tooltip.drawMod(e,t,o)},P.tooltip.update=Game.tooltip.update,P.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){P.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},P.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){qn(P.UpdateWrinklers)},P.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){qn(P.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){qn(Game.ClickCookie)}),!1),P.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){P.RebuildUpgrades(),S=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(S[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},P.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Jt[Game.ObjectsById[e].name].name;Jt[o].amount-=1,We-=1,t=Jt[o].basePrice*Game.priceIncrease**Math.max(0,Jt[o].amount-1-Jt[o].free),t=Game.modifyBuildingPrice(Jt[o],t),t=Math.ceil(t);break}const o=je;return $o(),Xo(),o!==je&&$o(),[Qe-Game.cookiesPs,t]}(t),n=pe(o/(e+Game.cookiesPs)),i=de(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${de(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},P.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){P.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Je}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},P.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==jn().picker&&void 0!==jn().picker.owner||(P.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Vn).forEach((t=>{if("Favourite"===t){if(0!==ce.length&&e.FavouriteSettings>0&&(o.appendChild(Qn(t,Vn[t])),e.Header[t]))for(let e=0;e{const n=Qn(t,_n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(yn).forEach((e=>{yn[e].group===t&&o.appendChild(Xn(e))}))})):Object.keys(yn).forEach((e=>{yn[e].group===t&&o.appendChild(Xn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){En(sn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",zn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Un("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},P.sayTime=Game.sayTime,z=function(e,t){return Number.isNaN(e)||e<=0?P.sayTime(e,t):pe(e/Game.fps,1)},P.Logic=Game.Logic,Game.Logic=function(){P.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),se=`${Game.OnAscend?"Ascending! ":""}${de(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=se;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=zt?zt.wrath?`[W${Math.ceil(zt.life/Game.fps)}]`:`[G${Math.ceil(zt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(Vt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=se;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;zt&&(t=!0,zt.wrath?e+=`[W${Math.ceil(zt.life/Game.fps)}]`:e+=`[G${Math.ceil(zt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(Vt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${de(Game.prestige)}.
(CpS +${de(Game.prestige)}%)`,n+='
'),n+=Ne<1?"Ascending now would grant you no prestige.":Ne<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${de(Ne)} prestige levels (+${de(Ne)}% CpS)
and ${de(Ne)} heavenly chips to spend.`,n+='
',n+=`You need ${de(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${_t} to reach the next level and you were making ${de(mt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Kn(){vn(),nn(),ln(),r=Object.keys(Game.mods).length,x=document.createElement("style"),x.type="text/css",x.id="CMCSS",document.head.appendChild(x),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=B+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",F)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",N)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",N)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",N)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{ho(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=mo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:j},{id:"CMTimerBarGCBar",color:A}]);e.appendChild(t);const o=mo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:j},{id:"CMTimerBarRenBar",color:W}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=E+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(N,"Better than the best PP of a building option")),e.appendChild(o(O,"Same as the best PP building option")),e.appendChild(o(F,"Within the top 10 of PP for buildings")),e.appendChild(o(W,"Within the top 20 of PP for buildings")),e.appendChild(o(L,"Within the top 30 of PP for buildings")),e.appendChild(o(A,"Outside of the top 30 of PP for buildings")),e.appendChild(o(j,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=B+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",N)),e.appendChild(o("CMUpgradeBarGreen",O)),e.appendChild(o("CMUpgradeBarYellow",F)),e.appendChild(o("CMUpgradeBarOrange",W)),e.appendChild(o("CMUpgradeBarRed",L)),e.appendChild(o("CMUpgradeBarPurple",A)),e.appendChild(o("CMUpgradeBarGray",j)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys($).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}($[e][0],$[e][1],$[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Nn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==vt[1]&&(Game.wrinklers[vt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(T[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Fn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Ln()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){V=1},l("backgroundLeftCanvas").onmouseout=function(){V=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{Q[e]=0}))},Yn(),Ln(),Game.CalculateGains(),En(),I=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Jn={init:function(){wn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Kn(),Game.registerHook("draw",No),Game.registerHook("logic",Sn),Game.registerHook("click",Oo),wn=!1)},load:function(e){const t=JSON.parse(e);vn(),void 0!==t.favouriteSettings&&(ce=t.favouriteSettings),En(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:bn};Game.registerMod("CookieMonster",Jn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x,T,M=[],S=[],P=[],B={};const E="CMText",N="CMBack",O="Blue",F="Green",W="Yellow",L="Orange",A="Red",j="Purple",D="Gray",H="Pink",U="Brown",$=[D,O,F,W,L,A,j,H,U],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],I={};let z,V,_=0,Q=-1,X=[],q=1,Y=1,K=1;const J=[10,15,30,60,300,600,900,1800],Z=[1,5,10,15,30],ee={Frenzy:W,"Dragon Harvest":U,"Elder frenzy":F,Clot:A,"Click frenzy":O,Dragonflight:H};let te,oe,ne,ie,ae,re,le,se={},ce="",de=[];function pe(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return B.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${pe(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function me(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=F):(n=ue(t),o=t>300?A:t>60?L:W),{text:n,color:o}}let he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=0,pt=1,ut=1,mt=1,ht=0,gt=0,ft=0,Ct=0,yt={},bt={},kt={},Gt=0,vt=0,wt=[0,null],xt=0,Tt=0,Mt={},St={},Pt={},Bt={},Et={},Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,$t=0,Rt=[],It=0,zt=0,Vt={},_t={},Qt=0,Xt=0,qt=[],Yt={},Kt=0,Jt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Zt=[],eo=[],to=[];function oo(e){let t=0;return Game.dragonAuras[$e].name!==e&&Game.dragonAuras[Re].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[$e].name&&"Reality Bending"!==Game.dragonAuras[Re].name||(t+=.1),t}function no(){let e=.25;return e*=1+oo("Earth Shatterer"),e}function io(e,t){return void 0===Qe[e]?void 0===t?1:t:Qe[e]}function ao(e){const t=eo[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ro(e){if(Game.hasGod){void 0===Zt.Temple.minigame&&(Zt.Temple.minigame=Game.Objects.Temple.minigame);const t=Zt.Temple.minigame.gods[e];if(Ie===t.id)return 1;if(ze===t.id)return 2;if(Ve===t.id)return 3}return!1}function lo(e,t){let o=t;if(ao("Season savings")&&(o*=.99),ao("Santa's dominion")&&(o*=.99),ao("Faberge egg")&&(o*=.99),ao("Divine discount")&&(o*=.99),ao("Fortune #100")&&(o*=.99),o*=1-.02*oo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&ao(e.fortune.name)&&(o*=.93),o*=io("buildingCost"),Zt.Temple.minigameLoaded){const e=ro("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function so(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function co(){let t=Game.buyBulk;if(1===Game.buyMode?Y=t:t=Y,1===t?t=yt:10===t?t=bt:100===t&&(t=kt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(yt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=pe(so(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(yt).map((e=>{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;e$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.ppe.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?q=i:i=q,1===i&&(i=yt),10===i&&(i=bt),100===i&&(i=kt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=pe(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=E+i[o].color,n=e.PPDisplayTime?ue(Math.round(i[o].pp)):pe(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=me((Game.Objects[o].bulkPrice-(Game.cookies+mo()))/uo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=E+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&ao(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(ao(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&ao(e.fortune.name)&&(t*=1.07),e.grandma&&ao(e.grandma.name)&&(t*=1+.01*Zt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&ao(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function wo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;ao("Thousand fingers")&&(t+=.1),ao("Million fingers")&&(t*=5),ao("Billion fingers")&&(t*=10),ao("Trillion fingers")&&(t*=20),ao("Quadrillion fingers")&&(t*=20),ao("Quintillion fingers")&&(t*=20),ao("Sextillion fingers")&&(t*=20),ao("Septillion fingers")&&(t*=20),ao("Octillion fingers")&&(t*=20),ao("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Zt).forEach((e=>{"Cursor"!==Zt[e].name&&(n+=Zt[e].amount)})),t*=n,o*=vo(e),o*=Game.magicCpS("Cursor"),o*=io("cursorCps"),Game.ComputeCps(.1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{ao(Game.GrandmaSynergies[e])&&(o*=2)})),ao("Bingo center/Research facility")&&(o*=4),ao("Ritual rolling pins")&&(o*=2),ao("Naughty list")&&(o*=2),ao("Elderwort biscuits")&&(o*=1.02),o*=io("grandmaCps"),ao("Cat ladies"))for(let e=0;e{"Grandma"!==Zt[e].name&&(i+=Zt[e].amount)})),o*=1+.01*oo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=vo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function xo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Zt).forEach((t=>{Zt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(ao("Starlove")&&(e=3),Game.hasGod){const t=ro("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function To(){Ae=Game.UpgradesOwned,je=Game.pledges,De=Game.AchievementsOwned,He=Game.heavenlyPower,Ue=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e],go(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ie=t.minigame.slot[0],ze=t.minigame.slot[1],Ve=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Zt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=eo[e];void 0===o&&(eo[e]=xo(e),o=eo[e]),o.bought=t.bought,eo[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=to[e];void 0===o&&(to[e]=Go(e),o=to[e]),o.won=t.won,to[e]=o})),ko(),$e=Ye,Re=Ke}function Mo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function So(e){e.appendChild(Mo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(Mo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(Mo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(Mo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ne){e.appendChild(Mo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Po(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Eo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function No(){if(To(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ne?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(So(l("CMTooltipBorder")),1===Game.buyMode?K=t:t=K,1===Game.buyBulk?t=yt:10===Game.buyBulk?t=bt:100===Game.buyBulk&&(t=kt),te=Game.Objects[ie].bulkPrice,oe=t[ie].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=pe(oe,2);const o=Math.round(oe/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=E+t[ie].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ue(t[ie].pp):l("CMTooltipPP").textContent=pe(t[ie].pp,2),l("CMTooltipPP").className=E+t[ie].color;const n=me((te-(Game.cookies+mo()))/uo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ie[1]][ie[0]][0]-1].mature,o=t.plantsById[t.plot[ie[1]][ie[0]][0]-1].name;l("CMTooltipBorder").appendChild(Mo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${pe(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${pe(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${pe(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${pe(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ne?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(Mo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=ho(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==ee[Game.buffs[t].name]?ee[Game.buffs[t].name]:j,a.lastChild.children[1].className=N+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),le!==n&&(le=n,yo())}}(),fo(),No(),function(){if(1===e.TooltipWrink&&1===_){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===X[t]||void 0===X[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),Q=t,X[t]=1}}else X[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[Q],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[Q].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Zt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=pe(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,pe(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Fo(){he.addLatest(Game.computedMouseCps)}class Wo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Lo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Kt;Game.cpsSucked>0&&(o+=Gt),It=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ge,i=Math.max(0,Game.cookies-ve)/n,a=Math.max(0,Gt-we)/n,r=Math.max(0,wt[0]-xe)/n,l=Math.max(0,o-Ct)/n,s=(Game.cookieClicks-Te)/n;for(let e=0;e0&&(n=A),n}function jo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=D;else{t[n].color=Ao(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+mo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||qt.push([t[n].pp,o])}))}function Ho(){!function(){Xt=1/0,qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Do(yt,1),Do(bt,10),Do(kt,100),qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;qt[t][1]>Game.cookies&&(t+=1,qt.length!==t+1););Xt=qt[e.PPExcludeTop][t],jo(yt,1),jo(bt,10),jo(kt,100)}(),Object.keys(Mt).forEach((e=>{Game.cookiesPs?Mt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+mo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Mt[e].bonus:Mt[e].pp=Game.Upgrades[e].getPrice()/Mt[e].bonus,Number.isNaN(Mt[e].pp)&&(Mt[e].pp=1/0),Mt[e].color=Ao(Mt[e],Game.Upgrades[e].getPrice())}))}function Uo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Qe=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ue)*He*function(){let e=0;if(ao("Heavenly chip secret")&&(e+=.05),ao("Heavenly cookie stand")&&(e+=.2),ao("Heavenly bakery")&&(e+=.25),ao("Heavenly confectionery")&&(e+=.25),ao("Heavenly key")&&(e+=.25),e*=1+.05*oo("Dragon God"),ao("Lucky digit")&&(e*=1.01),ao("Lucky number")&&(e*=1.01),ao("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ro("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=io("cps"),ao("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];ao(o.name)&&("function"==typeof o.power?e*=1+.01*eo[o.name].power(eo[o.name]):e*=1+.01*o.power)})),ao("Specialized chocolate chips")&&(e*=1.01),ao("Designer cocoa beans")&&(e*=1.02),ao("Underworld ovens")&&(e*=1.03),ao("Exotic nuts")&&(e*=1.04),ao("Arcane sugar")&&(e*=1.05),ao("Increased merriness")&&(e*=1.15),ao("Improved jolliness")&&(e*=1.15),ao("A lump of coal")&&(e*=1.01),ao("An itchy sweater")&&(e*=1.01),ao("Santa's dominion")&&(e*=1.2),ao("Fortune #100")&&(e*=1.01),ao("Fortune #101")&&(e*=1.07),ao("Dragon scale")&&(e*=1.03);let o=1;if(ro){let t=ro("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ro("ages"),1===t?e*=1+.15*Math.sin(w/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(w/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(w/1e3/86400*Math.PI*2)),t=ro("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ro("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ro("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}ao("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=De/25;let i=1;if(ao("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*oo("Breath of Milk"),ro){const e=ro("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=io("milk");let a=1;ao("Kitten helpers")&&(a*=1+.1*n*i),ao("Kitten workers")&&(a*=1+.125*n*i),ao("Kitten engineers")&&(a*=1+.15*n*i),ao("Kitten overseers")&&(a*=1+.175*n*i),ao("Kitten managers")&&(a*=1+.2*n*i),ao("Kitten accountants")&&(a*=1+.2*n*i),ao("Kitten specialists")&&(a*=1+.2*n*i),ao("Kitten experts")&&(a*=1+.2*n*i),ao("Kitten consultants")&&(a*=1+.2*n*i),ao("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),ao("Kitten marketeers")&&(a*=1+.15*n*i),ao("Kitten analysts")&&(a*=1+.125*n*i),ao("Kitten executives")&&(a*=1+.115*n*i),ao("Kitten angels")&&(a*=1+.1*n*i),ao("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Zt).forEach((e=>{const t=Zt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&ao("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Xe+=t.amount*a})),ao('"egg"')&&(Xe+=9),e*=a;let r=1;if(ao("Chicken egg")&&(r*=1.01),ao("Duck egg")&&(r*=1.01),ao("Turkey egg")&&(r*=1.01),ao("Quail egg")&&(r*=1.01),ao("Robin egg")&&(r*=1.01),ao("Ostrich egg")&&(r*=1.01),ao("Cassowary egg")&&(r*=1.01),ao("Salmon roe")&&(r*=1.01),ao("Frogspawn")&&(r*=1.01),ao("Shark egg")&&(r*=1.01),ao("Turtle egg")&&(r*=1.01),ao("Ant larva")&&(r*=1.01),ao("Century egg")){let e=10*Math.floor((x-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),gt=1+.1*(1-(1-e/100)**3),r*=gt}e*=r,ao("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+oo("Radiant Appetite");const l=Xe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&$o(Game.CpsAchievements[e].name)})),qe=l;const{n:s}=Game.shimmerTypes.golden,c=oo("Dragon's Fortune");for(let t=0;t{ao(e[o])&&(t+=.1)}))}e*=t}if(ao("Shimmering veil [off]")){let t=.5;ao("Reinforced membrane")&&(t+=.1),e*=1+t}ao("Magic shenanigans")&&(e*=1e3),ao("Occult obstruction")&&(e*=0),Xe=Game.runModHookOnValue("cps",Xe),e*=Bo(),Xe*=e}const Io=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],zo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Vo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],_o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Qo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Xo(e){return to[e]?to[e].won:0}function qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{ao(Game.GrandmaSynergies[t])&&(e+=1)})),!Xo("Elder")&&e>=7&&$o("Elder"),!Xo("Veteran")&&e>=14&&$o("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount,i=Math.min(Zt[e].amount,i),Xo("Mathematician")||Zt[e].amount=1&&$o("One with everything"),1===o&&$o("Mathematician"),1===n&&$o("Base 10"),i>=100&&$o("Centennial"),i>=150&&$o("Centennial and a half"),i>=200&&$o("Bicentennial"),i>=250&&$o("Bicentennial and a half"),i>=300&&$o("Tricentennial"),i>=350&&$o("Tricentennial and a half"),i>=400&&$o("Quadricentennial"),i>=450&&$o("Quadricentennial and a half"),i>=500&&$o("Quincentennial"),i>=550&&$o("Quincentennial and a half"),i>=600&&$o("Sexcentennial"),t>=100&&$o("Builder"),t>=500&&$o("Architect"),t>=1e3&&$o("Engineer"),t>=2e3&&$o("Lord of Constructs"),t>=4e3&&$o("Grand design"),t>=8e3&&$o("Ecumenopolis"),Ae>=20&&$o("Enhancer"),Ae>=50&&$o("Augmenter"),Ae>=100&&$o("Upgrader"),Ae>=200&&$o("Lord of Progress"),Ae>=300&&$o("The full picture"),Ae>=400&&$o("When there's nothing left to add"),t>=4e3&&Ae>=300&&$o("Polymath"),t>=8e3&&Ae>=400&&$o("Renaissance baker"),Zt.Cursor.amount+Zt.Grandma.amount>=777&&$o("The elder scrolls");let a=!0;Object.keys(zo).forEach((e=>{ao(zo[e])||(a=!1)})),a&&$o("Spooky cookies");let r=!0;if(Object.keys(Vo).forEach((e=>{ao(Vo[e])||(r=!1)})),r&&$o("Let it snow"),ao("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{ao(e[o].name)&&(t+=1)})),t>=e.length&&$o("O Fortuna")}}function Yo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){To(),Zt[e].amount+=t;const o=Zt[e];"Cursor"===e?(o.amount>=1&&$o("Click"),o.amount>=2&&$o("Double-click"),o.amount>=50&&$o("Mouse wheel"),o.amount>=100&&$o("Of Mice and Men"),o.amount>=200&&$o("The Digital"),o.amount>=300&&$o("Extreme polydactyly"),o.amount>=400&&$o("Dr. T"),o.amount>=500&&$o("Thumbs, phalanges, metacarpals"),o.amount>=600&&$o("With her finger and her thumb"),o.amount>=700&&$o("Gotta hand it to you"),o.amount>=800&&$o("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&$o(Game.Objects[o.name].tieredAchievs[e].name)}));const n=De;return Ro(),qo(),n!==De&&Ro(),Xe-Game.cookiesPs}(o,e),1!==e&&(Fe=1)})),t}function Ko(){Object.keys(Game.Objects).forEach((e=>{yt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),bt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),kt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Jo(){yt=Yo(1),bt=Yo(10),kt=Yo(100),Mt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){To(),"Shimmering veil [on]"===eo[e].name?eo["Shimmering veil [off]"].bought=0:"Golden switch [on]"===eo[e].name?eo["Golden switch [off]"].bought=0:eo[e].bought=(eo[e].bought+1)%2,eo[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ae+=1),"Elder Pledge"===e?(je+=1,je>0&&$o("Elder nap"),je>=5&&$o("Elder slumber")):"Elder Covenant"===e?$o("Elder calm"):"Prism heart biscuits"===e?$o("Lovely cookies"):"Heavenly key"===e&&$o("Wholesome");const t=De;Ro(),qo(),t!==De&&Ro();const o=function(){let e=0;ao("Thousand fingers")&&(e+=.1),ao("Million fingers")&&(e*=5),ao("Billion fingers")&&(e*=10),ao("Trillion fingers")&&(e*=20),ao("Quadrillion fingers")&&(e*=20),ao("Quintillion fingers")&&(e*=20),ao("Sextillion fingers")&&(e*=20),ao("Septillion fingers")&&(e*=20),ao("Octillion fingers")&&(e*=20),ao("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount})),t-=Zt.Cursor.amount,e*=t,ao("Plastic mouse")&&(e+=.01*Xe),ao("Iron mouse")&&(e+=.01*Xe),ao("Titanium mouse")&&(e+=.01*Xe),ao("Adamantium mouse")&&(e+=.01*Xe),ao("Unobtainium mouse")&&(e+=.01*Xe),ao("Eludium mouse")&&(e+=.01*Xe),ao("Wishalloy mouse")&&(e+=.01*Xe),ao("Fantasteel mouse")&&(e+=.01*Xe),ao("Nevercrack mouse")&&(e+=.01*Xe),ao("Armythril mouse")&&(e+=.01*Xe),ao("Technobsidian mouse")&&(e+=.01*Xe),ao("Plasmarble mouse")&&(e+=.01*Xe),ao("Miraculite mouse")&&(e+=.01*Xe),ao("Fortune #104")&&(e+=.01*Xe);let o=1;if(ao("Santa's helpers")&&(o*=1.1),ao("Cookie egg")&&(o*=1.1),ao("Halo gloves")&&(o*=1.1),ao("Dragon claw")&&(o*=1.03),ao("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,ao("Luminous gloves")?20:10)),o*=io("click"),Zt.Temple.minigameLoaded&&ro){const e=ro("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*oo("Dragon Cursor");let n=o*Game.ComputeCps(1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Xe-Game.cookiesPs,o]:[Xe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Mt[t]={bonus:Game.cookiesPs-Me},1===e.CalcWrink?Mt[t].bonus-=Se:2===e.CalcWrink&&(Mt[t].bonus-=Pe),Number.isFinite(Mt[t].bonus)||(Mt[t].bonus=0)):(Mt[t]={},o[0]&&(Mt[t].bonus=o[0]),o[1]&&(Mt[t].bonusMouse=o[1]))}))}function Zo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ft=Zo(7,e,ut),Nt=2*Ft[1]/ut,Ot=Ft[2]/60/60/6/pt,At=Zo(6,e,mt),Wt=2*At[1]/mt,Lt=At[2]/60/60/6/pt,Ht=Zo(7,7*e,ut),jt=2*Ht[1]/ut,Dt=Ht[2]/60/60/6/pt,Rt=Zo(6,7*e,mt),Ut=2*Rt[1]/mt,$t=Rt[2]/60/60/6/pt}function tn(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ne,i=Math.max(0,o-Oe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Bt+=e:"cookie"===o.pool?Et+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Pt+=e)}}))}function nn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ft=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ft*=2)}}function an(){et=900*dt/.15,et*=pt;const e=Bo();e>0?et/=e:et=0,tt=ut*(.15*et)+13,ot=mt*(.15*et)+13,nt=7*et,it=ut*(.15*nt)+13,at=mt*(.15*nt)+13,rt=2*et,lt=.15*rt,st=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountst&&(st=2*Game.Objects[e].price,ct=e)}))}function rn(){let e=1,t=1,o=1;ao("Green yeast digestives")&&(o*=1.01),ao("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ut=o*e,mt=o*t,pt=1,0===Game.shimmerTypes.golden.n&&(pt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function ln(){Gt=0,vt=0,wt=[0,null];for(let e=0;ewt[0]&&(wt=[t,e]))}}function sn(){ko(),ln(),an(),rn(),en(),on(),nn(),ge=new Wo(J[J.length-1]),fe=new Wo(J[J.length-1]),Ce=new Wo(J[J.length-1]),ye=new Wo(J[J.length-1]),be=new Wo(Z[Z.length-1]),ke=new Wo(5),he=new Wo(20*Z[Z.length-1]),tn(),Lo(),Jo(),Ko(),Ho()}const cn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},dn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function pn(){1===e.BotBar?(l("CMBotBar").style.display="",fo()):l("CMBotBar").style.display="none",yo()}function un(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),fo(),co(),po()}function mn(){1===e.Favicon&&y>0?Vt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class hn{constructor(e,t){this.type=e,this.group=t}}class gn extends hn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class fn extends hn{constructor(e,t,o){super(e,t),this.desc=o}}class Cn extends hn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class yn extends hn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const bn={CPSMode:new gn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new gn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new gn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new gn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){_e=!0})),Scale:new gn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){un()})),ScaleDecimals:new gn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){un()})),ScaleSeparator:new gn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){un()})),ScaleCutoff:new yn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new gn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new gn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=V:Game.sayTime=B.sayTime})),PPDisplayTime:new gn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new gn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){co()})),PPOnlyConsiderBuyable:new gn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new gn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new gn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new yn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new fn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new fn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new fn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new fn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new fn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new fn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new fn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new fn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new fn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new gn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){pn()})),TimerBar:new gn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){bo()})),TimerBarPos:new gn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),yo()})),TimerBarOverlay:new gn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new gn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",po()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",po()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new gn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new gn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){co()})),SortUpgrades:new gn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){po()})),DragonAuraInfo:new gn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new gn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new gn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(se).forEach((e=>{se[e].style.display="block",se[e].style.left=Yt[e].l.style.left,se[e].style.top=Yt[e].l.style.top})):Object.keys(se).forEach((e=>se[e].style.display="none"))})),Favicon:new gn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){mn()})),WrinklerButtons:new gn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new gn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new gn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new gn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new gn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new gn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new gn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new gn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new gn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new yn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new gn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new gn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Eo()})),TooltipGrim:new gn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new gn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new gn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new gn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new gn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new gn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new gn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new gn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new gn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new gn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new yn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new gn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new gn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new gn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new gn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){dn(e.GCNotification)})),GCFlash:new gn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new fn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new gn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new Cn("vol","NotificationGC",[],"Volume"),GCSoundURL:new gn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new gn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){dn(e.FortuneNotification)})),FortuneFlash:new gn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new fn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new gn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new Cn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new gn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new gn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){dn(e.SeaNotification)})),SeaFlash:new gn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new fn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new gn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new Cn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new gn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new gn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new fn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new gn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new Cn("vol","NotificationGard",[],"Volume"),GardSoundURL:new gn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new gn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){dn(e.MagicNotification)})),MagicFlash:new gn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new fn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new gn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new Cn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new gn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new gn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){dn(e.WrinklerNotification)})),WrinklerFlash:new gn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new fn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new gn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new Cn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new gn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new gn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){dn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new gn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new fn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new gn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new Cn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new gn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new gn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new gn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function kn(){return JSON.stringify({favouriteSettings:de,settings:e,version:"2.031.6"})}function Gn(){if(Je!==Game.dragonLevel||_e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Upgrades).forEach((e=>{eo[e]=xo(e)})),to=[],Object.keys(Game.Achievements).forEach((e=>{to[e]=Go(e)})),To()}let xn=!1;function Tn(t,o,n){(1===e[o]||n)&&3===t&&!1===xn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Tn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Tn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Tn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Mn(t,o,n,i){if((1===e[o]||i)&&!1===xn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Sn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===xn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Pn(){if(re!==Game.OnAscend&&(re=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(pn(),bo()),Co()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(wn(),sn(),r=Object.keys(Game.mods).length),_e&&(Jo(),Game.Has("Golden switch [off]")?(To(),eo["Golden switch [off]"].bought=0,Ro(),dt=Xe):dt=Game.cookiesPs,rn(),an(),on(),en(),Gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Jt[e][t]=vn(e,t)}(),nn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;To();let t=2;5!==$e&&18!==$e||(t-=1),5!==Re&&18!==Re||(t-=1),$e=5,Re=18;for(let e=0;e{Zt[t].amount>0&&(e=t)})),Zt[e].amount-=1,Le-=1}return Object.keys(Zt).forEach((t=>{const o=Zt[t];e+=so(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Kt=e}(),_e=0);const t=Game.auraMult("Fierce Hoarder")>0;!We&&t?(We=!0,Fe=1):We&&!t&&(We=!1,Fe=1),Fe&&(Ko(),Fe=0),function(){ln(),Ho(),function(){xt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Zt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Tt=e,xt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Lo(),tn();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Qt=ue(e/uo())}(),G=0,Yt={},Object.keys(Game.shimmers).forEach((e=>{Yt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Vt=Game.shimmers[e],G+=1)})),Object.keys(se).forEach((e=>{void 0===Yt[e]&&(se[e].parentNode.removeChild(se[e]),delete se[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===se[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},se[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),mn(),b=G,0===G&&(Vt=0)):1===e.GCTimer&&y&&Object.keys(se).forEach((e=>{se[e].style.opacity=Yt[e].l.style.opacity,se[e].style.transform=Yt[e].l.style.transform,se[e].textContent=Math.ceil(Yt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Tn(3,"FortuneFlash",!1),Mn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Sn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(_t=Game.shimmers[e])})),Tn(3,"SeaFlash",!1),Mn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Sn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Tn(3,"WrinklerMaxFlash",!1):Tn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Mn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Mn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Sn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Sn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Bn(){let t="";for(let o=0;o<$.length;o++)t+=`.CMText${$[o]} { color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBack${$[o]} { background-color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBorder${$[o]} { border: 1px solid ${e[`Colour${$[o]}`]}; }\n`;l("CMCSS").textContent=t,co()}function En(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${kn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Nn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t,void 0!==e.Colors&&delete e.Colors,void 0!==e.Colours&&delete e.Colours;let o=!1;Object.keys(cn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=cn[t]):"Header"===t&&Object.keys(cn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=cn[t][n])}))})),o&&En(),Pn(),Object.keys(cn).forEach((e=>{"Header"!==e&&void 0!==bn[e].func&&bn[e].func()}))}else Nn(cn);Game.UpdateMenu(),Bn()}function On(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Fn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Uo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${pe(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${me((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(pe(Game.Objects[o].bulkPrice)).join(pe((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ne=t,ie=o,No(),l("tooltip").innerHTML}function Wn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(S[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Ln(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),En()}function Rn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){$n(o),Game.UpdateMenu()},n.appendChild(i),n}function In(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(I[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function zn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Vn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Rn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+mo(){Game.HasUnlocked(Qo[e])||c.push(Qo[e])})),0!==c.length&&e.appendChild(In("basic","Rare plant drops left to unlock",zn(c))),e}())),o.appendChild(Rn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?Ct:0)));t.appendChild(In("withTooltip","Prestige level (cur / max)",document.createTextNode(`${pe(Game.prestige)} / ${pe(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&Ct?Ct:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(pe(n)));const a=document.createElement("small");a.textContent=` (${ue(n/zt,1)})`,i.appendChild(a),t.appendChild(In("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(In("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${pe(Game.heavenlyChips)} / ${pe(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(In("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(pe(ht,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(In("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(pe(e)))),t.appendChild(In("basic","Time till target (cur, current 5 second average)",document.createTextNode(ue(e/ht)))))}const l=function(e){let t=Game.cookiesPs;To(),0===eo["Heavenly key"].bought&&(eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ro(),t=Xe,To()),It>=1e6&&$o("Sacrifice"),It>=1e9&&$o("Oblivion"),It>=1e12&&$o("From scratch"),It>=1e15&&$o("Nihilism"),It>=1e18&&$o("Dematerialize"),It>=1e21&&$o("Nil zero zilch"),It>=1e24&&$o("Transcendence"),It>=1e27&&$o("Obliterate"),It>=1e30&&$o("Negative void"),It>=1e33&&$o("To crumbs, you say?"),It>=1e36&&$o("You get nothing"),It>=1e39&&$o("Humble rebeginnings"),It>=1e42&&$o("The end of the world"),It>=1e45&&$o("Oh, you're back"),It>=1e48&&$o("Lazarus"),It>=1e51&&$o("Smurf account"),It>=1e54&&$o("If at first you don't succeed"),eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ue=e;const o=De;Ro(),qo(),o!==De&&Ro();const n=Xe-t;return Ue=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(pe(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(In("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Rn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${pe(Gt)} / ${pe(vt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){On()},e.appendChild(t),o.appendChild(In("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${pe(wt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},n.appendChild(i),o.appendChild(In("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==wt[1]?wt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(n.push(zo[e]),o=!0)}));const i=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(i.push(Vo[e]),o=!0)}));const a=[];Object.keys(_o).forEach((e=>{Game.Has(_o[e])||(a.push(_o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Rn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(In("basic","Halloween cookies left to buy",zn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(In("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${pe((1-e)*o*100)}% / ${pe((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(In("basic","Christmas cookies left to buy",zn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(In("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${pe((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(In("basic","Valentine cookies left to buy",zn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(In("basic","Normal easter eggs left to unlock",zn(r))),t.appendChild(In("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[0])}% / ${pe(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(In("basic","Rare easter eggs left to unlock",zn(l))),t.appendChild(In("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[1])}% / ${pe(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(In("basic","Reindeer reward",document.createTextNode(pe(ft)))),s&&t.appendChild(In("withTooltip","Chocolate egg cookies",document.createTextNode(pe(Ct)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(In("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(gt-1))/100+"%")))}return t}()),o.appendChild(Rn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(In("basic",`Average cookies per second (past ${J[e.AvgCPSHist]<60?`${J[e.AvgCPSHist]} seconds`:J[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(pe(uo(),3)))),o.appendChild(In("basic",`Average cookie clicks per second (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(St,1)))),o.appendChild(In("basic",`Cookies from clicking (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(he.calcSum(St*Z[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Io).forEach((t=>{Game.Has(Io[t])||e.push(Io[t])})),0!==e.length&&o.appendChild(In("basic","Fortune Upgrades Left to Buy",zn(e)))}if(e.ShowMissedGC&&o.appendChild(In("basic","Missed golden cookies",document.createTextNode(pe(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(In("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Et){const t=Et.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Et,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const _n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Qn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Xn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){$n(t),Game.UpdateMenu()},n.appendChild(i),n}function qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return de.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){de.includes(e)?de=de.filter((function(t){return t!==e})):de.push(e)}(e),En(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(I.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===bn[t].type){const n=document.createElement("a");bn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Hn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===bn[t].label.length?(e[t]=0,bn[t].toggle&&(l(Hn+t).className="option off")):l(Hn+t).className="option",void 0!==bn[t].func&&bn[t].func(),l(Hn+t).innerHTML=bn[t].label[e[t]],En()}(t)},n.textContent=bn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=bn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===bn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=bn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Un(t)},r.onchange=function(){Un(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Mn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Hn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,En(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=bn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===bn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new jn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Bn(),En(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=bn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Tn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Dn().init(),o}if("numscale"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="number",i.value=e[t],i.min=bn[t].min,i.max=bn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,En(),un()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=bn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Yn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Kn(){B.Beautify=Beautify,Beautify=pe,B.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){B.CalculateGains(),_e=1,w=Date.now(),x=Date.now()},B.tooltip={},B.tooltip.draw=Game.tooltip.draw,B.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){B.tooltip.drawMod(e,t,o)},B.tooltip.update=Game.tooltip.update,B.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){B.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},B.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Yn(B.UpdateWrinklers)},B.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Yn(B.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Yn(Game.ClickCookie)}),!1),B.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){B.RebuildUpgrades(),P=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(P[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},B.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Zt[Game.ObjectsById[e].name].name;Zt[o].amount-=1,Le-=1,t=Zt[o].basePrice*Game.priceIncrease**Math.max(0,Zt[o].amount-1-Zt[o].free),t=Game.modifyBuildingPrice(Zt[o],t),t=Math.ceil(t);break}const o=De;return Ro(),qo(),o!==De&&Ro(),[Xe-Game.cookiesPs,t]}(t),n=ue(o/(e+Game.cookiesPs)),i=pe(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${pe(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},B.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){B.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},B.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Dn().picker&&void 0!==Dn().picker.owner||(B.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(_n).forEach((t=>{if("Favourite"===t){if(0!==de.length&&e.FavouriteSettings>0&&(o.appendChild(Xn(t,_n[t])),e.Header[t]))for(let e=0;e{const n=Xn(t,Qn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))}))})):Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Nn(cn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Vn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){$n("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},B.sayTime=Game.sayTime,V=function(e,t){return Number.isNaN(e)||e<=0?B.sayTime(e,t):ue(e/Game.fps,1)},B.Logic=Game.Logic,Game.Logic=function(){B.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ce=`${Game.OnAscend?"Ascending! ":""}${pe(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ce;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Vt?Vt.wrath?`[W${Math.ceil(Vt.life/Game.fps)}]`:`[G${Math.ceil(Vt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(_t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ce;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Vt&&(t=!0,Vt.wrath?e+=`[W${Math.ceil(Vt.life/Game.fps)}]`:e+=`[G${Math.ceil(Vt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(_t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${pe(Game.prestige)}.
(CpS +${pe(Game.prestige)}%)`,n+='
'),n+=Oe<1?"Ascending now would grant you no prestige.":Oe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${pe(Oe)} prestige levels (+${pe(Oe)}% CpS)
and ${pe(Oe)} heavenly chips to spend.`,n+='
',n+=`You need ${pe(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Qt} to reach the next level and you were making ${pe(ht,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Jn(){wn(),an(),sn(),r=Object.keys(Game.mods).length,T=document.createElement("style"),T.type="text/css",T.id="CMCSS",document.head.appendChild(T),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=E+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",W)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",O)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",O)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",O)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{go(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=ho("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:D},{id:"CMTimerBarGCBar",color:j}]);e.appendChild(t);const o=ho("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:D},{id:"CMTimerBarRenBar",color:L}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=N+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(O,"Better than the best PP of a building option")),e.appendChild(o(F,"Same as the best PP building option")),e.appendChild(o(W,"Within the top 10 of PP for buildings")),e.appendChild(o(L,"Within the top 20 of PP for buildings")),e.appendChild(o(A,"Within the top 30 of PP for buildings")),e.appendChild(o(j,"Outside of the top 30 of PP for buildings")),e.appendChild(o(D,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=E+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",O)),e.appendChild(o("CMUpgradeBarGreen",F)),e.appendChild(o("CMUpgradeBarYellow",W)),e.appendChild(o("CMUpgradeBarOrange",L)),e.appendChild(o("CMUpgradeBarRed",A)),e.appendChild(o("CMUpgradeBarPurple",j)),e.appendChild(o("CMUpgradeBarGray",D)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),I[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){On()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(M[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Wn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),An()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){_=1},l("backgroundLeftCanvas").onmouseout=function(){_=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{X[e]=0}))},Kn(),An(),Game.CalculateGains(),Nn(),z=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Zn={init:function(){xn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Jn(),Game.registerHook("draw",Oo),Game.registerHook("logic",Pn),Game.registerHook("click",Fo),xn=!1)},load:function(e){const t=JSON.parse(e);wn(),void 0!==t.favouriteSettings&&(de=t.favouriteSettings),Nn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:kn};Game.registerMod("CookieMonster",Zn)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index ef7b2805..c0cf8bd4 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DateAtBeginLoop","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CacheAverageCookiesFromClicks","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","CMDrawHook","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","reduce","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","MissingAchievements","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoopHook","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","calcSum","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","achievs","values","parentElement","achievsCrate","AchievementsById","mouseDown","setOnCrate","tags","neuromancy","sesame","descFunc","tagsStr","CrateTooltipLockedAchievements","AddMissingAchievements","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAKAC,EAOAC,EA/BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GA0BtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC,EACAC,EACAC,EACAC,EACAC,EACAE,EACAC,GAUIE,EAAc,CAClB,CAAC,6BAA8B,oCAAqC,SACpE,CACE,2CACA,6EACA,SAEF,CACE,6BACA,qPACA,SAEF,CACE,8BACA,kEACA,SAEF,CACE,kCACA,2PACA,SAEF,CACE,0BACA,gLACA,SAEF,CACE,2BACA,uOACA,SAEF,CACE,4BACA,2CACA,SAEF,CACE,8BACA,uHACA,UAGEC,EAAwB,GAM9B,IAUIC,EACAC,EAXAC,EAAsB,EACtBC,GAAmB,EAOnBC,EAA4B,GAQ5BC,EAAmB,EACnBC,EAAsB,EACtBC,EAA4B,EAMhC,MAAMC,EAAc,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,MAC9CC,EAAa,CAAC,EAAG,EAAG,GAAI,GAAI,IAK5BC,EAAc,CAClBC,OAAQrB,EACRsB,iBAAkBhB,EAClBiB,eAAgBxB,EAChByB,KAAMtB,EACNuB,eAAgB3B,EAChB4B,aAAcrB,GAMhB,IAOIsB,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GAdAC,GAAW,GAKXC,GAAQ,GAcRC,GAAoB,GAkBxB,SAASC,GAA4BC,EAAKC,EAAQC,GAChD,MAAMC,EAAW3E,EAAU4E,cAAgB,EAC3C,GAAIJ,IAAQK,IACV,MAAO,WAET,QAAmB,IAARL,EACT,MAAO,IAET,GAAwB,IAApBxE,EAAU8E,MACZ,OAAOjD,EAAgBkD,SAASP,EAAKC,GAEvC,GAAIO,OAAOC,SAAST,GAAM,CACxB,GAAIA,EAAM,EACR,MAAO,IAAID,GAA4B1hB,KAAK0N,IAAIiU,MAElD,IAAIU,EAAS,GACb,GAAY,IAARV,EACF,OAAOA,EAAIzhB,WAEb,GAAIyhB,EAAM,MAASA,EAAMxE,EAAUmF,YAGjC,OAF8BD,EAA1BlF,EAAUoF,eAAyBZ,EAAIa,eAAe,MAC5Cb,EAAIa,eAAe,MAC1BH,EAET,GAAyB,IAApBlF,EAAU8E,QAAgBJ,GAAsB,IAAXA,EAExCQ,EAASV,EAAIc,cAAcX,GAAU5hB,WAAW7B,QAAQ,IAAK,SACxD,CACL,MAAMqkB,EAAcf,EAAIc,gBAAgBviB,WAClCyiB,EAAwB3iB,KAAKkE,MACjCwe,EAAYlH,MAAMkH,EAAY/nB,QAAQ,KAAO,GAAK,GAEpD0nB,GAAUV,EAAMQ,OAAO,KAA6B,EAAxBQ,IAA8BC,QACxDd,GAGuB,IAApB3E,EAAU8E,QAAgBJ,GAAsB,IAAXA,EAEpCF,GAAO,KAAQA,EAAMQ,OAAO,KAAqB,EAAhB3E,EAAO9lB,QAC1C2qB,GAAU,IAAI7E,EAAOmF,KAChBN,EAASX,GAA4BC,EAAK,EAAG,GACtB,IAApBxE,EAAU8E,QAAgBJ,GAAsB,IAAXA,EAE3CF,GAAO,KAAQA,EAAMQ,OAAO,KAAyB,EAApB1E,EAAW/lB,QAC9C2qB,GAAU,IAAI5E,EAAWkF,KACpBN,EAASX,GAA4BC,EAAK,EAAG,GACtB,IAApBxE,EAAU8E,QAAgBJ,GAAsB,IAAXA,EAG7CF,GAAO,KACPA,EAAMQ,OAAO,KAAoC,EAA/BzE,EAAsBhmB,QAExC2qB,GAAU,IAAI3E,EAAsBiF,KAC/BN,EAASX,GAA4BC,EAAK,EAAG,IACtB,IAApBxE,EAAU8E,QAAgBJ,GAAsB,IAAXA,KAE/CQ,GAAU,IAA4B,EAAxBM,GAUlB,MAPe,KAAXN,IACF/pB,QAAQuqB,IACN,2DAA2DlB,KAE7DU,EAASrD,EAAgBkD,SAASP,EAAKC,IAErCzE,EAAUoF,iBAAgBF,EAASA,EAAOhkB,QAAQ,IAAK,MACpDgkB,EAGT,OADA/pB,QAAQuqB,IAAI,2DAA2DlB,KAChE3C,EAAgBkD,SAASP,EAAKC,GASvC,SAASkB,GAAWC,EAAMC,GACxB,IAAIC,EAAgBF,EACpB,GAAIA,IAASf,IAAU,OAAOe,EAC9B,GAAIA,EAAO,EAAG,MAAO,uBACrBE,EAAgBjjB,KAAKoL,KAAK2X,GAC1B,MAAMnhB,EAAI5B,KAAKkE,MAAM+e,EAAgB,UAC/BnG,EAAI9c,KAAKkE,MAAO+e,EAAgB,SAAY,OAC5Cnf,EAAI9D,KAAKkE,MAAO+e,EAAgB,MAAS,MACzCrrB,EAAIoI,KAAKkE,MAAO+e,EAAgB,KAAQ,IACxCjf,EAAIhE,KAAKkE,MAAM+e,EAAgB,IACrC,IAAIpqB,EAAM,GACV,GAAIskB,EAAU+F,WAAY,CACxB,GAAID,EAAgB,SAAY,MAAO,iBACvCpqB,IAAW+I,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACP/I,IAAWikB,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPjkB,IAAWiL,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPjL,IAAWjB,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPiB,IAAQmL,EAAI,GAAK,IAAM,IAAMA,MACxB,CACL,GAAIif,EAAgB,OAClB,OAAOD,EAAa,kBAAoB,SAC1CnqB,GACE+I,EAAI,EACGA,GAAKohB,EAAoB,IAANphB,EAAU,QAAU,SAAY,KAAtD,KACA,GACN/I,GACEikB,EAAI,EAAOA,GAAKkG,EAAoB,IAANlG,EAAU,OAAS,QAAW,KAApD,KAA+D,IACrEjkB,EAAInB,OAAS,GAAKoM,EAAI,KACxBjL,GAAUiL,GAAKkf,EAAoB,IAANlf,EAAU,QAAU,SAAY,KAAtD,OACLjL,EAAInB,OAAS,GAAKE,EAAI,KACxBiB,GAAUjB,GAAKorB,EAAoB,IAANprB,EAAU,UAAY,WAAc,KAA1D,MACTiB,GAAOmL,GAAKgf,EAAoB,IAANhf,EAAU,UAAY,WAAc,KAEhE,OAAOnL,EAQT,SAASsqB,GAAcJ,GACrB,IAAI1d,EACA+d,EAWJ,OAVIL,GAAQ,GACgBK,EAAtBjG,EAAU+F,WAAmB,iBACrB,QACZ7d,EAAQ+Z,IAERgE,EAAON,GAAWC,GACF1d,EAAZ0d,EAAO,IAAaxD,EACfwD,EAAO,GAAYzD,EACfD,GAER,CAAE+D,OAAM/d,SAMjB,IAuCIge,GAoCAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GAEAC,GAEAC,GAwBAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAzIAC,GAAkB,EAClBC,GAAmB,EACnBC,GAAuB,EACvBC,GAAyB,EACzBC,GAAa,EACbC,GAAmB,EACnBC,GAAwB,EACxBC,GAAmB,EACnBC,GAAyB,EACzBC,GAA8B,EAC9BC,GAAe,EACfC,GAAqB,EACrBC,GAAe,EACfC,GAAuB,EACvBC,GAA6B,EAC7BC,GAAoC,EACpCC,GAAyB,EACzBC,GAAwB,EAExBC,GAAmB,EAEnBC,GAAe,EACfC,GAAe,EACfC,GAAkB,EAElBC,GAAgB,GAChBC,GAAiB,GACjBC,GAAkB,GAElBC,GAAsB,EACtBC,GAAuB,EACvBC,GAAwB,CAAC,EAAG,MAE5BC,GAA2B,EAC3BC,GAAyB,EAEzBC,GAAgB,GAEhBC,GAAqB,GAGrBC,GAAuB,GACvBC,GAA+B,GAC/BC,GAA8B,GAE9BC,GAAqB,EACrBC,GAAyB,EACzBC,GAAsB,GACtBC,GAA0B,EAC1BC,GAA8B,EAC9BC,GAA2B,GAC3BC,GAA2B,EAC3BC,GAA+B,EAC/BC,GAA4B,GAC5BC,GAAgC,EAChCC,GAAoC,EACpCC,GAAiC,GAEjCC,GAAyB,EACzBC,GAAwB,EAExBC,GAA4B,GAC5BC,GAAwB,GAExBC,GAA4B,EAG5BC,GAAa,EAEbC,GAAe,GAEfC,GAA0B,GAE1BC,GAAqB,EA6BrBC,GAAY,CACdC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACV3rB,EAAG,CAAC,EAAG,EAAG,GACV4rB,GAAI,CAAC,EAAG,EAAG,IAOTC,GAAa,GACbC,GAAc,GACdC,GAAkB,GAuBtB,SAASC,GAAYC,GACnB,IAAItvB,EAAI,EAWR,OATE4iB,KAAK2M,YAAYjF,IAAehpB,OAASguB,GACzC1M,KAAK2M,YAAYhF,IAAgBjpB,OAASguB,IAE1CtvB,EAAI,GAEqC,oBAAzC4iB,KAAK2M,YAAYjF,IAAehpB,MACU,oBAA1CshB,KAAK2M,YAAYhF,IAAgBjpB,OAEjCtB,GAAK,IACAA,EAWT,SAASwvB,KACP,IAAIC,EAAW,IAEf,OADAA,GAAY,EAAIJ,GAAY,mBACrBI,EAST,SAASC,GAAOpuB,EAAMquB,GACpB,YAA6B,IAAlB/E,GAAQtpB,QACK,IAARquB,EAAsB,EAAIA,EAEnC/E,GAAQtpB,GASjB,SAASsuB,GAAON,GACd,MAAMO,EAAKV,GAAYG,GACvB,OACyB,IAAvB1M,KAAKkN,eACQ,aAAZD,EAAGE,MAAmC,YAAZF,EAAGG,OAGzBH,EAAKA,EAAGI,OADN,EAYX,SAASC,GAAUZ,GACjB,GAAI1M,KAAKuN,OAAQ,MACoBhzB,IAA/B+xB,GAAWkB,OAAOC,WACpBnB,GAAWkB,OAAOC,SAAWzN,KAAK0N,QAAQF,OAAOC,UAEnD,MAAME,EAAMrB,GAAWkB,OAAOC,SAASG,KAAKlB,GAC5C,GAAI9E,KAAY+F,EAAIE,GAClB,OAAO,EAET,GAAIhG,KAAY8F,EAAIE,GAClB,OAAO,EAET,GAAI/F,KAAY6F,EAAIE,GAClB,OAAO,EAGX,OAAO,EAgBT,SAASC,GAAuBC,EAAUC,GACxC,IAAIC,EAAgBD,EAapB,GAZIhB,GAAO,oBAAmBiB,GAAiB,KAC3CjB,GAAO,sBAAqBiB,GAAiB,KAC7CjB,GAAO,iBAAgBiB,GAAiB,KACxCjB,GAAO,qBAAoBiB,GAAiB,KAC5CjB,GAAO,kBAAiBiB,GAAiB,KAE7CA,GAAiB,EAAoC,IAAhCxB,GAAY,kBAC7BzM,KAAKkO,QAAQ,wBAAuBD,GAAiB,KACrDjO,KAAKkO,QAAQ,mBAAkBD,GAAiB,KAChDjO,KAAKkO,QAAQ,mBAAkBD,GAAiB,MAChDF,EAASI,SAAWnB,GAAOe,EAASI,QAAQzvB,QAAOuvB,GAAiB,KACxEA,GAAiBnB,GAAO,gBACpBR,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASf,GAAU,YACV,IAAXe,EAAcJ,GAAiB,IACf,IAAXI,EAAcJ,GAAiB,IACpB,IAAXI,IAAcJ,GAAiB,KAE1C,OAAOA,EAkBT,SAASK,GACPC,EACAC,EACA7kB,EACA8kB,EACAC,EACAC,GAIA,MAAMC,OAA4B,IAAVD,EAAwB,EAAIA,EACpD,IAAIE,EAAWH,EACXI,EAAiBnlB,EACjBolB,EAAO,GACK,IAAZL,IAAeG,EAAWC,GACzBJ,IAAQG,EAAW7O,KAAKgP,SAC7B,IAAK,IAAI70B,EAAI,EAAGA,EAAI00B,EAAU10B,IAAK,CACjC,IAAI6zB,EACFQ,EAAYxO,KAAKiP,eAAiBvsB,KAAK6D,IAAI,EAAGuoB,EAAiBL,GACjET,EAAQY,EACJ5O,KAAKkP,oBAAoBX,EAAOP,GAChCF,GAAuBS,EAAOP,GAClCA,EAAQtrB,KAAKoL,KAAKkgB,GAClB,MAAMnB,EAAW+B,EACbL,EAAMY,oBACNvC,KACJoB,EAAQtrB,KAAKkE,MAAMonB,EAAQnB,GACvBiC,EAAiB,IACnBC,GAAQf,EACRc,GAAkB,GAGtB,OAAOC,EAoBT,SAASK,KACP,IAAI5vB,EAASwgB,KAAKgP,QA0ClB,GAzCqB,IAAjBhP,KAAKqP,QACPtM,EAAsBvjB,EAEtBA,EAASujB,EAEI,IAAXvjB,EAAcA,EAASiqB,GACP,KAAXjqB,EAAeA,EAASkqB,GACb,MAAXlqB,IAAgBA,EAASmqB,IAEb,IAAjB3J,KAAKqP,QACuB,IAA1BxP,EAAUyP,YACZ3xB,OAAO6C,KAAKhB,GAAQ+vB,SAASp1B,IAC3BoR,EAAE,eAAeyU,KAAK0N,QAAQvzB,GAAG0zB,MAAMzrB,MAAM2F,MAC3C8X,EAAU,SAASrgB,EAAOrF,GAAG4N,YAGjCpK,OAAO6C,KAAKwf,KAAK0N,SAAS6B,SAASp1B,IACjCoR,EAAE,eAAeyU,KAAK0N,QAAQvzB,GAAG0zB,MAAMzrB,MAAMotB,eAAe,aAGrC,IAAlBxP,KAAKqP,SACd1xB,OAAO6C,KAAKipB,IAAe8F,SAASp1B,IAClC,MAAMwlB,EAAIK,KAAK0N,QAAQvzB,GACvBoR,EAAE,eAAeoU,EAAEkO,MAAMzrB,MAAM2F,MAAQ,GASvCwD,EAAE,eAAeoU,EAAEkO,MAAMlW,UAAYyM,GACnCkK,GAAa3O,EAAGA,EAAE6O,UAAW7O,EAAE+O,OAAQ/O,EAAE8O,KAAMzO,KAAKgP,QAAS,OAQ9C,IAAjBhP,KAAKqP,SAAiBxP,EAAU4P,cAAe,CACjD,IAAIC,EAC4B,IAA5B7P,EAAU4P,eACZC,EAAM/xB,OAAO6C,KAAKipB,IAAenrB,KAAKqxB,IACpC,MAAMhQ,EAAI8J,GAAckG,GAGxB,OAFAhQ,EAAEjhB,KAAOixB,EACThQ,EAAEkO,GAAK7N,KAAK0N,QAAQiC,GAAG9B,GAChBlO,KAGT+P,EAAIE,MAAK,SAAU5sB,EAAGP,GACpB,OAAO6f,EAAgBjlB,QAAQ2F,EAAE+E,OAC/Bua,EAAgBjlB,QAAQoF,EAAEsF,OACxB,EACAua,EAAgBjlB,QAAQ2F,EAAE+E,OAASua,EAAgBjlB,QAAQoF,EAAEsF,QAE7D/E,EAAEyI,GAAKhJ,EAAEgJ,IADR,EAGD,MAE+B,IAA5BoU,EAAU4P,gBACnBC,EAAM/xB,OAAO6C,KAAKhB,GAAQlB,KAAKqxB,IAC7B,MAAMhQ,EAAIngB,EAAOmwB,GAGjB,OAFAhQ,EAAEjhB,KAAOixB,EACThQ,EAAEkO,GAAK7N,KAAK0N,QAAQiC,GAAG9B,GAChBlO,KAGT+P,EAAIE,MAAK,SAAU5sB,EAAGP,GACpB,OAAO6f,EAAgBjlB,QAAQ2F,EAAE+E,OAC/Bua,EAAgBjlB,QAAQoF,EAAEsF,OACxB,EACAua,EAAgBjlB,QAAQ2F,EAAE+E,OAASua,EAAgBjlB,QAAQoF,EAAEsF,QAE7D/E,EAAEyI,GAAKhJ,EAAEgJ,IADR,EAGD,MAIR,IAAK,IAAIpH,EAAI,EAAGA,EAAIqrB,EAAIt1B,OAAQiK,IAC9B2b,KAAK0N,QAAQgC,EAAIrrB,GAAG3F,MAAM6M,EAAEnJ,MAAMytB,QAAU,GAAGxrB,EAAI,KAAKA,EAAI,QAEzD,CACL,MAAMqrB,EAAM/xB,OAAO6C,KAAKipB,IAAenrB,KAAKqxB,IAC1C,MAAMhQ,EAAI8J,GAAckG,GAGxB,OAFAhQ,EAAEjhB,KAAOixB,EACThQ,EAAEkO,GAAK7N,KAAK0N,QAAQiC,GAAG9B,GAChBlO,KAET+P,EAAIE,MAAK,CAAC5sB,EAAGP,IAAMO,EAAE6qB,GAAKprB,EAAEorB,KAC5B,IAAK,IAAIxpB,EAAI,EAAGA,EAAIqrB,EAAIt1B,OAAQiK,IAC9B2b,KAAK0N,QAAQgC,EAAIrrB,GAAG3F,MAAM6M,EAAEnJ,MAAMytB,QAAU,GAAGxrB,EAAI,KAAKA,EAAI,KAiBlE,SAASyrB,KAEP,GAAIjQ,EAAUkQ,YAAc,EAAG,CAC7B,IAAIC,EAAO,EACPC,EAAQ,EACRC,EAAS,EACTC,EAAS,EACTC,EAAM,EACNC,EAAS,EACTC,EAAO,EAEX3yB,OAAO6C,KAAKwf,KAAKuQ,iBAAiBhB,SAASp1B,IACzC,MAAMq2B,EAAKxQ,KAAKuQ,gBAAgBp2B,GAChC,IAAIs2B,GAAc,EAClB,IAAK,IAAIC,EAAI,EAAGA,EAAInlB,EAAE,UAAUpR,KAAKw2B,WAAWv2B,OAAQs2B,GAAK,EAC3D,IACuE,IAArEnlB,EAAE,UAAUpR,KAAKw2B,WAAWD,GAAG91B,UAAUyC,QAAQukB,GACjD,CACArW,EAAE,UAAUpR,KAAKw2B,WAAWD,GAAG91B,UAC7BgnB,EAAgBqI,GAAcuG,EAAG9xB,MAAMqJ,MACzC0oB,GAAc,EACd,MAGJ,IAAKA,EAAa,CAChB,MAAMG,EAAMn4B,SAAS4D,cAAc,OACnCu0B,EAAIxuB,MAAMkG,MAAQ,OAClBsoB,EAAIxuB,MAAMmG,OAAS,OACnBqoB,EAAIh2B,UAAYgnB,EAAgBqI,GAAcuG,EAAG9xB,MAAMqJ,MACvDwD,EAAE,UAAUpR,KAAK4b,YAAY6a,GAE3B3G,GAAcuG,EAAG9xB,MAAMqJ,QAAU8Z,EAAYmO,GAAQ,EAChD/F,GAAcuG,EAAG9xB,MAAMqJ,QAAU+Z,EAAamO,GAAS,EACvDhG,GAAcuG,EAAG9xB,MAAMqJ,QAAUga,EAAcmO,GAAU,EACzDjG,GAAcuG,EAAG9xB,MAAMqJ,QAAUia,EAAcmO,GAAU,EACzDlG,GAAcuG,EAAG9xB,MAAMqJ,QAAUka,EAAWmO,GAAO,EACnDnG,GAAcuG,EAAG9xB,MAAMqJ,QAAUma,EAAcmO,GAAU,EACzDpG,GAAcuG,EAAG9xB,MAAMqJ,QAAUoa,IAAYmO,GAAQ,MAGhE/kB,EAAE,oBAAoB/N,YAAcwyB,EACpCzkB,EAAE,qBAAqB/N,YAAcyyB,EACrC1kB,EAAE,sBAAsB/N,YAAc0yB,EACtC3kB,EAAE,sBAAsB/N,YAAc2yB,EACtC5kB,EAAE,mBAAmB/N,YAAc4yB,EACnC7kB,EAAE,sBAAsB/N,YAAc6yB,EACtC9kB,EAAE,oBAAoB/N,YAAc8yB,EAGtC,MAAMZ,EAAM,GAGZ,IAAK,IAAIrrB,EAAI,EAAGA,EAAI2b,KAAKuQ,gBAAgBn2B,OAAQiK,GAAK,EAAG,CACvD,MAAMsb,EAAI,GACVA,EAAEjhB,KAAOshB,KAAKuQ,gBAAgBlsB,GAAG3F,KACjCihB,EAAEqO,MAAQhO,KAAKuQ,gBAAgBlsB,GAAGmqB,UAClC7O,EAAElU,GAAKwe,GAActK,EAAEjhB,MAAM+M,GAC7BikB,EAAIzzB,KAAK0jB,GAGPE,EAAUgR,aACZnB,EAAIE,MAAK,SAAU5sB,EAAGP,GACpB,OAAO6f,EAAgBjlB,QAAQ2F,EAAE+E,OAASua,EAAgBjlB,QAAQoF,EAAEsF,OAChE,EACAua,EAAgBjlB,QAAQ2F,EAAE+E,OAASua,EAAgBjlB,QAAQoF,EAAEsF,QAE7D/E,EAAEyI,GAAKhJ,EAAEgJ,IADR,EAGD,KAGNikB,EAAIE,MAAK,CAAC5sB,EAAGP,IAAMO,EAAEgrB,MAAQvrB,EAAEurB,QAGjC,MAAM8C,EAAc,SAAUC,EAAMC,GAClC,OAAOD,EAAKE,WAAW31B,GAAMA,EAAEoD,OAASsyB,EAAQtyB,QAElD,IAAK,IAAI2F,EAAI,EAAGA,EAAI2b,KAAKuQ,gBAAgBn2B,OAAQiK,GAAK,EACpDkH,EAAE,UAAUlH,KAAKjC,MAAM8uB,MACrBJ,EAAYpB,EAAK1P,KAAKuQ,gBAAgBlsB,IAAM,EAYlD,SAAS8sB,KACP,OAAItR,EAAUuR,QACLrK,GAEmB,IAAxBlH,EAAUwR,UACLrR,KAAKsR,WAAa,EAAItR,KAAKuR,WAER,IAAxB1R,EAAUwR,UAEVrR,KAAKsR,WACJvH,IAA4B,EAA6B,IAAzBC,KAGJ,OAA7BF,GAAsB,IAEE,IAAxBjK,EAAUwR,WACwC,IAAlDrR,KAAKwR,UAAU1H,GAAsB,IAAItvB,KAGvCwlB,KAAKsR,WACwB,EAA3BvH,GAAgCC,IAC/B,EAA6B,IAAzBA,KAIXhK,KAAKsR,WACJvH,GAA2BC,IACzB,EAA6B,IAAzBA,KAaX,SAASyH,KACP,OAA4B,IAAxB5R,EAAUwR,UACLzH,GAEmB,IAAxB/J,EAAUwR,UACLvH,GAAsB,GAExB,EAcT,SAAS4H,GAAY7D,EAAInvB,EAAMizB,GAC7B,MAAMC,EAAWn5B,SAAS4D,cAAc,OACxCu1B,EAAS/D,GAAKA,EACd+D,EAASxvB,MAAMmG,OAAS,OACxBqpB,EAASxvB,MAAMyvB,OAAS,WACxBD,EAASxvB,MAAMgI,SAAW,WAE1B,MAAMwmB,EAAMn4B,SAAS4D,cAAc,OACnCu0B,EAAIxuB,MAAMkG,MAAQ,OAClBsoB,EAAIxuB,MAAMmG,OAAS,OACnBqoB,EAAIxuB,MAAMyvB,OAAS,OACnBjB,EAAIxuB,MAAMgI,SAAW,WACrBwmB,EAAIxuB,MAAMqC,KAAO,MACjBmsB,EAAIxuB,MAAMsC,IAAM,MAChBksB,EAAIxuB,MAAMkI,MAAQ,MAClBsmB,EAAIxuB,MAAMkW,OAAS,MAEnB,MAAM9d,EAAO/B,SAAS4D,cAAc,QACpC7B,EAAK4H,MAAMqV,QAAU,eACrBjd,EAAK4H,MAAMuW,UAAY,QACvBne,EAAK4H,MAAM0vB,SAAW,OACtBt3B,EAAK4H,MAAMkG,MAAQ,QACnB9N,EAAK4H,MAAM2vB,YAAc,MACzBv3B,EAAK4H,MAAM4vB,cAAgB,WAC3Bx3B,EAAKgD,YAAckB,EACnBkyB,EAAI7a,YAAYvb,GAEhB,IAAK,IAAIL,EAAI,EAAGA,EAAIw3B,EAAKv3B,OAAQD,IAAK,CACpC,MAAM83B,EAAWx5B,SAAS4D,cAAc,QACxC41B,EAASpE,GAAK8D,EAAKx3B,GAAG0zB,GACtBoE,EAAS7vB,MAAMqV,QAAU,eACzBwa,EAAS7vB,MAAMmG,OAAS,OACxB0pB,EAAS7vB,MAAM4vB,cAAgB,WAC/BC,EAAS7vB,MAAMuW,UAAY,SACvBgZ,EAAKv3B,OAAS,IAAMD,IACtB83B,EAAS7vB,MAAM8vB,qBAAuB,OACtCD,EAAS7vB,MAAM+vB,wBAA0B,aAEd,IAAlBR,EAAKx3B,GAAG4N,QACjBkqB,EAASr3B,UAAYgnB,EAAgB+P,EAAKx3B,GAAG4N,OAE/C6oB,EAAI7a,YAAYkc,GAGlB,MAAMG,EAAQ35B,SAAS4D,cAAc,QAQrC,OAPA+1B,EAAMvE,GAAK,GAAGA,QACduE,EAAMhwB,MAAMiwB,WAAa,MACzBD,EAAMhwB,MAAM4vB,cAAgB,WAC5BpB,EAAI7a,YAAYqc,GAEhBR,EAAS7b,YAAY6a,GAEdgB,EAOT,SAASU,GAA2BC,GAClC,GAAsB,OAAlBhnB,EAAE,YAAsB,CAC1B,MAAM/Q,EAAO+Q,EAAE,YAAYvO,WAAWA,WAAW2zB,WAAW,GACtD6B,EAAQjnB,EAAE,YAAYvO,WAAWA,WAAW2zB,WAAW,GACvDllB,EAAKF,EAAE,YAAYvO,WAAWA,WAAW2zB,WAAW,GACpDlL,EAAOla,EAAE,YAAYvO,WAAWA,WAAW2zB,WAAW,GAEtDx2B,EAAIo4B,EACJE,EAASj4B,EAAKub,YAAYtd,SAAS4D,cAAc,OACvDo2B,EAAO1c,YACLtd,SAASqgB,eACP,IAAuB,IAApB3e,EAAEkD,QAAQ,KAAclD,EAAEu4B,UAAU,EAAGv4B,EAAEkD,QAAQ,MAAQlD,QAInDs4B,EAAO1c,YAAYtd,SAAS4D,cAAc,SAClDzB,UAAY+mB,aAEjB8Q,EAAO1c,YAAYtd,SAASqgB,eAAe,MAC3Cte,EAAKm4B,UAAUvwB,MAAMwwB,YAAc,MACnCJ,EAAMzc,YAAYtd,SAAS4D,cAAc,OACzCm2B,EAAMG,UAAUvwB,MAAMwwB,YAAc,MACpCnnB,EAAGsK,YAAYtd,SAAS4D,cAAc,OACtCoP,EAAGknB,UAAUvwB,MAAMwwB,YAAc,MACjCnN,EAAK1P,YAAYtd,SAAS4D,cAAc,OACxCopB,EAAKkN,UAAUvwB,MAAMwwB,YAAc,OAoEvC,SAASC,KACP,GAAyB,IAArBhT,EAAUiT,QAAgBrJ,IAAkC,IAAjBzJ,KAAKqP,QAAe,CACjE,IAAI0D,EAAQ,EACZp1B,OAAO6C,KAAKipB,IAAe8F,SAASp1B,IAClC,IAmBI64B,EAnBAxzB,EAASwgB,KAAKgP,QACG,IAAjBhP,KAAKqP,QACPvM,EAAmBtjB,EAEnBA,EAASsjB,EAEI,IAAXtjB,IAAcA,EAASiqB,IACZ,KAAXjqB,IAAeA,EAASkqB,IACb,MAAXlqB,IAAgBA,EAASmqB,IAC7BoJ,GAAS,EACTxnB,EAAE,YAAYvO,WAAWA,WAAW2zB,WAAW,GAAGA,WAChDoC,GACApC,WAAW,GAAGnzB,YAAcwiB,KAAK0N,QAAQvzB,GAAGu0B,OAC9CnjB,EAAE,YAAYvO,WAAWA,WAAW2zB,WAAW,GAAGA,WAChDoC,GACAv1B,YAAc4mB,GAA4B5kB,EAAOrF,GAAGq4B,MAAO,GAC7DjnB,EAAE,YAAYvO,WAAWA,WAAW2zB,WAAW,GAAGA,WAChDoC,GACAn4B,UAAY+mB,EAAgBniB,EAAOrF,GAAG4N,MAGtCirB,EADEnT,EAAUoT,cACDzN,GAAW9iB,KAAKC,MAAMnD,EAAOrF,GAAGsR,KAC7B2Y,GAA4B1hB,KAAKC,MAAMnD,EAAOrF,GAAGsR,IAAK,GACtEF,EAAE,YAAYvO,WAAWA,WAAW2zB,WAAW,GAAGA,WAChDoC,GACAv1B,YAAcw1B,EAChB,MAAME,EAAarN,IAChB7F,KAAK0N,QAAQvzB,GAAGg5B,WAAanT,KAAKoT,QAAU3B,OAC3CN,MAEJ5lB,EAAE,YAAYvO,WAAWA,WAAW2zB,WAAW,GAAGA,WAChDoC,GACAn4B,UAAY+mB,EAAgBuR,EAAWnrB,MAEnB,UAApBmrB,EAAWpN,MACX9F,KAAKoT,QAAUpT,KAAK0N,QAAQvzB,GAAGg5B,UAE/B5nB,EAAE,YAAYvO,WAAWA,WAAW2zB,WAAW,GAAGA,WAChDoC,GACAv1B,YAAc,GAAG01B,EAAWpN,oBAE9Bva,EAAE,YAAYvO,WAAWA,WAAW2zB,WAAW,GAAGA,WAChDoC,GACAv1B,YAAc01B,EAAWpN,SAWnC,SAASuN,KACPrT,KAAKsT,WAAWnrB,OAAOG,MAAQ0X,KAAKsT,WAAWnrB,OAAOmR,WAAWxU,YACjEkb,KAAKsT,WAAWnrB,OAAOI,OACrByX,KAAKsT,WAAWnrB,OAAOmR,WAAWvU,aACpCib,KAAKuT,eAAeprB,OAAOG,MACzB0X,KAAKuT,eAAeprB,OAAOmR,WAAWxU,YACxCkb,KAAKuT,eAAeprB,OAAOI,OACzByX,KAAKuT,eAAeprB,OAAOmR,WAAWvU,aAY1C,SAASyuB,KAEgB,IAArB3T,EAAUiT,QACa,IAAvBjT,EAAU4T,UACgB,IAA1B5T,EAAU6T,aAEVnoB,EAAE,YAAYnJ,MAAMkW,OAAS/M,EAAE,cAAcnJ,MAAMmG,OACnDgD,EAAE,QAAQnJ,MAAMkW,OAAS,GACvBuM,OAAOtZ,EAAE,cAAcnJ,MAAMmG,OAAOxH,QAAQ,KAAM,KAAO,QAE7B,IAArB8e,EAAUiT,QACnBvnB,EAAE,YAAYnJ,MAAMkW,OAAS,MAC7B/M,EAAE,QAAQnJ,MAAMkW,OAAS,QACO,IAAvBuH,EAAU4T,UAA4C,IAA1B5T,EAAU6T,YAC/CnoB,EAAE,QAAQnJ,MAAMkW,OAAS/M,EAAE,cAAcnJ,MAAMmG,OAG/CgD,EAAE,QAAQnJ,MAAMkW,OAAS,MAGA,IAAvBuH,EAAU4T,UAA4C,IAA1B5T,EAAU6T,YACxCnoB,EAAE,eAAenJ,MAAMsC,IAAM6G,EAAE,cAAcnJ,MAAMmG,OAEnDgD,EAAE,eAAenJ,MAAMsC,IAAM,GAG/B2uB,KAMF,SAASM,KACoB,IAAvB9T,EAAU4T,SAAgBloB,EAAE,cAAcnJ,MAAMqV,QAAU,GACzDlM,EAAE,cAAcnJ,MAAMqV,QAAU,OACrC+b,KAoPF,SAASI,KACPzL,GAAkBnI,KAAK6T,WACvBzL,GAAmBpI,KAAK8T,YAS1B,SAASC,GAAgBC,GACvB,MAAMxD,EAAKxQ,KAAKiU,aAAaD,GACvBE,EAAM,GAEZ,OADAA,EAAIx1B,KAAO8xB,EAAG9xB,KACPw1B,EAUT,SAASC,GAAoB3D,GAC3B,IAAI4D,EAAO,EAoBX,GAnBAz2B,OAAO6C,KAAKgwB,EAAG6D,gBAAgB9E,SAASp1B,KAEnC6lB,KAAKsU,MAAM9D,EAAG6D,eAAel6B,GAAGizB,MAAMmH,SACvCvH,GAAOwD,EAAG6D,eAAel6B,GAAGuE,QAE5B01B,GAAQ,MAEZz2B,OAAO6C,KAAKgwB,EAAGgE,WAAWjF,SAASp1B,IACjC,GAAI6yB,GAAOwD,EAAGgE,UAAUr6B,GAAGuE,MAAO,CAChC,MAAM+1B,EAAMjE,EAAGgE,UAAUr6B,GACrBs6B,EAAIC,aAAah2B,OAAS8xB,EAAG9xB,KAC/B01B,GAAQ,EAAI,IAAOK,EAAIE,aAAajG,OAC7B+F,EAAIE,aAAaj2B,OAAS8xB,EAAG9xB,OACpC01B,GAAQ,EAAI,KAAQK,EAAIC,aAAahG,YAGvC8B,EAAGrC,SAAWnB,GAAOwD,EAAGrC,QAAQzvB,QAAO01B,GAAQ,MAC/C5D,EAAGoE,SAAW5H,GAAOwD,EAAGoE,QAAQl2B,QAClC01B,GAAQ,EAAgC,IAA5B9H,GAAWuI,QAAQnG,QAAiB,GAAK8B,EAAG3C,GAAK,KACnB,iBAAjC2C,EAAG6D,eAAeS,YACR,IAAftE,EAAGuE,SAAiB/H,GAAOwD,EAAG6D,eAAeS,WAAWp2B,MAC1D,OAAQshB,KAAKC,YACX,QACEmU,GAAQ,EACR,MACF,KAAK,EACHA,GAAQ,KACR,MACF,KAAK,EACHA,GAAQ,KACR,MACF,KAAK,EACHA,GAAQ,KAKhB,OAAOA,EAiBT,SAASY,GAAoBzC,GAC3B,MAAM/B,EAAKxQ,KAAK0N,QAAQ6E,GAClB2B,EAAM,GA2FZ,MA1FgB,WAAZ1D,EAAG9xB,KACLw1B,EAAIe,IAAM,SAAUhI,GAClB,IAAI3rB,EAAM,EACN0rB,GAAO,sBAAqB1rB,GAAO,IACnC0rB,GAAO,qBAAoB1rB,GAAO,GAClC0rB,GAAO,qBAAoB1rB,GAAO,IAClC0rB,GAAO,sBAAqB1rB,GAAO,IACnC0rB,GAAO,yBAAwB1rB,GAAO,IACtC0rB,GAAO,yBAAwB1rB,GAAO,IACtC0rB,GAAO,wBAAuB1rB,GAAO,IACrC0rB,GAAO,wBAAuB1rB,GAAO,IACrC0rB,GAAO,uBAAsB1rB,GAAO,IACpC0rB,GAAO,uBAAsB1rB,GAAO,IACxC,IAAI8yB,EAAO,EACP/P,EAAM,EAQV,OAPA1mB,OAAO6C,KAAK8rB,IAAYiD,SAASp1B,IACJ,WAAvBmyB,GAAWnyB,GAAGuE,OAAmB2lB,GAAOiI,GAAWnyB,GAAGu0B,WAE5DptB,GAAO+iB,EACP+P,GAAQD,GAAoBlH,GAC5BmH,GAAQpU,KAAKkV,SAAS,UACtBd,GAAQtH,GAAO,aAEb9M,KAAKmV,WACH,GACAnI,GAAO,2BACLA,GAAO,kCACPA,GAAO,gBACT1rB,GACE8yB,GAGa,YAAZ5D,EAAG9xB,KACZw1B,EAAIe,IAAM,SAAUhI,GAClB,IAAImH,EAAO,EAYX,GAXAz2B,OAAO6C,KAAKwf,KAAKoV,kBAAkB7F,SAASp1B,IACtC6yB,GAAOhN,KAAKoV,iBAAiBj7B,MAAKi6B,GAAQ,MAE5CpH,GAAO,oCAAmCoH,GAAQ,GAClDpH,GAAO,yBAAwBoH,GAAQ,GACvCpH,GAAO,kBAAiBoH,GAAQ,GAEhCpH,GAAO,wBAAuBoH,GAAQ,MAE1CA,GAAQtH,GAAO,cAEXE,GAAO,cACT,IAAK,IAAI7yB,EAAI,EAAGA,EAAI6lB,KAAKqV,eAAeC,OAAOl7B,OAAQD,IACjD6yB,GAAOhN,KAAKqV,eAAeC,OAAOn7B,GAAGuE,QAAO01B,GAAQ,MAI5DA,GAAQD,GAAoBlH,GAE5B,IAAI3rB,EAAM,EACN0rB,GAAO,cAAa1rB,GAAmC,IAA5BgrB,GAAWuI,QAAQnG,QAC9C1B,GAAO,yBACT1rB,GAAmC,IAA5BgrB,GAAWuI,QAAQnG,QACxB1B,GAAO,gBAAe1rB,GAAkC,IAA3BgrB,GAAWiJ,OAAO7G,QAEnD,IAAIrK,EAAM,EASV,OARA1mB,OAAO6C,KAAK8rB,IAAYiD,SAASp1B,IACJ,YAAvBmyB,GAAWnyB,GAAGuE,OAAoB2lB,GAAOiI,GAAWnyB,GAAGu0B,WAG7D0F,GAAQ,EAAqC,IAAjC3H,GAAY,mBAA4BpI,EAEpD+P,GAAQpU,KAAKkV,SAAS1E,EAAG9xB,OAEjB8xB,EAAGgF,QAAUl0B,GAAO8yB,GAG9BF,EAAIe,IAAM,SAAUhI,GAClB,IAAImH,EAAO,EAGX,OAFAA,GAAQD,GAAoBlH,GAC5BmH,GAAQpU,KAAKkV,SAASjI,EAAGvuB,MAClBuuB,EAAGwI,QAAUrB,GAKxBF,EAAIsB,QAAUhF,EAAGgF,QACjBtB,EAAIx1B,KAAO8xB,EAAG9xB,KACdw1B,EAAIG,eAAiB7D,EAAG6D,eACxBH,EAAIM,UAAYhE,EAAGgE,UACnBN,EAAI/F,QAAUqC,EAAGrC,QACjB+F,EAAIU,QAAUpE,EAAGoE,QACjBV,EAAIuB,QAAUjF,EAAGgF,QACjBtB,EAAIrG,GAAK2C,EAAG3C,GACZqG,EAAIa,QAAUvE,EAAGuE,QACVb,EAaT,SAASwB,GAAYC,GACnB,MAAMnF,EAAKxQ,KAAK4V,SAASD,GACnBzB,EAAM,GA4BZ,OA1BAA,EAAI2B,MAAQrF,EAAGqF,MACU,mBAAd3B,EAAI2B,QACG,0BAAZrF,EAAG9xB,KACLw1B,EAAI2B,MAAQ,WACV,IAAIz4B,EAAI,EAIR,OAHAO,OAAO6C,KAAK8rB,IAAYiD,SAASp1B,IAC3BmyB,GAAWnyB,GAAG27B,OAAS,KAAI14B,GAAK,MAE/BA,GAGT82B,EAAI2B,MAAQ,WACV,IAAIE,EAAM,EAEV,GADI/I,GAAO,cAAa+I,EAAM,GAC1B/V,KAAKuN,OAAQ,CACf,MAAMc,EAASf,GAAU,WACV,IAAXe,EAAc0H,GAAO,IACL,IAAX1H,EAAc0H,GAAO,IACV,IAAX1H,IAAc0H,GAAO,KAEhC,OAAOA,IAIb7B,EAAI/G,KAAOqD,EAAGrD,KACd+G,EAAIx1B,KAAO8xB,EAAG9xB,KACPw1B,EAiBT,SAAS8B,KAEP3O,GAAmBrH,KAAKiW,cACxB3O,GAAatH,KAAKkW,QAClB3O,GAAuBvH,KAAKmW,kBAC5B3O,GAAmBxH,KAAKoW,cACxB3O,GAAczH,KAAKqW,SAGnB14B,OAAO6C,KAAKwf,KAAK0N,SAAS6B,SAASp1B,IACjC,MAAMq2B,EAAKxQ,KAAK0N,QAAQvzB,GACxB,IAAI+5B,EAAM5H,GAAWnyB,QACTI,IAAR25B,IAEF5H,GAAWnyB,GAAK66B,GAAoB76B,GACpC+5B,EAAM5H,GAAWnyB,GACjBm4B,GAA2Bn4B,IAE7B+5B,EAAIxF,OAAS8B,EAAG9B,OAChBwF,EAAI4B,MAAQtF,EAAGsF,MACf5B,EAAIoC,aAAe9F,EAAG8F,aACtBpC,EAAI1F,UAAYgC,EAAGhC,UACnB0F,EAAIzF,KAAO+B,EAAG/B,KACV+B,EAAGpC,iBACW,WAAZoC,EAAG9xB,OACLkpB,GAAU4I,EAAG/C,SAAS8I,KAAK,GAC3B1O,GAAU2I,EAAG/C,SAAS8I,KAAK,GAC3BzO,GAAU0I,EAAG/C,SAAS8I,KAAK,IAE7BrC,EAAI9F,eAAiBoC,EAAGpC,eACxB8F,EAAIzG,SAAW+C,EAAG/C,UAEpBnB,GAAWnyB,GAAK+5B,KAIlBv2B,OAAO6C,KAAKwf,KAAK4V,UAAUrG,SAASp1B,IAClC,MAAMq2B,EAAKxQ,KAAK4V,SAASz7B,GACzB,IAAI+5B,EAAM3H,GAAYpyB,QACVI,IAAR25B,IACF3H,GAAYpyB,GAAKu7B,GAAYv7B,GAC7B+5B,EAAM3H,GAAYpyB,IAEpB+5B,EAAI7G,OAASmD,EAAGnD,OAChBd,GAAYpyB,GAAK+5B,KAInBv2B,OAAO6C,KAAKwf,KAAKiU,cAAc1E,SAASp1B,IACtC,MAAMq2B,EAAKxQ,KAAKiU,aAAa95B,GAC7B,IAAI+5B,EAAM1H,GAAgBryB,QACdI,IAAR25B,IACF1H,GAAgBryB,GAAK45B,GAAgB55B,GACrC+5B,EAAM1H,GAAgBryB,IAExB+5B,EAAIsC,IAAMhG,EAAGgG,IACbhK,GAAgBryB,GAAK+5B,KAIvBN,KACAlM,GAAgBS,GAChBR,GAAiBS,GA8BnB,SAASqO,GAAoB3Q,GAC3B,MAAM8K,EAAMn4B,SAAS4D,cAAc,OAKnC,OAJAu0B,EAAIxuB,MAAMs0B,WAAa,OACvB9F,EAAI/C,GAAK,GAAG/H,SACZ8K,EAAIh2B,UAAY+mB,aAChBiP,EAAIpzB,YAAcsoB,EACX8K,EAmHT,SAAS+F,GAAgCC,GACvCA,EAAQ7gB,YAAY0gB,GAAoB,iBACxC,MAAMI,EAASp+B,SAAS4D,cAAc,OACtCw6B,EAAOz0B,MAAM00B,aAAe,MAC5BD,EAAOz0B,MAAM2F,MAAQ,QACrB8uB,EAAOhJ,GAAK,kBACZ+I,EAAQ7gB,YAAY8gB,GAEpBD,EAAQ7gB,YAAY0gB,GAAoB,4BACxCG,EAAQjE,UAAUvwB,MAAMqV,QAAU,OAClC,MAAMsf,EAAQt+B,SAAS4D,cAAc,OACrC06B,EAAM30B,MAAM00B,aAAe,MAC3BC,EAAM30B,MAAM2F,MAAQ,QACpBgvB,EAAM30B,MAAMqV,QAAU,OACtBsf,EAAMlJ,GAAK,0BACX+I,EAAQ7gB,YAAYghB,GAEpBH,EAAQ7gB,YAAY0gB,GAAoB,mBACxC,MAAMhrB,EAAKhT,SAAS4D,cAAc,OAClCoP,EAAGrJ,MAAM00B,aAAe,MACxBrrB,EAAGoiB,GAAK,cACR+I,EAAQ7gB,YAAYtK,GAEpBmrB,EAAQ7gB,YAAY0gB,GAAoB,cACxC,MAAMhR,EAAOhtB,SAAS4D,cAAc,OAIpC,GAHAopB,EAAKoI,GAAK,gBACV+I,EAAQ7gB,YAAY0P,GAEA,MAAhB7B,GAAqB,CACvBgT,EAAQ7gB,YACN0gB,GAAoB,0CAEtBG,EAAQjE,UAAU9E,GAAK,4BACvB,MAAMmJ,EAAav+B,SAAS4D,cAAc,OAC1C26B,EAAWnJ,GAAK,sBAChB+I,EAAQ7gB,YAAYihB,IA+JxB,SAASC,GACPC,EACAC,EACAC,GAEA,IAAIC,EAAQH,EACRnE,EAAQ,EACZ,KAAOsE,EAAQD,GACbC,GAAqE,KAA5D30B,KAAK6D,IAAI,MAAQ8wB,EAAQ30B,KAAK6D,IAAI4wB,EAAU,OAAS,IAC9DpE,GAAS,EAEX,OAAOA,EAAQ/S,KAAKsX,IA0XtB,SAASC,KACP,IAAInD,EAAO,EAKX,OAJAz2B,OAAO6C,KAAKwf,KAAKwX,OAAOjI,SAASp1B,SACM,IAA1B6lB,KAAKwX,MAAMr9B,GAAGs9B,UACvBrD,GAAQpU,KAAKwX,MAAMr9B,GAAGs9B,YAEnBrD,EAWT,SAASsD,KACiC,OAApCnsB,EAAE,gCAC0B,IAA1BsU,EAAU8X,aACZpsB,EAAE,8BAA8BnJ,MAAMsC,IAAM,OAC5C6G,EAAE,8BAA8BnJ,MAAMyvB,OAAS,WAC/CtmB,EAAE,8BAA8BnJ,MAAMwK,QAAU,YAEhDrB,EAAE,8BAA8BnJ,MAAMkI,MAAQ,OAC9CiB,EAAE,8BAA8BnJ,MAAMyvB,OAAS,MAC/CtmB,EAAE,8BAA8BnJ,MAAMwK,QAAU,YA0LtD,SAASgrB,KAEP,GADA5B,KACyC,SAArCzqB,EAAE,iBAAiBnJ,MAAMqV,SAAsBlM,EAAE,iBAAkB,CACrEA,EAAE,iBAAiBoM,UAAY,GAC/B,MAAMkgB,EAx6BV,WACEtsB,EAAE,WAAWvO,WAAWoF,MAAM01B,cAAgB,MAC9C,MAAMD,EAAap/B,SAAS4D,cAAc,OAM1C,OALAw7B,EAAWz1B,MAAM0U,OAAS,YAC1B+gB,EAAWz1B,MAAMwK,QAAU,MAC3BirB,EAAWz1B,MAAMyvB,OAAS,WAC1BgG,EAAWhK,GAAK,kBAChBgK,EAAWj9B,UAAY+mB,aAChBkW,EAg6BcE,GACnBxsB,EAAE,iBAAiBwK,YAAY8hB,GAEX,MAAhBjU,GA9uBR,WACE,GAAsC,IAAlC/D,EAAUmY,qBAA8C,IAAjBhY,KAAKqP,QAAe,CAI7D,IAAI7vB,EAaJ,GAfAm3B,GADmBprB,EAAE,oBAIA,IAAjByU,KAAKqP,QACPrM,EAA4BxjB,EAE5BA,EAASwjB,EAEU,IAAjBhD,KAAKgP,QAAexvB,EAASiqB,GACP,KAAjBzJ,KAAKgP,QAAgBxvB,EAASkqB,GACb,MAAjB1J,KAAKgP,UAAiBxvB,EAASmqB,IAExCjG,GAAe1D,KAAK0N,QAAQ7J,IAAasP,UACzCxP,GAAqBnkB,EAAOqkB,IAAa2O,MAEH,IAAlC3S,EAAUmY,qBAA8C,IAAjBhY,KAAKqP,QAAe,CAC7D9jB,EAAE,mBAAmB/N,YAAc4mB,GAA4BT,GAAoB,GACnF,MAAMsU,EAAWv1B,KAAKC,MACnBghB,GAAqB3D,KAAKsR,UAAa,KAEtCzM,OAAOC,SAASmT,IAA0B,IAAbA,EAC/B1sB,EAAE,mBAAmB/N,aAAe,KAAKy6B,EAAW,kBAEpD1sB,EAAE,mBAAmB/N,aAAe,OAClCqiB,EAAUoF,eAAiB,IAAM,oBAGrC1Z,EAAE,mBAAmB3Q,UACnB+mB,EAAgBniB,EAAOqkB,IAAa9b,MAClC8X,EAAUoT,cACZ1nB,EAAE,eAAe/N,YAAcgoB,GAAWhmB,EAAOqkB,IAAapY,IAC3DF,EAAE,eAAe/N,YAAc4mB,GAA4B5kB,EAAOqkB,IAAapY,GAAI,GACxFF,EAAE,eAAe3Q,UAAY+mB,EAAgBniB,EAAOqkB,IAAa9b,MACjE,MAAMmrB,EAAarN,IAChBnC,IAAgB1D,KAAKoT,QAAU3B,OAAyBN,MAE3D5lB,EAAE,iBAAiB/N,YAAc01B,EAAWpN,KAEtB,UAApBoN,EAAWpN,MACX9F,KAAKoT,QAAU5zB,EAAOqkB,IAAamK,MAEnCziB,EAAE,iBAAiB/N,YAAc,GAAG01B,EAAWpN,oBAC1Cva,EAAE,iBAAiB/N,YAAc01B,EAAWpN,KACnDva,EAAE,iBAAiB3Q,UAAY+mB,EAAgBuR,EAAWnrB,MAI5DwD,EAAE,6BAA6BnJ,MAAMqV,QAAU,OAC/ClM,EAAE,iBAAiBnJ,MAAM00B,aAAe,MAIxC,IAAK,MAAM38B,KAAKwD,OAAO6C,KAAKwf,KAAK0N,QAAQ7J,IAAaqU,mBACpD,IACGlY,KAAKmY,UACJnY,KAAK0N,QAAQ7J,IAAaqU,kBAAkB/9B,GAAGi+B,OAAO15B,MAExD,CACA,MAAM25B,EACJrY,KAAK0N,QAAQ7J,IAAaqU,kBAAkB/9B,GAC9CoR,EAAE,iBAAiBnJ,MAAM00B,aAAe,MACxCvrB,EAAE,6BAA6BnJ,MAAMqV,QAAU,GAC/ClM,EAAE,uBAAuB3Q,UAAY,kBAAkBipB,KACvDtY,EAAE,uBAAuB/N,YAAc4mB,GACrCiU,EAAqBtC,IAAMzJ,GAAWzI,IAAayS,aACnD,IAEF/qB,EAAE,uBAAuBnJ,MAAM2F,MAAQ,QACvC,YAGCwD,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAqqBtC6gB,GACyB,MAAhB1U,GA5Tf,WAYE,GAVA+S,GADmBprB,EAAE,oBAGrBoY,GACEsG,GAAcjK,KAAKuQ,gBAAgB1M,IAAanlB,MAAM8zB,MACxD9O,GAAe1D,KAAK4V,SAClB5V,KAAKuQ,gBAAgB1M,IAAanlB,MAClC65B,WACFzU,GACEmG,GAAcjK,KAAKuQ,gBAAgB1M,IAAanlB,MAAM85B,WAElB,IAAlC3Y,EAAUmY,oBAA2B,CACvCzsB,EAAE,mBAAmB/N,YAAc4mB,GAA4BT,GAAoB,GACnF,MAAMsU,EAAWv1B,KAAKC,MAAOghB,GAAqB3D,KAAKsR,UAAa,KAG7B,MAArC/lB,EAAE,mBAAmB/N,aACJ,MAAhBomB,IAAuC,MAAhBA,IAOpBiB,OAAOC,SAASmT,IAA0B,IAAbA,EAC/B1sB,EAAE,mBAAmB/N,aAAe,KAAKy6B,EAAW,kBAEpD1sB,EAAE,mBAAmB/N,aAAe,OAClCqiB,EAAUoF,eAAiB,IAAM,oBAGrC1Z,EAAE,mBAAmB3Q,UACnB+mB,EACAsI,GAAcjK,KAAKuQ,gBAAgB1M,IAAanlB,MAAMqJ,MAEpD+b,KACFvY,EAAE,2BAA2B/N,YAAc4mB,GAA4BN,IACvEvY,EAAE,2BAA2BnJ,MAAMqV,QAAU,QAC7ClM,EAAE,2BAA2BktB,gBAAgBr2B,MAAMqV,QAAU,SAGpC,IAAvBkM,IAA4BG,IAC9BvY,EAAE,eAAe/N,YAAc,GAAG4mB,GAChCV,GAAeI,aAEjBvY,EAAE,eAAenJ,MAAM2F,MAAQ,UAE3B8X,EAAUoT,cACZ1nB,EAAE,eAAe/N,YAAcgoB,GAC7ByE,GAAcjK,KAAKuQ,gBAAgB1M,IAAanlB,MAAM+M,IAGxDF,EAAE,eAAe/N,YAAc4mB,GAC7B6F,GAAcjK,KAAKuQ,gBAAgB1M,IAAanlB,MAAM+M,GACtD,GAEJF,EAAE,eAAe3Q,UACf+mB,EACAsI,GAAcjK,KAAKuQ,gBAAgB1M,IAAanlB,MAAMqJ,SAvC1DwD,EAAE,qBAAqBnJ,MAAMqV,QAAU,OACvClM,EAAE,mBAAmBnJ,MAAMqV,QAAU,OACrClM,EAAE,uBAAuBnJ,MAAMqV,QAAU,OACzClM,EAAE,eAAenJ,MAAMqV,QAAU,QAuCnC,MAAMyb,EAAarN,IAChBnC,IAAgB1D,KAAKoT,QAAU3B,OAAyBN,MAY3D,GAVA5lB,EAAE,iBAAiB/N,YAAc01B,EAAWpN,KAEtB,UAApBoN,EAAWpN,MACX9F,KAAKoT,QAAUpT,KAAKuQ,gBAAgB1M,IAAa0U,WAEjDhtB,EAAE,iBAAiB/N,YAAc,GAAG01B,EAAWpN,oBAC1Cva,EAAE,iBAAiB/N,YAAc01B,EAAWpN,KACnDva,EAAE,iBAAiB3Q,UAAY+mB,EAAgBuR,EAAWnrB,MAGX,kBAA3CiY,KAAKuQ,gBAAgB1M,IAAanlB,KAA0B,CAC9D6M,EAAE,mBAAmBonB,UAAUvwB,MAAM00B,aAAe,MACpDvrB,EAAE,mBAAmBwK,YACnB0gB,GAAoB,yCAEtB,MAAMiC,EAAYjgC,SAAS4D,cAAc,OACzCq8B,EAAUt2B,MAAM2F,MAAQ,QACxB2wB,EAAUl7B,YAAc,GAAG4mB,GAA2C,IAAfpE,KAAKoT,cAAqBhP,GAC/EoF,MAEFje,EAAE,mBAAmBwK,YAAY2iB,SAE9BntB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAsOtCkhB,GACyB,MAAhB/U,GAzVf,WACE,GAA8B,IAA1B/D,EAAU+Y,YAAmB,CAC/B,MAAMf,EAAatsB,EAAE,mBAErBssB,EAAW9hB,YAAY0gB,GAAoB,uBAE3C,MAAMoC,EAAWpgC,SAAS4D,cAAc,OACxCw8B,EAAShL,GAAK,gBACdgK,EAAW9hB,YAAY8iB,GACvB,MAAMC,EApCK,KADQt+B,EAqCcwlB,KAAK+Y,iBAnC/B,CAAEjT,KAAM,SAAU/d,MAAOoa,GAErB,IAAT3nB,EACK,CAAEsrB,KAAM,aAAc/d,MAAO+Z,GAEzB,IAATtnB,EACK,CAAEsrB,KAAM,SAAU/d,MAAOga,GAErB,IAATvnB,EACK,CAAEsrB,KAAM,QAAS/d,MAAOia,GAEpB,IAATxnB,EACK,CAAEsrB,KAAM,cAAe/d,MAAOma,GAEhC,CAAE4D,KAAM,qBAAsB/d,MAAOka,GAsB1C4W,EAASr7B,YAAcs7B,EAAWhT,KAClC+S,EAASj+B,UAAY+mB,EAAgBmX,EAAW/wB,WAC3CwD,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAxC5C,IAAuBjd,EAsXjBw+B,GACyB,MAAhBpV,GA3kBf,WACE,MAAM6J,SAAEA,GAAazN,KAAK0N,QAAQ,gBAC5BuL,EAAYxL,EAASyL,aAAazL,EAAS0L,WAAWtV,KAE5D,GAA8B,IAA1BhE,EAAUuZ,aAAqBH,GAAaxL,EAAS4L,OAAQ,CAC/D,MAAMxB,EAAatsB,EAAE,mBAGrBssB,EAAW9hB,YAAY0gB,GAAoB,cAC3C,MAAMhR,EAAOhtB,SAAS4D,cAAc,OACpCopB,EAAKoI,GAAK,gBACVgK,EAAW9hB,YAAY0P,GACvB,MAAMyN,EAAarN,GACjBoR,GAA4BxJ,EAAS4J,MAAO5J,EAAS4L,OAAQJ,IAM/D,GAJAxT,EAAKjoB,YAAc01B,EAAWpN,KAC9BL,EAAK7qB,UAAY+mB,EAAgBuR,EAAWnrB,MAGxCkxB,GAAaxL,EAAS4J,MAAO,CAC/BQ,EAAW9hB,YAAY0gB,GAAoB,iBAC3C,MAAM6C,EAAU7gC,SAAS4D,cAAc,OACvCi9B,EAAQzL,GAAK,mBACbgK,EAAW9hB,YAAYujB,GACvB,MAAMC,EAAgB1T,GACpBoR,GACEv0B,KAAK6D,IAAI,EAAGknB,EAAS4J,MAAQ4B,GAC7BxL,EAAS4L,OACT5L,EAAS4J,QAGbiC,EAAQ97B,YAAc+7B,EAAczT,KACpCwT,EAAQ1+B,UAAY+mB,EAAgB4X,EAAcxxB,MAIpD,GAAoB,MAAhB8b,GAAqB,CACvBgU,EAAW9hB,YACT0gB,GAAoB,8BAEtB,MAAM+C,EAAU/gC,SAAS4D,cAAc,OACvCm9B,EAAQ3L,GAAK,IACbgK,EAAW9hB,YAAYyjB,GACvB,MAAMC,EAAShhC,SAAS4D,cAAc,QACtCo9B,EAAOr3B,MAAM2F,MAAQ,UACrB0xB,EAAOj8B,YAAc4mB,GACnB1hB,KAAK2D,IACqC,KAAvC2Z,KAAKoT,QAAU3B,MACa,GAA7BxI,GAAkC,IAEpC,GAEFuQ,EAAQzjB,YAAY0jB,GACpB,MAAMC,EAAYjhC,SAAS4D,cAAc,QACzCq9B,EAAUl8B,YAAc,MACxBg8B,EAAQzjB,YAAY2jB,GACpB,MAAMC,EAAOlhC,SAAS4D,cAAc,QACpCs9B,EAAKv3B,MAAM2F,MAAQ,MACnB4xB,EAAKn8B,YAAc4mB,GAAyD,GAA7B6E,GAAkC,GAAI,GACrFuQ,EAAQzjB,YAAY4jB,GAGtBpuB,EAAE,iBAAiBwK,YAAY8hB,QAC1BtsB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OA6gBtCmiB,GACyB,MAAhBhW,GA/pBf,WACE,MAAM6J,SAAEA,GAAazN,KAAK0N,QAAQmM,KAClC,GACEha,EAAUia,cAC2C,IAArDrM,EAASsM,KAAKlW,GAAY,IAAIA,GAAY,IAAI,GAC9C,CACA,MAAMmW,EACJvM,EAASsM,KAAKlW,GAAY,IAAIA,GAAY,IAAI,GAC9C4J,EAASwM,WAAWxM,EAASsM,KAAKlW,GAAY,IAAIA,GAAY,IAAI,GAAK,GACpEmW,OACCE,EACJzM,EAASwM,WAAWxM,EAASsM,KAAKlW,GAAY,IAAIA,GAAY,IAAI,GAAK,GACpEnlB,KACL6M,EAAE,mBAAmBwK,YACnB0gB,GAAoB,+BAEtB,MAAMgD,EAAShhC,SAAS4D,cAAc,OACtCo9B,EAAO5L,GAAK,uBACZtiB,EAAE,mBAAmBwK,YAAY0jB,GACf,cAAdS,EACF3uB,EAAE,wBAAwB/N,YAAc,GACtCw8B,EACI5V,GAA4B1hB,KAAK2D,IAAmB,IAAf2Z,KAAKoT,QAAiC,GAAjBpT,KAAKsR,UAAiB,KAChF,SACAlN,GAA6C,GAAjBpE,KAAKsR,UAAiB,MACjC,cAAd4I,GAA2C,oBAAdA,EACtC3uB,EAAE,wBAAwB/N,YAAc,GACtCw8B,EACI5V,GAA4B1hB,KAAK2D,IAAmB,IAAf2Z,KAAKoT,QAAiC,GAAjBpT,KAAKsR,UAAiB,IAChF,SACAlN,GAA6C,GAAjBpE,KAAKsR,UAAiB,KACjC,cAAd4I,EACT3uB,EAAE,wBAAwB/N,YAAc,GACtCw8B,EACI5V,GAA4B1hB,KAAK2D,IAAmB,IAAf2Z,KAAKoT,QAAiC,GAAjBpT,KAAKsR,UAAiB,KAChF,SACAlN,GAA6C,GAAjBpE,KAAKsR,UAAiB,MACjC,cAAd4I,EACT3uB,EAAE,wBAAwB/N,YAAc,GACtCw8B,EACI5V,GAA4B1hB,KAAK2D,IAAmB,IAAf2Z,KAAKoT,QAAiC,GAAjBpT,KAAKsR,UAAiB,MAChF,SACAlN,GAA6C,GAAjBpE,KAAKsR,UAAiB,OACnD/lB,EAAE,iBAAiBnJ,MAAMqV,QAAU,YACrClM,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAonBtC0iB,GACyB,OAAhBvW,GAngBf,WACE,MAAM6J,SAAEA,GAAazN,KAAK0N,QAAQmM,KAClC,GAAIha,EAAU+Y,YAAa,CACzBrtB,EAAE,mBAAmBwK,YACnB0gB,GAAoB,oCAEtB,IAAI2D,EAAY,EACZC,EAAS,EACTra,KAAKxf,KAAK,KAAOwf,KAAKxf,KAAK,MAAK65B,EAAS,GAC7C,IAAK,IAAI/1B,EAAI,EAAGA,EAAI,EAAGA,IACrB,IAAK,IAAID,EAAI,EAAGA,EAAI,EAAGA,IACrB,GAAIopB,EAASsM,KAAKz1B,GAAGD,GAAG,IAAM,EAAG,CAC/B,MAAMi2B,EAAO7M,EAASsM,KAAKz1B,GAAGD,GACxBmsB,EAAK/C,EAASwM,WAAWK,EAAK,GAAK,GACnCJ,EAAY1J,EAAG9xB,KAErB,IAAIq0B,GAAQ,EACRsH,GAAU7J,EAAG+J,WAAUxH,GAAQ,GAC/BuH,EAAK,GAAK9J,EAAGgK,aAAYzH,GAAQ,GACjCA,GAAuB,cAAdmH,EACXE,GAAa13B,KAAK2D,IACD,IAAf2Z,KAAKoT,QACY,GAAjBpT,KAAKsR,UAAiB,IAGvByB,GAAuB,cAAdmH,GACI,oBAAdA,EAEAE,GAAa13B,KAAK2D,IAAmB,IAAf2Z,KAAKoT,QAAiC,GAAjBpT,KAAKsR,UAAiB,GACxDyB,GAAuB,cAAdmH,EAClBE,GAAa13B,KAAK2D,IACD,IAAf2Z,KAAKoT,QACY,GAAjBpT,KAAKsR,UAAiB,IAEfyB,GAAuB,cAAdmH,IAClBE,GAAa13B,KAAK2D,IACD,IAAf2Z,KAAKoT,QACY,GAAjBpT,KAAKsR,UAAiB,MAMhC/lB,EAAE,mBAAmBwK,YACnBtd,SAASqgB,eAAesL,GAA4BgW,UAEjD7uB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAsdtCgjB,GACyB,OAAhB7W,GAnDf,WACErY,EAAE,WAAWoM,UAAY,GACzBpM,EAAE,WAAWwK,YAAY0gB,GAAoB,YAE7C,MAAMiE,EAAiBjiC,SAAS4D,cAAc,OAC9Cq+B,EAAe7M,GAAK,mBACA,WAAhBhK,GACF6W,EAAel9B,YAAc4mB,GAA4BwF,IAChC,eAAhB/F,KACT6W,EAAel9B,YAAc4mB,GAA4B0F,GAAsB,KAGjFve,EAAE,WAAWwK,YAAY2kB,GAwCrBC,IAEgB,QAAhB/W,IACiB,QAAhBA,KAA6C,IAApBC,GAAY,KA5c5C,WACE,GAAkC,IAA9BhE,EAAU+a,gBAAuB,CACnC,MAAM/C,EAAatsB,EAAE,mBACrB,IAAIsvB,EACuBA,EAAP,QAAhBjX,GAA+BC,GAAY,GAClCA,GAGbgU,EAAW9hB,YAAY0gB,GAAoB,0BAC3C,MAAMqE,EAAOriC,SAAS4D,cAAc,OAEpC,GADAy+B,EAAKjN,GAAK,6BACkB,IAAxBlC,GAAUkP,GAAO,GAAU,CAC7BC,EAAKt9B,YAAc4mB,GAA4BuH,GAAUkP,GAAO,IAChE,MAAM5C,EAAWv1B,KAAKC,MACnBgpB,GAAUkP,GAAO,GAAK7a,KAAKsR,UAAa,KAEvCzM,OAAOC,SAASmT,IAA0B,IAAbA,EAC/B6C,EAAKt9B,aAAe,KAAKy6B,EAAW,kBAEpC6C,EAAKt9B,aAAe,OAClBqiB,EAAUoF,eAAiB,IAAM,yBAGhC6V,EAAKt9B,YAAc,mBAC1Bq6B,EAAW9hB,YAAY+kB,GAEvBjD,EAAW9hB,YAAY0gB,GAAoB,0BAC3C,MAAMsE,EAAOtiC,SAAS4D,cAAc,OAEpC,GADA0+B,EAAKlN,GAAK,6BACkB,IAAxBlC,GAAUkP,GAAO,GAAU,CAC7BE,EAAKv9B,YAAc4mB,GAA4BuH,GAAUkP,GAAO,IAChE,MAAM5C,EAAWv1B,KAAKC,MACnBgpB,GAAUkP,GAAO,GAAK7a,KAAKsR,UAAa,KAEvCzM,OAAOC,SAASmT,IAA0B,IAAbA,EAC/B8C,EAAKv9B,aAAe,KAAKy6B,EAAW,kBAEpC8C,EAAKv9B,aAAe,OAClBqiB,EAAUoF,eAAiB,IAAM,yBAGhC8V,EAAKv9B,YAAc,mBAC1Bq6B,EAAW9hB,YAAYglB,GAEvBlD,EAAW9hB,YAAY0gB,GAAoB,0BAC3C,MAAMuE,EAAOviC,SAAS4D,cAAc,OAEpC,GADA2+B,EAAKnN,GAAK,6BACkB,IAAxBlC,GAAUkP,GAAO,GAAU,CAC7BG,EAAKx9B,YAAc4mB,GAA4BuH,GAAUkP,GAAO,IAChE,MAAM5C,EAAWv1B,KAAKC,MACnBgpB,GAAUkP,GAAO,GAAK7a,KAAKsR,UAAa,KAEvCzM,OAAOC,SAASmT,IAA0B,IAAbA,EAC/B+C,EAAKx9B,aAAe,KAAKy6B,EAAW,kBAEpC+C,EAAKx9B,aAAe,OAClBqiB,EAAUoF,eAAiB,IAAM,yBAGhC+V,EAAKx9B,YAAc,mBAC1Bq6B,EAAW9hB,YAAYilB,GAEvBzvB,EAAE,iBAAiBwK,YAAY8hB,QAC1BtsB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OA+YtCwjB,GA/LN,WACE,GAAoB,MAAhBrX,IAAuC,MAAhBA,GAAqB,CACgB,OAA1DnrB,SAASyiC,eAAe,gCAC1B3vB,EAAE,iBAAiBwK,YAnuBzB,WACE,MAAMolB,EAAc1iC,SAAS4D,cAAc,OAC3C8+B,EAAY/4B,MAAMgI,SAAW,WAC7B+wB,EAAY/4B,MAAMqV,QAAU,QAC5B0jB,EAAY/4B,MAAMqC,KAAO,OACzB02B,EAAY/4B,MAAMkW,OAAS,OAC3B6iB,EAAYtN,GAAK,6BAEjB,MAAMuN,EAAS,SACbC,EACAtzB,EACAuzB,EACAC,EACAC,GAEA,MAAMtnB,EAAMzb,SAAS4D,cAAc,OACnC6X,EAAI2Z,GAAKwN,EACTnnB,EAAI9R,MAAMqV,QAAU,OACpBvD,EAAI9R,MAAMq5B,WAAa,wBACvBvnB,EAAItZ,UAnuDgB,WAmuDcmN,EAClCmM,EAAI9R,MAAMwK,QAAU,MACpBsH,EAAI9R,MAAMqB,WAAa,8BACvB,MAAMi4B,EAAWjjC,SAAS4D,cAAc,OACxC6X,EAAI6B,YAAY2lB,GAChB,MAAMC,EAAYljC,SAAS4D,cAAc,QACzCs/B,EAAU/gC,UAAY+mB,EAAgB5Z,EACtC4zB,EAAUv5B,MAAMs0B,WAAa,OAC7BiF,EAAUn+B,YAAc89B,EACxBI,EAAS3lB,YAAY4lB,GACrBD,EAAS3lB,YAAYtd,SAASqgB,eAAeyiB,IAC7C,MAAMK,EAAanjC,SAAS4D,cAAc,OAC1C6X,EAAI6B,YAAY6lB,GAChB,MAAMC,EAAcpjC,SAAS4D,cAAc,QAI3C,OAHAw/B,EAAYhO,GAAK2N,EACjBI,EAAW7lB,YAAYtd,SAASqgB,eAAe,cAC/C8iB,EAAW7lB,YAAY8lB,GAChB3nB,GA+DT,OA5DAinB,EAAYplB,YACVqlB,EACE,yBACAnZ,EACA,YACA,uFACA,+BAGJkZ,EAAYn+B,WAAWoF,MAAM00B,aAAe,MAC5CqE,EAAYplB,YACVqlB,EACE,+BACArZ,EACA,YACA,gGACA,qCAGJoZ,EAAYxI,UAAUvwB,MAAM00B,aAAe,MAC3CqE,EAAYplB,YACVqlB,EACE,2BACAlZ,EACA,YACA,oGACA,iCAGJiZ,EAAYxI,UAAUvwB,MAAM00B,aAAe,MAC3CqE,EAAYplB,YACVqlB,EACE,iCACAlZ,EACA,YACA,6GACA,uCAGJiZ,EAAYxI,UAAUvwB,MAAM00B,aAAe,MAC3CqE,EAAYplB,YACVqlB,EACE,2BACAlZ,EACA,YACA,qJACA,iCAGJiZ,EAAYxI,UAAUvwB,MAAM00B,aAAe,MAC3CqE,EAAYplB,YACVqlB,EACE,wBACAnZ,EACA,YACA,2EAA2EpC,EAAUic,8BACrF,8BAIGX,EAgoB4BY,IAC/BrE,MAG4B,IAA1B7X,EAAU8X,YACZpsB,EAAE,8BAA8BnJ,MAAMkI,MAAQ,MAE9CiB,EAAE,8BAA8BnJ,MAAMsC,IAAM,GAC1C6G,EAAE,WAAWxG,iBAGjBwG,EAAE,8BAA8BnJ,MAAMkG,MACpCiD,EAAE,WAAWzG,YAAc,EADiB,KAI9C,MAAM4pB,EAAS1O,KAAKoT,QAAU3B,KAAuB/N,GAC/CsY,EAAkBnc,EAAUoc,YAActY,GAAqB,EACrE,IAAIuY,EAAa3T,GACjB,GAA8B,IAA1B1I,EAAUoc,YAAmB,CAC/B,IAAIE,EAAcxY,GAClBwY,GAAe5E,KACf2E,GAA6B,GAAdC,EAAmB,GAAM,IAc1C,GAXgC,IAA5Btc,EAAUuc,eACR1N,EAASwN,IAA+B,MAAhBtY,IAAwC,IAAjB5D,KAAKqP,UACtD9jB,EAAE,0BAA0BnJ,MAAMqV,QAAU,GAC5ClM,EAAE,8BAA8B/N,YAAc,GAAG4mB,GAC/C8X,EAAaxN,OACTlJ,IACH0W,EAAaxN,IAAWyC,KAAW6K,QAGnCzwB,EAAE,0BAA0BnJ,MAAMqV,QAAU,OAEb,IAAlCoI,EAAUwc,oBAA2B,CACvC,MAAMC,EAAgC,EAAbJ,EAEvBxN,EAAS4N,IACQ,MAAhB1Y,IAAwC,IAAjB5D,KAAKqP,UAE7B9jB,EAAE,gCAAgCnJ,MAAMqV,QAAU,GAClDlM,EAAE,oCAAoC/N,YAAc,GAAG4mB,GACrDkY,EAAmB5N,OACflJ,IACH8W,EAAmB5N,IAAWyC,KAAW6K,QAEvCzwB,EAAE,gCAAgCnJ,MAAMqV,QAAU,YACpDlM,EAAE,gCAAgCnJ,MAAMqV,QAAU,OAEzD,GAAkC,IAA9BoI,EAAU0c,gBAAuB,CACnC,MAAMC,EAA4B,EAAbN,EAEnBxN,EAAS8N,IACQ,MAAhB5Y,IAAwC,IAAjB5D,KAAKqP,UAE7B9jB,EAAE,4BAA4BnJ,MAAMqV,QAAU,GAC9ClM,EAAE,gCAAgC/N,YAAc,GAAG4mB,GACjDoY,EAAe9N,OACXlJ,IACHgX,EAAe9N,IAAWyC,KAAW6K,QAEnCzwB,EAAE,4BAA4BnJ,MAAMqV,QAAU,YAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,OAErD,GAAwC,IAApCoI,EAAU4c,sBAA6B,CACzC,MAAMC,EAAkC,EAAbR,EAAiB,EAE1CxN,EAASgO,IACQ,MAAhB9Y,IAAwC,IAAjB5D,KAAKqP,UAE7B9jB,EAAE,kCAAkCnJ,MAAMqV,QAAU,GACpDlM,EAAE,sCAAsC/N,YAAc,GAAG4mB,GACvDsY,EAAqBhO,OACjBlJ,IACHkX,EAAqBhO,IAAWyC,KAAW6K,QAEzCzwB,EAAE,kCAAkCnJ,MAAMqV,QAAU,YACtDlM,EAAE,kCAAkCnJ,MAAMqV,QAAU,OAG3B,IAA9BoI,EAAU8c,iBACV3c,KAAK0N,QAAQ,gBAAgBU,gBAG3BrF,IACA2F,EAAS3F,KACQ,MAAhBnF,IAAwC,IAAjB5D,KAAKqP,UAE7B9jB,EAAE,4BAA4BnJ,MAAMqV,QAAU,GAC9ClM,EAAE,gCAAgC/N,YAAc,GAAG4mB,GACjD2E,GAAe2F,OACXlJ,IACHuD,GAAe2F,IAAWyC,KAAW6K,QAGrCzwB,EAAE,4BAA4BnJ,MAAMqV,QAAU,OAEjDoI,EAAUic,aAAe,GAEzBpN,EAAS7O,EAAUic,aAAe3K,OACjB,MAAhBvN,IAAwC,IAAjB5D,KAAKqP,UAE7B9jB,EAAE,yBAAyBnJ,MAAMqV,QAAU,GAE3ClM,EACE,yBACAqxB,SAAS,GAAGp/B,YAAc,2EAA2EqiB,EAAUic,8BACjHvwB,EAAE,6BAA6B/N,YAAc,GAAG4mB,GAC9CvE,EAAUic,aAAe3K,KAAWzC,OAChClJ,IACH3F,EAAUic,aAAe3K,KAAWzC,IAClCyC,KAAW6K,QAGbzwB,EAAE,yBAAyBnJ,MAAMqV,QAAU,YACL,OAApClM,EAAE,+BACXA,EAAE,8BAA8B9J,SAyEhCo7B,QACgC,OAAvBtxB,EAAE,kBAE6B,OAApCA,EAAE,+BACJA,EAAE,8BAA8B9J,SA0FtC,SAASq7B,KAEP,GACE9c,KAAK+c,MAAMC,UACXhd,KAAKid,MAAQ,IAAO,GACJ,UAAhBjd,KAAKkd,QACLrd,EAAUsd,MACV,CACA,MAAM/K,EAAQ35B,SAASyiC,eAAe,wBAClC9I,IACFA,EAAMgL,UAAYpd,KAAKqd,QACV,GAAXrd,KAAKsX,IAAYtX,KAAKsd,GAAgB,GAAXtd,KAAKsX,KAChC,IA6BN,GAvBAlI,KACAU,KA3hDF,WACE,GAA2B,IAAvBjQ,EAAU4T,SAAgB,CAE5B,MAAM8J,EAAiBhyB,EAAE,cAAczG,YAAc,IAE/C04B,EAAiBjyB,EAAE,cAAczG,YAAc,IACrD,IAAI24B,EAAiB,EAIkB,IAArCzd,KAAK0d,aAAaC,OAAOC,SACxB5d,KAAK6d,IAAI,uBA+CLtyB,EAAE,gBAAgBnJ,MAAMqV,QAAU,QA7CvClM,EAAE,gBAAgBnJ,MAAMqV,QAAU,GAClClM,EAAE,sBAAsBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MAC3CD,KAAK6D,IACJ,EACAyZ,KAAK0d,aAAaC,OAAOG,QAAU9d,KAAK0d,aAAaC,OAAOlY,MAE5D8X,EACAvd,KAAK0d,aAAaC,OAAOI,aAEzBle,EAAUme,iBAAmB,EAC/BzyB,EAAE,sBAAsB/N,YAAckF,KAAKoL,MACxCkS,KAAK0d,aAAaC,OAAOG,QAAU9d,KAAK0d,aAAaC,OAAOlY,MAC3DzF,KAAKsX,KAEN/rB,EAAE,sBAAsB/N,YAAc,GAEzCwiB,KAAK0d,aAAaC,OAAOG,UAAY9d,KAAK0d,aAAaC,OAAOI,SAE9DxyB,EAAE,sBAAsBnJ,MAAM8vB,qBAAuB,OACrD3mB,EAAE,sBAAsBnJ,MAAM+vB,wBAA0B,SAExD5mB,EAAE,sBAAsBnJ,MAAM8vB,qBAAuB,GACrD3mB,EAAE,sBAAsBnJ,MAAM+vB,wBAA0B,IAE1D5mB,EAAE,mBAAmBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MACxCD,KAAK2D,IACJ2Z,KAAK0d,aAAaC,OAAOI,QAAU/d,KAAK0d,aAAaC,OAAOG,QAC5D9d,KAAK0d,aAAaC,OAAOI,QAAU/d,KAAK0d,aAAaC,OAAOlY,MAE5D8X,EACAvd,KAAK0d,aAAaC,OAAOI,aAEzBle,EAAUme,iBAAmB,EAC/BzyB,EAAE,mBAAmB/N,YAAckF,KAAKoL,KACtCpL,KAAK2D,IACH2Z,KAAK0d,aAAaC,OAAOI,QAAU/d,KAAK0d,aAAaC,OAAOG,QAC5D9d,KAAK0d,aAAaC,OAAOI,QAAU/d,KAAK0d,aAAaC,OAAOlY,MAC1DzF,KAAKsX,KAER/rB,EAAE,mBAAmB/N,YAAc,GACxC+N,EAAE,oBAAoB/N,YAAckF,KAAKoL,MACtCkS,KAAK0d,aAAaC,OAAOI,QAAU/d,KAAK0d,aAAaC,OAAOlY,MAC3DzF,KAAKsX,KAETmG,GAAkB,GAKF,cAAhBzd,KAAKie,QACkC,IAAvCje,KAAK0d,aAAaQ,SAASN,SAE3BryB,EAAE,iBAAiBnJ,MAAMqV,QAAU,GACnClM,EAAE,uBAAuBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MAC5CD,KAAK6D,IACJ,EACAyZ,KAAK0d,aAAaQ,SAASJ,QAAU9d,KAAK0d,aAAaQ,SAASzY,MAEhE8X,EACAvd,KAAK0d,aAAaQ,SAASH,aAE3Ble,EAAUme,iBAAmB,EAC/BzyB,EAAE,uBAAuB/N,YAAckF,KAAKoL,MACzCkS,KAAK0d,aAAaQ,SAASJ,QAC1B9d,KAAK0d,aAAaQ,SAASzY,MAC3BzF,KAAKsX,KAEN/rB,EAAE,uBAAuB/N,YAAc,GAC5C+N,EAAE,oBAAoBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MACzCD,KAAK2D,IACJ2Z,KAAK0d,aAAaQ,SAASH,QACzB/d,KAAK0d,aAAaQ,SAASJ,QAC7B9d,KAAK0d,aAAaQ,SAASH,QAAU/d,KAAK0d,aAAaQ,SAASzY,MAEhE8X,EACAvd,KAAK0d,aAAaQ,SAASH,aAE3Ble,EAAUme,iBAAmB,EAC/BzyB,EAAE,oBAAoB/N,YAAckF,KAAKoL,KACvCpL,KAAK2D,IACH2Z,KAAK0d,aAAaQ,SAASH,QACzB/d,KAAK0d,aAAaQ,SAASJ,QAC7B9d,KAAK0d,aAAaQ,SAASH,QACzB/d,KAAK0d,aAAaQ,SAASzY,MAC3BzF,KAAKsX,KAER/rB,EAAE,oBAAoB/N,YAAc,GACzC+N,EAAE,qBAAqB/N,YAAckF,KAAKoL,MACvCkS,KAAK0d,aAAaQ,SAASH,QAAU/d,KAAK0d,aAAaQ,SAASzY,MAC/DzF,KAAKsX,KAETmG,GAAkB,GAElBlyB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAIrC,MAAM0mB,EAAgB,GACtB5yB,EAAE,wBAAwBoM,UAAY,GACtCha,OAAO6C,KAAKwf,KAAKwX,OAAOjI,SAASp1B,IAC/B,GAAI6lB,KAAKwX,MAAMr9B,GAAI,CACjB,MAAMi4B,EAAQV,GAAY1R,KAAKwX,MAAMr9B,GAAGuE,KAAMshB,KAAKwX,MAAMr9B,GAAGuE,KAAM,CAChE,CAAEmvB,GAAI,GAAG7N,KAAKwX,MAAMr9B,GAAGuE,aAEzB0zB,EAAMhwB,MAAMqV,QAAU,GACtB,IAAI2mB,EAAc,GAGhBA,OAD6C,IAApCjb,EAAYnD,KAAKwX,MAAMr9B,GAAGuE,MACrBykB,EAAYnD,KAAKwX,MAAMr9B,GAAGuE,MACrBwjB,EACrBkQ,EAAMO,UAAUiK,SAAS,GAAGhiC,UAAYgnB,EAAgBwc,EACxDhM,EAAMO,UAAUiK,SAAS,GAAGx6B,MAAM2F,MAAQ,QACR,IAA9B8X,EAAUme,gBACZ5L,EAAMO,UAAUiK,SAAS,GAAGp/B,YAAc,GAAGkF,KAAKC,MACzCqd,KAAKwX,MAAMr9B,GAAGsrB,KAAOzF,KAAKwX,MAAMr9B,GAAG4jC,QAA1C,QAEC3L,EAAMO,UAAUiK,SAAS,GAAGp/B,YAAc,GAC/C40B,EAAMO,UAAUiK,SAAS,GAAGx6B,MAAMkG,MAAQ,GAAG5F,KAAKC,MAC/Cqd,KAAKwX,MAAMr9B,GAAGsrB,MACZ+X,EAC8D,EAA7D96B,KAAKoL,KAAKkS,KAAKwX,MAAMr9B,GAAGsrB,KAAOzF,KAAKsX,KAAK10B,WAAWxI,QACtD4lB,KAAKwX,MAAMr9B,GAAG4jC,aAElB3L,EAAMO,UAAUiK,SAAS,GAAGp/B,YAAckF,KAAKoL,KAC7CkS,KAAKwX,MAAMr9B,GAAGsrB,KAAOzF,KAAKsX,KAE5BmG,GAAkB,EAClBU,EAAcne,KAAKwX,MAAMr9B,GAAGuE,MAAQ0zB,MAGxCz0B,OAAO6C,KAAK29B,GAAe5O,SAASp1B,IAClCoR,EAAE,wBAAwBwK,YAAYooB,EAAchkC,OAG/B,IAAnBsjC,IACFlyB,EAAE,cAAcnJ,MAAMmG,OAA6B,GAAjBk1B,EAAsB,EAAzB,MAE7BzZ,KAAuByZ,IACzBzZ,GAAqByZ,EACrBjK,OAs4CJ6K,GAGAxL,KAGA+E,KAtGF,WACE,GAA+B,IAA3B/X,EAAUye,cAA8C,IAAxB3b,EAA2B,CAE7D,IAAI4b,GAAiB,EACrB5gC,OAAO6C,KAAKwf,KAAKwR,WAAWjC,SAASp1B,IACnC,MAAMq2B,EAAKxQ,KAAKwR,UAAUr3B,GAC1B,GAAIq2B,EAAGgO,MAAQ,GAAKhO,EAAGiO,UAErB,GADAF,GAAiB,EAEkB,IAAjC1b,EAA0B1oB,SACOI,IAAjCsoB,EAA0B1oB,GAC1B,CACA,MAAMukC,EAAcjmC,SAAS4D,cAAc,OACrCsiC,EAAWlmC,SAAS4D,cAAc,OACxCsiC,EAASv8B,MAAMw8B,SAAW,QAC1BD,EAASv8B,MAAM00B,aAAe,MAC9B,MAAMlG,EAAMn4B,SAAS4D,cAAc,OACnCu0B,EAAIxuB,MAAMuW,UAAY,SACtBiY,EAAI/C,GAAK,oBACT8Q,EAAS5oB,YAAY6a,GACrB8N,EAAY3oB,YAAY4oB,GACxB3e,KAAK4W,QAAQjlB,KAAK9Y,KAAMgmC,OAAOH,EAAY/mB,YAC3CiL,EAAkBzoB,EAClB0oB,EAA0B1oB,GAAK,QAGjC0oB,EAA0B1oB,GAAK,KAG9BokC,GACHve,KAAK4W,QAAQzlB,QA2EjB2tB,GAjEF,WACE,GAA+B,IAA3Bjf,EAAUye,cAAiD,OAA3B/yB,EAAE,qBAA+B,CACnE,IAAIwzB,OAAEA,GAAW/e,KAAKwR,UAAU5O,GAC5Boc,EAAS,IAKb,GAJIhf,KAAK6d,IAAI,6BAA4BmB,GAAU,MACN,IAAzChf,KAAKwR,UAAU5O,GAAiBpoB,OAAYwkC,GAAU,GAC1DD,GAAUC,EACNhf,KAAK6d,IAAI,mBAAkBkB,GAAU,MACrCzS,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASrO,KAAKuN,OAAO,SACZ,IAAXc,EAAc0Q,GAAU,KACR,IAAX1Q,EAAc0Q,GAAU,IACb,IAAX1Q,IAAc0Q,GAAU,MAEnCxzB,EAAE,qBAAqB/N,YAAc4mB,GAA4B2a,IAoDnEE,GAl4CEpf,EAAUqf,SACM,UAAhBlf,KAAKkd,SACJld,KAAKid,MAAQ,IAAiB,EAAXjd,KAAKsX,MAAa,IACrCtX,KAAKid,MAAQ,GAAKjd,KAAKsX,KAAQ,GAEhCtX,KAAKmf,aAm4CPrf,IAGID,EAAU8E,MAAO,CACnB,IAAIppB,EAAMgQ,EAAE,WAAWoM,UAAU5W,QAC/B,cACAqjB,GAA4BpE,KAAKoT,UAE/BpT,KAAK+c,MAAMqC,YAAW7jC,EAAM,2BAA2BA,YAC3DgQ,EAAE,WAAWoM,UAAYpc,GAO7B,SAAS8jC,KAEPtZ,GAA8BuZ,UAAUtf,KAAKuf,kBAgB/C,MAAMC,GACJC,YAAYC,GACV7mC,KAAK6mC,UAAYA,EACjB7mC,KAAK8mC,MAAQ,GAGfF,UAAUG,GACJ/mC,KAAK8mC,MAAM1jC,KAAK2jC,GAAY/mC,KAAK6mC,WACnC7mC,KAAK8mC,MAAM7gB,QASf2gB,YAAYI,GACV,IAAIpa,EAAOoa,EACPpa,EAAO5sB,KAAK6mC,YAAWja,EAAO5sB,KAAK6mC,WACnCja,EAAO5sB,KAAK8mC,MAAMvlC,SAAQqrB,EAAO5sB,KAAK8mC,MAAMvlC,QAChD,IAAI0M,EAAM,EACV,IACE,IAAI3M,EAAItB,KAAK8mC,MAAMvlC,OAAS,EAC5BD,GAAK,GAAKA,EAAItB,KAAK8mC,MAAMvlC,OAAS,EAAIqrB,EACtCtrB,IAEA2M,GAAOjO,KAAK8mC,MAAMxlC,GAEpB,OAAY,IAAR2M,EACK,EAEFA,EAAM2e,EAGfga,QAAQI,GACN,IAAIpa,EAAOoa,EAGX,OAFIpa,EAAO5sB,KAAK6mC,YAAWja,EAAO5sB,KAAK6mC,WACnCja,EAAO5sB,KAAK8mC,MAAMvlC,SAAQqrB,EAAO5sB,KAAK8mC,MAAMvlC,QACnC,IAATqrB,EAAmB,EAChB5sB,KAAK8mC,MAAMzhB,OAAOuH,GAAMqa,QAAO,CAAC98B,EAAGP,IAAMO,EAAIP,GAAG,IA+B3D,SAASs9B,KACP,MAAMC,EAAWt9B,KAAKkE,MAAMq5B,KAAKC,MAAQ,KAEzC,GAAKlgB,KAAKsd,EAAItd,KAAKsX,IAAO,GAAM,EAAG,CACjC,IAAI6I,EAAcngB,KAAKoT,QAAU1H,GAC7B1L,KAAKuR,UAAY,IAAG4O,GAAevW,IACvCsB,GAAyBxoB,KAAK6D,IAAIyZ,KAAKogB,cAAeD,GACtDA,GAAe,IAGf,MAAME,EAAWL,EAAW1Z,GACtBga,EAAc59B,KAAK6D,IAAI,EAAGyZ,KAAKoT,QAAU7M,IAAoB8Z,EAC7DE,EACJ79B,KAAK6D,IAAI,EAAGqjB,GAAsBpD,IAAyB6Z,EACvDG,EACJ99B,KAAK6D,IAAI,EAAGujB,GAAsB,GAAKrD,IACvC4Z,EACII,EAAgB/9B,KAAK6D,IAAI,EAAG45B,EAAc3W,IAAmB6W,EAC7DK,GAAiB1gB,KAAK2gB,aAAeja,IAAmB2Z,EAC9D,IAAK,IAAIlmC,EAAI,EAAGA,EAAIkmC,EAAUlmC,IAC5B6rB,GAAYsZ,UAAUgB,GACtBra,GAAUqZ,UAAUiB,GACpBra,GAAiBoZ,UAAUkB,GAC3Bra,GAAWmZ,UAAUmB,GACrBra,GAAWkZ,UAAUoB,GAIvBpa,GAAoB0Z,EACpBzZ,GAAmBvG,KAAKoT,QACxB5M,GAAwBoD,GACxBnD,GAA+BqD,GAAsB,GACrDN,GAAkB2W,EAClBzZ,GAAkB1G,KAAK2gB,aAGvB,MAAMC,EAAY3d,EAAYpD,EAAUghB,YACxCla,GAAuBX,GAAY8a,YAAYF,GAC/Cha,GAAwBX,GAAU6a,YAAYF,GAC9C/Z,GAA+BX,GAAiB4a,YAAYF,GAC5D9Z,GAAyBX,GAAW2a,YAAYF,GAChD7Z,GAAkBJ,GACU,IAAxB9G,EAAUwR,YAAiBtK,IAAmBH,IACtB,IAAxB/G,EAAUwR,YACZtK,IAAmBF,IAErB,MAAMka,EACJ/gB,KAAKghB,YAAY,mBAAqBhhB,KAAK6d,IAAI,iBAG/C1S,GADE4V,GAAkC,IAAxBlhB,EAAUwR,UAEpB1K,GACAC,IACCma,EAASja,GAAyB,GACRC,GAE/BmD,GAAqB9D,GAAW0a,YAC9B5d,EAAWrD,EAAUohB,iBAkB3B,SAASC,GAAW1Q,EAAIxC,GACtB,IAAIjmB,EAAQ,GAmBZ,OAjBsCA,EAAlCyoB,EAAG/kB,IAAM,GAAK+kB,EAAG/kB,KAAOiZ,IAAkBvC,EACrCqO,EAAG/kB,GAAK8f,GAAoB1J,EAC5B2O,EAAG/kB,KAAO8f,GAAoBzJ,EAC9B0O,EAAG/kB,GAAK+f,GAAa,IAAI,GAAYzJ,EACrCyO,EAAG/kB,GAAK+f,GAAa,IAAI,GAAYxJ,EACrCwO,EAAG/kB,GAAK+f,GAAa,IAAI,GAAYvJ,EACjCC,EAGiC,IAA1C2C,OAAOhF,EAAUshB,sBACfnT,EAAQmD,KAAWtM,OAAOhF,EAAUshB,uBACtCp5B,EAAQ8Z,GAGRhC,EAAUuhB,uBACRpT,EAAQhO,KAAKoT,QAAU,IAAGrrB,EAAQka,GAEjCla,EAiBT,SAASs5B,GAAY7hC,EAAQkvB,GAC3B/wB,OAAO6C,KAAKhB,GAAQ+vB,SAASp1B,IAC3B,GAAI0lB,EAAUyhB,eAA4B,IAAX5S,EAC7BlvB,EAAOrF,GAAG4N,MAAQoa,MADpB,CAIA3iB,EAAOrF,GAAG4N,MAAQm5B,GAChB1hC,EAAOrF,GACP6lB,KAAK0N,QAAQvzB,GAAGonC,YAAY7S,IAG9B,IAAK,IAAIgC,EAAI,EAAGA,EAAI7Q,EAAU2hB,aAAc9Q,IACtClxB,EAAOrF,GAAGsR,KAAO+f,GAAakF,GAAG,KAAIlxB,EAAOrF,GAAG4N,MAAQoa,OAKjE,SAASsf,GAAQjiC,EAAQkvB,GACvB/wB,OAAO6C,KAAKhB,GAAQ+vB,SAASp1B,IAC3B,MAAM6zB,EAAQhO,KAAK0N,QAAQvzB,GAAGonC,YAAY7S,GACtC1O,KAAKsR,UACP9xB,EAAOrF,GAAGsR,GACR/I,KAAK6D,IAAIynB,GAAShO,KAAKoT,QAAU3B,MAAuB,GACtDzR,KAAKsR,UACPtD,EAAQxuB,EAAOrF,GAAGq4B,MACfhzB,EAAOrF,GAAGsR,GAAKuiB,EAAQxuB,EAAOrF,GAAGq4B,MAClC3S,EAAUyhB,eAA4B,IAAX5S,GAC/BlD,GAAavvB,KAAK,CAACuD,EAAOrF,GAAGsR,GAAIijB,OA8EvC,SAASgT,MAtET,WACEnW,GAAa7G,IACb8G,GAAe,QACuB,IAA3B3L,EAAU2hB,eAA8B3hB,EAAU2hB,aAAe,GAG5EC,GAAQhY,GAAe,GACvBgY,GAAQ/X,GAAgB,IACxB+X,GAAQ9X,GAAiB,KAGzB6B,GAAaoE,MAAK,CAAC5sB,EAAGP,IAAMO,EAAE,GAAKP,EAAE,KACrC,IAAIk/B,EAAa,EACjB,GAAI9hB,EAAUuhB,sBACZ,KAAO5V,GAAamW,GAAY,GAAK3hB,KAAKoT,UACxCuO,GAAc,EACVnW,GAAapxB,SAAWunC,EAAa,KAK7CpW,GAAaC,GAAa3L,EAAU2hB,cAAcG,GAElDN,GAAY5X,GAAe,GAC3B4X,GAAY3X,GAAgB,IAC5B2X,GAAY1X,GAAiB,KA8C7BiY,GAjCAjkC,OAAO6C,KAAKypB,IAAesF,SAASp1B,IAC9B6lB,KAAKsR,UACPrH,GAAc9vB,GAAGsR,GACf/I,KAAK6D,IACHyZ,KAAK4V,SAASz7B,GAAGo+B,YAAcvY,KAAKoT,QAAU3B,MAC9C,GAEAzR,KAAKsR,UACPtR,KAAK4V,SAASz7B,GAAGo+B,WAAatO,GAAc9vB,GAAGq4B,MAEjDvI,GAAc9vB,GAAGsR,GACfuU,KAAK4V,SAASz7B,GAAGo+B,WAAatO,GAAc9vB,GAAGq4B,MAC/C3N,OAAOpJ,MAAMwO,GAAc9vB,GAAGsR,MAAKwe,GAAc9vB,GAAGsR,GAAKiZ,KAE7DuF,GAAc9vB,GAAG4N,MAAQm5B,GACvBjX,GAAc9vB,GACd6lB,KAAK4V,SAASz7B,GAAGo+B,eAiCvB,SAASsJ,GACPtT,EACAC,EACA7kB,EACA8kB,EACAwJ,GAEA,IAAInJ,EAAiBnlB,EACjBolB,EAAO,EACX,IAAK,IAAI50B,EAAI,EAAGA,EAAI89B,EAAU99B,GAAK,EAAG,CACpC,IAAI6zB,EACFQ,EAAYxO,KAAKiP,eAAiBvsB,KAAK6D,IAAI,EAAGuoB,EAAiBL,GACjET,EAAQhO,KAAKkP,oBAAoBX,EAAOP,GACxCA,EAAQtrB,KAAKoL,KAAKkgB,GAClBe,GAAQf,EACRc,GAAkB,EAEpB,OAAOC,EA0CT,SAAS+S,GAAOpV,GACVF,GAAgBE,IACgB,IAA9BF,GAAgBE,GAAM8J,MACxBhK,GAAgBE,GAAM8J,IAAM,EACS,WAAjCxW,KAAKiU,aAAavH,GAAMS,OAAmB5F,IAAwB,IAwB7E,SAASwa,KACP9Z,GAAe,EACf,IAAImM,EAAO,EAEX,MAAM4N,EAAO,GACbrkC,OAAO6C,KAAKwf,KAAK0N,SAAS6B,SAASp1B,IACjC,GAAI6lB,KAAK0N,QAAQvzB,GAAGi0B,gBAAkBpO,KAAK0N,QAAQvzB,GAAGszB,SAASuU,KAAM,CACnE,MAAMC,EAASjiB,KAAK0N,QAAQvzB,GAAGszB,SAASuU,KACxCrkC,OAAO6C,KAAKyhC,GAAQ1S,SAAS2S,IACvBF,EAAKE,GAAKF,EAAKE,IAAOD,EAAOC,GAC5BF,EAAKE,GAAMD,EAAOC,UAI7Bla,GAAUga,EAEiB,IAAvBhiB,KAAKkN,gBACPkH,GAEE,IADA3sB,WAAWggB,IAEXD,GA/EN,WACE,IAAI2a,EAAe,EAWnB,GAVInV,GAAO,0BAAyBmV,GAAgB,KAChDnV,GAAO,2BAA0BmV,GAAgB,IACjDnV,GAAO,qBAAoBmV,GAAgB,KAC3CnV,GAAO,4BAA2BmV,GAAgB,KAClDnV,GAAO,kBAAiBmV,GAAgB,KAE5CA,GAAgB,EAAgC,IAA5B1V,GAAY,cAC5BO,GAAO,iBAAgBmV,GAAgB,MACvCnV,GAAO,kBAAiBmV,GAAgB,MACxCnV,GAAO,kBAAiBmV,GAAgB,MACxCniB,KAAKuN,OAAQ,CACf,MAAMc,EAASf,GAAU,YACV,IAAXe,EAAc8T,GAAgB,GACd,IAAX9T,EAAc8T,GAAgB,GACnB,IAAX9T,IAAc8T,GAAgB,IAEzC,OAAOA,EA8DHC,IAEJhO,GAAQtH,GAAO,OAEXE,GAAO,YAAqC,IAAvBhN,KAAKkN,gBAC5BkH,GAAQ,EAAI,IAAOpU,KAAKqiB,SAE1B1kC,OAAO6C,KAAKwf,KAAKsiB,gBAAgB/S,SAASp1B,IACxC,MAAMq2B,EAAKxQ,KAAKsiB,eAAenoC,GAC3B6yB,GAAOwD,EAAG9xB,QAIY,mBAAb8xB,EAAGqF,MACZzB,GAAQ,EAAuD,IAAnD7H,GAAYiE,EAAG9xB,MAAMm3B,MAAMtJ,GAAYiE,EAAG9xB,OACjD01B,GAAQ,EAAe,IAAX5D,EAAGqF,UAItB7I,GAAO,iCAAgCoH,GAAQ,MAC/CpH,GAAO,0BAAyBoH,GAAQ,MACxCpH,GAAO,sBAAqBoH,GAAQ,MACpCpH,GAAO,iBAAgBoH,GAAQ,MAC/BpH,GAAO,kBAAiBoH,GAAQ,MAEhCpH,GAAO,yBAAwBoH,GAAQ,MACvCpH,GAAO,wBAAuBoH,GAAQ,MACtCpH,GAAO,oBAAmBoH,GAAQ,MAClCpH,GAAO,sBAAqBoH,GAAQ,MACpCpH,GAAO,sBAAqBoH,GAAQ,KAEpCpH,GAAO,kBAAiBoH,GAAQ,MAChCpH,GAAO,kBAAiBoH,GAAQ,MAEhCpH,GAAO,kBAAiBoH,GAAQ,MAGpC,IAAImO,EAAY,EAChB,GAAIjV,GAAW,CACb,IAAIe,EAASf,GAAU,cACR,IAAXe,EAAc+F,GAAQ,KACN,IAAX/F,EAAc+F,GAAQ,IACX,IAAX/F,IAAc+F,GAAQ,MAE/B/F,EAASf,GAAU,QACJ,IAAXe,EACF+F,GACE,EACA,IAAO1xB,KAAK8/B,IAAKnhB,EAAkB,IAAO,MAAiB3e,KAAKiU,GAAK,GACrD,IAAX0X,EACP+F,GACE,EACA,IACE1xB,KAAK8/B,IAAKnhB,EAAkB,IAAO,MAAkB3e,KAAKiU,GAAK,GACjD,IAAX0X,IACP+F,GACE,EACA,IACE1xB,KAAK8/B,IAAKnhB,EAAkB,IAAO,MAAkB3e,KAAKiU,GAAK,IAErE0X,EAASf,GAAU,aACJ,IAAXe,EAAckU,GAAa,IACX,IAAXlU,EAAckU,GAAa,IAChB,IAAXlU,IAAckU,GAAa,KAEpClU,EAASf,GAAU,YACJ,IAAXe,EAAckU,GAAa,IACX,IAAXlU,EAAckU,GAAa,KAChB,IAAXlU,IAAckU,GAAa,MAEpClU,EAASf,GAAU,SACJ,IAAXe,EAAckU,GAAa,IACX,IAAXlU,EAAckU,GAAa,IAChB,IAAXlU,IAAckU,GAAa,KAGlCvV,GAAO,oBAAmBoH,GAAQ,EAA4B,KAAvBpU,KAAKyiB,WAAa,IAE7D,MAAMC,EAAenb,GAAuB,GAC5C,IAAIob,EAAW,EAIf,GAHI3V,GAAO,8BAA6B2V,GAAY,MAEpDA,GAAY,EAAoC,IAAhClW,GAAY,kBACxBa,GAAW,CACb,MAAMe,EAASf,GAAU,UACV,IAAXe,EAAcsU,GAAY,IACV,IAAXtU,EAAcsU,GAAY,KACf,IAAXtU,IAAcsU,GAAY,MAErCA,GAAY7V,GAAO,QAEnB,IAAI8V,EAAU,EAEV5V,GAAO,oBAAmB4V,GAAW,EAAmB,GAAfF,EAAqBC,GAC9D3V,GAAO,oBAAmB4V,GAAW,EAAmB,KAAfF,EAAuBC,GAChE3V,GAAO,sBAAqB4V,GAAW,EAAmB,IAAfF,EAAsBC,GACjE3V,GAAO,sBACT4V,GAAW,EAAmB,KAAfF,EAAuBC,GACpC3V,GAAO,qBAAoB4V,GAAW,EAAmB,GAAfF,EAAqBC,GAC/D3V,GAAO,wBACT4V,GAAW,EAAmB,GAAfF,EAAqBC,GAClC3V,GAAO,wBACT4V,GAAW,EAAmB,GAAfF,EAAqBC,GAClC3V,GAAO,oBAAmB4V,GAAW,EAAmB,GAAfF,EAAqBC,GAC9D3V,GAAO,wBACT4V,GAAW,EAAmB,GAAfF,EAAqBC,GAClC3V,GAAO,+CACT4V,GAAW,EAAmB,KAAfF,EAAuBC,GACpC3V,GAAO,uBACT4V,GAAW,EAAmB,IAAfF,EAAsBC,GACnC3V,GAAO,qBAAoB4V,GAAW,EAAmB,KAAfF,EAAuBC,GACjE3V,GAAO,uBACT4V,GAAW,EAAmB,KAAfF,EAAuBC,GACpC3V,GAAO,mBAAkB4V,GAAW,EAAmB,GAAfF,EAAqBC,GAC7D3V,GAAO,kBAAiB4V,GAAW,EAAmB,IAAfF,EAAsBC,GAEjEhlC,OAAO6C,KAAK8rB,IAAYiD,SAASp1B,IAC/B,MAAMq2B,EAAKlE,GAAWnyB,GACtB,IAAI0oC,EAAYrS,EAAGyE,IAAIzE,GACI,IAAvBxQ,KAAKkN,gBACP2V,IAAc,EAAe,IAAXrS,EAAGsF,OAAgByM,GAEzB,YAAZ/R,EAAG9xB,MACHsuB,GAAO,sDAEP6V,GAAa,EAAI,IAAOH,EAAeC,GACzC1a,IAAgBuI,EAAG9B,OAASmU,KAG1B7V,GAAO,WAAU/E,IAAgB,GAErCmM,GAAQwO,EAER,IAAIE,EAAU,EAad,GAZI9V,GAAO,iBAAgB8V,GAAW,MAClC9V,GAAO,cAAa8V,GAAW,MAC/B9V,GAAO,gBAAe8V,GAAW,MACjC9V,GAAO,eAAc8V,GAAW,MAChC9V,GAAO,eAAc8V,GAAW,MAChC9V,GAAO,iBAAgB8V,GAAW,MAClC9V,GAAO,mBAAkB8V,GAAW,MACpC9V,GAAO,gBAAe8V,GAAW,MACjC9V,GAAO,eAAc8V,GAAW,MAChC9V,GAAO,eAAc8V,GAAW,MAChC9V,GAAO,gBAAe8V,GAAW,MACjC9V,GAAO,eAAc8V,GAAW,MAChC9V,GAAO,eAAgB,CAEzB,IAAI+V,EAC4D,GAA7DrgC,KAAKkE,OAAOya,EAAkBrB,KAAKgjB,WAAa,IAAO,IACxD,GACA,GACA,GACFD,EAAMrgC,KAAK2D,IAAI08B,EAAK,KAEpBzZ,GAAe,EAAiC,IAA5B,GAAK,EAAIyZ,EAAM,MAAQ,GAC3CD,GAAWxZ,GAEb8K,GAAQ0O,EAEJ9V,GAAO,kBAAiBoH,GAAQ,EAAgC,IAA5B1xB,KAAK2D,IAAI,IAAK2Z,KAAKijB,QAG3D7O,GAAQ,EAAI3H,GAAY,oBAExB,MAAMyW,EAAejb,GAAemM,EACpCz2B,OAAO6C,KAAKwf,KAAKmjB,iBAAiB5T,SAASp1B,IACrC+oC,GAAgBljB,KAAKmjB,gBAAgBhpC,GAAGipC,WAC1CtB,GAAO9hB,KAAKmjB,gBAAgBhpC,GAAGuE,SAGnCwpB,GAAkBgb,EAElB,MAAM9lC,EAAEA,GAAM4iB,KAAK0d,aAAaC,OAC1B0F,EAAW5W,GAAY,oBAC7B,IAAK,IAAItyB,EAAI,EAAGA,EAAIiD,EAAGjD,IACrBi6B,GAAQ,EAAe,KAAXiP,EAGd,MAAM3kC,EAAOshB,KAAKsjB,WAAW7oC,cAM7B,GALa,WAATiE,EAAmB01B,GAAQ,IACb,WAAT11B,IAAmB01B,GAAQ,KAEhCpH,GAAO,oBAAmBoH,GAAQ,KAElCpH,GAAO,uBAAwB,CACjC,IAAIuW,EAAmB,IACvB,GAAIvW,GAAO,iBAAkB,CAC3B,MAAMwW,EAAWxjB,KAAKyjB,qBACtB9lC,OAAO6C,KAAKgjC,GAAUjU,SAASp1B,IACzB6yB,GAAOwW,EAASrpC,MAAKopC,GAAoB,OAGjDnP,GAAQmP,EAEV,GAAIvW,GAAO,yBAA0B,CACnC,IAAI0W,EAAW,GACX1W,GAAO,yBAAwB0W,GAAY,IAC/CtP,GAAQ,EAAIsP,EAGV1W,GAAO,uBAAsBoH,GAAQ,KACrCpH,GAAO,wBAAuBoH,GAAQ,GAE1CnM,GAAejI,KAAK2jB,kBAAkB,MAAO1b,IAE7CmM,GAAQmD,KAERtP,IAAgBmM,EASlB,MAAMwP,GAAW,CACf,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAIIC,GAAe,CACnB,gBACA,gBACA,cACA,gBACA,kBACA,kBACA,kBAIIC,GAAgB,CACpB,0BACA,qBACA,mBACA,iBACA,sBACA,gBACA,oBAIIC,GAAa,CACjB,sBACA,wBACA,sBACA,yBACA,wBACA,yBACA,wBAIIC,GAAa,CACjB,qBACA,oBACA,oBACA,yBACA,cACA,WACA,eAkCF,SAASC,GAAavX,GACpB,OAAOF,GAAgBE,GAAQF,GAAgBE,GAAM8J,IAAM,EAe7D,SAAS0N,KACP,IAAIC,EAAW,EACfxmC,OAAO6C,KAAKwf,KAAKoV,kBAAkB7F,SAASp1B,IACtC6yB,GAAOhN,KAAKoV,iBAAiBj7B,MAAKgqC,GAAY,OAE/CF,GAAa,UAAYE,GAAY,GAAGrC,GAAO,UAC/CmC,GAAa,YAAcE,GAAY,IAAIrC,GAAO,WAEvD,IAAIsC,EAAiB,EACjBC,EAAgB,EAChBC,EAAS,EACTC,EAAY,IAChB5mC,OAAO6C,KAAK8rB,IAAYiD,SAASp1B,IAC/BiqC,GAAkB9X,GAAWnyB,GAAGu0B,OAChC6V,EAAY7hC,KAAK2D,IAAIimB,GAAWnyB,GAAGu0B,OAAQ6V,GACtCN,GAAa,kBAEd3X,GAAWnyB,GAAGu0B,OACdhsB,KAAK2D,IAAI,IAAK,IAAM2Z,KAAKwkB,YAAYpqC,OAAS4lB,KAAK0N,QAAQvzB,GAAG0zB,GAAK,MAEnEwW,EAAgB,GAEfJ,GAAa,YAEd3X,GAAWnyB,GAAGu0B,OACmC,IAAhD1O,KAAKwkB,YAAYpqC,OAAS4lB,KAAK0N,QAAQvzB,GAAG0zB,MAE3CyW,EAAS,MAGXC,GAAa,GAAGzC,GAAO,uBACL,IAAlBuC,GAAqBvC,GAAO,iBACjB,IAAXwC,GAAcxC,GAAO,WACrByC,GAAa,KAAKzC,GAAO,cACzByC,GAAa,KAAKzC,GAAO,yBACzByC,GAAa,KAAKzC,GAAO,gBACzByC,GAAa,KAAKzC,GAAO,2BACzByC,GAAa,KAAKzC,GAAO,iBACzByC,GAAa,KAAKzC,GAAO,4BACzByC,GAAa,KAAKzC,GAAO,oBACzByC,GAAa,KAAKzC,GAAO,+BACzByC,GAAa,KAAKzC,GAAO,kBACzByC,GAAa,KAAKzC,GAAO,6BACzByC,GAAa,KAAKzC,GAAO,iBAEzBsC,GAAkB,KAAKtC,GAAO,WAC9BsC,GAAkB,KAAKtC,GAAO,aAC9BsC,GAAkB,KAAMtC,GAAO,YAC/BsC,GAAkB,KAAMtC,GAAO,sBAC/BsC,GAAkB,KAAMtC,GAAO,gBAC/BsC,GAAkB,KAAMtC,GAAO,gBAE/Bza,IAAoB,IAAIya,GAAO,YAC/Bza,IAAoB,IAAIya,GAAO,aAC/Bza,IAAoB,KAAKya,GAAO,YAChCza,IAAoB,KAAKya,GAAO,oBAChCza,IAAoB,KAAKya,GAAO,oBAChCza,IAAoB,KAAKya,GAAO,oCAEhCsC,GAAkB,KAAQ/c,IAAoB,KAAKya,GAAO,YAC1DsC,GAAkB,KAAQ/c,IAAoB,KAChDya,GAAO,qBAELxV,GAAWmY,OAAO/V,OAASpC,GAAWuI,QAAQnG,QAAU,KAC1DoT,GAAO,qBAET,IAAI4C,GAAkB,EACtB/mC,OAAO6C,KAAKqjC,IAActU,SAASp1B,IAC5B6yB,GAAO6W,GAAa1pC,MAAKuqC,GAAkB,MAE9CA,GAAiB5C,GAAO,kBAE5B,IAAI6C,GAAmB,EAMvB,GALAhnC,OAAO6C,KAAKsjC,IAAevU,SAASp1B,IAC7B6yB,GAAO8W,GAAc3pC,MAAKwqC,GAAmB,MAEhDA,GAAkB7C,GAAO,eAEzB9U,GAAO,mBAAoB,CAC7B,MAAM4X,EAAO5kB,KAAKsU,MAAMnG,QAAQqV,SAChC,IAAIqB,EAAW,EACflnC,OAAO6C,KAAKokC,GAAMrV,SAASp1B,IACrB6yB,GAAO4X,EAAKzqC,GAAGuE,QAAOmmC,GAAY,MAEpCA,GAAYD,EAAKxqC,QAAQ0nC,GAAO,cA6OxC,SAASgD,GAAoBpW,GAC3B,MAAMqW,EAAS,GAQf,OAPApnC,OAAO6C,KAAKwf,KAAK0N,SAAS6B,SAASp1B,IACjC4qC,EAAO5qC,GAAK,GACZ4qC,EAAO5qC,GAAGq4B,MA/Nd,SAAiCzE,EAAUW,GACzCsH,KACA1J,GAAWyB,GAAUW,QAAUA,EAC/B,MAAM8B,EAAKlE,GAAWyB,GAEL,WAAbA,GACEyC,EAAG9B,QAAU,GAAGoT,GAAO,SACvBtR,EAAG9B,QAAU,GAAGoT,GAAO,gBACvBtR,EAAG9B,QAAU,IAAIoT,GAAO,eACxBtR,EAAG9B,QAAU,KAAKoT,GAAO,mBACzBtR,EAAG9B,QAAU,KAAKoT,GAAO,eACzBtR,EAAG9B,QAAU,KAAKoT,GAAO,uBACzBtR,EAAG9B,QAAU,KAAKoT,GAAO,SACzBtR,EAAG9B,QAAU,KAAKoT,GAAO,kCACzBtR,EAAG9B,QAAU,KAAKoT,GAAO,iCACzBtR,EAAG9B,QAAU,KAAKoT,GAAO,wBACzBtR,EAAG9B,QAAU,KAAKoT,GAAO,yBAE7BnkC,OAAO6C,KAAKwf,KAAK0N,QAAQ8C,EAAG9xB,MAAMsmC,eAAezV,SAASmB,IAEtDF,EAAG9B,QACH1O,KAAKsU,MAAMtU,KAAK0N,QAAQ8C,EAAG9xB,MAAMsmC,cAActU,GAAGtD,MAAM6X,cAExDnD,GAAO9hB,KAAK0N,QAAQ8C,EAAG9xB,MAAMsmC,cAActU,GAAGhyB,SAKpD,MAAMwmC,EAAwB3d,GAU9B,OARAwa,KAEAmC,KAEIgB,IAA0B3d,IAC5Bwa,KAGK9Z,GAAejI,KAAKsR,UAyLP6T,CAAwBhrC,EAAGu0B,GAC9B,IAAXA,IACFxH,GAA2B,MAGxB6d,EA6BT,SAASK,KACPznC,OAAO6C,KAAKwf,KAAK0N,SAAS6B,SAASp1B,IACjCsvB,GAActvB,GAAG6zB,MAAQ6T,GACvB7hB,KAAK0N,QAAQvzB,GACb6lB,KAAK0N,QAAQvzB,GAAGq0B,UAChBxO,KAAK0N,QAAQvzB,GAAGu0B,OAChB1O,KAAK0N,QAAQvzB,GAAGs0B,KAChB,GAEF/E,GAAevvB,GAAG6zB,MAAQ6T,GACxB7hB,KAAK0N,QAAQvzB,GACb6lB,KAAK0N,QAAQvzB,GAAGq0B,UAChBxO,KAAK0N,QAAQvzB,GAAGu0B,OAChB1O,KAAK0N,QAAQvzB,GAAGs0B,KAChB,IAEF9E,GAAgBxvB,GAAG6zB,MAAQ6T,GACzB7hB,KAAK0N,QAAQvzB,GACb6lB,KAAK0N,QAAQvzB,GAAGq0B,UAChBxO,KAAK0N,QAAQvzB,GAAGu0B,OAChB1O,KAAK0N,QAAQvzB,GAAGs0B,KAChB,QASN,SAAS4W,KAEP5b,GAAgBqb,GAAoB,GACpCpb,GAAiBob,GAAoB,IACrCnb,GAAkBmb,GAAoB,KAvDtC7a,GAAgB,GAChBtsB,OAAO6C,KAAKwf,KAAK4V,UAAUrG,SAASp1B,IAClC,MAAMmrC,EAtFV,SAAgCtU,GAC9B,GACkC,WAAhChR,KAAK4V,SAAS5E,GAAS7D,MACY,IAAlCnN,KAAK4V,SAAS5E,GAAS3D,QACtBrN,KAAK4V,SAAS5E,GAASuU,UACS,aAAhCvlB,KAAK4V,SAAS5E,GAAS7D,KACzB,CACA6I,KACkC,yBAA9BzJ,GAAYyE,GAAStyB,KACvB6tB,GAAY,yBAAyBc,OAAS,EACP,uBAA9Bd,GAAYyE,GAAStyB,KAC9B6tB,GAAY,uBAAuBc,OAAS,EAE5Cd,GAAYyE,GAAS3D,QAAUd,GAAYyE,GAAS3D,OAAS,GAAK,EAEzDd,GAAYyE,GACnBhR,KAAKwlB,qBAAqBxlB,KAAK4V,SAAS5E,GAAS7D,QACnD9F,IAAoB,GAEN,iBAAZ2J,GACF1J,IAAc,EACVA,GAAa,GAAGwa,GAAO,aACvBxa,IAAc,GAAGwa,GAAO,kBACP,mBAAZ9Q,EACT8Q,GAAO,cACc,yBAAZ9Q,EACT8Q,GAAO,kBACc,iBAAZ9Q,GACT8Q,GAAO,aAGT,MAAMoD,EAAwB3d,GAE9Bwa,KAEAmC,KAEIgB,IAA0B3d,IAC5Bwa,KAGF,MAAM0D,EAvIV,WACE,IAAInkC,EAAM,EACN0rB,GAAO,sBAAqB1rB,GAAO,IACnC0rB,GAAO,qBAAoB1rB,GAAO,GAClC0rB,GAAO,qBAAoB1rB,GAAO,IAClC0rB,GAAO,sBAAqB1rB,GAAO,IACnC0rB,GAAO,yBAAwB1rB,GAAO,IACtC0rB,GAAO,yBAAwB1rB,GAAO,IACtC0rB,GAAO,wBAAuB1rB,GAAO,IACrC0rB,GAAO,wBAAuB1rB,GAAO,IACrC0rB,GAAO,uBAAsB1rB,GAAO,IACpC0rB,GAAO,uBAAsB1rB,GAAO,IACxC,IAAI+iB,EAAM,EACV1mB,OAAO6C,KAAK8rB,IAAYiD,SAASp1B,IAC/BkqB,GAAOiI,GAAWnyB,GAAGu0B,UAEvBrK,GAAOiI,GAAWmY,OAAO/V,OACzBptB,GAAO+iB,EAGH2I,GAAO,mBAAkB1rB,GAAsB,IAAf2mB,IAChC+E,GAAO,gBAAe1rB,GAAsB,IAAf2mB,IAC7B+E,GAAO,oBAAmB1rB,GAAsB,IAAf2mB,IACjC+E,GAAO,sBAAqB1rB,GAAsB,IAAf2mB,IACnC+E,GAAO,uBAAsB1rB,GAAsB,IAAf2mB,IACpC+E,GAAO,mBAAkB1rB,GAAsB,IAAf2mB,IAChC+E,GAAO,qBAAoB1rB,GAAsB,IAAf2mB,IAClC+E,GAAO,sBAAqB1rB,GAAsB,IAAf2mB,IACnC+E,GAAO,sBAAqB1rB,GAAsB,IAAf2mB,IACnC+E,GAAO,qBAAoB1rB,GAAsB,IAAf2mB,IAClC+E,GAAO,yBAAwB1rB,GAAsB,IAAf2mB,IACtC+E,GAAO,sBAAqB1rB,GAAsB,IAAf2mB,IACnC+E,GAAO,sBAAqB1rB,GAAsB,IAAf2mB,IAEnC+E,GAAO,kBAAiB1rB,GAAsB,IAAf2mB,IAEnC,IAAImM,EAAO,EAiBX,GAhBIpH,GAAO,qBAAoBoH,GAAQ,KACnCpH,GAAO,gBAAeoH,GAAQ,KAC9BpH,GAAO,iBAAgBoH,GAAQ,KAC/BpH,GAAO,iBAAgBoH,GAAQ,MAE/BpH,GAAO,iBACToH,GACE,EACA,IACE1xB,KAAK2D,IACH2Z,KAAK0N,QAAQ+W,OAAO3O,MACpB9I,GAAO,mBAAqB,GAAK,KAIzCoH,GAAQtH,GAAO,SACXR,GAAWkB,OAAOY,gBAChBd,GAAW,CACb,MAAMe,EAASf,GAAU,SACV,IAAXe,EAAc+F,GAAQ,KACN,IAAX/F,EAAc+F,GAAQ,IACX,IAAX/F,IAAc+F,GAAQ,MAInCz2B,OAAO6C,KAAKwf,KAAKwX,OAAOjI,SAASp1B,SACQ,IAA5B6lB,KAAKwX,MAAMr9B,GAAGurC,YACvBtR,GAAQpU,KAAKwX,MAAMr9B,GAAGurC,cAI1BtR,GAAQ,EAAmC,IAA/B3H,GAAY,iBAGxB,IAAIkZ,EACFvR,EACApU,KAAKmV,WACH,EACAnI,GAAO,2BACLA,GAAO,kCACPA,GAAO,gBACT1rB,GAOJ,OAJAqkC,EAAM3lB,KAAK2jB,kBAAkB,kBAAmBgC,GAE5C3lB,KAAKkO,QAAQ,mBAAkByX,EAAM3lB,KAAKwX,MAAM,iBAAiB3B,OAE9D8P,EAkDgBC,GAAa5lB,KAAKuf,iBACvC,OAAIkG,EACK,CAACxd,GAAejI,KAAKsR,UAAWmU,GAElC,CAACxd,GAAejI,KAAKsR,WAE9B,MAAO,GAuCeuU,CAAuB1rC,GACjC,iBAANA,GACF8vB,GAAc9vB,GAAK,CAAEq4B,MAAOxS,KAAKsR,UAAY3K,IACjB,IAAxB9G,EAAUwR,UACZpH,GAAc9vB,GAAGq4B,OAAS5L,GACK,IAAxB/G,EAAUwR,YACjBpH,GAAc9vB,GAAGq4B,OAAS3L,IACvBhC,OAAOC,SAASmF,GAAc9vB,GAAGq4B,SAAQvI,GAAc9vB,GAAGq4B,MAAQ,KAEvEvI,GAAc9vB,GAAK,GACfmrC,EAAY,KAAIrb,GAAc9vB,GAAGq4B,MAAQ8S,EAAY,IACrDA,EAAY,KAAIrb,GAAc9vB,GAAGq+B,WAAa8M,EAAY,QA6DpE,SAASQ,GAAqBC,EAAOC,EAAW5R,GAC9C,IAAI6R,EAAiB,EACjBlX,EAAO,EACPmX,EAAW,EACXC,EAAe,EACfC,EACF,EAAI1jC,KAAK6D,IAAI,EAAG7D,KAAKoL,KAAKpL,KAAK6iB,IAAIvF,KAAKoT,SAAW1wB,KAAK2jC,MAAQ,IAClE,KAAOH,EAAWF,EAAY5R,GAC5BrF,EAAOrsB,KAAK6D,IACVw/B,EACArjC,KAAK2D,IACH3D,KAAKkE,MAAO,EAAI,EAAK,IAAMw/B,EAAQL,EAAQ3R,GAC3C4R,EAAY5R,IAGhB8R,EAAWxjC,KAAK6D,IACdw/B,EACArjC,KAAK2D,IACH3D,KAAKkE,MAAO,EAAI,EAAK,KAAOw/B,EAAQ,GAAKL,EAAQ3R,GACjD4R,EAAY5R,IAGhB+R,EAAezjC,KAAKkE,MAAO,EAAI,EAAK,KAAOw/B,EAAQ,GAAKL,EAAQ3R,GAChE6R,GAAkBlX,EAClBqX,GAAS,EAEX,MAAO,CAACH,EAAgBlX,EAAMoX,GAmBhC,SAASG,KACP,IAAIN,EAEF,GADA/c,GAEA,GACA,EACAC,GAEF,MAAMqd,EAAchP,KAChBgP,EAAc,EAAGP,GAAaO,EAC7BP,EAAY,EAEjBxb,GAAsBsb,GACpB,EACAE,EACA7c,IAEFmB,GAA+C,EAAzBE,GAAoB,GAAUrB,GACpDoB,GACEC,GAAoB,GAAK,GAAK,GAAK,EAAItB,GAEzCyB,GAA2Bmb,GACzB,EACAE,EACA5c,IAEFqB,GACiC,EAA9BE,GAAyB,GAAUvB,GACtCsB,GACEC,GAAyB,GACzB,GACA,GACA,EACAzB,GAEF4B,GAA4Bgb,GAC1B,EACY,EAAZE,EACA7c,IAEFyB,GACkC,EAA/BE,GAA0B,GAAU3B,GACvC0B,GACEC,GAA0B,GAC1B,GACA,GACA,EACA5B,GAEF+B,GAAiC6a,GAC/B,EACY,EAAZE,EACA5c,IAEF2B,GACuC,EAApCE,GAA+B,GAAU7B,GAC5C4B,GACEC,GAA+B,GAC/B,GACA,GACA,EACA/B,GAYJ,SAASsd,KACP,MAAMxG,EAAWt9B,KAAKkE,MAAMq5B,KAAKC,MAAQ,KAEzC,GAAKlgB,KAAKsd,EAAItd,KAAKsX,IAAO,GAAM,EAAG,CACjC,MAAMmP,EAAazmB,KAAK0mB,gBAAgB1mB,KAAK2mB,cAIvCC,EAHiBlkC,KAAKkE,MAC1BoZ,KAAK0mB,gBAAgB1mB,KAAK2mB,aAAe3mB,KAAKogB,gBAER19B,KAAKkE,MAAM6/B,GAG7CpG,EAAWL,EAAWhZ,GACtB6f,EACJnkC,KAAK6D,IAAI,EAAGqgC,EAAiB3f,IAA0BoZ,EACzD,IAAK,IAAIlmC,EAAI,EAAGA,EAAIkmC,EAAUlmC,IAC5BksB,GAAkBiZ,UAAUuH,GAI9B7f,GAAyBgZ,EACzB/Y,GAAyB2f,EAGzBvd,GAAmBhD,GAAkBya,YAAY,IA6HrD,SAASgG,KACP3c,GAAuB,GACvBE,GAA8B,GAC9BD,GAA+B,GAC/B,MAAMwa,EAAO,GAEbjnC,OAAO6C,KAAKwf,KAAK4V,UAAUrG,SAASp1B,IAClCyqC,EAAK3oC,KAAK+jB,KAAK4V,SAASz7B,OAO1ByqC,EAAKhV,MALW,SAAU5sB,EAAGP,GAC3B,OAAIO,EAAEkuB,MAAQzuB,EAAEyuB,MAAc,EAC1BluB,EAAEkuB,MAAQzuB,EAAEyuB,OAAe,EACxB,KAITvzB,OAAO6C,KAAKokC,GAAMrV,SAASp1B,IACzB,MAAMq2B,EAAKoU,EAAKzqC,GAEhB,GAAkB,IAAdq2B,EAAGnD,OAAc,CACnB,IAAI9xB,EAAM,GAEVA,GArDN,SAAsBi1B,GACpB,IAAIuW,EAAU,wBACE,aAAZvW,EAAGrD,OAAqB4Z,GAAW,aAEvC,IAAIC,EAAU,EACThnB,KAAK+c,MAAMkK,SAAQD,EAAU,GAC9BA,IAASD,GAAW,YAExB,IAAIG,KAAEA,GAAS1W,EACXA,EAAG2W,eAAcD,EAAO1W,EAAG2W,gBAC/B,MAAMvQ,EAAU,0DAA0DpG,EAAG3C,kBAC7E,MAAO,eAAekZ,SACrB/mB,KAAKonB,kBAAkBxQ,EAAS,OAAO,kBAEtCsQ,EAAK,GAAK,yBAAyBA,EAAK,OAAS,yBACjB,IAAVA,EAAK,QAAwB,IAAVA,EAAK,oBAsCrCG,CAAa7W,GACJ,aAAZA,EAAGrD,KAAqB/C,IAAgC7uB,EACvC,WAAZi1B,EAAGrD,KAAmB9C,IAA+B9uB,EAEhD,WAAZi1B,EAAGrD,MACS,WAAZqD,EAAGrD,MACS,UAAZqD,EAAGrD,OAEHhD,IAAwB5uB,OAchC,SAAS+rC,KACP,GAAoB,cAAhBtnB,KAAKie,OAAwB,CAC/B,IAAIthC,EAAuB,GAAjBqjB,KAAKsR,UACXtR,KAAKkO,QAAQ,kBAAiBvxB,GAAO,IACrCqjB,KAAKkO,QAAQ,YAAWvxB,GAAO,KACnC4sB,GAAe7mB,KAAK6D,IAAI,GAAI5J,GACxBqjB,KAAK6d,IAAI,gCAA+BtU,IAAgB,IAehE,SAASge,KACPhf,GAA2C,IAA7BU,GAAoC,IAClDV,IAAcW,GACd,MAAMqd,EAAchP,KAChBgP,EAAc,EAAGhe,IAAcge,EAC9Bhe,GAAa,EAClBC,GAAmBW,IAAuC,IAAbZ,IAAqB,GAClEE,GAAwBW,IAAsC,IAAbb,IAAqB,GACtEG,GAAgC,EAAbH,GACnBI,GACEQ,IAA6C,IAAnBT,IAA2B,GACvDE,GACEQ,IAA4C,IAAnBV,IAA2B,GACtDG,GAA4B,EAAbN,GACfO,GAAoC,IAAfD,GAErBE,GAAe,EACf,IAAIxiB,EAAM,EACNnJ,EAAI,EACRO,OAAO6C,KAAKwf,KAAK0N,SAAS6B,SAASp1B,IAC7B6lB,KAAK0N,QAAQvzB,GAAGu0B,OAASnoB,IAAKA,EAAMyZ,KAAK0N,QAAQvzB,GAAGu0B,QACpD1O,KAAK0N,QAAQvzB,GAAGu0B,OAAS,IAAGtxB,GAAK,MAEvCO,OAAO6C,KAAKwf,KAAK0N,SAAS6B,SAASp1B,KAE9B6lB,KAAK0N,QAAQvzB,GAAGu0B,OAASnoB,GAAa,IAANnJ,IACjC4iB,KAAK0N,QAAQvzB,GAAGu0B,OAAS,KACD,EAAxB1O,KAAK0N,QAAQvzB,GAAG6zB,MAAYjF,KAE5BA,GAAuC,EAAxB/I,KAAK0N,QAAQvzB,GAAG6zB,MAC/BhF,GAAuB7uB,MAQ7B,SAASqtC,KACP,IAAIC,EAAa,EACbC,EAAY,EACZtT,EAAO,EAGPpH,GAAO,4BAA2BoH,GAAQ,MAC1CpH,GAAO,iBAAgBoH,GAAQ,MAEnCqT,GAAc,EAA+C,GAA3CznB,KAAKqjB,SAAS,2BAChCoE,GAAcznB,KAAK2nB,IAAI,oBACvBD,GAAa,EAAuC,GAAnC1nB,KAAKqjB,SAAS,mBAC/BqE,GAAa1nB,KAAK2nB,IAAI,mBAGtBxe,GAAyBiL,EAAOqT,EAChCre,GAAwBgL,EAAOsT,EAM/Bxe,GAAoC,EACD,IAA/BlJ,KAAK0d,aAAaC,OAAOvgC,IAC3B8rB,IACE,EAAwC,KAApClJ,KAAKqjB,SAAS,qBAkBxB,SAASuE,KACPhe,GAAsB,EACtBC,GAAuB,EACvBC,GAAwB,CAAC,EAAG,MAC5B,IAAK,IAAI3vB,EAAI,EAAGA,EAAI6lB,KAAKwR,UAAUp3B,OAAQD,IAAK,CAC9C,IAAI4kC,OAAEA,GAAW/e,KAAKwR,UAAUr3B,GAC5B6kC,EAAS,IAKb,GAJIhf,KAAK6d,IAAI,6BAA4BmB,GAAU,MACpB,IAA3Bhf,KAAKwR,UAAUr3B,GAAGK,OAAYwkC,GAAU,GAC5CD,GAAUC,EACNhf,KAAK6d,IAAI,mBAAkBkB,GAAU,MACrCzS,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASrO,KAAKuN,OAAO,SACZ,IAAXc,EAAc0Q,GAAU,KACR,IAAX1Q,EAAc0Q,GAAU,IACb,IAAX1Q,IAAc0Q,GAAU,MAEnCnV,IAAuBmV,EACQ,IAA3B/e,KAAKwR,UAAUr3B,GAAGK,OACpBqvB,IAAwBkV,EACpBA,EAASjV,GAAsB,KACjCA,GAAwB,CAACiV,EAAQ5kC,MAwBzC,SAAS0tC,KACPjU,KACAgU,KACAL,KACAC,KACAlB,KACAQ,KACAQ,KAtiDAthB,GAAc,IAAIwZ,GAAWvc,EAAYA,EAAY7oB,OAAS,IAC9D6rB,GAAY,IAAIuZ,GAAWvc,EAAYA,EAAY7oB,OAAS,IAC5D8rB,GAAmB,IAAIsZ,GAAWvc,EAAYA,EAAY7oB,OAAS,IACnE+rB,GAAa,IAAIqZ,GAAWvc,EAAYA,EAAY7oB,OAAS,IAC7DgsB,GAAa,IAAIoZ,GAAWtc,EAAWA,EAAW9oB,OAAS,IAoiD3DisB,GAAoB,IAAImZ,GAAW,GACnCzZ,GAAgC,IAAIyZ,GACE,GAApCtc,EAAWA,EAAW9oB,OAAS,IAEjCosC,KACAzG,KACAsF,KACAD,KACA1D,KAKF,MA8ImCoG,GA9Ib,CACpB1W,QAAS,EACTyP,WAAY,EACZI,cAAe,EACf5P,UAAW,EACX1M,MAAO,EACPF,cAAe,EACfQ,eAAgB,EAChBD,YAAa,OACbY,WAAY,EACZmiB,aAAc,EACd9U,cAAe,EACf3D,YAAa,EACb8R,sBAAuB,EACvBI,aAAc,EACdF,cAAe,EACfH,oBAAqB,EACrBtf,WAAY,UACZC,YAAa,UACbC,aAAc,UACdC,aAAc,UACdC,UAAW,UACXC,aAAc,UACdC,WAAY,UACZC,WAAY,UACZC,YAAa,UACbyQ,OAAQ,EACRW,SAAU,EACVC,YAAa,EACbsK,gBAAiB,EACjBjO,YAAa,EACbiY,mBAAoB,EACpBvY,cAAe,EACfoB,aAAc,EACdoX,eAAgB,EAChBC,YAAa,EACbC,QAAS,EACTC,QAAS,EACTroB,gBAAiB,EACjBsoB,oBAAqB,EACrBrQ,oBAAqB,EACrBsQ,YAAa,EACblM,cAAe,EACfC,oBAAqB,EACrBE,gBAAiB,EACjBE,sBAAuB,EACvBE,gBAAiB,EACjBb,aAAc,EACdG,YAAa,EACbtE,YAAa,EACbyB,YAAa,EACbkF,aAAc,EACd1F,YAAa,EACbkB,aAAc,EACdc,gBAAiB,EACjB2N,oBAAqB,EACrBpL,MAAO,EACPqL,gBAAiB,EACjBC,oBAAqB,EACrBvJ,QAAS,EACTwJ,oBAAqB,EACrBC,aAAc,EACdzkB,MAAO,EACP0kB,aAAc,EACdC,eAAgB,EAChBC,QAAS,EACTC,cAAe,UACfC,QAAS,EACTC,SAAU,IACVC,WAAY,6DACZC,oBAAqB,EACrBC,aAAc,EACdC,mBAAoB,UACpBC,aAAc,EACdC,cAAe,IACfC,gBACE,gEACFC,gBAAiB,EACjBC,SAAU,EACVC,eAAgB,UAChBC,SAAU,EACVC,UAAW,IACXC,YACE,oEACFC,UAAW,EACXC,gBAAiB,UACjBC,UAAW,EACXC,WAAY,IACZC,aAAc,+DACdC,kBAAmB,EACnBC,WAAY,EACZC,iBAAkB,UAClBC,WAAY,EACZC,YAAa,IACbC,cACE,gEACFC,qBAAsB,EACtBC,cAAe,EACfC,oBAAqB,UACrBC,cAAe,EACfC,eAAgB,IAChBC,iBACE,6DACFC,wBAAyB,EACzBC,iBAAkB,EAClBC,uBAAwB,UACxBC,iBAAkB,EAClBC,kBAAmB,IACnBC,oBACE,8DACFC,aAAc,EACdnnB,kBAAmB,EACnBonB,OAAQ,CACNC,UAAW,EACXC,YAAa,EACbC,SAAU,EACVC,QAAS,EACTC,YAAa,EACbC,QAAS,EACTC,WAAY,EACZC,aAAc,EACdC,oBAAqB,EACrBC,eAAgB,EAChBC,eAAgB,EAChBC,gBAAiB,EACjBC,iBAAkB,EAClBC,iBAAkB,EAClBC,kBAAmB,EACnBC,qBAAsB,EACtBC,cAAe,EACfC,MAAO,EACPC,MAAO,EACPC,OAAQ,EACRC,OAAQ,EACRC,SAAU,EACVC,MAAO,EACPC,IAAK,EACLC,KAAM,EACNC,QAAS,IAoCsBC,GAvBnC,SAAsCC,GACpC,GAAoB,IAAhBA,EAAmB,CAErB,MAAMC,EAA2B,WAC/B,IACErB,aAAasB,oBAAoBC,OACjC,MAAOhyC,GACP,OAAO,EAET,OAAO,GAIH,iBAAkB1C,OAEbw0C,IACTrB,aAAasB,oBAAoBC,OAEjCvB,aAAasB,oBAJbryC,QAAQuqB,IAAI,kDAoBlB,SAASgoB,KACkB,IAArB1tB,EAAUiT,QACZvnB,EAAE,YAAYnJ,MAAMqV,QAAU,GAC9Bob,MAEAtnB,EAAE,YAAYnJ,MAAMqV,QAAU,OAEhC+b,KAwGF,SAASga,KACPC,cACAztB,KAAK0tB,eACL1tB,KAAK2tB,kBAEL9a,KACAzD,KACAU,KAuBF,SAAS8d,KACmB,IAAtB/tB,EAAUuoB,SAAiBpnB,EAAwB,EACjDoK,GAA0ByiB,MAC5BtiC,EAAE,aAAauiC,KACb,mEAEFviC,EAAE,aAAauiC,KACb,oEAEJviC,EAAE,aAAauiC,KACb,uDAQN,MAAMC,GACJtO,YAAYjlC,EAAMwzC,GAChBn1C,KAAK2B,KAAOA,EACZ3B,KAAKm1C,MAAQA,GAKjB,MAAMC,WAAwBF,GAC5BtO,YAAYjlC,EAAMwzC,EAAOE,EAAOC,EAAMC,EAAQlvC,EAAO,MACnDmvC,MAAM7zC,EAAMwzC,GACZn1C,KAAKq1C,MAAQA,EACbr1C,KAAKs1C,KAAOA,EACZt1C,KAAKu1C,OAASA,EACVlvC,IACFrG,KAAKqG,KAAOA,IAKlB,MAAMovC,WAAuBP,GAC3BtO,YAAYjlC,EAAMwzC,EAAOG,GACvBE,MAAM7zC,EAAMwzC,GACZn1C,KAAKs1C,KAAOA,GAKhB,MAAMI,WAAsBR,GAC1BtO,YAAYjlC,EAAMwzC,EAAOE,EAAOC,GAC9BE,MAAM7zC,EAAMwzC,GACZn1C,KAAKq1C,MAAQA,EACbr1C,KAAKs1C,KAAOA,EACZ,IAAK,IAAIh0C,EAAI,EAAGA,EAAI,IAAKA,IACvBtB,KAAKq1C,MAAM/zC,GAAK,GAAGA,MAMzB,MAAMq0C,WAA2BT,GAC/BtO,YAAYjlC,EAAMwzC,EAAOE,EAAOC,EAAM9nC,EAAKE,GACzC8nC,MAAM7zC,EAAMwzC,GACZn1C,KAAKq1C,MAAQA,EACbr1C,KAAKs1C,KAAOA,EACZt1C,KAAKwN,IAAMA,EACXxN,KAAK0N,IAAMA,GAyBf,MAmzBmCkoC,GAnzBpB,CAEbrd,QAAS,IAAI6c,GACX,OACA,cACA,CAAC,6BAA8B,8BAC/B,kFACA,GAEFpN,WAAY,IAAIoN,GACd,OACA,cACA,CACE,0BACA,0BACA,0BACA,yBACA,yBACA,0BACA,0BACA,2BAEF,4DACA,GAEFhN,cAAe,IAAIgN,GACjB,OACA,cACA,CACE,4BACA,4BACA,6BACA,6BACA,8BAEF,uDACA,GAEF5c,UAAW,IAAI4c,GACb,OACA,cACA,CACE,+BACA,8BACA,6CAEF,qGACA,GACA,WACElmB,IAAY,KAKhBpD,MAAO,IAAIspB,GACT,OACA,WACA,CACE,uBACA,SACA,cACA,4BACA,sBACA,wBAEF,yCACA,GACA,WACET,QAGJ/oB,cAAe,IAAIwpB,GACjB,OACA,WACA,CAAC,aAAc,aAAc,cAC7B,oIACA,GACA,WACET,QAGJvoB,eAAgB,IAAIgpB,GAClB,OACA,WACA,CAAC,4BAA6B,mBAC9B,qDACA,GACA,WACET,QAGJxoB,YAAa,IAAIwpB,GACf,WACA,WACA,2BACA,8KACA,EACA,WAEF5oB,WAAY,IAAIqoB,GACd,OACA,WACA,CAAC,0BAA2B,uBAC5B,0BACA,GAEFlG,aAAc,IAAIkG,GAChB,OACA,WACA,CAAC,oBAAqB,oBACtB,mEACA,GACA,WAlU6B,IAA3BpuB,EAAUkoB,aAAoB/nB,KAAKqd,QAAU3a,EAC5C1C,KAAKqd,QAAU3b,EAAgB2b,WAqUpCpK,cAAe,IAAIgb,GACjB,OACA,WACA,CAAC,yBAA0B,mBAC3B,sKACA,GAIF3e,YAAa,IAAI2e,GACf,OACA,UACA,CAAC,uBAAwB,uBACzB,yBACA,GACA,WACE7e,QAGJgS,sBAAuB,IAAI6M,GACzB,OACA,UACA,CAAC,2BAA4B,sBAC7B,0KACA,GAEFzM,aAAc,IAAIyM,GAChB,OACA,UACA,CACE,mBACA,kBACA,0BACA,gCAEF,sGACA,GAEF3M,cAAe,IAAI2M,GACjB,OACA,UACA,CAAC,mBAAoB,mBACrB,sJACA,GAEF9M,oBAAqB,IAAIqN,GACvB,WACA,UACA,oCACA,wMACA,EACA9pB,KAEF7C,WAAY,IAAIysB,GACd,SACA,UACA,6HAEFxsB,YAAa,IAAIwsB,GACf,SACA,UACA,yGAEFvsB,aAAc,IAAIusB,GAChB,SACA,UACA,qHAEFtsB,aAAc,IAAIssB,GAChB,SACA,UACA,4HAEFrsB,UAAW,IAAIqsB,GACb,SACA,UACA,gHAEFpsB,aAAc,IAAIosB,GAChB,SACA,UACA,8HAEFnsB,WAAY,IAAImsB,GACd,SACA,UACA,wGAEFlsB,WAAY,IAAIksB,GACd,SACA,UACA,sDAEFjsB,YAAa,IAAIisB,GACf,SACA,UACA,yDAIFxb,OAAQ,IAAImb,GACV,OACA,cACA,CAAC,iBAAkB,iBACnB,wBACA,GACA,WACEV,QAGJ9Z,SAAU,IAAIwa,GACZ,OACA,cACA,CAAC,gBAAiB,gBAClB,+FACA,GACA,WACEta,QAGJD,YAAa,IAAIua,GACf,OACA,cACA,CAAC,gCAAiC,+BAClC,8BACA,GACA,WA/3H4B,IAA1BpuB,EAAU6T,aACZnoB,EAAE,cAAcnJ,MAAMkG,MAAQ,MAC9BiD,EAAE,cAAcnJ,MAAMkW,OAAS,GAC/B/M,EAAE,QAAQmjC,aAAanjC,EAAE,cAAeA,EAAE,kBAE1CA,EAAE,cAAcnJ,MAAMkG,MAAQ,OAC9BiD,EAAE,cAAcnJ,MAAMkW,OAAS,MAC/B/M,EAAE,WAAWwK,YAAYxK,EAAE,gBAE7BioB,QA03HAwK,gBAAiB,IAAIiQ,GACnB,OACA,cACA,CACE,wBACA,iCACA,0BAEF,+DACA,GAEFle,YAAa,IAAIke,GACf,OACA,cACA,CACE,0BACA,8BACA,kCAEF,yDACA,GACA,WA3a2B,IAAzBpuB,EAAU8uB,YAEZpjC,EAAE,gBAAgBnJ,MAAMqV,QAAU,GAClCqY,MACkC,IAAzBjQ,EAAU8uB,YAEnBpjC,EAAE,gBAAgBnJ,MAAMqV,QAAU,OAClCqY,OAGAvkB,EAAE,gBAAgBnJ,MAAMqV,QAAU,OAClCuI,KAAK2tB,sBAoaP3F,mBAAoB,IAAIiG,GACtB,OACA,cACA,CAAC,iCAAkC,iCACnC,+FACA,GACA,WA9ZmC,IAAjCpuB,EAAUmoB,oBAEZz8B,EAAE,gBAAgBnJ,MAAMgI,SAAW,SACnCmB,EAAE,gBAAgBnJ,MAAMsC,IAAM,OAE9B6G,EAAE,gBAAgBnJ,MAAMgI,SAAW,MA6ZrCqlB,cAAe,IAAIwe,GACjB,OACA,cACA,CACE,0BACA,oCACA,4CAEF,kEACA,GACA,WACE7e,QAGJyB,aAAc,IAAIod,GAChB,OACA,cACA,CAAC,yBAA0B,qBAC3B,iEACA,GACA,WACEne,QAGJmY,eAAgB,IAAIgG,GAClB,OACA,cACA,CAAC,6BAA8B,6BAC/B,kFACA,GAEF/F,YAAa,IAAI+F,GACf,OACA,cACA,CAAC,iCAAkC,iCACnC,+DACA,GAEF9F,QAAS,IAAI8F,GACX,OACA,cACA,CAAC,0BAA2B,0BAC5B,yDACA,GACA,WAxgBwB,IAAtBpuB,EAAUsoB,QACZxqC,OAAO6C,KAAKyjB,IAAUsL,SAASp1B,IAC7B8pB,GAAS9pB,GAAGiI,MAAMqV,QAAU,QAC5BwM,GAAS9pB,GAAGiI,MAAMqC,KAAOgnB,GAAwBtxB,GAAGoR,EAAEnJ,MAAMqC,KAC5Dwf,GAAS9pB,GAAGiI,MAAMsC,IAAM+mB,GAAwBtxB,GAAGoR,EAAEnJ,MAAMsC,OAG7D/G,OAAO6C,KAAKyjB,IAAUsL,SAASp1B,GAAO8pB,GAAS9pB,GAAGiI,MAAMqV,QAAU,YAqgBpE2wB,QAAS,IAAI6F,GACX,OACA,cACA,CAAC,cAAe,cAChB,2CACA,GACA,WACEL,QAGJ7tB,gBAAiB,IAAIkuB,GACnB,OACA,cACA,CAAC,6BAA8B,6BAC/B,kEACA,GACA,WACEnuB,OAGJuoB,oBAAqB,IAAI4F,GACvB,OACA,cACA,CAAC,qCAAsC,qCACvC,+FACA,GACA,WAnhBEpuB,EAAUwoB,oBACZ98B,EAAE,uBAAuBnJ,MAAMqV,QAAU,GAEzClM,EAAE,uBAAuBnJ,MAAMqV,QAAU,UAshB3CugB,oBAAqB,IAAIiW,GACvB,OACA,UACA,CACE,2CACA,2CAEF,kDACA,GAEF3F,YAAa,IAAI2F,GACf,OACA,UACA,CACE,iDACA,iDAEF,qDACA,GAEF7R,cAAe,IAAI6R,GACjB,OACA,UACA,CAAC,4BAA6B,4BAC9B,kGACA,GAEF5R,oBAAqB,IAAI4R,GACvB,OACA,UACA,CAAC,mCAAoC,mCACrC,2GACA,GAEF1R,gBAAiB,IAAI0R,GACnB,OACA,UACA,CAAC,8BAA+B,8BAChC,+GACA,GAEFxR,sBAAuB,IAAIwR,GACzB,OACA,UACA,CAAC,qCAAsC,qCACvC,kIACA,GAEFtR,gBAAiB,IAAIsR,GACnB,OACA,UACA,CAAC,8BAA+B,8BAChC,qJACA,GAEFnS,aAAc,IAAI0S,GAChB,WACA,UACA,mCACA,gKACA,EACA9pB,KAEFuX,YAAa,IAAIgS,GACf,OACA,UACA,CACE,+CACA,+CAEF,2EACA,GAEFtW,YAAa,IAAIsW,GACf,OACA,UACA,CAAC,kCAAmC,qCACpC,kCACA,GACA,WACEvW,QAGJ0B,YAAa,IAAI6U,GACf,OACA,UACA,CAAC,mCAAoC,mCACrC,6CACA,GAEF3P,aAAc,IAAI2P,GAChB,OACA,UACA,CAAC,uBAAwB,uBACzB,oEACA,GAEFrV,YAAa,IAAIqV,GACf,OACA,UACA,CAAC,yBAA0B,yBAC3B,4DACA,GAEFnU,aAAc,IAAImU,GAChB,OACA,UACA,CAAC,2BAA4B,2BAC7B,yDACA,GAEFrT,gBAAiB,IAAIqT,GACnB,OACA,UACA,CAAC,uBAAwB,uBACzB,iDACA,GAEF1F,oBAAqB,IAAI0F,GACvB,OACA,UACA,CAAC,qCAAsC,qCACvC,+CACA,GAIF9Q,MAAO,IAAI8Q,GACT,OACA,aACA,CAAC,iBAAkB,iBACnB,oCACA,GAEFzF,gBAAiB,IAAIyF,GACnB,OACA,aACA,CAAC,uBAAwB,uBACzB,6CACA,GAEFxF,oBAAqB,IAAIwF,GACvB,OACA,aACA,CAAC,2BAA4B,kCAC7B,yDACA,GAEF/O,QAAS,IAAI+O,GACX,OACA,aACA,CAAC,mCAAoC,+BACrC,wCACA,GAEFvF,oBAAqB,IAAI8F,GACvB,WACA,aACA,0BACA,8GACA,EACA9pB,KAEFikB,aAAc,IAAIsF,GAChB,OACA,aACA,CAAC,gBAAiB,gBAClB,4FACA,GAIF/pB,MAAO,IAAI+pB,GACT,OACA,sBACA,CAAC,YAAa,WAAY,8BAC1B,8LACA,GAEFrF,aAAc,IAAIqF,GAChB,OACA,sBACA,CAAC,mCAAoC,mCACrC,kLACA,GAEFpF,eAAgB,IAAIoF,GAClB,OACA,iBACA,CAAC,mBAAoB,mBACrB,mDACA,GACA,WACEf,GAAoCrtB,EAAUgpB,mBAGlDC,QAAS,IAAImF,GACX,OACA,iBACA,CAAC,YAAa,YACd,iCACA,GAEFlF,cAAe,IAAIuF,GACjB,SACA,iBACA,wDAEFtF,QAAS,IAAIiF,GACX,OACA,iBACA,CAAC,YAAa,YACd,iCACA,GAEFhF,SAAU,IAAIsF,GAAc,MAAO,iBAAkB,GAAI,UACzDrF,WAAY,IAAI+E,GACd,MACA,iBACA,aACA,6DAEF9E,oBAAqB,IAAI8E,GACvB,OACA,iBACA,CAAC,mBAAoB,mBACrB,8DACA,GACA,WACEf,GAAoCrtB,EAAUspB,wBAGlDC,aAAc,IAAI6E,GAChB,OACA,iBACA,CAAC,YAAa,YACd,wCACA,GAEF5E,mBAAoB,IAAIiF,GACtB,SACA,iBACA,6DAEFhF,aAAc,IAAI2E,GAChB,OACA,iBACA,CAAC,YAAa,YACd,wCACA,GAEF1E,cAAe,IAAIgF,GAAc,MAAO,iBAAkB,GAAI,UAC9D/E,gBAAiB,IAAIyE,GACnB,MACA,iBACA,aACA,sEAEFxE,gBAAiB,IAAIwE,GACnB,OACA,kBACA,CAAC,mBAAoB,mBACrB,yCACA,GACA,WACEf,GAAoCrtB,EAAU4pB,oBAGlDC,SAAU,IAAIuE,GACZ,OACA,kBACA,CAAC,YAAa,YACd,gCACA,GAEFtE,eAAgB,IAAI2E,GAClB,SACA,kBACA,kEAEF1E,SAAU,IAAIqE,GACZ,OACA,kBACA,CAAC,YAAa,YACd,gCACA,GAEFpE,UAAW,IAAI0E,GAAc,MAAO,kBAAmB,GAAI,UAC3DzE,YAAa,IAAImE,GACf,MACA,kBACA,aACA,6DAEFlE,UAAW,IAAIkE,GACb,OACA,mBACA,CAAC,wBAAyB,YAC1B,+BACA,GAEFjE,gBAAiB,IAAIsE,GACnB,SACA,mBACA,4DAEFrE,UAAW,IAAIgE,GACb,OACA,mBACA,CAAC,YAAa,YACd,+BACA,GAEF/D,WAAY,IAAIqE,GAAc,MAAO,mBAAoB,GAAI,UAC7DpE,aAAc,IAAI8D,GAChB,MACA,mBACA,yBACA,uDAEF7D,kBAAmB,IAAI6D,GACrB,OACA,mBACA,CAAC,mBAAoB,mBACrB,oDACA,GACA,WACEf,GAAoCrtB,EAAUuqB,sBAGlDC,WAAY,IAAI4D,GACd,OACA,mBACA,CAAC,YAAa,YACd,2CACA,GAEF3D,iBAAkB,IAAIgE,GACpB,SACA,mBACA,2DAEF/D,WAAY,IAAI0D,GACd,OACA,mBACA,CAAC,YAAa,YACd,2CACA,GAEFzD,YAAa,IAAI+D,GAAc,MAAO,mBAAoB,GAAI,UAC9D9D,cAAe,IAAIwD,GACjB,MACA,mBACA,aACA,2DAEFvD,qBAAsB,IAAIuD,GACxB,OACA,oBACA,CAAC,mBAAoB,mBACrB,iDACA,GACA,WACEf,GAAoCrtB,EAAU6qB,yBAGlDC,cAAe,IAAIsD,GACjB,OACA,oBACA,CAAC,YAAa,YACd,wCACA,GAEFrD,oBAAqB,IAAI0D,GACvB,SACA,oBACA,8DAEFzD,cAAe,IAAIoD,GACjB,OACA,oBACA,CAAC,YAAa,YACd,wCACA,GAEFnD,eAAgB,IAAIyD,GAAc,MAAO,oBAAqB,GAAI,UAClExD,iBAAkB,IAAIkD,GACpB,MACA,oBACA,aACA,yDAEFjD,wBAAyB,IAAIiD,GAC3B,OACA,uBACA,CAAC,mBAAoB,mBACrB,2EACA,GACA,WACEf,GAAoCrtB,EAAUmrB,4BAGlDC,iBAAkB,IAAIgD,GACpB,OACA,uBACA,CAAC,YAAa,YACd,kEACA,GAEF/C,uBAAwB,IAAIoD,GAC1B,SACA,uBACA,sEAEFnD,iBAAkB,IAAI8C,GACpB,OACA,uBACA,CAAC,YAAa,YACd,kEACA,GAEF7C,kBAAmB,IAAImD,GACrB,MACA,uBACA,GACA,UAEFlD,oBAAqB,IAAI4C,GACvB,MACA,uBACA,aACA,mFAIF3C,aAAc,IAAI2C,GAChB,OACA,gBACA,CAAC,wBAAyB,wBAC1B,mIACA,GAEF9pB,kBAAmB,IAAI8pB,GACrB,OACA,gBACA,CACE,iCACA,gCACA,0CAEF,8MACA,GACA,WACEjuB,KAAKmf,iBAiBX,SAASyP,KACP,OAAOpzC,KAAKqzC,UAAU,CACpBC,kBAAmB3qB,GACnB4qB,SAAUlvB,EACVmvB,QAAS,YAkMb,SAASC,KACP,GAAI5mB,KAAyBrI,KAAKkvB,aAAennB,GAAW,CAC1D,GACE/H,KAAKkvB,YAAc,IACnBlvB,KAAKmvB,aAAanvB,KAAKkvB,aAAaE,IAAIxsC,WAAWysC,SAAS,aAC5D,CACA,IAAI7vC,EAASwgB,KAAKmvB,aAAanvB,KAAKkvB,aAAaE,IAC9CxsC,WACA/H,MAAM,mBAAmB,GAC5B,MAAM6zB,EAAS1O,KAAKmvB,aAAanvB,KAAKkvB,aAAaE,IAChDxsC,WACA/H,MAAM,sBAAsB,GAC/B,GAAe,MAAX2E,EAEF,GADAA,EAASA,EAAO8vC,WAAW,IAAK,IAC5BtvB,KAAK0N,QAAQluB,GAAQkvB,OAASA,EAChCpG,GAAyB,mCACpB,CACL,IAAIinB,EAAO,EACXvZ,KACA,IAAK,IAAI77B,EAAI,EAAGA,EAAIu0B,EAAQv0B,IAAK,CAC/B,IAAI6zB,EACF1B,GAAW9sB,GAAQgvB,UACnBxO,KAAKiP,eACHvsB,KAAK6D,IACH,EACA+lB,GAAW9sB,GAAQkvB,OAAS,EAAIpC,GAAW9sB,GAAQivB,MAEzDT,EAAQhO,KAAKkP,oBAAoB5C,GAAW9sB,GAASwuB,GACrDA,EAAQtrB,KAAKoL,KAAKkgB,GAClBuhB,GAAQvhB,EACR1B,GAAW9sB,GAAQkvB,QAAU,EAE/BpG,GAAyB,kBAAkBlE,GAA4BmrB,SAEpE,CACL,IAAIA,EAAO,EACXvZ,KACAr4B,OAAO6C,KAAKwf,KAAK0N,SAAS6B,SAASmB,IAEjC,GADAlxB,EAASkxB,EACL1Q,KAAK0N,QAAQluB,GAAQkvB,OAASA,EAChCpG,GAAyB,mCAD3B,CAIA,IAAK,IAAInuB,EAAI,EAAGA,EAAIu0B,EAAQv0B,IAAK,CAC/B,IAAI6zB,EACF1B,GAAW9sB,GAAQgvB,UACnBxO,KAAKiP,eACHvsB,KAAK6D,IACH,EACA+lB,GAAW9sB,GAAQkvB,OAAS,EAAIpC,GAAW9sB,GAAQivB,MAEzDT,EAAQhO,KAAKkP,oBAAoB5C,GAAW9sB,GAASwuB,GACrDA,EAAQtrB,KAAKoL,KAAKkgB,GAClBuhB,GAAQvhB,EACR1B,GAAW9sB,GAAQkvB,QAAU,EAE/BpG,GAAyB,kBAAkBlE,GAA4BmrB,UAI7ElnB,GAAuBrI,KAAKkvB,aAkBhC,SAASM,GAAmB7hB,EAAK4I,GAC/BP,KACa,IAATO,EAAY3O,GAAU+F,EACR,IAAT4I,EAAY1O,GAAU8F,EACb,IAAT4I,IAAYzO,GAAU6F,GAE/B,MAAMuX,EAAwB3d,GAO9B,OANAwa,KAEAmC,KACIgB,IAA0B3d,IAC5Bwa,KAEK9Z,GAAejI,KAAKsR,UAoD7B,SAASme,KAEPnjB,GAAa,GACb3uB,OAAO6C,KAAKwf,KAAK0N,SAAS6B,SAASp1B,IACjCmyB,GAAWnyB,GAAK66B,GAAoB76B,MAItCoyB,GAAc,GACd5uB,OAAO6C,KAAKwf,KAAK4V,UAAUrG,SAASp1B,IAClCoyB,GAAYpyB,GAAKu7B,GAAYv7B,MAI/BqyB,GAAkB,GAClB7uB,OAAO6C,KAAKwf,KAAKiU,cAAc1E,SAASp1B,IACtCqyB,GAAgBryB,GAAK45B,GAAgB55B,MAEvC67B,KAMF,IAAI0Z,IAAiB,EAerB,SAASC,GAAMvhC,EAAMwhC,EAAQrrB,IAGD,IAAtB1E,EAAU+vB,IAAiBrrB,IAClB,IAATnW,IACmB,IAAnBshC,IACO,IAATthC,GAEA7C,EAAE,iBAAiBnJ,MAAM4U,gBAAkB6I,EAAU,SAAS+vB,KAC9DrkC,EAAE,iBAAiBnJ,MAAM6U,QAAU,MACtB,IAAT7I,GACF7C,EAAE,iBAAiBnJ,MAAMqV,QAAU,SACnCo4B,YAAW,WACTF,GAAM,EAAGC,GAAQ,KAChB,IAAO5vB,KAAKsX,MAEfuY,YAAW,WACTF,GAAM,EAAGC,GAAQ,KAChB,IAAO5vB,KAAKsX,MAEC,IAATlpB,GACT7C,EAAE,iBAAiBnJ,MAAM6U,QAAU,IACnC44B,YAAW,WACTF,GAAM,EAAGC,GAAQ,KAChB,IAAO5vB,KAAKsX,MACG,IAATlpB,IAAY7C,EAAE,iBAAiBnJ,MAAMqV,QAAU,QAe5D,SAASq4B,GAAgBC,EAAKC,EAAWC,EAAW1rB,GAElD,IAA8B,IAAzB1E,EAAUmwB,IAAoBzrB,KAA8B,IAAnBmrB,GAA0B,CAEtE,MAAMQ,EAAQ,IAAIC,MAAMJ,GACpBlwB,EAAU+oB,aACZsH,EAAME,OAAUvwB,EAAUowB,GAAa,KAAQjwB,KAAKowB,OAAS,KAC1DF,EAAME,OAASvwB,EAAUowB,GAAa,IAC3CC,EAAMG,QAoFV,SAASC,GAAmBC,EAAcC,EAAOC,GAGjB,IAA5B5wB,EAAU0wB,IACmB,WAA7B93C,SAASi4C,kBACU,IAAnBhB,IAIA,IAAI3D,aAAayE,EAAO,CAAEn3B,KAAMo3B,EAASE,MAFtB,yDAmRvB,SAASC,KAMP,GALAvvB,EAAkB4e,KAAKC,MACnBnc,KAAoB/D,KAAK6wB,WAC3B9sB,GAAkB/D,KAAK6wB,SA/drB7wB,KAAK6wB,UACPtlC,EAAE,QAAQnJ,MAAMkW,OAAS,MACA,IAArBuH,EAAUiT,SAAcvnB,EAAE,YAAYnJ,MAAMqV,QAAU,QAC/B,IAAvBoI,EAAU4T,WAAgBloB,EAAE,cAAcnJ,MAAMqV,QAAU,UAE9D81B,KACA5Z,MAEFN,OA0dKrT,KAAK6wB,UAAiC,IAArB7wB,KAAK8wB,YAAmB,CAExCzwB,IAAiB1iB,OAAO6C,KAAKwf,KAAK+wB,MAAM32C,SAC1Cq1C,KACA5H,KACAxnB,EAAe1iB,OAAO6C,KAAKwf,KAAK+wB,MAAM32C,QAIpC2tB,KACFsd,KAtsBArlB,KAAK6d,IAAI,wBAjBb7H,KACAzJ,GAAY,uBAAuBc,OAAS,EAC5C0U,KAgBE9Y,GAfKhB,IAgBAgB,GAA6BjJ,KAAKsR,UAusBrCkW,KACAD,KACAT,KACAR,KACA2I,KAtgBN,WACE,IAAK,IAAIthB,EAAM,EAAGA,EAAM,GAAIA,GAAO,EACjC,IAAK,IAAI4I,EAAO,EAAGA,EAAO,EAAGA,GAAQ,EACnC5K,GAAUgC,GAAK4I,GAAQiZ,GAAmB7hB,EAAK4I,GAogB/Cya,GAEA1J,KA3oBN,WACE,IAAI2J,EAAY,EAEhB,GAAIjxB,KAAK0N,QAAQwjB,KAAK9iB,eAAgB,CACpC,MAAM+iB,EAAcnxB,KAAK0N,QAAQwjB,KAAKzjB,SAAS2jB,MAC/C,IAAIC,EAAW,EACf1zC,OAAO6C,KAAK2wC,GAAa5hB,SAASp1B,IAChC,MAAMm3C,EAAaH,EAAYh3C,GAC/Bk3C,GAAYC,EAAWC,MAAQD,EAAW30C,OAE5Cs0C,GAAaI,EAAWrxB,KAAKwxB,oBAG/BP,GAlEF,WACE,IAAIA,EAAY,EAEhBjb,KAGA,IAAIyb,EAAuB,EACL,IAAlB/pB,IAAyC,KAAlBA,KACzB+pB,GAAwB,GAEH,IAAnB9pB,IAA2C,KAAnBA,KAC1B8pB,GAAwB,GAE1B/pB,GAAgB,EAChBC,GAAiB,GAGjB,IAAK,IAAIxtB,EAAI,EAAGA,EAAIs3C,IAAwBt3C,EAAG,CAC7C,IAAIu3C,EAAkB,SACtB/zC,OAAO6C,KAAK8rB,IAAYiD,SAASmB,IAC3BpE,GAAWoE,GAAGhC,OAAS,IACzBgjB,EAAkBhhB,MAGtBpE,GAAWolB,GAAiBhjB,QAAU,EACtCtH,IAAqB,EAevB,OAXAzpB,OAAO6C,KAAK8rB,IAAYiD,SAASp1B,IAC/B,MAAMq2B,EAAKlE,GAAWnyB,GACtB82C,GAAa3iB,GACXtO,KAAK0N,QAAQ8C,EAAG9xB,MAChBshB,KAAK0N,QAAQvzB,GAAGq0B,UAChBgC,EAAG9B,OACH1O,KAAK0N,QAAQvzB,GAAGs0B,KAChB+B,EAAG9B,WAIAuiB,EA0BMU,GACbjmB,GAAqBulB,EA8nBjBW,GAEA7pB,GAAY,GAId,MAAM8pB,EAAe7xB,KAAKqjB,SAAS,kBAAoB,GAClDlc,IAAqB0qB,GACxB1qB,IAAoB,EACpBD,GAA2B,GAClBC,KAAsB0qB,IAC/B1qB,IAAoB,EACpBD,GAA2B,GAGzBA,KACFke,KACAle,GAA2B,GA/wBjC,WAEE0gB,KAEAlG,KAzCF,WACE3X,GAA2B,EAC3B,IAAIgJ,EAAQ,EACZp1B,OAAO6C,KAAKwf,KAAKwR,WAAWjC,SAASp1B,IACH,IAA5B6lB,KAAKwR,UAAUr3B,GAAGqkC,QAAazL,GAAS,MAE9C,IAAI+e,EAAU,EACd,GAAIxlB,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASrO,KAAKuN,OAAO,SACZ,IAAXc,EAAcyjB,GAAW,KACT,IAAXzjB,EAAcyjB,GAAW,IACd,IAAXzjB,IAAcyjB,GAAW,MAEpC9nB,GAAyB+I,EACzBhJ,GACEgJ,GACS,IAARA,EAAe,MACuB,IAAtC/S,KAAK6d,IAAI,2BAAoC,IACjB,IAA5B7d,KAAK6d,IAAI,iBAA0B,GACpCiU,EAuBFC,GACAhS,KACAyG,KAEA,MAAMwL,EACJhyB,KAAKiyB,oBACHvvC,KAAKkE,MAAMoZ,KAAK0mB,gBAAgB1mB,KAAK2mB,aAAe3mB,KAAKogB,gBACvD,IAEHpgB,KAAKogB,cAAgBpgB,KAAK2mB,cAC7Brb,GAA4B9F,GAAWwsB,EAAgB7gB,MAmwBrD+gB,GA1SF/wB,EAA+B,EAC/BsK,GAA0B,GAC1B9tB,OAAO6C,KAAKwf,KAAKmyB,UAAU5iB,SAASp1B,IAClCsxB,GAAwBzL,KAAKmyB,SAASh4C,GAAG0zB,IAAM7N,KAAKmyB,SAASh4C,GACzD6lB,KAAKmyB,SAASh4C,GAAGi4C,WAAuC,WAA1BpyB,KAAKmyB,SAASh4C,GAAGK,OACjD4wB,GAA4BpL,KAAKmyB,SAASh4C,GAC1CgnB,GAAgC,MAWpCxjB,OAAO6C,KAAKyjB,IAAUsL,SAASp1B,SACa,IAA/BsxB,GAAwBtxB,KACjC8pB,GAAS9pB,GAAGmf,WAAWrc,YAAYgnB,GAAS9pB,WACrC8pB,GAAS9pB,OAGhB6mB,IAA0BhB,KAAK0d,aAAaC,OAAOvgC,GACrD4jB,EAAwBhB,KAAK0d,aAAaC,OAAOvgC,EAC7C4jB,IACEC,EAA+BE,IACjCwuB,GAAM,EAAG,WAAW,GACpBG,GAAgBjwB,EAAUqpB,WAAY,UAAW,YAAY,GAC7DoH,GACE,iBACA,wBACA,+CAIJ3yC,OAAO6C,KAAKwf,KAAKmyB,UAAU5iB,SAASp1B,SACW,IAAlC8pB,GAASjE,KAAKmyB,SAASh4C,GAAG0zB,KAnH7C,SAAuBwkB,GACrB,MAAMlK,EAAU1vC,SAAS4D,cAAc,OACvC8rC,EAAQta,GAAK,UAAUwkB,EAAOxkB,KAC9Bsa,EAAQ/lC,MAAMkG,MAAQ,OACtB6/B,EAAQ/lC,MAAMmG,OAAS,OACvB4/B,EAAQ/lC,MAAMgI,SAAW,WACzB+9B,EAAQ/lC,MAAMyU,OAAS,cACvBsxB,EAAQ/lC,MAAMuW,UAAY,SAC1BwvB,EAAQ/lC,MAAMyW,WAAa,OAC3BsvB,EAAQ/lC,MAAMkwC,WAAa,2BAC3BnK,EAAQ/lC,MAAM0vB,SAAW,OACzBqW,EAAQ/lC,MAAM+U,OAAS,UACvBgxB,EAAQ/lC,MAAMqV,QAAU,QACE,IAAtBoI,EAAUsoB,UAAeA,EAAQ/lC,MAAMqV,QAAU,QACrD0wB,EAAQ/lC,MAAMqC,KAAO4tC,EAAO9mC,EAAEnJ,MAAMqC,KACpC0jC,EAAQ/lC,MAAMsC,IAAM2tC,EAAO9mC,EAAEnJ,MAAMsC,IACnCyjC,EAAQoK,QAAU,WAChBF,EAAOG,OAETrK,EAAQsK,YAAc,WACpBJ,EAAO9mC,EAAEnJ,MAAMswC,OACb,gEACFL,EAAO9mC,EAAEnJ,MAAMuwC,aACb,iEAEJxK,EAAQyK,WAAa,WACnBP,EAAO9mC,EAAEnJ,MAAMswC,OAAS,GACxBL,EAAO9mC,EAAEnJ,MAAMuwC,aAAe,IAGhC1uB,GAASouB,EAAOxkB,IAAMsa,EACtB58B,EAAE,YAAYwK,YAAYoyB,GAqFlB0K,CAAc7yB,KAAKmyB,SAASh4C,QAIlCyzC,KACA3sB,EAA+BE,EACM,IAAjCA,IAAoCiK,GAA4B,IACrC,IAAtBvL,EAAUsoB,SAAiBnnB,GACpCrjB,OAAO6C,KAAKyjB,IAAUsL,SAASp1B,IAC7B8pB,GAAS9pB,GAAGiI,MAAM6U,QAAUwU,GAAwBtxB,GAAGoR,EAAEnJ,MAAM6U,QAC/DgN,GAAS9pB,GAAGiI,MAAM0wC,UAChBrnB,GAAwBtxB,GAAGoR,EAAEnJ,MAAM0wC,UACrC7uB,GAAS9pB,GAAGqD,YAAckF,KAAKoL,KAC7B2d,GAAwBtxB,GAAG44C,KAAO/yB,KAAKsX,QAiF3CxW,KACCd,KAAKgzB,cAA2C,YAA3BhzB,KAAKgzB,aAAax4C,QAExCsmB,EACEd,KAAKgzB,cAA2C,YAA3BhzB,KAAKgzB,aAAax4C,KACrCsmB,IACF6uB,GAAM,EAAG,gBAAgB,GACzBG,GACEjwB,EAAU2pB,gBACV,eACA,iBACA,GAEF8G,GACE,sBACA,uBACA,kDA9CFzvB,IAAyBb,KAAK0d,aAAaQ,SAASN,UACtD/c,EAAuBb,KAAK0d,aAAaQ,SAASN,QAClDjgC,OAAO6C,KAAKwf,KAAKmyB,UAAU5iB,SAASp1B,IAC9B6lB,KAAKmyB,SAASh4C,GAAGi4C,WAAuC,aAA1BpyB,KAAKmyB,SAASh4C,GAAGK,OACjD6wB,GAAwBrL,KAAKmyB,SAASh4C,OAG1Cw1C,GAAM,EAAG,YAAY,GACrBG,GAAgBjwB,EAAUiqB,YAAa,WAAY,aAAa,GAChEwG,GACE,kBACA,oBACA,0CAtNFtwB,KAAK0N,QAAQmM,KAAKzL,gBAClBrN,IAAuBf,KAAK0N,QAAQmM,KAAKpM,SAASwlB,WAEvB,IAAvBlyB,GAA4BA,EAAqBkf,KAAKC,QACxDyP,GAAM,EAAG,aAAa,GACtBG,GAAgBjwB,EAAUsqB,aAAc,YAAa,cAAc,IAErEppB,EAAqBf,KAAK0N,QAAQmM,KAAKpM,SAASwlB,UAiKpD,WACE,GACEjzB,KAAK0N,QAAQ,gBAAgBU,gBACH,IAA1BvO,EAAUqoB,YACV,CACA,MAAMza,SAAEA,GAAazN,KAAK0N,QAAQ,gBAC9BD,EAAS4J,MAAQ5J,EAAS4L,OAAQnY,GAAmB,EAC/CA,IACRA,GAAmB,EACnByuB,GAAM,EAAG,cAAc,GACvBG,GAAgBjwB,EAAU4qB,cAAe,aAAc,eAAe,GACtE6F,GACE,oBACA,mBACA,6CA+NJ4C,GA5IJ,WACE,GAAIlzB,KAAKC,WAAa,EAAG,CACvB,IAAIkzB,EAAmB,EACvBx1C,OAAO6C,KAAKwf,KAAKwR,WAAWjC,SAASp1B,IACH,IAA5B6lB,KAAKwR,UAAUr3B,GAAGqkC,QAAa2U,GAAoB,MAErDA,EAAmB/xB,GACrBA,EAAoB+xB,EAElBA,IAAqBnzB,KAAKozB,mBAC1BvzB,EAAUorB,iBAEV0E,GAAM,EAAG,oBAAoB,GAE7BA,GAAM,EAAG,iBAAiB,GAG1BwD,IAAqBnzB,KAAKozB,mBAC1BvzB,EAAUsrB,iBAEV2E,GACEjwB,EAAUwrB,oBACV,mBACA,qBACA,GAGFyE,GACEjwB,EAAUkrB,iBACV,gBACA,kBACA,GAIFoI,IAAqBnzB,KAAKozB,mBAC1BvzB,EAAUmrB,wBAEVsF,GACE,0BACA,4BACA,sDAGFA,GACE,uBACA,sBACA,gCAIJlvB,EAAoB+xB,GA0FtBE,IAaJ,SAASC,KACP,IAAI/3C,EAAM,GACV,IAAK,IAAIpB,EAAI,EAAGA,EAAImoB,EAAgBloB,OAAQD,IAC1CoB,GAAO,UAAoB+mB,EAAgBnoB,eACzC0lB,EAAU,SAASyC,EAAgBnoB,aAGvC,IAAK,IAAIA,EAAI,EAAGA,EAAImoB,EAAgBloB,OAAQD,IAC1CoB,GAAO,UAAoB+mB,EAAgBnoB,0BACzC0lB,EAAU,SAASyC,EAAgBnoB,aAGvC,IAAK,IAAIA,EAAI,EAAGA,EAAImoB,EAAgBloB,OAAQD,IAC1CoB,GAAO,YAAsB+mB,EAAgBnoB,0BAC3C0lB,EAAU,SAASyC,EAAgBnoB,aAGvCoR,EAAE,SAAS/N,YAAcjC,EACzB6zB,KAmBF,SAASmkB,KACP,MAAMC,EAAaC,YACjBC,SAASC,aAAaC,QAAQ,sBAAsB5yC,MAAM,SAAS,IAE/D6yC,EAAoBL,EAAW34C,MAAM,wBAC3C,GAA0B,OAAtBg5C,EAA4B,CAC9B,MAAMC,EAAgBN,EAAWzyC,QAC/B8yC,EAAkB,GAClB,iBAAiBjF,QAEnB+E,aAAaI,QACX,oBACAlV,OAAO,GAAGmV,YAAYF,aAS5B,SAASG,GAAWlF,GAKlB,QAHqC,IAA1B4E,aAAaO,iBACfP,aAAaO,cAEL35C,IAAbw0C,EAAwB,CAC1BlvB,EAAYkvB,OAEoB,IAArBlvB,EAAUs0B,eACZt0B,EAAUs0B,YAEc,IAAtBt0B,EAAU8rB,gBACZ9rB,EAAU8rB,QAInB,IAAIyI,GAAM,EACVz2C,OAAO6C,KAAKsnC,IAAiBvY,SAASp1B,SACR,IAAjB0lB,EAAU1lB,IACnBi6C,GAAM,EACNv0B,EAAU1lB,GAAK2tC,GAAgB3tC,IAChB,WAANA,GACTwD,OAAO6C,KAAKsnC,GAAgByD,QAAQhc,SAASmB,SAEd,IAApB7Q,EAAU1lB,GAAGu2B,IAClB7Q,EAAU1lB,GAAGu2B,IAAM,GAAK7Q,EAAU1lB,GAAGu2B,GAAK,IAE5C0jB,GAAM,EACNv0B,EAAU1lB,GAAGu2B,GAAKoX,GAAgB3tC,GAAGu2B,UAKzC0jB,GAAKb,KACT3C,KACAjzC,OAAO6C,KAAKsnC,IAAiBvY,SAASp1B,IAC1B,WAANA,QAAkD,IAAzBs0C,GAAat0C,GAAG+E,MAC3CuvC,GAAat0C,GAAG+E,eAKpB+0C,GAAWnM,IAEb9nB,KAAKmf,aACLmU,KAkJF,SAASe,KACP12C,OAAO6C,KAAKwf,KAAKwR,WAAWjC,SAASp1B,IAC/B6lB,KAAKwR,UAAUr3B,GAAG4kC,OAAS,GAAgC,IAA3B/e,KAAKwR,UAAUr3B,GAAGK,OACpDwlB,KAAKwR,UAAUr3B,GAAGm6C,GAAK,MA6C7B,SAASC,GAAc/5C,EAAMkE,GAC3B,GAAa,MAATlE,EAAc,CAIhB,GAFA+Q,EAAE,WAAWoM,UAAYqI,KAAK0N,QAAQhvB,GAAMk4B,UAEd,IAA1B/W,EAAUyoB,YAAmB,CAC/B,MAAMkM,EAAa3S,GACjB7hB,KAAK0N,QAAQhvB,GACbshB,KAAK0N,QAAQhvB,GAAM8vB,UACnB,EACAxO,KAAK0N,QAAQhvB,GAAM+vB,KACnBzO,KAAK0N,QAAQhvB,GAAMgwB,QAEf+lB,EAAiBD,EAAax0B,KAAK0N,QAAQhvB,GAAM43B,aACnDme,EAAiB,IACnBlpC,EAAE,WAAWoM,UAAYpM,EAAE,WACxBoM,UAAU3W,MAAM,gBAChB6C,KACC,wBAAwBugB,GAA4BqwB,UACnB,IAA/B/xC,KAAKkE,MAAM6tC,GAAwB,SAAW,+BAE9C5uB,IACG2uB,EAAax0B,KAAK0N,QAAQhvB,GAAM43B,eAC9BtW,KAAK0N,QAAQhvB,GAAMg2C,eAAiB10B,KAAK20B,gBAC5C7uB,iBAKU,IAAlB9F,KAAKqP,UASP9jB,EAAE,WAAWoM,UAAYpM,EAAE,WACxBoM,UAAU3W,MAAMojB,GAA4BpE,KAAK0N,QAAQhvB,GAAMy0B,YAC/DtvB,KACCugB,IACGpE,KAAK0N,QAAQhvB,GACdshB,KAAK0N,QAAQhvB,GAAM8vB,UACnBxO,KAAK0N,QAAQhvB,GAAMgwB,OACnB1O,KAAK0N,QAAQhvB,GAAM+vB,KACnBzO,KAAKgP,QACL,WAIH,GAAa,MAATx0B,EAAc,CAEvB,IAAKwlB,KAAKuQ,gBAAgB7xB,GAAO,MAAO,GACxC6M,EAAE,WAAWoM,UAAYqI,KAAK40B,aAC5B50B,KAAKuQ,gBAAgB7xB,GACrB,aAEgB,MAATlE,EAAc+Q,EAAE,WAAWoM,UAAYqI,KAAK60B,cAErC,MAATr6C,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAK0N,QAAQ,gBAAgBD,SAASqnB,aAC7Dp2C,EADuBshB,GAIT,MAATxlB,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAKwkB,YAAY,GAAG/W,SAASsnB,YACpDr2C,EAAK,GACLA,EAAK,GAFkBshB,GAKT,OAATxlB,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAKwkB,YAAY,GAAG/W,SAASunB,YAAY,EAAzCh1B,GACT,OAATxlB,EAAe+Q,EAAE,WAAWoM,UAAY,GAC/B,QAATnd,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAK0N,QAAQF,OAAOC,SAASwnB,WAAWv2C,EAAxCshB,GACT,QAATxlB,IACP+Q,EAAE,WAAWoM,UAAYqI,KAAK0N,QAAQF,OAAOC,SAASynB,YACpDx2C,EAAK,GADkBshB,IAK3B,GACY,MAATxlB,GAAiC,IAAjBwlB,KAAKqP,SACb,MAAT70B,GACS,MAATA,GACS,MAATA,GACU,MAATA,IAAiBwlB,KAAKxf,KAAK,KACnB,OAAThG,GACS,OAATA,GACS,QAATA,GACU,QAATA,IAA+B,IAAbkE,EAAK,GACxB,CACA,MAAMy2C,EAAO18C,SAAS4D,cAAc,OACpC84C,EAAKtnB,GAAK,gBACVtiB,EAAE,WAAWwK,YAAYo/B,GAS3B,OALAvxB,GAAcppB,EACdqpB,GAAcnlB,EAEdk5B,KAEOrsB,EAAE,WAAWoM,UA6GtB,SAASy9B,KACHp1B,KAAK0N,QAAQ,gBAAgBU,gBAC/BzwB,OAAO6C,KAAKwf,KAAK0N,QAAQ,gBAAgBD,SAAS0L,YAAY5J,SAC3Dp1B,IAC4C,OAAvCoR,EAAE,gBAAgBpR,KAAKs4C,cACzBjxB,EAAsBrnB,GAAKoR,EAAE,gBAAgBpR,KAAKs4C,YAClDlnC,EAAE,gBAAgBpR,KAAKs4C,YAAc,WACnCzyB,KAAK4W,QAAQye,QAAU,EACvBr1B,KAAK4W,QAAQjlB,KACX9Y,MACA,WACE,OAAO07C,GAAc,IAAK,GAAGp6C,OAE/B,QAEF6lB,KAAK4W,QAAQ0e,cAoBzB,SAASC,KACP,IACG50B,GACDX,KAAK0N,QAAQ,gBAAgBU,eAC7B,CACA,MAAMX,SAAEA,GAAazN,KAAK0N,QAAQ,gBAClCjN,EAAqBgN,EAAS9b,KAC9BqO,KAAK0N,QAAQ,gBAAgBD,SAAS9b,KAAO,WAC3C8O,IAC8B,IAA1BZ,EAAUqoB,aAAqBza,EAAS4J,MAAQ5J,EAAS4L,SAC3D5L,EAAS+nB,cAAc79B,WAAa,KAAK6N,GACvCyR,GACExJ,EAAS4J,MACT5J,EAAS4L,OACT5L,EAAS4L,cAKjB1Y,GAA+B,GAkCnC,SAAS80B,MA3BT,WACE,IACG/0B,GACDV,KAAK0N,QAAQ,gBAAgBU,eAC7B,CACA,MAAMX,SAAEA,GAAazN,KAAK0N,QAAQ,gBAClCnN,EAAuBkN,EAASioB,OAChCl1B,EAA0B,IAAI5kB,SAC5B,UAAU6xB,EAASioB,OAChB9yC,WACA5B,MAAM,SACN6C,KAAK,8CAEVmc,KAAK0N,QAAQ,gBAAgBD,SAASioB,OAAS,WAC7Cl1B,IACA40B,KACAz0B,GAA+B,EAC/B40B,KAEA70B,GAAiC,IASrCi1B,GACAJ,KAiJF,IAAIr8C,GAAUkmB,EAAoB,KAC9Bw2B,GAA+Bx2B,EAAoBhiB,EAAElE,IA+OzD,MAAM28C,GAA6B,WA8BnC,SAASC,GAAmBlG,GACG,OAAzBrkC,EAAE,SAASqkC,OACbrkC,EAAE,SAASqkC,UAAej4B,UAAY,GAAGpM,EAAE,SAASqkC,KAAUryC,SAC9DsiB,EAAU+vB,GAAUltC,KAAKC,MAAM4I,EAAE,SAASqkC,KAAUryC,QAEtDg2C,KAQF,SAASwC,GAAanG,GACpB/vB,EAAU0rB,OAAOqE,IAAW,EACxB/vB,EAAU0rB,OAAOqE,GAAU,IAAG/vB,EAAU0rB,OAAOqE,GAAU,GAC7D2D,KAiBF,SAASyC,GAAYlwB,EAAM8pB,GACzB,MAAMhf,EAAMn4B,SAAS4D,cAAc,OACnCu0B,EAAIh2B,UAAY,QAChBg2B,EAAIxuB,MAAMwK,QAAU,WACpBgkB,EAAIxuB,MAAM6U,QAAU,MACpB2Z,EAAIxuB,MAAM0vB,SAAW,OACrBlB,EAAIxuB,MAAMkwC,WAAa,2BACvB1hB,EAAI7a,YAAYtd,SAASqgB,eAAe,GAAGgN,OAC3C,MAAMmwB,EAAOx9C,SAAS4D,cAAc,QAiBpC,OAhBA45C,EAAK7zC,MAAM+U,OAAS,UACpB8+B,EAAK7zC,MAAMqV,QAAU,eACrBw+B,EAAK7zC,MAAMmG,OAAS,OACpB0tC,EAAK7zC,MAAMkG,MAAQ,OACnB2tC,EAAK7zC,MAAMsU,aAAe,MAC1Bu/B,EAAK7zC,MAAMuW,UAAY,SACvBs9B,EAAK7zC,MAAM4U,gBAAkB,UAC7Bi/B,EAAK7zC,MAAM2F,MAAQ,QACnBkuC,EAAK7zC,MAAM0vB,SAAW,OACtBmkB,EAAK7zC,MAAM4vB,cAAgB,SAC3BikB,EAAKz4C,YAAcqiB,EAAU0rB,OAAOqE,GAAU,IAAM,IACpDqG,EAAK1D,QAAU,WACbwD,GAAanG,GACb5vB,KAAKmf,cAEPvO,EAAI7a,YAAYkgC,GACTrlB,EAYT,SAASslB,GAAa17C,EAAMkE,EAAMonB,EAAM4Y,GACtC,MAAM9N,EAAMn4B,SAAS4D,cAAc,OACnCu0B,EAAIh2B,UAAY,UAEhB,MAAMu7C,EAAc19C,SAAS4D,cAAc,KAG3C,GAFA85C,EAAY34C,YAAckB,EAC1BkyB,EAAI7a,YAAYogC,GACH,gBAAT37C,EAAwB,CAC1Bo2B,EAAIh2B,UAAY,UAChBg2B,EAAI7a,YAAYtd,SAASqgB,eAAe,MAExC,MAAM8d,EAAUn+B,SAAS4D,cAAc,QACvCu6B,EAAQgc,WAAa,WACnB5yB,KAAK4W,QAAQzlB,QAEfylB,EAAQ6b,YAAc,WACpBzyB,KAAK4W,QAAQjlB,KACX9Y,KACAgmC,OAAOrc,EAAsBkc,GAAa/mB,aAG9Cif,EAAQx0B,MAAM+U,OAAS,UACvByf,EAAQx0B,MAAMqV,QAAU,eACxBmf,EAAQx0B,MAAMmG,OAAS,OACvBquB,EAAQx0B,MAAMkG,MAAQ,OACtBsuB,EAAQx0B,MAAMsU,aAAe,MAC7BkgB,EAAQx0B,MAAMuW,UAAY,SAC1Bie,EAAQx0B,MAAM4U,gBAAkB,UAChC4f,EAAQx0B,MAAM2F,MAAQ,QACtB6uB,EAAQx0B,MAAM0vB,SAAW,MACzB8E,EAAQx0B,MAAM4vB,cAAgB,SAC9B4E,EAAQp5B,YAAc,IACtBozB,EAAI7a,YAAY6gB,GAIlB,OAFAhG,EAAI7a,YAAYtd,SAASqgB,eAAe,OACxC8X,EAAI7a,YAAY+P,GACT8K,EAQT,SAASwlB,GAAcC,GACrB,MAAMC,EAAO79C,SAAS89C,yBACtBD,EAAKvgC,YAAYtd,SAASqgB,eAAe,GAAGu9B,EAAYj8C,YACxD,MAAM67C,EAAOx9C,SAAS4D,cAAc,QACpC45C,EAAKrD,WAAa,WAChB5yB,KAAK4W,QAAQzlB,QAEf,MAAMutB,EAAcjmC,SAAS4D,cAAc,OACrCm6C,EAAU/9C,SAAS4D,cAAc,OACvCm6C,EAAQp0C,MAAMw8B,SAAW,QACzB4X,EAAQp0C,MAAM00B,aAAe,MAC7B,MAAM0Z,EAAQ/3C,SAAS4D,cAAc,OA4BrC,OA3BAm0C,EAAM51C,UAAY,OAClB41C,EAAMpuC,MAAM00B,aAAe,MAC3B0Z,EAAMpuC,MAAMuW,UAAY,SACxB63B,EAAMhzC,YAAc,UACpBg5C,EAAQzgC,YAAYy6B,GACpB7yC,OAAO6C,KAAK61C,GAAa9mB,SAASp1B,IAChC,MAAMy2B,EAAMn4B,SAAS4D,cAAc,OACnCu0B,EAAIxuB,MAAMuW,UAAY,SACtBiY,EAAI7a,YAAYtd,SAASqgB,eAAeu9B,EAAYl8C,KACpDq8C,EAAQzgC,YAAY6a,MAEtB8N,EAAY3oB,YAAYygC,GACxBP,EAAKxD,YAAc,WACjBzyB,KAAK4W,QAAQjlB,KAAK9Y,KAAMgmC,OAAOH,EAAY/mB,aAE7Cs+B,EAAK7zC,MAAM+U,OAAS,UACpB8+B,EAAK7zC,MAAMqV,QAAU,eACrBw+B,EAAK7zC,MAAMmG,OAAS,OACpB0tC,EAAK7zC,MAAMkG,MAAQ,OACnB2tC,EAAK7zC,MAAMsU,aAAe,MAC1Bu/B,EAAK7zC,MAAMuW,UAAY,SACvBs9B,EAAK7zC,MAAM4U,gBAAkB,UAC7Bi/B,EAAK7zC,MAAM2F,MAAQ,QACnBkuC,EAAK7zC,MAAM0vB,SAAW,MACtBmkB,EAAK7zC,MAAM4vB,cAAgB,SAC3BikB,EAAKz4C,YAAc,IACnB84C,EAAKvgC,YAAYkgC,GACVK,EAgjCT,SAASG,GAAajG,GACpB,MAAMkG,EAAQj+C,SAAS4D,cAAc,OAiCrC,GAhCAq6C,EAAM97C,UAAY,aAClB87C,EAAM3gC,YAAYy6B,GAElBkG,EAAM3gC,YAAYigC,GAAY,gBAAiB,UAC3Cn2B,EAAU0rB,OAAOkB,OACnBiK,EAAM3gC,YAjiCV,WAEE,MAAM4gC,EAAkB32B,KAAKqjB,SAAS,oBAClC,2CACA,6BAEEuT,EAAUn+C,SAAS4D,cAAc,OACvCu6C,EAAQh8C,UAAY,sBAEpB,MAAMi8C,EACJ72B,KAAKoT,QAAU3B,KAAuBlJ,GAAatG,EAAYH,EAC3Dg1B,EACJ92B,KAAKoT,QAAU3B,KAAuBlJ,GAClC/C,IACG+C,IAAcvI,KAAKoT,QAAU3B,OAAyBN,MAEzD,GACA4lB,EAAet+C,SAAS89C,yBACxBS,EAAev+C,SAAS4D,cAAc,QAK5C,GAJA26C,EAAa50C,MAAMs0B,WAAa,OAChCsgB,EAAap8C,UAAY+mB,EAAgBk1B,EACzCG,EAAax5C,YAAc4mB,GAA4BmE,IACvDwuB,EAAahhC,YAAYihC,GACP,KAAdF,EAAkB,CACpB,MAAMG,EAAgBx+C,SAAS4D,cAAc,SAC7C46C,EAAcz5C,YAAc,KAAKs5C,KACjCC,EAAahhC,YAAYkhC,GAE3BL,EAAQ7gC,YACNmgC,GACE,cACA,4BACAa,EACAJ,IAIJ,MAAMO,EACJl3B,KAAKoT,QAAU3B,KAAuB/I,GAClCzG,EACAH,EACAq1B,EACJn3B,KAAKoT,QAAU3B,KAAuB/I,GAClClD,IACGkD,IAAoB1I,KAAKoT,QAAU3B,OAAyBN,MAE/D,GACAimB,EAAmB3+C,SAAS89C,yBAC5Bc,EAAmB5+C,SAAS4D,cAAc,QAKhD,GAJAg7C,EAAiBj1C,MAAMs0B,WAAa,OACpC2gB,EAAiBz8C,UAAY+mB,EAAgBu1B,EAC7CG,EAAiB75C,YAAc4mB,GAA4BsE,IAC3D0uB,EAAiBrhC,YAAYshC,GACL,KAApBF,EAAwB,CAC1B,MAAMG,EAAoB7+C,SAAS4D,cAAc,SACjDi7C,EAAkB95C,YAAc,KAAK25C,KACrCC,EAAiBrhC,YAAYuhC,GAE/BV,EAAQ7gC,YACNmgC,GACE,cACA,qCACAkB,EACAT,IAIJ,MAAMY,EAAa/uB,KAAqBC,GAElC+uB,EAAqB/+C,SAAS4D,cAAc,QAClDm7C,EAAmBp1C,MAAMs0B,WAAa,OACtC8gB,EAAmB58C,UAAY+mB,EAAgB6G,GAC/CgvB,EAAmBh6C,YACjB4mB,GAA4BoE,KAC3B+uB,EAAa,MAAMnzB,GAA4BqE,MAA2B,IAC7EmuB,EAAQ7gC,YACNmgC,GACE,cACA,yBAAwBqB,EAAa,oBAAsB,IAC3DC,EACAb,IAIJ,MAAMc,EAA2Bh/C,SAAS4D,cAAc,QACxDo7C,EAAyBr1C,MAAMs0B,WAAa,OAC5C+gB,EAAyB78C,UAAY+mB,EAAgB81B,EACrDA,EAAyBj6C,YACvB4mB,GAA4BuE,KAC3B4uB,EAAa,MAAMnzB,GAA4BwE,MAAiC,IACnFguB,EAAQ7gC,YACNmgC,GACE,cACA,kCAAiCqB,EAAa,oBAAsB,IACpEE,EACAd,IAIJ,MAAMe,EACJh1C,KAAK2D,IACqC,KAAvC2Z,KAAKoT,QAAU3B,MAChBxI,GAA6BC,GAAoC,GAAK,IACpE,GACAyuB,EAAel/C,SAAS4D,cAAc,QAc5C,OAbAs7C,EAAav1C,MAAMs0B,WAAa,OAChCihB,EAAa/8C,UAAY+mB,EAAgBg2B,EACzCA,EAAan6C,YACX4mB,GAA4B+E,GAAyBuuB,IACpDH,EAAa,MAAMnzB,GAA4BgF,GAAwBsuB,KAAkB,IAC5Fd,EAAQ7gC,YACNmgC,GACE,cACA,yBAAwBqB,EAAa,oBAAsB,IAC3DI,EACAhB,IAGGC,EA26BagB,IAGpBlB,EAAM3gC,YAAYigC,GAAY,gBAAiB,UAC3Cn2B,EAAU0rB,OAAOmB,OACnBgK,EAAM3gC,YAz6BV,WAEE,MAAM4gC,EAAkB32B,KAAKqjB,SAAS,oBAClC,2CACA,6BAEEuT,EAAUn+C,SAAS4D,cAAc,OACvCu6C,EAAQh8C,UAAY,sBAEpB,MAAMi9C,EACJ73B,KAAKoT,QAAU3B,KAAuBnH,GAClCrI,EACAH,EACAg2B,EACJ93B,KAAKoT,QAAU3B,KAAuBnH,GAClC9E,IACG8E,IAAsBtK,KAAKoT,QAAU3B,OACpCN,MAEJ,GACA4mB,EAAet/C,SAAS89C,yBACxByB,EAAev/C,SAAS4D,cAAc,QAK5C,GAJA27C,EAAa51C,MAAMs0B,WAAa,OAChCshB,EAAap9C,UAAY+mB,EAAgBk2B,EACzCG,EAAax6C,YAAc4mB,GAA4BkG,IACvDytB,EAAahiC,YAAYiiC,GACP,KAAdF,EAAkB,CACpB,MAAMG,EAAgBx/C,SAAS4D,cAAc,SAC7C47C,EAAcz6C,YAAc,KAAKs6C,KACjCC,EAAahiC,YAAYkiC,GAE3BrB,EAAQ7gC,YACNmgC,GACE,cACA,2BACA6B,EACApB,IAIJ,MAAMuB,EACJl4B,KAAKoT,QAAU3B,KAAuBhH,GAClCxI,EACAH,EACAq2B,EACJn4B,KAAKoT,QAAU3B,KAAuBhH,GAClCjF,IACGiF,IAA2BzK,KAAKoT,QAAU3B,OACzCN,MAEJ,GACAinB,EAAoB3/C,SAAS89C,yBAC7B8B,EAAoB5/C,SAAS4D,cAAc,QAKjD,GAJAg8C,EAAkBj2C,MAAMs0B,WAAa,OACrC2hB,EAAkBz9C,UAAY+mB,EAAgBu2B,EAC9CG,EAAkB76C,YAAc4mB,GAA4BqG,IAC5D2tB,EAAkBriC,YAAYsiC,GACP,KAAnBF,EAAuB,CACzB,MAAMG,EAAqB7/C,SAAS4D,cAAc,SAClDi8C,EAAmB96C,YAAc,KAAK26C,KACtCC,EAAkBriC,YAAYuiC,GAEhC1B,EAAQ7gC,YACNmgC,GACE,cACA,mCACAkC,EACAzB,IAIJ,MAAM4B,EACJv4B,KAAKoT,QAAU3B,KAAuB7G,GAClC3I,EACAH,EACA02B,EACJx4B,KAAKoT,QAAU3B,KAAuB7G,GAClCpF,IACGoF,IAA4B5K,KAAKoT,QAAU3B,OAC1CN,MAEJ,GACAsnB,EAAmBhgD,SAAS89C,yBAC5BmC,EAAmBjgD,SAAS4D,cAAc,QAKhD,GAJAq8C,EAAiBt2C,MAAMs0B,WAAa,OACpCgiB,EAAiB99C,UAAY+mB,EAAgB42B,EAC7CG,EAAiBl7C,YAAc4mB,GAA4BwG,IAC3D6tB,EAAiB1iC,YAAY2iC,GACL,KAApBF,EAAwB,CAC1B,MAAMG,EAAoBlgD,SAAS4D,cAAc,SACjDs8C,EAAkBn7C,YAAc,KAAKg7C,KACrCC,EAAiB1iC,YAAY4iC,GAE/B/B,EAAQ7gC,YACNmgC,GACE,cACA,oCACAuC,EACA9B,IAIJ,MAAMiC,EACJ54B,KAAKoT,QAAU3B,KAAuB1G,GAClC9I,EACAH,EACA+2B,EACJ74B,KAAKoT,QAAU3B,KAAuB1G,GAClCvF,IACGuF,IACE/K,KAAKoT,QAAU3B,OAChBN,MAEJ,GACA2nB,EAAwBrgD,SAAS89C,yBACjCwC,EAAwBtgD,SAAS4D,cAAc,QAKrD,GAJA08C,EAAsB32C,MAAMs0B,WAAa,OACzCqiB,EAAsBn+C,UAAY+mB,EAAgBi3B,EAClDG,EAAsBv7C,YAAc4mB,GAA4B2G,IAChE+tB,EAAsB/iC,YAAYgjC,GACL,KAAzBF,EAA6B,CAC/B,MAAMG,EAAyBvgD,SAAS4D,cAAc,SACtD28C,EAAuBx7C,YAAc,KAAKq7C,KAC1CC,EAAsB/iC,YAAYijC,GAEpCpC,EAAQ7gC,YACNmgC,GACE,cACA,4CACA4C,EACAnC,IAIJC,EAAQ7gC,YACNmgC,GACE,cACA,wCACAz9C,SAASqgB,eACP,GAAGsL,GAA4BoG,GAAoB,SAASpG,GAC1DuG,GAAyB,OAG7BgsB,IAIJC,EAAQ7gC,YACNmgC,GACE,cACA,iDACAz9C,SAASqgB,eACP,GAAGsL,GAA4B0G,GAA0B,SAAS1G,GAChE0G,GAA0B,OAG9B6rB,IAIJ,MAAMsC,EAAcv2C,KAAK2D,IACN,GAAjB2Z,KAAKsR,UAAiB,GAAK,EAAIpI,GAChB,GAAflJ,KAAKoT,SAED8lB,EAAWpT,GACf,EACAmT,EACA9vB,IACA,GACIgwB,EAAgBrT,GACpB,EACAmT,EACA7vB,IACA,GAoCF,OAnCAwtB,EAAQ7gC,YACNmgC,GACE,cACA,wCACAz9C,SAASqgB,eACP,GAAGsL,GAA4B80B,QAAe90B,GAA4B+0B,MAE5ExC,IAIJC,EAAQ7gC,YACNmgC,GACE,cACA,oCACAz9C,SAASqgB,eACP,GAAGsL,GAA4BmG,SAA6BnG,GAC1DsG,OAGJ,8BAGJksB,EAAQ7gC,YACNmgC,GACE,cACA,6CACAz9C,SAASqgB,eACP,GAAGsL,GAA4ByG,SAAmCzG,GAChE4G,OAGJ,8BAGG4rB,EAwtBawC,IAGhBp5B,KAAK0N,QAAQ,gBAAgBU,iBAC/BsoB,EAAM3gC,YAAYigC,GAAY,SAAU,WACpCn2B,EAAU0rB,OAAOoB,QACnB+J,EAAM3gC,YAvtBZ,WACE,MAAM6gC,EAAUn+C,SAAS4D,cAAc,OACvCu6C,EAAQh8C,UAAY,uBAEpB,MAAMy+C,EACJr5B,KAAKoT,QAAU3B,KAAuB5I,GAClC5G,EACAH,EACAw3B,EACJt5B,KAAKoT,QAAU3B,KAAuB5I,GAClCrD,IACGqD,IAAgB7I,KAAKoT,QAAU3B,OAAyBN,MAE3D,GAEAooB,EAAiB9gD,SAAS89C,yBAC1BiD,EAAiB/gD,SAAS4D,cAAc,QAK9C,GAJAm9C,EAAep3C,MAAMs0B,WAAa,OAClC8iB,EAAe5+C,UAAY+mB,EAAgB03B,EAC3CG,EAAeh8C,YAAc4mB,GAA4ByE,IACzD0wB,EAAexjC,YAAYyjC,GACP,KAAhBF,EAAoB,CACtB,MAAMG,EAAkBhhD,SAAS4D,cAAc,SAC/Co9C,EAAgBj8C,YAAc,KAAK87C,KACnCC,EAAexjC,YAAY0jC,GAE7B7C,EAAQ7gC,YACNmgC,GACE,cACA,yCACAqD,EACA,+BAGJ3C,EAAQ7gC,YACNmgC,GACE,cACA,qCACAz9C,SAASqgB,eAAesL,GAA4B0E,KACpD,+BAIJ,MAAM4wB,EACJ15B,KAAKoT,QAAU3B,KAAsC,EAAf5I,GAClC5G,EACAH,EACA63B,EAAmBj3C,KAAK2D,IACY,KAAvC2Z,KAAKoT,QAAU3B,MACa,GAA7BxI,GAAkC,IAE9B2wB,EACJ55B,KAAKoT,QAAU3B,KAAsC,EAAf5I,GAClCrD,IACkB,EAAfqD,IAAoB7I,KAAKoT,QAAU3B,OAAyBN,MAE/D,GAEA0oB,EAAuBphD,SAAS89C,yBAChCuD,EAAuBrhD,SAAS4D,cAAc,QAKpD,GAJAy9C,EAAqB13C,MAAMs0B,WAAa,OACxCojB,EAAqBl/C,UAAY+mB,EAAgB+3B,EACjDI,EAAqBt8C,YAAc4mB,GAA2C,EAAfyE,IAC/DgxB,EAAqB9jC,YAAY+jC,GACP,KAAtBF,EAA0B,CAC5B,MAAMG,EAAwBthD,SAAS4D,cAAc,SACrD09C,EAAsBv8C,YAAc,KAAKo8C,KACzCC,EAAqB9jC,YAAYgkC,GAsCnC,OApCAnD,EAAQ7gC,YACNmgC,GACE,cACA,kDACA2D,EACA,+BAGJjD,EAAQ7gC,YACNmgC,GACE,cACA,8CACAz9C,SAASqgB,eAAesL,GAAiD,EAArB0E,KACpD,+BAGJ8tB,EAAQ7gC,YACNmgC,GACE,cACA,qCACAz9C,SAASqgB,eAAesL,GAA4Bu1B,IACpD,+BAGA5wB,IACF6tB,EAAQ7gC,YACNmgC,GACE,cACA,mEACAz9C,SAASqgB,eACP,GAAGsL,GAA4B2E,QAAkBC,OAEnD,+BAIC4tB,EA8mBeoD,KAIlBh6B,KAAK0N,QAAQmM,KAAKzL,iBACpBsoB,EAAM3gC,YAAYigC,GAAY,SAAU,WACpCn2B,EAAU0rB,OAAOqB,QACnB8J,EAAM3gC,YA9mBZ,WACE,MAAM6gC,EAAUn+C,SAAS4D,cAAc,OACvCu6C,EAAQh8C,UAAY,uBAEpB,MAAMq/C,EACJj6B,KAAKoT,QAA2B,GAAjBpT,KAAKsR,UAAiB,GAAK,IAAMrP,EAAYH,EACxDo4B,EAAgBzhD,SAAS4D,cAAc,QAC7C69C,EAAc93C,MAAMs0B,WAAa,OACjCwjB,EAAct/C,UAAY+mB,EAAgBs4B,EAC1CC,EAAc18C,YAAc4mB,GAA6C,GAAjBpE,KAAKsR,UAAiB,GAAK,KACnFslB,EAAQ7gC,YACNmgC,GACE,QACA,iDACAgE,IAIJ,MAAMC,EACJn6B,KAAKoT,QAA2B,GAAjBpT,KAAKsR,UAAiB,IAAMrP,EAAYH,EACnDs4B,EAAgB3hD,SAAS4D,cAAc,QAC7C+9C,EAAch4C,MAAMs0B,WAAa,OACjC0jB,EAAcx/C,UAAY+mB,EAAgBw4B,EAC1CC,EAAc58C,YAAc4mB,GAA6C,GAAjBpE,KAAKsR,UAAiB,KAC9EslB,EAAQ7gC,YACNmgC,GACE,QACA,iDACAkE,IAIJ,MAAMC,EACJr6B,KAAKoT,QAA2B,GAAjBpT,KAAKsR,UAAiB,GAAK,GAAKrP,EAAYH,EACvDw4B,EAAgB7hD,SAAS4D,cAAc,QAC7Ci+C,EAAcl4C,MAAMs0B,WAAa,OACjC4jB,EAAc1/C,UAAY+mB,EAAgB04B,EAC1CC,EAAc98C,YAAc4mB,GAA6C,GAAjBpE,KAAKsR,UAAiB,GAAK,IACnFslB,EAAQ7gC,YACNmgC,GACE,QACA,iDACAoE,IAIJ,MAAMC,EACJv6B,KAAKoT,QAA2B,GAAjBpT,KAAKsR,UAAiB,GAAK,IAAMrP,EAAYH,EACxD04B,EAAgB/hD,SAAS4D,cAAc,QAC7Cm+C,EAAcp4C,MAAMs0B,WAAa,OACjC8jB,EAAc5/C,UAAY+mB,EAAgB44B,EAC1CC,EAAch9C,YAAc4mB,GAA6C,GAAjBpE,KAAKsR,UAAiB,GAAK,KACnFslB,EAAQ7gC,YACNmgC,GACE,QACA,iDACAsE,IAGJ,MAAMC,EAAoB,GAe1B,OAdA98C,OAAO6C,KAAKwjC,IAAYzU,SAASp1B,IAC1B6lB,KAAKghB,YAAYgD,GAAW7pC,KAC/BsgD,EAAkBx+C,KAAK+nC,GAAW7pC,OAGL,IAA7BsgD,EAAkBrgD,QACpBw8C,EAAQ7gC,YACNmgC,GACE,QACA,kCACAE,GAAcqE,KAIb7D,EAoiBe8D,KAItBhE,EAAM3gC,YAAYigC,GAAY,WAAY,aACtCn2B,EAAU0rB,OAAOsB,UACnB6J,EAAM3gC,YAniBV,WACE,MAAM6gC,EAAUn+C,SAAS4D,cAAc,OACvCu6C,EAAQh8C,UAAY,yBAEpB,MAAM+/C,EAAkBj4C,KAAKkE,MAC3BoZ,KAAK0mB,gBACHxb,GACElL,KAAK2mB,aACL/c,IACC5J,KAAKghB,YAAY,mBAAqBhhB,KAAK6d,IAAI,iBAC5CrU,GACA,KAGVotB,EAAQ7gC,YACNmgC,GACE,cACA,6BACAz9C,SAASqgB,eACP,GAAGsL,GAA4BpE,KAAKqW,eAAejS,GAA4Bu2B,MAEjF,+BAIJ,MAAMC,EAAal4C,KAAK6D,IACtB,EACAyZ,KAAKiyB,oBAAoB0I,EAAkB,IACxCzvB,GACClL,KAAK2mB,aACL/c,IAEE5J,KAAKghB,YAAY,mBAAqBhhB,KAAK6d,IAAI,kBAC3CrU,GAGFA,GACA,KAEJqxB,EAAkBpiD,SAAS89C,yBACjCsE,EAAgB9kC,YAAYtd,SAASqgB,eAAesL,GAA4Bw2B,KAChF,MAAME,EAAmBriD,SAAS4D,cAAc,SAChDy+C,EAAiBt9C,YAAc,KAAKgoB,GAClCo1B,EAAazvB,GACb,MAEF0vB,EAAgB9kC,YAAY+kC,GAC5BlE,EAAQ7gC,YACNmgC,GACE,cACA,wBACA2E,EACA,gCAIJjE,EAAQ7gC,YACNmgC,GACE,cACA,6BACAz9C,SAASqgB,eACP,GAAGsL,GAA4BpE,KAAK+6B,oBAAoB32B,GACtDu2B,EAAkB36B,KAAKqW,SAAWrW,KAAK+6B,kBAG3C,oCAIJnE,EAAQ7gC,YACNmgC,GACE,QACA,6CACAz9C,SAASqgB,eAAesL,GAA4BiF,GAAkB,MAI1E,MAAM2xB,EAAWn2B,OAAOhF,EAAU6oB,qBAClC,IAAK7jB,OAAOpJ,MAAMu/B,GAAW,CAC3B,MAAMC,EACJD,EACAt4C,KAAKkE,MAAMoZ,KAAK0mB,gBAAgB1mB,KAAK2mB,aAAe3mB,KAAKogB,gBACvD6a,EAAoB,IACtBrE,EAAQ7gC,YACNmgC,GACE,QACA,iDACAz9C,SAASqgB,eAAesL,GAA4B62B,MAGxDrE,EAAQ7gC,YACNmgC,GACE,QACA,mDACAz9C,SAASqgB,eACP0M,GAAWy1B,EAAoB5xB,QAOzC,MAAM6xB,EAr6BR,SAAoBC,GAElB,IAAIC,EAASp7B,KAAKsR,UAElB0E,KAE2C,IAAvCzJ,GAAY,gBAAgBc,SAC9Bd,GAAY,wBAAwBc,OAAS,EAC7Cd,GAAY,yBAAyBc,OAAS,EAC9Cd,GAAY,mBAAmBc,OAAS,EACxCd,GAAY,0BAA0Bc,OAAS,EAC/Cd,GAAY,gBAAgBc,OAAS,EAErC0U,KAEAqZ,EAASnzB,GAET+N,MAGE9K,IAA0B,KAAS4W,GAAO,aAC1C5W,IAA0B,KAAY4W,GAAO,YAC7C5W,IAA0B,MAAe4W,GAAO,gBAChD5W,IAA0B,MAAkB4W,GAAO,YACnD5W,IAA0B,MAAqB4W,GAAO,iBACtD5W,IAA0B,MAC5B4W,GAAO,kBACL5W,IAA0B,MAC5B4W,GAAO,iBACL5W,IAA0B,MAC5B4W,GAAO,cACL5W,IAA0B,MAC5B4W,GAAO,iBACL5W,IAA0B,MAC5B4W,GAAO,uBACL5W,IAA0B,MAC5B4W,GAAO,mBACL5W,IAA0B,MAC5B4W,GAAO,uBACL5W,IAA0B,MAC5B4W,GAAO,wBACL5W,IAA0B,MAC5B4W,GAAO,mBAEP5W,IAA0B,MAE1B4W,GAAO,WAEP5W,IACA,MAEA4W,GAAO,iBAEP5W,IACA,MAEA4W,GAAO,iCAETvV,GAAY,wBAAwBc,OAAS,EAC7Cd,GAAY,yBAAyBc,OAAS,EAC9Cd,GAAY,mBAAmBc,OAAS,EACxCd,GAAY,0BAA0Bc,OAAS,EAC/Cd,GAAY,gBAAgBc,OAAS,EAErC5F,GAAc0zB,EAEd,MAAMjW,EAAwB3d,GAE9Bwa,KAEAmC,KAEIgB,IAA0B3d,IAC5Bwa,KAGF,MAAMsZ,EAAWpzB,GAAemzB,EAKhC,OAFA3zB,GAAczH,KAAKqW,SAEZglB,EAo1BYC,CAAWX,GACxBY,EAAY9iD,SAAS89C,yBAC3BgF,EAAUxlC,YAAYtd,SAASqgB,eAAesL,GAA4B82B,KAC1E,MAAMjjB,EAAWv1B,KAAKC,MAAOu4C,EAAal7B,KAAKsR,UAAa,KAC5D,GAAIzM,OAAOC,SAASmT,IAA0B,IAAbA,EAAgB,CAC/C,MAAMujB,EAAa/iD,SAAS4D,cAAc,SAC1Cm/C,EAAWh+C,YAAc,KAAKy6B,EAAW,kBACzCsjB,EAAUxlC,YAAYylC,GAExB5E,EAAQ7gC,YACNmgC,GACE,cACA,qBACAqF,EACA,4BAIJ,MAAME,EAAkB/4C,KAAKkE,MAAMoZ,KAAK0mB,gBAAgB1mB,KAAK2mB,eACvD+U,EAAWh5C,KAAKkE,MACpBoZ,KAAK0mB,gBAAgB1mB,KAAK2mB,aAAe3mB,KAAKogB,gBAE1Cub,EAAUD,EAAWD,EAC3B,IAAKz7B,KAAK6d,IAAI,eAAgB,CAC5B,IAAI+d,EAAS,EAAKF,EAAW,GACzBE,EAAS,IAAGA,GAAU,IAC1B,MAAMC,EAAaF,EAAUC,EACvBE,EAAaJ,EAAWE,EACxBG,EAAQtjD,SAAS89C,yBACvBwF,EAAMhmC,YACJtd,SAASqgB,eACP,GAAGgjC,EAAW52B,sBAAsB22B,EAAW32B,sBAAsB02B,OAGzEhF,EAAQ7gC,YACNmgC,GAAa,QAAS,qCAAsC6F,IAIhE,IAAK/7B,KAAK6d,IAAI,gBAAiB,CAC7B,IAAIme,EAAW,IAAON,EAAW,IAC7BM,EAAW,IAAGA,GAAY,KAC9B,MAAMC,EAAeN,EAAUK,EACzBE,EAAeR,EAAWM,EAC1BG,EAAU1jD,SAAS89C,yBACzB4F,EAAQpmC,YACNtd,SAASqgB,eACP,GAAGojC,EAAah3B,sBAAsB+2B,EAAa/2B,sBAAsB82B,OAG7EpF,EAAQ7gC,YACNmgC,GAAa,QAAS,sCAAuCiG,IAIjE,IAAKn8B,KAAK6d,IAAI,gBAAiB,CAC7B,IAAIue,EAAc,OAAUV,EAAW,IACnCU,EAAc,IAAGA,GAAe,KACpC,MAAMC,EAAkBV,EAAUS,EAC5BE,EAAkBZ,EAAWU,EAC7BG,EAAa9jD,SAAS89C,yBAC5BgG,EAAWxmC,YACTtd,SAASqgB,eACP,GAAGwjC,EAAgBp3B,sBAAsBm3B,EAAgBn3B,sBAAsBk3B,OAGnFxF,EAAQ7gC,YACNmgC,GAAa,QAAS,sCAAuCqG,IAIjE,OAAO3F,EAsXa4F,IAGhBx8B,KAAKuR,UAAY,IACnBmlB,EAAM3gC,YAAYigC,GAAY,YAAa,UACvCn2B,EAAU0rB,OAAOuB,OAAO,CAC1B,MAAM2P,EAAahkD,SAAS89C,yBAC5BkG,EAAW1mC,YACTtd,SAASqgB,eACP,GAAGsL,GAA4BwF,SAA0BxF,GACvDyF,SAIN,MAAM6yB,EAAUjkD,SAAS4D,cAAc,KACvCqgD,EAAQl/C,YAAc,iBACtBk/C,EAAQ9hD,UAAY,SACpB8hD,EAAQnK,QAAU,WAChB8B,MAEFoI,EAAW1mC,YAAY2mC,GACvBhG,EAAM3gC,YACJmgC,GACE,QACA,kCACAuG,IAGJ,MAAME,EAAiBlkD,SAAS89C,yBAChCoG,EAAe5mC,YACbtd,SAASqgB,eAAe,GAAGsL,GAA4B0F,GAAsB,SAE/E,MAAM8yB,EAAcnkD,SAAS4D,cAAc,KAC3CugD,EAAYp/C,YAAc,qBAC1Bo/C,EAAYhiD,UAAY,SACxBgiD,EAAYrK,QAAU,WACa,OAA7BzoB,GAAsB,KACxB9J,KAAKwR,UAAU1H,GAAsB,IAAIwqB,GAAK,IAElDqI,EAAe5mC,YAAY6mC,GAC3BlG,EAAM3gC,YACJmgC,GACE,QACA,6DAC+B,OAA7BpsB,GAAsB,GAClBA,GAAsB,GACtB,UAEN6yB,IASR,GAHAjG,EAAM3gC,YAraR,WACE,MAAM6gC,EAAUn+C,SAAS4D,cAAc,OACvCu6C,EAAQh8C,UAAY,uBAEpB,IAAIiiD,GAAW,EACf,MAAMC,EAA0B,GAChCn/C,OAAO6C,KAAKqjC,IAActU,SAASp1B,IAC5B6lB,KAAK6d,IAAIgG,GAAa1pC,MACzB2iD,EAAwB7gD,KAAK4nC,GAAa1pC,IAC1C0iD,GAAW,MAGf,MAAME,EAA0B,GAChCp/C,OAAO6C,KAAKsjC,IAAevU,SAASp1B,IAC7B6lB,KAAK6d,IAAIiG,GAAc3pC,MAC1B4iD,EAAwB9gD,KAAK6nC,GAAc3pC,IAC3C0iD,GAAW,MAGf,MAAMG,EAA0B,GAChCr/C,OAAO6C,KAAKujC,IAAYxU,SAASp1B,IAC1B6lB,KAAK6d,IAAIkG,GAAW5pC,MACvB6iD,EAAwB/gD,KAAK8nC,GAAW5pC,IACxC0iD,GAAW,MAGf,MAAMI,EAAoB,GAC1Bt/C,OAAO6C,KAAKwf,KAAKk9B,UAAU3tB,SAASp1B,IAC7B6lB,KAAKghB,YAAYhhB,KAAKk9B,SAAS/iD,MAClC8iD,EAAkBhhD,KAAK+jB,KAAKk9B,SAAS/iD,IACrC0iD,GAAW,MAGf,MAAMM,EAAkB,GACxBx/C,OAAO6C,KAAKwf,KAAKo9B,cAAc7tB,SAASp1B,IACjC6lB,KAAKghB,YAAYhhB,KAAKo9B,aAAajjD,MACtCgjD,EAAgBlhD,KAAK+jB,KAAKo9B,aAAajjD,IACvC0iD,GAAW,MAGf,MAAM9b,EACJ/gB,KAAKghB,YAAY,mBAAqBhhB,KAAK6d,IAAI,iBAC3Cwf,EAAUr9B,KAAK6d,IAAI,eAEzB,IAAoB,cAAhB7d,KAAKie,QAA0B4e,GAAY9b,GAAUsc,KACvDzG,EAAQ7gC,YAAYigC,GAAY,kBAAmB,QAC/Cn2B,EAAU0rB,OAAOwB,KAAK,CACxB,GAAuC,IAAnC+P,EAAwB1iD,OAAc,CACxCw8C,EAAQ7gC,YACNmgC,GACE,QACA,gCACAE,GAAc0G,KAGlB,IAAIQ,EAAoB,IAIxB,GAHIt9B,KAAKmY,UAAU,oBAAmBmlB,EAAoB,IACtDt9B,KAAK6d,IAAI,gBAAeyf,GAAqB,IACjDA,GAAqB,EAAIt9B,KAAKu9B,eAC1Bv9B,KAAKuN,OAAQ,CACf,MAAMc,EAASrO,KAAKuN,OAAO,WACZ,IAAXc,EAAcivB,GAAqB,GACnB,IAAXjvB,EAAcivB,GAAqB,IACxB,IAAXjvB,IAAcivB,GAAqB,KAE9C,MAAME,EAAwBV,EAAwB1iD,OAAS,EAC/Dw8C,EAAQ7gC,YACNmgC,GACE,QACA,4DACAz9C,SAASqgB,eACP,GAAGsL,IACA,EAAIk5B,GAAqBE,EAAwB,WAC5Cp5B,IACL,EAAwB,GAApBk5B,GAA2BE,EAAwB,WAMlE,GAAuC,IAAnCT,EAAwB3iD,OAAc,CACxCw8C,EAAQ7gC,YACNmgC,GACE,QACA,gCACAE,GAAc2G,KAGlB,IAAIU,EAAoB,GAIxB,GAHIz9B,KAAKmY,UAAU,iBAAgBslB,EAAoB,IACvDA,GAAqB,EAAIz9B,KAAKu9B,eAC1Bv9B,KAAK6d,IAAI,cAAa4f,GAAqB,KAC3Cz9B,KAAKuN,OAAQ,CACf,MAAMc,EAASrO,KAAKuN,OAAO,WACZ,IAAXc,EAAcovB,GAAqB,GACnB,IAAXpvB,EAAcovB,GAAqB,IACxB,IAAXpvB,IAAcovB,GAAqB,KAE9C,MAAMD,EAAwBT,EAAwB3iD,OAAS,EAC/Dw8C,EAAQ7gC,YACNmgC,GACE,QACA,6CACAz9C,SAASqgB,eACP,GAAGsL,IACA,EAAIq5B,GAAqBD,EAAwB,WAMrB,IAAnCR,EAAwB5iD,QAC1Bw8C,EAAQ7gC,YACNmgC,GACE,QACA,gCACAE,GAAc4G,KAIpB,MAAMU,EAAc,SAAUC,GAC5B,IAAIC,EAAcD,GAAoB,EAAI39B,KAAKu9B,gBAI/C,GAHIv9B,KAAKmY,UAAU,0BAAyBylB,GAAe,IACvD59B,KAAK6d,IAAI,cAAa+f,GAAe,IACrC59B,KAAK6d,IAAI,eAAc+f,GAAe,IACtC59B,KAAKuN,OAAQ,CACf,MAAMc,EAASrO,KAAKuN,OAAO,WACZ,IAAXc,EAAcuvB,GAAe,GACb,IAAXvvB,EAAcuvB,GAAe,IAClB,IAAXvvB,IAAcuvB,GAAe,KAGxC,MAAMC,EAAgB,EAAID,EACpBE,EAAe99B,KAAKk9B,SAAS9iD,OAAS6iD,EAAkB7iD,OACxD2jD,EACJ/9B,KAAKo9B,aAAahjD,OAAS+iD,EAAgB/iD,OACvC4jD,EACY,GAAhBH,GAAuB,EAAIC,EAAe99B,KAAKk9B,SAAS9iD,QACpD6jD,EAEJ,GADAJ,GAEC,EAAIE,EAAmB/9B,KAAKo9B,aAAahjD,QAKtC8jD,EAHY,GAAhBL,GAAuBC,EAAe99B,KAAKk9B,SAAS9iD,QAEpC,GAAhByjD,GAAuBE,EAAmB/9B,KAAKo9B,aAAahjD,QAM9D,MAAO,CAAC4jD,EAHI,GAAVE,GAAiB,EAAIJ,EAAe99B,KAAKk9B,SAAS9iD,QAGvB6jD,EADjB,GAAVC,GAAiB,EAAIH,EAAmB/9B,KAAKo9B,aAAahjD,UAG7B,IAA7B6iD,EAAkB7iD,SACpBw8C,EAAQ7gC,YACNmgC,GACE,QACA,oCACAE,GAAc6G,KAGlBrG,EAAQ7gC,YACNmgC,GACE,QACA,yDACAz9C,SAASqgB,eACP,GAAGsL,GAAmD,IAAvBs5B,EAAY,KAAM,UAAgBt5B,GACzC,IAAtBs5B,EAAY,IAAK,WAMI,IAA3BP,EAAgB/iD,SAClBw8C,EAAQ7gC,YACNmgC,GACE,QACA,kCACAE,GAAc+G,KAGlBvG,EAAQ7gC,YACNmgC,GACE,QACA,6DACAz9C,SAASqgB,eACP,GAAGsL,GAAmD,IAAvBs5B,EAAY,KAAM,UAAgBt5B,GACzC,IAAtBs5B,EAAY,IAAK,WAOP,cAAhB19B,KAAKie,QACP2Y,EAAQ7gC,YACNmgC,GACE,QACA,kBACAz9C,SAASqgB,eAAesL,GAA4BmF,OAGtDwX,GACF6V,EAAQ7gC,YACNmgC,GACE,cACA,wBACAz9C,SAASqgB,eAAesL,GAA4BoF,KACpD,6BAIF6zB,GACFzG,EAAQ7gC,YACNmgC,GACE,QACA,yBACAz9C,SAASqgB,eACJpW,KAAKC,MAA2B,KAApB2mB,GAAe,IAAc,IAA5C,OAOZ,OAAOstB,EAoMWuH,IAElBzH,EAAM3gC,YAAYigC,GAAY,gBAAiB,SAC3Cn2B,EAAU0rB,OAAOyB,KAAM,CAqCzB,GApCA0J,EAAM3gC,YACJmgC,GACE,QACA,oCACEjzB,EAAYpD,EAAUghB,YAAc,GAChC,GAAG5d,EAAYpD,EAAUghB,sBACzB5d,EAAYpD,EAAUghB,YAAc,IACV,IAAzBhhB,EAAUghB,WAAmB,UAAY,eAEhDpoC,SAASqgB,eAAesL,GAA4B+M,KAAU,MAGlEulB,EAAM3gC,YACJmgC,GACE,QACA,0CACEhzB,EAAWrD,EAAUohB,iBACQ,IAA5BphB,EAAUohB,cAAsB,UAAY,cAC/CxoC,SAASqgB,eAAesL,GAA4B8F,GAAoB,MAG5EwsB,EAAM3gC,YACJmgC,GACE,QACA,+BAA+BhzB,EAAWrD,EAAUohB,iBACtB,IAA5BphB,EAAUohB,cAAsB,UAAY,cAE9CxoC,SAASqgB,eACPsL,GACE2B,GAA8Bq4B,QAC5Bl0B,GAAqBhH,EAAWrD,EAAUohB,oBAMhDjhB,KAAK6d,IAAI,mBAAoB,CAC/B,MAAMgH,EAAW,GACjBlnC,OAAO6C,KAAKojC,IAAUrU,SAASp1B,IACxB6lB,KAAK6d,IAAI+F,GAASzpC,KACrB0qC,EAAS5oC,KAAK2nC,GAASzpC,OAGH,IAApB0qC,EAASzqC,QACXs8C,EAAM3gC,YACJmgC,GACE,QACA,+BACAE,GAAcvR,KAatB,GATIhlB,EAAU8oB,cACZ+N,EAAM3gC,YACJmgC,GACE,QACA,wBACAz9C,SAASqgB,eAAesL,GAA4BpE,KAAKq+B,uBAI3Dr+B,KAAK+c,MAAMC,SAAU,CACvB,MAAM5K,EAAQ35B,SAAS4D,cAAc,QACrC+1B,EAAMvE,GAAK,uBACXuE,EAAMgL,UAAYpd,KAAKqd,QACV,GAAXrd,KAAKsX,KAAYtX,KAAK6wB,SAAW,EAAI7wB,KAAKsd,GAAgB,GAAXtd,KAAKsX,MACpD,GAEFof,EAAM3gC,YACJmgC,GAAa,QAAS,qBAAsB9jB,KAKlD7mB,EAAE,QAAQmjC,aAAagI,EAAOnrC,EAAE,QAAQolB,WAAW,IAE/C9Q,EAAU2oB,iBAtuJdj9B,EAAE,QAAQolB,WAAWpB,SAAS+uB,IAC5B,GAAIA,EAAY1hB,SAAS,GACvB,GACwC,aAAtC0hB,EAAY1hB,SAAS,GAAGjlB,WACxByS,GACA,CACA,MAAMm0B,EACJn0B,GAA6BvvB,MAAM,IAAIZ,OAAO,MAAO,MAAQ,GAC1DG,OAAS,EACRo2C,EAAQ/3C,SAAS4D,cAAc,OACrCm0C,EAAM3iB,GAAK,iCACX2iB,EAAM51C,UAAY,UAClB,MAAM4jD,EAAY/lD,SAAS4D,cAAc,OACzCmiD,EAAU7mC,UAAY,qCAAqC4mC,KACzDv+B,KAAKy+B,iBAAiBrkD,WACnBsI,KAAKkE,MACP23C,EAA0Bv+B,KAAKy+B,iBAAiBrkD,OAAU,SAE7Do2C,EAAMz6B,YAAYyoC,GAClBF,EAAYvoC,YAAYy6B,GACxB,MAAMhN,EAAW/qC,SAAS4D,cAAc,OACxCmnC,EAAS5oC,UAAY,mBACrB4oC,EAAS7rB,UAAYyS,GACrBk0B,EAAYvoC,YAAYytB,QACnB,GAA0C,aAAtC8a,EAAY1hB,SAAS,GAAGjlB,UAA0B,CAC3D,GAAIwS,GAAsB,CACxB,MAAMu0B,EACJv0B,GAAqBtvB,MAAM,IAAIZ,OAAO,MAAO,MAAQ,GAAGG,OAAS,EAC7Do2C,EAAQ/3C,SAAS4D,cAAc,OACrCm0C,EAAM3iB,GAAK,yBACX2iB,EAAM51C,UAAY,UAClB,MAAM4jD,EAAY/lD,SAAS4D,cAAc,OACzCmiD,EAAU7mC,UAAY,mCAAmC+mC,KACvD1+B,KAAKqV,eAAe,IAAIj7B,OAAS4lB,KAAKqV,eAAespB,KAAKvkD,WACvDsI,KAAKkE,MACP83C,GACE1+B,KAAKqV,eAAe,IAAIj7B,OACvB4lB,KAAKqV,eAAespB,KAAKvkD,QAC3B,SAEJo2C,EAAMz6B,YAAYyoC,GAClBF,EAAY5P,aAAa8B,EAAO8N,EAAY3tB,WAAW,IACvD,MAAM6S,EAAW/qC,SAAS4D,cAAc,OACxCmnC,EAAS5oC,UAAY,mBACrB4oC,EAAS7rB,UAAYwS,GACrBm0B,EAAY5P,aACVlL,EACA/qC,SAASyiC,eAAe,0BAA0B0jB,aAGtD,GAAIv0B,GAA6B,CAC/B,MAAMw0B,EACJx0B,GAA4BxvB,MAAM,IAAIZ,OAAO,MAAO,MAAQ,GACzDG,OAAS,EACRo2C,EAAQ/3C,SAAS4D,cAAc,OACrCm0C,EAAM3iB,GAAK,gCACX2iB,EAAM51C,UAAY,UAClB,MAAM4jD,EAAY/lD,SAAS4D,cAAc,OACzCmiD,EAAU7mC,UAAY,mCAAmCknC,KACvD7+B,KAAKqV,eAAegd,OAAOj4C,WACxBsI,KAAKkE,MACPi4C,EAAwB7+B,KAAKqV,eAAegd,OAAOj4C,OAAU,SAEhEo2C,EAAMz6B,YAAYyoC,GAClBF,EAAYvoC,YAAYy6B,GACxB,MAAMhN,EAAW/qC,SAAS4D,cAAc,OACxCmnC,EAAS5oC,UAAY,mBACrB4oC,EAAS7rB,UAAY0S,GACrBi0B,EAAYvoC,YAAYytB,QAqqJ5B3jB,EAAU4oB,qBAnOhB,WACE,IAAIqW,EACJnhD,OAAOohD,OAAOtmD,SAASsB,iBAAiB,cAAcw1B,SAASp1B,IACzDA,EAAEqD,YAAY6xC,SAAS,kBACzByP,EAAU3kD,EAAE6kD,cAAcjlD,iBAAiB,wBAAwB,OAGnE8lB,EAAU4oB,qBACZ9qC,OAAOohD,OAAOD,EAAQliB,UAAUrN,SAAS0vB,IACvC,IAAKA,EAAarkD,UAAUy0C,SAAS,WAAY,CAC/C,MAAMxhB,EAAKoxB,EAAa1M,QAAQ3vC,WAAW/H,MAAM,oBAAoB,IAC/DqsC,KAAEA,GAASlnB,KAAKk/B,iBAAiBrxB,GACvCoxB,EAAa78C,MAAMiW,mBAAqB,GAAc,IAAV6uB,EAAK,QACpC,IAAVA,EAAK,OAER+X,EAAaxM,YAAc,WACpBzyB,KAAKm/B,YACRn/B,KAAKo/B,WAAWvmD,MAChBmnB,KAAK4W,QAAQye,QAAU,EACvBr1B,KAAK4W,QAAQjlB,KACX9Y,MACA,WACE,OAnEhB,SAAwC23B,GACtC,MAAM6uB,EAAO,GACG,WAAZ7uB,EAAGrD,KAAmBkyB,EAAKpjD,KAAK,qBAAsB,WACrDojD,EAAKpjD,KAAK,cAAe,GAC9BojD,EAAKpjD,KAAK,SAAU,GAEpB,IAAIqjD,EAAa,GACbt/B,KAAK6d,IAAI,eAAkB7d,KAAKu/B,QAAsB,UAAZ/uB,EAAGrD,QAC/CmyB,EAAa,GACXA,GAAyB,IAAX9uB,EAAGgG,IAAW6oB,EAAKpjD,KAAK,gBAAiB,WAClDqjD,GAAc9uB,EAAGgG,IAAM,GAAG6oB,EAAKpjD,KAAK,iBAAkB,WAE/D,IAAIirC,KAAEA,GAAS1W,EACXA,EAAG2W,eAAcD,EAAO1W,EAAG2W,gBAE/B,IAAIgH,KAAEA,GAAS3d,EACXA,EAAGgvB,WAAUrR,EAAO3d,EAAGgvB,SAAS,UAEpC,IAAIC,EAAU,GACd,IAAK,IAAItlD,EAAI,EAAGA,EAAIklD,EAAKjlD,OAAQD,GAAK,EAChCA,EAAI,GAAM,IACZslD,GAAW,kCACO,IAAhBJ,EAAKllD,EAAI,GAAW,OAASklD,EAAKllD,EAAI,SACjCklD,EAAKllD,aAIhB,OAFAslD,EAAUA,EAAQ/sB,UAAU,GAErB,yJAEM,IAAVwU,EAAK,QACS,IAAVA,EAAK,sCACQ1W,EAAG9xB,iBACrB+gD,qDAA2DtR,oBAE3DnuB,KAAKu/B,OACD,oCAAoC/uB,EAAG3C,gBAAgBnrB,KAAKkE,MAC1D4pB,EAAGU,SACDV,EAAGpD,KAAO,aAAaoD,EAAGpD,OAAS,WACvC,KA8BiBsyB,CACL1/B,KAAKk/B,iBAAiBrxB,MAI5B,OAEF7N,KAAK4W,QAAQ0e,eAsMrBqK,GAuDJ,MAAMC,GAAe,CACnBpU,UAAW,qBACXC,YAAa,cACbC,SAAU,WACVC,QAAS,4BACTC,YAAa,+BACbC,QAAS,WACTC,WAAY,aACZC,aAAc,gBACdS,cAAe,iBAIXqT,GAA2B,CAC/B7T,oBAAqB,wBACrBC,eAAgB,gBAChBC,eAAgB,iBAChBC,gBAAiB,iBACjBC,iBAAkB,cAClBC,iBAAkB,iBAClBC,kBAAmB,WACnBC,qBAAsB,qBAaxB,SAASuT,GAAiBlQ,EAAQ9pB,GAChC,MAAM8K,EAAMn4B,SAAS4D,cAAc,OACnCu0B,EAAIh2B,UAAY,QAEhBg2B,EAAIxuB,MAAM6U,QAAU,MACpB2Z,EAAIxuB,MAAM0vB,SAAW,OACrBlB,EAAI7a,YAAYtd,SAASqgB,eAAe,GAAGgN,OAC3C,MAAMmwB,EAAOx9C,SAAS4D,cAAc,QAiBpC,OAhBA45C,EAAK7zC,MAAM+U,OAAS,UACpB8+B,EAAK7zC,MAAMqV,QAAU,eACrBw+B,EAAK7zC,MAAMmG,OAAS,OACpB0tC,EAAK7zC,MAAMkG,MAAQ,OACnB2tC,EAAK7zC,MAAMsU,aAAe,MAC1Bu/B,EAAK7zC,MAAMuW,UAAY,SACvBs9B,EAAK7zC,MAAM4U,gBAAkB,UAC7Bi/B,EAAK7zC,MAAM2F,MAAQ,QACnBkuC,EAAK7zC,MAAM0vB,SAAW,OACtBmkB,EAAK7zC,MAAM4vB,cAAgB,SAC3BikB,EAAKz4C,YAAcqiB,EAAU0rB,OAAOqE,GAAU,IAAM,IACpDqG,EAAK1D,QAAU,WACbwD,GAAanG,GACb5vB,KAAKmf,cAEPvO,EAAI7a,YAAYkgC,GACTrlB,EA4FT,SAASmvB,GAAiBnQ,GACxB,MAAMhf,EAAMn4B,SAAS4D,cAAc,OAKnC,GAJAu0B,EAAIh2B,UAAY,UACoB,IAAhCilB,EAAUsE,mBACZyM,EAAI7a,YAlCR,SAA6B65B,GAC3B,MAAMoQ,EAAUvnD,SAAS4D,cAAc,KAqBvC,OApBI8nB,GAAkBkrB,SAASO,IAC7BoQ,EAAQ5iB,UAAY,IACpB4iB,EAAQ59C,MAAM2F,MAAQ,UACjBi4C,EAAQ5iB,UAAY,IAC3B4iB,EAAQplD,UAAY,SACpBolD,EAAQzN,QAAU,YA3DpB,SAAgC3C,GAC1BzrB,GAAkBkrB,SAASO,GAC7BzrB,GAAoBA,GAAkBuuB,QAAO,SAAUuN,GACrD,OAAOA,IAAQrQ,KAEdzrB,GAAkBloB,KAAK2zC,GAuD1BsQ,CAAuBtQ,GACvB2D,KACAvzB,KAAKmf,cAEP6gB,EAAQvN,YAAc,WACpBzyB,KAAK4W,QAAQjlB,KACX9Y,KACAgmC,OAAOrc,EAAsB29B,4BAA4BxoC,aAG7DqoC,EAAQpN,WAAa,WACnB5yB,KAAK4W,QAAQzlB,QAEf6uC,EAAQjqC,YAAYtd,SAASqgB,eAAe,MACrCknC,EAYWI,CAAoBxQ,IAEJ,SAA9BnB,GAAamB,GAAQp1C,KAAiB,CACxC,MAAMwI,EAAIvK,SAAS4D,cAAc,KAC7BoyC,GAAamB,GAAQxB,QAAgC,IAAtBvuB,EAAU+vB,GAC3C5sC,EAAEpI,UAAY,aAEdoI,EAAEpI,UAAY,SAEhBoI,EAAE6qB,GAAKgoB,GAA6BjG,EACpC5sC,EAAEuvC,QAAU,YApmDhB,SAAsB3C,GACpB/vB,EAAU+vB,IAAW,EAEjB/vB,EAAU+vB,KAAYnB,GAAamB,GAAQ1B,MAAM9zC,QACnDylB,EAAU+vB,GAAU,EAChBnB,GAAamB,GAAQxB,SACvB7iC,EAAEsqC,GAA6BjG,GAAQh1C,UAAY,eAChD2Q,EAAEsqC,GAA6BjG,GAAQh1C,UAAY,cAEjB,IAA9B6zC,GAAamB,GAAQ1wC,MAC9BuvC,GAAamB,GAAQ1wC,OAGvBqM,EAAEsqC,GAA6BjG,GAAQj4B,UACrC82B,GAAamB,GAAQ1B,MAAMruB,EAAU+vB,IACvC2D,KAslDI8M,CAAazQ,IAEf5sC,EAAExF,YAAcixC,GAAamB,GAAQ1B,MAAMruB,EAAU+vB,IACrDhf,EAAI7a,YAAY/S,GAChB,MAAMkrC,EAAQz1C,SAAS4D,cAAc,SAIrC,OAHA6xC,EAAM1wC,YAAcixC,GAAamB,GAAQzB,KACzCD,EAAM9rC,MAAMyW,WAAa,MACzB+X,EAAI7a,YAAYm4B,GACTtd,EAET,GAAkC,QAA9B6d,GAAamB,GAAQp1C,KAAgB,CACvC,MAAM41C,EAAS33C,SAAS4D,cAAc,OACtC+zC,EAAOx1C,UAAY,YACnB,MAAM41C,EAAQ/3C,SAAS4D,cAAc,OACrCm0C,EAAMpuC,MAAMk+C,MAAQ,OACpB9P,EAAM74B,UAAY82B,GAAamB,GAAQzB,KACvCiC,EAAOr6B,YAAYy6B,GACnB,MAAM+P,EAAU9nD,SAAS4D,cAAc,OACvCkkD,EAAQ1yB,GAAK,SAAS+hB,SACtB2Q,EAAQn+C,MAAMk+C,MAAQ,QACtBC,EAAQ5oC,UAAY,GAAGkI,EAAU+vB,MACjCQ,EAAOr6B,YAAYwqC,GACnB,MAAMC,EAAS/nD,SAAS4D,cAAc,SACtCmkD,EAAO5lD,UAAY,SACnB4lD,EAAO3yB,GAAK,SAAS+hB,IACrB4Q,EAAOp+C,MAAMwU,MAAQ,OACrB4pC,EAAOhmD,KAAO,QACdgmD,EAAOn6C,IAAM,IACbm6C,EAAOj6C,IAAM,MACbi6C,EAAOC,KAAO,IACdD,EAAOjjD,MAAQsiB,EAAU+vB,GACzB4Q,EAAO/hC,QAAU,WACfq3B,GAAmBlG,IAErB4Q,EAAOE,SAAW,WAChB5K,GAAmBlG,IAErBQ,EAAOr6B,YAAYyqC,GACnB5vB,EAAI7a,YAAYq6B,GAChB,MAAMptC,EAAIvK,SAAS4D,cAAc,KAYjC,OAXA2G,EAAEpI,UAAY,SACdoI,EAAEuvC,QAAU,WACVzC,GACEjwB,EAAU+vB,EAAO7uC,QAAQ,SAAU,aACnC6uC,EAAO7uC,QAAQ,SAAU,SACzB6uC,GACA,IAGJ5sC,EAAExF,YAAc,aAChBozB,EAAI7a,YAAY/S,GACT4tB,EAET,GAAkC,QAA9B6d,GAAamB,GAAQp1C,KAAgB,CACvC,MAAMy7C,EAAOx9C,SAAS4D,cAAc,QACpC45C,EAAKr7C,UAAY,SACjBq7C,EAAKz4C,YAAc,GAAGixC,GAAamB,GAAQ1B,SAC3C+H,EAAK7zC,MAAMyW,WAAa,MACxB+X,EAAI7a,YAAYkgC,GAChB,MAAM0K,EAAQloD,SAAS4D,cAAc,SACrCskD,EAAM9yB,GAAKgoB,GAA6BjG,EACxC+Q,EAAM/lD,UAAY,SAClB+lD,EAAMnmD,KAAO,OACbmmD,EAAMC,UAAW,EACjBD,EAAM5iD,aAAa,QAAS8hB,EAAU+vB,IACtC+Q,EAAMv+C,MAAMkG,MAAQ,QACpBsoB,EAAI7a,YAAY4qC,GAChB/vB,EAAI7a,YAAYtd,SAASqgB,eAAe,MACxC,MAAM+nC,EAAcpoD,SAAS4D,cAAc,SAC3CwkD,EAAYhzB,GAAK,GAAGgoB,GAA6BjG,UACjDiR,EAAYjmD,UAAY,SACxBimD,EAAYrmD,KAAO,OACnBqmD,EAAY9iD,aAAa,QAAS8hB,EAAU+vB,IAC5C,MAAM5sC,EAAIvK,SAAS4D,cAAc,KACjC2G,EAAEpI,UAAY,SACdoI,EAAEuvC,QAAU,YAlKhB,SAA6BuO,EAAS/iC,GACpCiC,KAAK+gC,YAAYnmD,UAAY,SAC7B,MAAMW,EAAMulD,EACZ9gC,KAAKghC,QAAQrpC,UAAY,GAAGpc,iCAC5BoC,OAAO6C,KAAKud,GAASwR,SAASp1B,IAC5B,MAAMuZ,EAASjb,SAAS4D,cAAc,KACtCqX,EAAOma,GAAK,eAAe1zB,IAC3BuZ,EAAO9Y,UAAY,SACnB8Y,EAAO6+B,QAAU,WACf0O,UAAU,gBACVljC,EAAQ5jB,GAAG,MAEbuZ,EAAOlW,YAAcugB,EAAQ5jB,GAAG,GAChC6lB,KAAKghC,QAAQpkB,SAAS,GAAG7mB,YAAYrC,MAEvCsM,KAAKkhC,cAAc9+C,MAAMqV,QAAU,QACnCuI,KAAKmhC,QAAQ/+C,MAAMqV,QAAU,QAC7BuI,KAAKghC,QAAQI,QACbphC,KAAKqhC,SAAW,EAChBrhC,KAAKshC,eAgJDC,CAAoBV,EAAYW,UAAW,CACzC,CACE,OACA,WACE3hC,EAAU+vB,GAAUrkC,EAAE,WAAgCqkC,WAAgBryC,MACtEg2C,KACAvzB,KAAKyhC,cACLzhC,KAAKmf,eAGT,CACE,SACA,WACEnf,KAAKyhC,mBAKbz+C,EAAExF,YAAc,OAChBozB,EAAI7a,YAAY/S,GAChB,MAAMkrC,EAAQz1C,SAAS4D,cAAc,SAIrC,OAHA6xC,EAAM1wC,YAAcixC,GAAamB,GAAQzB,KACzCD,EAAM9rC,MAAMyW,WAAa,MACzB+X,EAAI7a,YAAYm4B,GACTtd,EAET,GAAkC,WAA9B6d,GAAamB,GAAQp1C,KAAmB,CAC1C,MAAMknD,EAAYjpD,SAAS4D,cAAc,QACzCqlD,EAAU9mD,UAAY,SACtB,MAAM+lD,EAAQloD,SAAS4D,cAAc,SACrCskD,EAAM9yB,GAAK+hB,EACX+Q,EAAMv+C,MAAMkG,MAAQ,OACpBq4C,EAAM5iD,aAAa,QAAS8hB,EAAU+vB,IACtC8R,EAAU3rC,YAAY4qC,GAQtB,IAAIznD,GAAQynD,EAAO,CAAEpmC,MAAM,EAAMnQ,SAAU,QAAS4P,QAPrC,WACb6F,EAAUhnB,KAAKmD,cAAc6xB,IAAMh1B,KAAK8gB,cACxC25B,KACAC,KACAvzB,KAAKmf,gBAIP,MAAM+O,EAAQz1C,SAAS4D,cAAc,SAIrC,GAHA6xC,EAAM1wC,YAAcixC,GAAamB,GAAQzB,KACzCD,EAAM9rC,MAAMyW,WAAa,MACzB6oC,EAAU3rC,YAAYm4B,GAClB0B,EAAOP,SAAS,SAAU,CAC5B,MAAMrsC,EAAIvK,SAAS4D,cAAc,KACjC2G,EAAEpI,UAAY,SACdoI,EAAEuvC,QAAU,WACV5C,GAAM,EAAGC,EAAO7uC,QAAQ,SAAU,KAAK,IAEzCiC,EAAExF,YAAc,aAChBkkD,EAAU3rC,YAAY/S,GAIxB,OAFA4tB,EAAI7a,YAAY2rC,GAChB9L,KAAkBn8C,OACXm3B,EAET,GAAkC,aAA9B6d,GAAamB,GAAQp1C,KAAqB,CAC5C,MAAMy7C,EAAOx9C,SAAS4D,cAAc,QACpC45C,EAAKr7C,UAAY,SACjBq7C,EAAKz4C,YAAc,GAAGixC,GAAamB,GAAQ1B,SAC3C+H,EAAK7zC,MAAMyW,WAAa,MACxB+X,EAAI7a,YAAYkgC,GAChB,MAAM0K,EAAQloD,SAAS4D,cAAc,SACrCskD,EAAM9yB,GAAKgoB,GAA6BjG,EACxC+Q,EAAM/lD,UAAY,SAClB+lD,EAAMnmD,KAAO,SACbmmD,EAAMpjD,MAAQsiB,EAAU+vB,GACxB+Q,EAAMt6C,IAAMooC,GAAamB,GAAQvpC,IACjCs6C,EAAMp6C,IAAMkoC,GAAamB,GAAQrpC,IACjCo6C,EAAMliC,QAAU,WACV5lB,KAAK0E,MAAQ1E,KAAK0N,KAAKvL,QAAQuqB,IAAI,QACvC1F,EAAU+vB,GAAU/2C,KAAK0E,MACzBg2C,KACA/F,MAEF5c,EAAI7a,YAAY4qC,GAChB/vB,EAAI7a,YAAYtd,SAASqgB,eAAe,MACxC,MAAMo1B,EAAQz1C,SAAS4D,cAAc,SAIrC,OAHA6xC,EAAM1wC,YAAcixC,GAAamB,GAAQzB,KACzCD,EAAM9rC,MAAMyW,WAAa,MACzB+X,EAAI7a,YAAYm4B,GACTtd,EAET,OAAOA,EA4UT,SAAS+wB,GAAUniD,GACjB,GAA2B,IAAvBqgB,EAAU4T,UAA4C,IAA1B5T,EAAU6T,YAAmB,CAC3D,MAAMkuB,EAAiB36C,SAASsE,EAAE,cAAcnJ,MAAMmG,OAAQ,IAC9DyX,KAAK6hC,QAAUD,EACfpiD,IACAwgB,KAAK6hC,QAAUD,OAEfpiD,IAuBJ,SAASsiD,KAEPpgC,EAAgBkD,SAAWA,SAE3BA,SAAWR,GAEX1C,EAAgBqgB,eAAiB/hB,KAAK+hB,eACtC/hB,KAAK+hB,eAAiB,WACpBrgB,EAAgBqgB,iBAChBha,GAAY,GAGdrG,EAAgBkV,QAAU,GAC1BlV,EAAgBkV,QAAQjlB,KAAOqO,KAAK4W,QAAQjlB,KAC5C+P,EAAgBkV,QAAQmrB,QAAU,IAAInmD,SACpC,UAAUokB,KAAK4W,QAAQjlB,KAAK/O,WAAW5B,MAAM,QAAQ6C,KAAK,kBAD1B,GAGlCmc,KAAK4W,QAAQjlB,KAAO,SAAUqwC,EAAMl8B,EAAM7I,GACxCyE,EAAgBkV,QAAQmrB,QAAQC,EAAMl8B,EAAM7I,IAG9CyE,EAAgBkV,QAAQqrB,OAASjiC,KAAK4W,QAAQqrB,OAC9CvgC,EAAgBkV,QAAQsrB,UAAY,IAAItmD,SACtC,UAAUokB,KAAK4W,QAAQqrB,OACpBr/C,WACA5B,MAAM,SACN6C,KAAK,mBAJ0B,GAMpCmc,KAAK4W,QAAQqrB,OAAS,WACpBvgC,EAAgBkV,QAAQsrB,YA5H5B,WACE,GAA4B,UAAxBliC,KAAK4W,QAAQ3Z,OAAoB,CACnC,IAAIklC,EAAa,EAEa,IAA5BtiC,EAAUuc,eACgB,IAA1Bvc,EAAU8X,aAC0B,OAApCpsB,EAAE,gCAEF42C,EAAa52C,EAAE,8BAA8BpF,aAAe,GAE9D6Z,KAAK4W,QAAQwrB,IAAIhgD,MAAMsC,IAAM,GAAGhC,KAAK2D,IACnCY,SAAS+Y,KAAK4W,QAAQwrB,IAAIhgD,MAAMsC,IAAK,IACrC6G,EAAE,QAAQpF,aACRoF,EAAE,UAAUpF,aACZ6Z,KAAK4W,QAAQyrB,GAAGl8C,aAChBg8C,EACA,SA6GJG,IAGF5gC,EAAgB6gC,gBAAkBviC,KAAKuiC,gBACvCviC,KAAKuiC,gBAAkB,WACrBZ,GAAUjgC,EAAgB6gC,kBAG5B7gC,EAAgB8gC,cAAgBxiC,KAAKwiC,cACrCxiC,KAAKwiC,cAAgB,WACnBb,GAAUjgC,EAAgB8gC,gBAI5Bj3C,EAAE,aAAazN,oBAAoB,QAASkiB,KAAKyiC,aAAa,GAC9Dl3C,EAAE,aAAahS,iBACb,SACA,WACEooD,GAAU3hC,KAAKyiC,gBAEjB,GAGF/gC,EAAgBisB,gBAAkB3tB,KAAK2tB,gBACvC3tB,KAAK2tB,gBAAkB,WACrBjsB,EAAgBisB,kBAnHlBlsB,EAAuB,GACvB9jB,OAAO6C,KAAKwf,KAAKuQ,iBAAiBhB,SAASp1B,IACJ,OAAjCoR,EAAE,UAAUpR,KAAKs4C,cACnBhxB,EAAqBtnB,GAAKoR,EAAE,UAAUpR,KAAKs4C,YAC3ClnC,EAAE,UAAUpR,KAAKs4C,YAAc,WACxBzyB,KAAKm/B,YACRn/B,KAAKo/B,WAAWvmD,MAChBmnB,KAAK4W,QAAQye,QAAU,EACvBr1B,KAAK4W,QAAQjlB,KACX9Y,MACA,WACE,OAAO07C,GAAc,IAAK,GAAGp6C,OAE/B,SAEF6lB,KAAK4W,QAAQ0e,eAsGnBt1B,KAAK+hB,kBAGPrgB,EAAgBghC,aAAe1iC,KAAK0iC,aAKpC1iC,KAAK0iC,aAAe,SAAUh2B,KAEzB7M,EAAUyrB,cACXtrB,KAAKwkB,YAAY9X,GAAMyG,UAAYnT,KAAKoT,UACtB,IAAlBpT,KAAKqP,UAEL3N,EAAgBghC,aAAah2B,IAIjChL,EAAgBihC,mBAAqB3iC,KAAK2iC,mBAM1C3iC,KAAK2iC,mBAAqB,SAAUC,GAClClhC,EAAgBihC,mBAAmBC,GA92EvC,SAAqBA,GACnB,GAAiC,IAA7B/iC,EAAUooB,eAAsB,CAClC,MAAO4a,EAAUC,GA9DrB,SAA6BF,GAC3B5sB,KAGwBzqB,EAAE,iBAAiBqxB,SAAS,GAAGjlB,UAAU03B,SAC/D,aAEmB1nB,GAAiBi7B,EACjCl7B,GAAgBk7B,EAGrB,IAAI50B,EAAQ,EACZ,GACEtG,KAAkBS,IAClBR,KAAmBS,GAEnB,IAAK,IAAIjuB,EAAI6lB,KAAKwkB,YAAYpqC,OAAS,EAAGD,GAAK,IAAKA,EAClD,GAAI6lB,KAAKwkB,YAAYrqC,GAAGu0B,OAAS,EAAG,CAClC,MAAMgjB,EAAkBplB,GAAWtM,KAAKwkB,YAAYrqC,GAAGuE,MAAMA,KAC7D4tB,GAAWolB,GAAiBhjB,QAAU,EACtCtH,IAAqB,EACrB4G,EACE1B,GAAWolB,GAAiBljB,UAC5BxO,KAAKiP,eACHvsB,KAAK6D,IACH,EACA+lB,GAAWolB,GAAiBhjB,OAC1B,EACApC,GAAWolB,GAAiBjjB,MAEpCT,EAAQhO,KAAKkP,oBAAoB5C,GAAWolB,GAAkB1jB,GAC9DA,EAAQtrB,KAAKoL,KAAKkgB,GAClB,MAKN,MAAMkX,EAAwB3d,GAO9B,OANAwa,KAEAmC,KACIgB,IAA0B3d,IAC5Bwa,KAEK,CAAC9Z,GAAejI,KAAKsR,UAAWtD,GAkBH+0B,CAAoBH,GAChDI,EAAgBx9B,GACpBs9B,GAAiBD,EAAW7iC,KAAKsR,YAE7B2xB,EAAqB7+B,GAA6By+B,EAAW7iC,KAAKsR,UAAa,KAErF/lB,EAAE,kBAAkBnJ,MAAM8gD,UAAY,OACtC33C,EAAE,kBAAkBnJ,MAAMyvB,OAAS,MACnCtmB,EAAE,kBAAkBwK,YAAYtd,SAAS4D,cAAc,QAAQzB,UAC7D,OACF,MAAMg2B,EAAMn4B,SAAS4D,cAAc,OACnCu0B,EAAIxuB,MAAMw8B,SAAW,QACrBhO,EAAIxuB,MAAMuW,UAAY,SACtBiY,EAAIpzB,YAAc,wCAAwC4mB,GACxDy+B,OACII,sBACN13C,EAAE,kBAAkBwK,YAAY6a,GAChC,MAAMuyB,EAAO1qD,SAAS4D,cAAc,OACpC8mD,EAAK/gD,MAAMw8B,SAAW,QACtBukB,EAAK/gD,MAAMuW,UAAY,SACvBwqC,EAAK3lD,YAAc,gBAAgBwlD,yBACnCz3C,EAAE,kBAAkBwK,YAAYotC,IAw1EhCC,CAAYR,IAGdlhC,EAAgB2hC,kBAAoBrjC,KAAKqjC,kBAIzCrjC,KAAKqjC,kBAAoB,SAAUC,GACjC5hC,EAAgB2hC,kBAAkBC,GAx1EtC,WAEE,GAEwE,QADrE/3C,EAAE,gBAAgB3Q,UAAUC,MAAM,aACjC0Q,EAAE,gBAAgBqxB,SAAS,GAAGx6B,MAAMqB,WAAW5I,MAAM,WAEvD,IAAK,IAAIV,EAAI,EAAGA,EAAIoR,EAAE,gBAAgBolB,WAAWv2B,OAAQD,IACL,cAA9CoR,EAAE,gBAAgBolB,WAAWx2B,GAAGS,YAClC2Q,EAAE,gBAAgBqxB,SAASziC,GAAGs4C,YAAc,WAC1CxD,KACAjvB,KAAK4W,QAAQye,QAAU,EACvBr1B,KAAK4W,QAAQjlB,KACXpG,EAAE,gBACF,mDAAmD+c,WACnD,QAEFtI,KAAK4W,QAAQ0e,UAEf/pC,EAAE,gBAAgBqxB,SAASziC,GAAGy4C,WAAa,WACzC5yB,KAAK4W,QAAQ2sB,WAAa,IAs0EhCC,IAGF9hC,EAAgByd,WAAanf,KAAKmf,WAClCnf,KAAKmf,WAAa,gBAEwB,IAA9ByW,KAAmBnrC,aACiB,IAApCmrC,KAAmBnrC,OAAOC,QAElCgX,EAAgByd,aArXtB,WACE,MAAMqR,EAAQ/3C,SAAS4D,cAAc,OACrCm0C,EAAM51C,UAAY,QAEE,UAAhBolB,KAAKkd,QACPsT,EAAMhzC,YAAc,0BA7ExB,SAAqBgzC,GACnB,MAAM8F,EAAO79C,SAAS89C,yBACtBD,EAAKvgC,YAAYy6B,GAEjB7yC,OAAO6C,KAAKo/C,IAAcrwB,SAASye,IACjC,GAAc,cAAVA,GACF,GAAiC,IAA7B7pB,GAAkB/pB,QAAgBylB,EAAUsE,kBAAoB,IAClEmyB,EAAKvgC,YAAY+pC,GAAiB9R,EAAO4R,GAAa5R,KAClDnuB,EAAU0rB,OAAOyC,IACnB,IAAK,IAAIyV,EAAQ,EAAGA,EAAQt/B,GAAkB/pB,OAAQqpD,IACpDnN,EAAKvgC,YAAYgqC,GAAiB57B,GAAkBs/B,UAI1DnN,EAAKvgC,YAAY+pC,GAAiB9R,EAAO4R,GAAa5R,KAClDnuB,EAAU0rB,OAAOyC,KAGL,iBAAVA,EACFrwC,OAAO6C,KAAKq/C,IAA0BtwB,SAASm0B,IAC7C,MAAMC,EAAiB7D,GACrB4D,EACA7D,GAAyB6D,IAE3BC,EAAevhD,MAAM0vB,SAAW,OAChC6xB,EAAevhD,MAAM6U,QAAU,MAC/Bq/B,EAAKvgC,YAAY4tC,GACb9jC,EAAU0rB,OAAOmY,IACnB/lD,OAAO6C,KAAKiuC,IAAclf,SAAS7b,IAC7B+6B,GAAa/6B,GAAQs6B,QAAU0V,GACjCpN,EAAKvgC,YAAYgqC,GAAiBrsC,UAK1C/V,OAAO6C,KAAKiuC,IAAclf,SAAS7b,IAC7B+6B,GAAa/6B,GAAQs6B,QAAUA,GACjCsI,EAAKvgC,YAAYgqC,GAAiBrsC,WAO9C,MAAMkwC,EAASnrD,SAAS4D,cAAc,OACtCunD,EAAOhpD,UAAY,UACnB,MAAMipD,EAAYprD,SAAS4D,cAAc,KACzCwnD,EAAUjpD,UAAY,SACtBipD,EAAUtR,QAAU,WAClB0B,GAAWnM,KAEb+b,EAAUrmD,YAAc,kBACxBomD,EAAO7tC,YAAY8tC,GACnBvN,EAAKvgC,YAAY6tC,GAEjBr4C,EAAE,QAAQolB,WAAW,GAAG+d,aACtB4H,EACA/qC,EAAE,QAAQolB,WAAW,GAAGA,WACtBplB,EAAE,QAAQolB,WAAW,GAAGA,WAAWv2B,OAAS,IAoB9C0pD,CAAYtT,IACa,UAAhBxwB,KAAKkd,OACVrd,EAAUsd,QACZqT,EAAMhzC,YAAc,4BACpBi5C,GAAajG,IAEU,QAAhBxwB,KAAKkd,SACdsT,EAAMhzC,YAAc,kBAtdxB,SAAqBgzC,GACnB,MAAMuT,EAAOtrD,SAAS4D,cAAc,OACpC0nD,EAAKnpD,UAAY,aAEjB,MAAMq7C,EAAOx9C,SAAS4D,cAAc,QAmBpC,GAlBA45C,EAAK7zC,MAAM+U,OAAS,UACpB8+B,EAAK7zC,MAAMqV,QAAU,eACrBw+B,EAAK7zC,MAAMmG,OAAS,OACpB0tC,EAAK7zC,MAAMkG,MAAQ,OACnB2tC,EAAK7zC,MAAMsU,aAAe,MAC1Bu/B,EAAK7zC,MAAMuW,UAAY,SACvBs9B,EAAK7zC,MAAM4U,gBAAkB,UAC7Bi/B,EAAK7zC,MAAM2F,MAAQ,QACnBkuC,EAAK7zC,MAAM0vB,SAAW,OACtBmkB,EAAK7zC,MAAM4vB,cAAgB,SAC3BikB,EAAKz4C,YAAcqiB,EAAU0rB,OAAO0B,QAAU,IAAM,IACpDgJ,EAAK1D,QAAU,WACbwD,GAAa,WACb/1B,KAAKmf,cAEPqR,EAAMz6B,YAAYkgC,GAClB8N,EAAKhuC,YAAYy6B,GAEb3wB,EAAU0rB,OAAO0B,QAAS,CAC5B,MAAM+W,EAAcvrD,SAAS4D,cAAc,OAC3C2nD,EAAYrsC,UA/jSO,siBAgkSnBosC,EAAKhuC,YAAYiuC,GACjB,MAAMC,EAAQxrD,SAAS4D,cAAc,OACrC4nD,EAAMtsC,UAxjSiB,+1EAyjSvBosC,EAAKhuC,YAAYkuC,GAGnB,MAAMC,EAAO34C,EAAE,QAAQqxB,SAAS,GAChCsnB,EAAKxV,aAAaqV,EAAMG,EAAKtnB,SAAS,IAsbpCunB,CAAY3T,IAwWV4T,KAIJ1iC,EAAgB2b,QAAUrd,KAAKqd,QAC/B3a,EAAY,SAAU+C,EAAM4+B,GAC1B,OAAIx/B,OAAOpJ,MAAMgK,IAASA,GAAQ,EACzB/D,EAAgB2b,QAAQ5X,EAAM4+B,GAChC7+B,GAAWC,EAAOzF,KAAKsX,IAAK,IAGrC5V,EAAgB4iC,MAAQtkC,KAAKskC,MAC7BtkC,KAAKskC,MAAQ,WACX5iC,EAAgB4iC,QAGhB,IAAI9T,EAAQ,iBACQ,UAAhBxwB,KAAKie,SAAoBuS,EAAQ,gBACrCtsB,GAAQ,GAAGlE,KAAK6wB,SAAW,cAAgB,KAAKzsB,GAA4BpE,KAAKoT,YAC9D,IAAjBpT,KAAKoT,QAAgB,SAAW,eAC5Bod,IA5WV,WACE,GAAIxwB,KAAK6wB,UAAgC,IAApBhxB,EAAUqE,MAC7BzrB,SAAS+3C,MAAQtsB,QACZ,GAAwB,IAApBrE,EAAUqE,MAAa,CAChC,IAEIqgC,EACAC,EACAC,EAJAC,GAAQ,EACRC,GAAQ,EAORJ,EAFAn5B,GACEA,GAA0ByiB,MAClB,KAAKnrC,KAAKoL,KAAKsd,GAA0B2nB,KAAO/yB,KAAKsX,QAErD,KAAK50B,KAAKoL,KAAKsd,GAA0B2nB,KAAO/yB,KAAKsX,QACvDtX,KAAK6d,IAAI,uBAOJ,OANL,IACRhZ,OAAOtZ,EAAE,sBAAsB/N,aAAe,EAAI,IAAM,KACvDkF,KAAKoL,MACLkS,KAAK0d,aAAaC,OAAOI,QAAU/d,KAAK0d,aAAaC,OAAOlY,MAC3DzF,KAAKsX,QAIPxW,IACF4jC,GAAQ,EACRF,EAAU,OAGQ,cAAhBxkC,KAAKie,SACP0mB,GAAQ,EAENF,EADE5jC,EACQ,KAAKne,KAAKoL,KAAKud,GAAsB0nB,KAAO/yB,KAAKsX,QAEjD,IACRzS,OAAOtZ,EAAE,uBAAuB/N,aAAe,EAAI,IAAM,KACxDkF,KAAKoL,MACLkS,KAAK0d,aAAaQ,SAASH,QAC1B/d,KAAK0d,aAAaQ,SAASzY,MAC3BzF,KAAKsX,SAMb,IAAI/7B,EAAM2oB,GACY,MAAlB3oB,EAAI2L,OAAO,KACb3L,EAAMA,EAAIm3B,UAAUn3B,EAAIqpD,YAAY,KAAO,IAE7CnsD,SAAS+3C,MAAQ,GACf+T,GAAWG,EAAQF,EAAU,KAAOG,EAAQF,EAAU,OACpDlpD,SACC,GAAwB,IAApBskB,EAAUqE,MAAa,CAChC,IAAI3oB,EAAM,GACNspD,GAAQ,EACRz5B,KACFy5B,GAAQ,EACJz5B,GAA0ByiB,MAC5BtyC,GAAO,KAAKmH,KAAKoL,KAAKsd,GAA0B2nB,KAAO/yB,KAAKsX,QACzD/7B,GAAO,KAAKmH,KAAKoL,KAAKsd,GAA0B2nB,KAAO/yB,KAAKsX,SAE/DxW,IACF+jC,GAAQ,EACRtpD,GAAO,OAEW,cAAhBykB,KAAKie,QAA0Bpd,IACjCtlB,GAAO,KAAKmH,KAAKoL,KAAKud,GAAsB0nB,KAAO/yB,KAAKsX,QACxDutB,GAAQ,GAENA,IAAOtpD,GAAO,OAClB,IAAIi1C,EAAQ,iBACQ,UAAhBxwB,KAAKie,SAAoBuS,EAAQ,gBACrCj1C,GAAOi1C,EACP/3C,SAAS+3C,MAAQj1C,GAoSjBupD,GAtRJ,WACE,MAAM9S,EAAgBtvC,KAAK6D,IACzB,EACAyZ,KAAKiyB,oBACHvvC,KAAKkE,MAAMoZ,KAAK0mB,gBAAgB1mB,KAAK2mB,aAAe3mB,KAAKogB,gBACvD,IAEDpgB,KAAKogB,cAAgBpgB,KAAK2mB,eAGzB3D,EAAYhjB,KAAKqd,SACnB4C,KAAKC,MAAQlgB,KAAKgjB,WAAa,IAAQhjB,KAAKsX,KAC7C,GAEH,IAAI/7B,EAAM,GACVA,GAAO,kCACS,KAAdynC,EAAmB,gBAAkBA,aAEvCznC,GAAO,2BACHykB,KAAKqW,SAAW,IAClB96B,GAAO,uCAAuC6oB,GAC5CpE,KAAKqW,2BACYjS,GAA4BpE,KAAKqW,cACpD96B,GAAO,4BAGPA,GADE0rB,GAAyB,EACpB,6CACAA,GAAyB,EAE9B,6GAEK,uCAAuC7C,GAC5C6C,6BACyB7C,GACzB6C,uBACmB7C,GACnB6C,mCAEJ1rB,GAAO,2BACPA,GAAO,eAAe6oB,GACpB4tB,8CAEFz2C,GACEskB,EAAU0oB,oBACN,oCAAoCjd,kDAAyElH,GAC3GiF,GACA,iDAEF,GAEN9d,EAAE,iBAAiBoM,UAAYpc,EAuO7BwpD,IAqDJ,SAASC,KACPvV,KACAlI,KACAM,KAGAxnB,EAAe1iB,OAAO6C,KAAKwf,KAAK+wB,MAAM32C,OAtzFtCknB,EAAU7oB,SAAS4D,cAAc,SACjCilB,EAAQ9mB,KAAO,WACf8mB,EAAQuM,GAAK,QAEbp1B,SAASwsD,KAAKlvC,YAAYuL,GA16L5B,WACE,MAAMwR,EAASr6B,SAAS4D,cAAc,OACtCy2B,EAAOjF,GAAK,WACZiF,EAAO1wB,MAAMmG,OAAS,OACtBuqB,EAAO1wB,MAAMkG,MAAQ,OACrBwqB,EAAO1wB,MAAMgI,SAAW,WACxB0oB,EAAO1wB,MAAMqV,QAAU,OACvBqb,EAAO1wB,MAAM8iD,iBAAmB,UAChCpyB,EAAO1wB,MAAM8V,gBAAkB,+CAC/B4a,EAAO1wB,MAAM+iD,UAAY,kBACzBryB,EAAO1wB,MAAMoV,SAAW,OACxBsb,EAAO1wB,MAAMgjD,WACX,uDAEF,MAAMC,EAAQvyB,EAAO/c,YAAYtd,SAAS4D,cAAc,UACxDgpD,EAAMjjD,MAAMkG,MAAQ,OACpB+8C,EAAMjjD,MAAMuW,UAAY,SACxB0sC,EAAMjjD,MAAMoW,WAAa,SACzB,MAAM8sC,EAAQD,EAAMtvC,YAAYtd,SAAS4D,cAAc,UAEjDkpD,EAAW,SAAUz/B,EAAM/d,GAC/B,MAAMy9C,EAAK/sD,SAAS4D,cAAc,MAIlC,OAHAmpD,EAAGpjD,MAAMuW,UAAY,QACrB6sC,EAAG5qD,UAAY+mB,EAAgB5Z,EAC/By9C,EAAGhoD,YAAcsoB,EACV0/B,GAEHhrD,EAAO8qD,EAAMvvC,YAAYtd,SAAS4D,cAAc,OACtD7B,EAAK4H,MAAMs0B,WAAa,OACxBl8B,EAAKub,YACHwvC,EAAS,aAAsCxjC,IAEnCujC,EAAMvvC,YAAYtd,SAAS4D,cAAc,OACjD0Z,YAAYwvC,EAAS,eAAgB1jC,IAChCyjC,EAAMvvC,YAAYtd,SAAS4D,cAAc,OACjD0Z,YAAYwvC,EAAS,iBAAkB1jC,IAC7ByjC,EAAMvvC,YAAYtd,SAAS4D,cAAc,OACjD0Z,YAAYwvC,EAAS,YAAa1jC,IAEvCtW,EAAE,WAAWwK,YAAY+c,GAEzBn1B,OAAO6C,KAAKwf,KAAK0N,SAAS6B,SAASp1B,IACjCm4B,GAA2Bn4B,MAsrR7BsrD,GAjiRF,WACE,MAAMhyB,EAAWh7B,SAAS4D,cAAc,OACxCo3B,EAAS5F,GAAK,aACd4F,EAASrxB,MAAMgI,SAAW,WAC1BqpB,EAASrxB,MAAMqV,QAAU,OACzBgc,EAASrxB,MAAMmG,OAAS,MACxBkrB,EAASrxB,MAAM0vB,SAAW,OAC1B2B,EAASrxB,MAAMs0B,WAAa,OAC5BjD,EAASrxB,MAAM8iD,iBAAmB,QAGlC,MAAMQ,EAAeh0B,GAAY,eAAgB,cAAe,CAC9D,CAAE7D,GAAI,qBAAsB9lB,MAAOoa,GACnC,CAAE0L,GAAI,kBAAmB9lB,MAAOma,KAElCuR,EAAS1d,YAAY2vC,GAGrB,MAAMC,EAAgBj0B,GAAY,gBAAiB,gBAAiB,CAClE,CAAE7D,GAAI,sBAAuB9lB,MAAOoa,GACpC,CAAE0L,GAAI,mBAAoB9lB,MAAOia,KAEnCyR,EAAS1d,YAAY4vC,GACrB,MAAMC,EAAqBntD,SAAS4D,cAAc,OAClDupD,EAAmB/3B,GAAK,uBACxB4F,EAAS1d,YAAY6vC,GAErBr6C,EAAE,WAAWwK,YAAY0d,GAugRzBoyB,GA7mGF,WACE,MAAMC,EAAartD,SAAS4D,cAAc,OAC1CypD,EAAWj4B,GAAK,eAChBi4B,EAAW1jD,MAAMkG,MAAQ,OACzBw9C,EAAW1jD,MAAM8iD,iBAAmB,QACpCY,EAAW1jD,MAAMuW,UAAY,SAC7BmtC,EAAW1jD,MAAMs0B,WAAa,OAC9BovB,EAAW1jD,MAAMqV,QAAU,OAC3BquC,EAAW1jD,MAAMyU,OAAS,KAC1BivC,EAAWlT,WAAa,WACtB5yB,KAAK4W,QAAQzlB,QAGf,MAAMutB,EAAcjmC,SAAS4D,cAAc,OAC3CqiC,EAAY3oB,YA/Dd,WACE,MAAMgwC,EAASttD,SAAS4D,cAAc,OACtC0pD,EAAO3jD,MAAMw8B,SAAW,QACxBmnB,EAAO3jD,MAAM00B,aAAe,MAC5B,MAAM0Z,EAAQ/3C,SAAS4D,cAAc,OACrCm0C,EAAM51C,UAAY,OAClB41C,EAAMpuC,MAAM00B,aAAe,MAC3B0Z,EAAMhzC,YAAc,SACpBuoD,EAAOhwC,YAAYy6B,GAEnB,MAAMwV,EAAa,SAAUj+C,EAAO+d,GAClC,MAAM8K,EAAMn4B,SAAS4D,cAAc,OACnCu0B,EAAIxuB,MAAM4vB,cAAgB,SAC1B,MAAMikB,EAAOx9C,SAAS4D,cAAc,QAQpC,OAPA45C,EAAKr7C,UAAYgnB,EAAgB7Z,EACjCkuC,EAAK7zC,MAAMqV,QAAU,eACrBw+B,EAAK7zC,MAAMmG,OAAS,OACpB0tC,EAAK7zC,MAAMkG,MAAQ,OACnB2tC,EAAK7zC,MAAM2vB,YAAc,MACzBnB,EAAI7a,YAAYkgC,GAChBrlB,EAAI7a,YAAYtd,SAASqgB,eAAegN,IACjC8K,GAsBT,OAnBAm1B,EAAOhwC,YACLiwC,EAAWnkC,EAAY,iDAEzBkkC,EAAOhwC,YACLiwC,EAAWlkC,EAAa,wCAE1BikC,EAAOhwC,YACLiwC,EAAWjkC,EAAc,0CAE3BgkC,EAAOhwC,YACLiwC,EAAWhkC,EAAc,0CAE3B+jC,EAAOhwC,YACLiwC,EAAW/jC,EAAW,0CAExB8jC,EAAOhwC,YACLiwC,EAAW9jC,EAAc,8CAE3B6jC,EAAOhwC,YAAYiwC,EAAW7jC,EAAY,4BACnC4jC,EAoBiBE,IACxBH,EAAWrT,YAAc,WACvBzyB,KAAK4W,QAAQjlB,KAAK9Y,KAAMgmC,OAAOH,EAAY/mB,WAAY,UAGzD,MAAMuuC,EAAgB,SAAUr4B,EAAI9lB,GAClC,MAAMkuC,EAAOx9C,SAAS4D,cAAc,QAMpC,OALA45C,EAAKpoB,GAAKA,EACVooB,EAAKr7C,UAAY+mB,EAAgB5Z,EACjCkuC,EAAK7zC,MAAMkG,MAAQ,qBACnB2tC,EAAK7zC,MAAMqV,QAAU,eACrBw+B,EAAKz4C,YAAc,IACZy4C,GAET6P,EAAW/vC,YAAYmwC,EAAc,mBAAoBrkC,IACzDikC,EAAW/vC,YAAYmwC,EAAc,oBAAqBpkC,IAC1DgkC,EAAW/vC,YAAYmwC,EAAc,qBAAsBnkC,IAC3D+jC,EAAW/vC,YAAYmwC,EAAc,qBAAsBlkC,IAC3D8jC,EAAW/vC,YAAYmwC,EAAc,kBAAmBjkC,IACxD6jC,EAAW/vC,YAAYmwC,EAAc,qBAAsBhkC,IAC3D4jC,EAAW/vC,YAAYmwC,EAAc,mBAAoB/jC,IAEzD5W,EAAE,YAAY+N,WAAWo1B,aACvBoX,EACAv6C,EAAE,YAAY+N,WAAWqX,WAAW,IAwkGtCw1B,GAryFF,WACE,MAAMC,EAAc3tD,SAAS4D,cAAc,OAC3C+pD,EAAYv4B,GAAK,gBACjBu4B,EAAYhkD,MAAMkG,MAAQ,OAC1B89C,EAAYhkD,MAAMmG,OAAS,OAC3B69C,EAAYhkD,MAAM4U,gBAAkB,QACpCovC,EAAYhkD,MAAMqV,QAAU,OAC5B2uC,EAAYhkD,MAAMyU,OAAS,aAC3BuvC,EAAYhkD,MAAMgI,SAAW,WAC7BmB,EAAE,WAAWwK,YAAYqwC,GA6xFzBC,GAjkGF,WACE,MAAMz1B,EAAMn4B,SAAS4D,cAAc,OACnCu0B,EAAI/C,GAAK,sBACT+C,EAAIxuB,MAAMuW,UAAY,SACtB,MAAM3V,EAAIvK,SAAS4D,cAAc,KACjC2G,EAAEpI,UAAY,SACdoI,EAAEuvC,QAAU,WAC0B,SAAhChnC,EAAE,YAAYnJ,MAAMqV,SACtBlM,EAAE,YAAYnJ,MAAMqV,QAAU,OAC9BlM,EAAE,kBAAkBnJ,MAAMqV,QAAU,OACpClM,EAAE,gBAAgBnJ,MAAMqV,QAAU,OAClClM,EAAE,iBAAiBnJ,MAAMqV,QAAU,SAEnClM,EAAE,YAAYnJ,MAAMqV,QAAU,OACc,IAAxClM,EAAE,kBAAkBqxB,SAASxiC,SAC/BmR,EAAE,kBAAkBnJ,MAAMqV,QAAU,SACI,IAAtClM,EAAE,gBAAgBqxB,SAASxiC,SAC7BmR,EAAE,gBAAgBnJ,MAAMqV,QAAU,SACO,IAAvClM,EAAE,iBAAiBqxB,SAASxiC,SAC9BmR,EAAE,iBAAiBnJ,MAAMqV,QAAU,WAGzCzU,EAAExF,YAAc,qBAChBozB,EAAI7a,YAAY/S,GAChB,MAAMP,EAAIhK,SAAS4D,cAAc,KACjCoG,EAAE7H,UAAY,SACd6H,EAAE8vC,QAAU,WAC0B,SAAhChnC,EAAE,YAAYnJ,MAAMqV,QACtBlM,EAAE,YAAYnJ,MAAMqV,QAAU,OAC3BlM,EAAE,YAAYnJ,MAAMqV,QAAU,QAErChV,EAAEjF,YAAc,sBAChBozB,EAAI7a,YAAYtT,GAChB8I,EAAE,SAASmjC,aAAa9d,EAAKrlB,EAAE,SAASolB,WAAW,IAiiGnD21B,GAphKF,WACE,MAAMle,EAAU3vC,SAAS4D,cAAc,QACvC+rC,EAAQva,GAAK,YACbua,EAAQ/3B,IAAM,gBACd+3B,EAAQ0F,KAAO,uDACfr1C,SAAS8tD,qBAAqB,QAAQ,GAAGxwC,YAAYqyB,GAghKrDoe,GACA7oD,OAAO6C,KAAK+hB,GAAagN,SAASp1B,KAhgGpC,SAA6BukC,EAAa5Y,EAAM8Y,GAC9C,MAAMiN,EAAUpzC,SAAS4D,cAAc,OACvCwvC,EAAQhe,GAAK6Q,EACb,MAAMyP,EAAO11C,SAAS4D,cAAc,OACpC8xC,EAAK/rC,MAAMw8B,SAAWA,EACtBuP,EAAK/rC,MAAM00B,aAAe,MAC1B,MAAMlG,EAAMn4B,SAAS4D,cAAc,OACnCu0B,EAAIxuB,MAAMuW,UAAY,OACtBiY,EAAIpzB,YAAcsoB,EAClBqoB,EAAKp4B,YAAY6a,GACjBib,EAAQ91B,YAAYo4B,GACpB3rB,EAAsBkc,GAAemN,EAs/FnC4a,CACElkC,EAAYpoB,GAAG,GACfooB,EAAYpoB,GAAG,GACfooB,EAAYpoB,GAAG,OA53FrB,WACE,MAAMuiD,EAAUjkD,SAAS4D,cAAc,KACvCqgD,EAAQ7uB,GAAK,6BACb6uB,EAAQl/C,YAAc,iBACtBk/C,EAAQ9hD,UAAY,SACpB8hD,EAAQnK,QAAU,WAChB8B,MAEFqI,EAAQ9J,WAAa,WACnB5yB,KAAK4W,QAAQ2sB,WAAa,GAE5B7G,EAAQjK,YAAc,WACpBzyB,KAAK4W,QAAQye,QAAU,EACvBr1B,KAAK4W,QAAQjlB,KACX9Y,MACA,WACE,OAAO07C,GAAc,KAAM,YAE7B,QAEFv0B,KAAK4W,QAAQ0e,UAEf/pC,EAAE,oBAAoBqxB,SAAS,GAAG8pB,OAAOhK,GACzC,MAAME,EAAcnkD,SAAS4D,cAAc,KAC3CugD,EAAY/uB,GAAK,2BACjB+uB,EAAYp/C,YAAc,qBAC1Bo/C,EAAYhiD,UAAY,SACxBgiD,EAAYrK,QAAU,WACa,OAA7BzoB,GAAsB,KACxB9J,KAAKwR,UAAU1H,GAAsB,IAAIwqB,GAAK,IAElDsI,EAAYhK,WAAa,WACvB5yB,KAAK4W,QAAQ2sB,WAAa,GAE5B3G,EAAYnK,YAAc,WACxBzyB,KAAK4W,QAAQye,QAAU,EACvBr1B,KAAK4W,QAAQjlB,KACX9Y,MACA,WACE,OAAO07C,GAAc,KAAM,gBAE7B,QAEFv0B,KAAK4W,QAAQ0e,UAEf/pC,EAAE,oBAAoBqxB,SAAS,GAAG8pB,OAAO9J,GAk1FzC+J,GA3zFAp7C,EAAE,YAAYnJ,MAAMqV,QAAU,OAC9BlM,EAAE,aAAanJ,MAAMytB,QAAU,MAE/BtkB,EAAE,YAAYnJ,MAAMqV,QAAU,OAC9BlM,EAAE,YAAYnJ,MAAM,aAAe,OAqInCzE,OAAO6C,KAAKwf,KAAK0N,SAAS6B,SAASp1B,IACjC,MAAMq2B,EAAKxQ,KAAK0N,QAAQvzB,GACiB,OAArCoR,EAAE,UAAUilB,EAAG3C,MAAM4kB,cACvBlxB,EAAmBpnB,GAAKoR,EAAE,UAAUilB,EAAG3C,MAAM4kB,YAC7ClnC,EAAE,UAAUilB,EAAG3C,MAAM4kB,YAAc,WACjCzyB,KAAK4W,QAAQye,QAAU,EACvBr1B,KAAK4W,QAAQjlB,KACX9Y,MACA,WACE,OAAO07C,GAAc,IAAK,GAAGp6C,OAE/B,SAEF6lB,KAAK4W,QAAQ0e,cAUft1B,KAAK4mC,aACPtmC,EAAoB/U,EAAE,SAASknC,YAC/BlnC,EAAE,SAASknC,YAAc,WACvBzyB,KAAK4W,QAAQye,QAAU,EACvBr1B,KAAK4W,QAAQjlB,KACX9Y,MACA,WACE,OAAO07C,GAAc,IAAK,UAE5B,QAEFv0B,KAAK4W,QAAQ0e,WAkFjB10B,EAAgBZ,KAAKY,cACrBZ,KAAKY,cAAgB,WACnBA,IA3EEZ,KAAK0N,QAAQmM,KAAKzL,iBACpB7iB,EAAE,gBAAgBknC,YAAc,WAC9BzyB,KAAK4W,QAAQye,QAAU,EACvBr1B,KAAK4W,QAAQjlB,KACX9Y,MACA,WACE,OAAO07C,GAAc,KAAM,sBAE7B,QAEFv0B,KAAK4W,QAAQ0e,UAEf3xC,MAAMq+C,KAAKz2C,EAAE,cAAcqxB,UAAUrN,SAASs3B,IAC5C,MAAMC,EAASD,EAAMh5B,GAAG3P,OAAO,GAC/B2oC,EAAMpU,YAAc,WAClBzyB,KAAK4W,QAAQye,QAAU,EACvBr1B,KAAK4W,QAAQjlB,KACX9Y,MACA,WACE,OAAO07C,GAAc,IAAK,CAAC,GAAGuS,EAAO,KAAM,GAAGA,EAAO,SAEvD,QAEF9mC,KAAK4W,QAAQ0e,cAsDjBF,KAhDJ,WACE,GAAIp1B,KAAK0N,QAAQF,OAAOY,eAAgB,CACtC,IAAK,IAAIj0B,EAAI,EAAGA,EAAI,GAAIA,GAAK,EAC3BoR,EAAE,YAAYpR,KAAKs4C,YAAc,WAC/BzyB,KAAK4W,QAAQye,QAAU,EACvBr1B,KAAK4W,QAAQjlB,KACX9Y,MACA,WACE,OAAO07C,GAAc,MAAOp6C,KAE9B,QAEF6lB,KAAK4W,QAAQ0e,UAGjB,IAAK,IAAIn7C,EAAI,EAAGA,EAAI,EAAGA,GAAK,EAC1BoR,EAAE,aAAapR,KAAKs4C,YAAc,WAChCzyB,KAAK4W,QAAQye,QAAU,EACvBr1B,KAAK4W,QAAQjlB,KACX9Y,MACA,WACE,OAAO07C,GAAc,MAAO,CAC1Bp6C,EACA6lB,KAAK0N,QAAQF,OAAOC,SAAS8I,KAAKp8B,OAGtC,QAEF6lB,KAAK4W,QAAQ0e,WAqBjByR,GACAtR,MAEFz1B,KAAKY,gBAu/ELrV,EAAE,wBAAwBknC,YAAc,WACtC9vB,EAAsB,GAExBpX,EAAE,wBAAwBqnC,WAAa,WACrCjwB,EAAsB,EACtB3C,KAAK4W,QAAQzlB,OACbxT,OAAO6C,KAAKwf,KAAKwR,WAAWjC,SAASp1B,IACnC0oB,EAA0B1oB,GAAK,MA+DnC2nD,KACArM,KACAz1B,KAAK+hB,iBAELkS,KACAxxB,EAAoBzC,KAAK6wB,SAErB7wB,KAAK+c,MAAMiqB,OACbhnC,KAAKinC,MACH,0CAGFjnC,KAAKknC,OACH,yCACA,GACA,GACA,EACA,GAGJlnC,KAAKmnC,IAAI,eA2EX,MAAMC,GAAK,CACT3tD,KA1DF,WACEi2C,IAAiB,EACjB,IAAI2X,GAAU,EACVrnC,KAAKgvB,UAAYnqB,OA7/TF,WA8/TjBwiC,EAAUC,QACR,4JAGAD,IACFrC,KACAhlC,KAAKunC,aAAa,OAAQzqB,IAC1B9c,KAAKunC,aAAa,QAAS3W,IAC3B5wB,KAAKunC,aAAa,QAASloB,IAC3BqQ,IAAiB,IA8CnB8X,KA/BF,SAAcjsD,GACZ,MAAMqzC,EAAOpzC,KAAKC,MAAMF,GACxBk0C,UAEsC,IAA3Bb,EAAKE,oBACd3qB,GAAoByqB,EAAKE,mBAC3BmF,GAAWrF,EAAKG,UACK,YAAjBH,EAAKI,UACHhvB,KAAK+c,MAAMiqB,OACbhnC,KAAKinC,MACH,iGAGFjnC,KAAKknC,OACH,gGACA,GACA,GACA,EACA,KAcNtY,KAAMA,IAGR5uB,KAAKynC,YAAY,gBAAiBL,KA/jUlC,IAxgHS","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","CycliusDateAtBeginLoop","CenturyDateAtBeginLoop","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CacheAverageCookiesFromClicks","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","CMDrawHook","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","reduce","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","MissingAchievements","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoopHook","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","calcSum","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","achievs","values","parentElement","achievsCrate","AchievementsById","mouseDown","setOnCrate","tags","neuromancy","sesame","descFunc","tagsStr","CrateTooltipLockedAchievements","AddMissingAchievements","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAIAC,EAIAC,EAOAC,EAlCAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GA6BtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file diff --git a/src/Main/LoopHook.js b/src/Main/LoopHook.js index 91fbf016..5f484417 100644 --- a/src/Main/LoopHook.js +++ b/src/Main/LoopHook.js @@ -30,14 +30,13 @@ import CheckMagicMeter from './CheckStates/Grimoire'; import CheckSeasonPopup from './CheckStates/Season'; import CheckTickerFortune from './CheckStates/Ticker'; import CheckWrinklerCount from './CheckStates/Wrinkler'; -import { DateAtBeginLoop, LastModCount } from './VariablesAndData'; +import { LastModCount } from './VariablesAndData'; /** * Main loop of Cookie Monster * CM.init registers it to the "logic" hook provided by the modding api */ export default function CMLoopHook() { - DateAtBeginLoop = Date.now(); if (LastAscendState !== Game.OnAscend) { LastAscendState = Game.OnAscend; UpdateAscendState(); diff --git a/src/Main/ReplaceGameFunctions/ReplaceNative.js b/src/Main/ReplaceGameFunctions/ReplaceNative.js index 1ee8d851..2ed05363 100644 --- a/src/Main/ReplaceGameFunctions/ReplaceNative.js +++ b/src/Main/ReplaceGameFunctions/ReplaceNative.js @@ -13,7 +13,11 @@ import UpdateTooltipLocation from '../../Disp/Tooltips/PositionLocation'; import { CMSayTime, Title } from '../../Disp/VariablesAndData'; import { SimDoSims } from '../../Sim/VariablesAndData'; import ReplaceTooltipUpgrade from '../ReplaceGameElements/TooltipUpgrades'; -import { BackupFunctions } from '../VariablesAndData'; +import { + BackupFunctions, + CenturyDateAtBeginLoop, + CycliusDateAtBeginLoop, +} from '../VariablesAndData'; import FixMouseY from './FixMouse'; /** @@ -29,6 +33,8 @@ export default function ReplaceNative() { Game.CalculateGains = function () { BackupFunctions.CalculateGains(); SimDoSims = 1; + CycliusDateAtBeginLoop = Date.now(); + CenturyDateAtBeginLoop = Date.now(); }; BackupFunctions.tooltip = {}; diff --git a/src/Main/VariablesAndData.js b/src/Main/VariablesAndData.js index 429d7f30..a014e9d5 100644 --- a/src/Main/VariablesAndData.js +++ b/src/Main/VariablesAndData.js @@ -22,7 +22,10 @@ export let LastMagicBarFull; export let CurrSpawnedGoldenCookieState; export let LastWrinklerCount; -/** Stores the date at the beginning of a Main loop - * Calculations depending on time (God Cyclius) will all use same time +/** Stores the date at Game.CalculateGains for God Cyclius */ -export let DateAtBeginLoop; +export let CycliusDateAtBeginLoop; + +/** Stores the date at Game.CalculateGains for the Century egg + */ +export let CenturyDateAtBeginLoop; diff --git a/src/Sim/Calculations/CalculateGains.js b/src/Sim/Calculations/CalculateGains.js index 5c11539e..0d402d8c 100644 --- a/src/Sim/Calculations/CalculateGains.js +++ b/src/Sim/Calculations/CalculateGains.js @@ -1,7 +1,10 @@ /* eslint-disable no-unused-vars */ import GetCPSBuffMult from '../../Cache/CPS/GetCPSBuffMult'; import { CacheCentEgg } from '../../Cache/VariablesAndData'; -import { DateAtBeginLoop } from '../../Main/VariablesAndData'; +import { + CenturyDateAtBeginLoop, + CycliusDateAtBeginLoop, +} from '../../Main/VariablesAndData'; import SimAuraMult from '../ReplacedGameFunctions/SimAuraMult'; import SimEff from '../ReplacedGameFunctions/SimEff'; import SimGetHeavenlyMultiplier from '../ReplacedGameFunctions/SimGetHeavenlyMultiplier'; @@ -94,17 +97,24 @@ export default function CalculateGains() { if (godLvl === 1) mult *= 1 + - 0.15 * Math.sin((DateAtBeginLoop / 1000 / (60 * 60 * 3)) * Math.PI * 2); + 0.15 * + Math.sin( + (CycliusDateAtBeginLoop / 1000 / (60 * 60 * 3)) * Math.PI * 2, + ); else if (godLvl === 2) mult *= 1 + 0.15 * - Math.sin((DateAtBeginLoop / 1000 / (60 * 60 * 12)) * Math.PI * 2); + Math.sin( + (CycliusDateAtBeginLoop / 1000 / (60 * 60 * 12)) * Math.PI * 2, + ); else if (godLvl === 3) mult *= 1 + 0.15 * - Math.sin((DateAtBeginLoop / 1000 / (60 * 60 * 24)) * Math.PI * 2); + Math.sin( + (CycliusDateAtBeginLoop / 1000 / (60 * 60 * 24)) * Math.PI * 2, + ); godLvl = SimHasGod('decadence'); if (godLvl === 1) buildMult *= 0.93; @@ -195,7 +205,7 @@ export default function CalculateGains() { if (SimHas('Century egg')) { // The boost increases a little every day, with diminishing returns up to +10% on the 100th day let day = - (Math.floor((DateAtBeginLoop - Game.startDate) / 1000 / 10) * 10) / + (Math.floor((CenturyDateAtBeginLoop - Game.startDate) / 1000 / 10) * 10) / 60 / 60 / 24; From e2f99d1cf978dad8fddf683cd68214cdccd43516 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Sun, 4 Apr 2021 15:14:29 +0200 Subject: [PATCH 25/30] Removed eslintignore file --- .eslintignore | 6 ------ .eslintrc.js | 1 + 2 files changed, 1 insertion(+), 6 deletions(-) delete mode 100644 .eslintignore diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 6ce89d0e..00000000 --- a/.eslintignore +++ /dev/null @@ -1,6 +0,0 @@ -CookieMonster.js -CookieMonster.user.js -src/*.js -!src/CookieMonster.js -!src/*/* -dist/* diff --git a/.eslintrc.js b/.eslintrc.js index 1a7f792b..edc18323 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -15,6 +15,7 @@ module.exports = { parserOptions: { ecmaVersion: 12, }, + ignorePatterns: ['*CookieMonster*.js', 'dist/*', 'node_modules/*'], rules: { 'import/no-mutable-exports': 'off', 'no-plusplus': ['error', { allowForLoopAfterthoughts: true }], From e3321ebe2fc47a906d28a7959bd86c0a48e6bdbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Sun, 4 Apr 2021 17:05:39 +0200 Subject: [PATCH 26/30] Fixed high number of ESLint errors --- .eslintrc.js | 4 ---- src/Cache/CPS/AverageQueue.js | 11 +++++----- src/Cache/CPS/CPS.js | 7 +++---- src/Cache/CPS/CurrWrinklerCPS.js | 5 ++--- src/Cache/CPS/NoGoldSwitchCPS.js | 3 +-- src/Cache/CPS/SellChoEgg.js | 3 +-- src/Cache/CacheInit.js | 6 +++--- src/Cache/CacheLoop.js | 3 +-- src/Cache/Dragon/CacheDragonAuras.js | 5 ++--- src/Cache/Dragon/Dragon.js | 5 +---- src/Cache/PP/Building.js | 13 ++++++------ src/Cache/PriceAndIncome/PriceAndIncome.js | 5 +---- src/Cache/Stats/ChainCookies.js | 17 +++++++-------- src/Cache/Stats/HeavenlyChips.js | 3 +-- src/Cache/Stats/MissingUpgrades.js | 3 ++- src/Cache/Stats/Reindeer.js | 3 +-- src/Cache/Stats/Stats.js | 13 ++++++------ src/Cache/Wrinklers/Wrinklers.js | 5 ++--- src/Config/CheckNotificationPermissions.js | 2 +- src/Config/Toggles/ToggleGCTimer.js | 2 +- src/Config/VariablesAndData.js | 4 +--- src/CookieMonster.js | 1 - src/Data/SettingsData.js | 3 +-- .../BeautifyFormatting.js | 14 ++++++------- src/Disp/BuildingsUpgrades/Buildings.js | 9 ++++---- src/Disp/BuildingsUpgrades/Upgrades.js | 5 ++--- .../GoldenCookieTimers/GoldenCookieTimers.js | 9 ++++---- .../MenuSections/Settings/CreateOption.js | 1 - .../Statistics/CreateMissingAchievements.js | 3 ++- src/Disp/Tooltips/CreateTooltip.js | 6 +++--- src/Disp/Tooltips/Tooltip.js | 9 +++----- src/Disp/VariablesAndData.js | 19 ++++++++--------- src/InitSaveLoad/Variables.js | 3 +-- src/InitSaveLoad/init.js | 4 ++-- src/InitSaveLoad/load.js | 3 +-- src/Main/CheckStates/GoldenCookie.js | 3 +-- src/Main/CheckStates/Season.js | 3 +-- src/Main/Initialization.js | 6 ++---- src/Main/LoopHook.js | 1 - .../ReplaceGameElements/NativeGrimoire.js | 5 ++--- src/Main/ReplaceGameElements/Tooltips.js | 5 ++--- .../ReplaceGameFunctions/ReplaceNative.js | 13 ++++++------ src/Main/VariablesAndData.js | 10 ++++----- src/Main/WrinklerArea/AddDetectArea.js | 3 +-- src/Sim/Calculations/CalculateGains.js | 5 ++--- src/Sim/SimulationData/CopyData.js | 21 +++++++++---------- src/Sim/SimulationData/SimWin.js | 3 +-- src/Sim/SimulationEvents/AuraChange.js | 3 +-- src/Sim/SimulationEvents/BuyUpgrades.js | 4 +--- src/Sim/SimulationEvents/GodChange.js | 3 ++- src/Sim/SimulationEvents/ResetAscension.js | 3 +-- .../SimulationEvents/SellBuildingForChoEgg.js | 3 +-- src/Sim/VariablesAndData.js | 7 +++---- 53 files changed, 130 insertions(+), 182 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index edc18323..5a6d452f 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -19,11 +19,7 @@ module.exports = { rules: { 'import/no-mutable-exports': 'off', 'no-plusplus': ['error', { allowForLoopAfterthoughts: true }], - 'no-new-func': 'off', 'func-names': 'off', - 'no-console': 'off', - 'no-alert': 'off', - 'no-restricted-globals': 'off', 'prefer-destructuring': ['error', { object: true, array: false }], 'max-len': [ 1, diff --git a/src/Cache/CPS/AverageQueue.js b/src/Cache/CPS/AverageQueue.js index 9313becd..ab2f4ebb 100644 --- a/src/Cache/CPS/AverageQueue.js +++ b/src/Cache/CPS/AverageQueue.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { ClickTimes, CookieTimes } from '../../Disp/VariablesAndData'; import { ChoEggDiff, @@ -65,9 +64,9 @@ export class CMAvgQueue { * Called by CM.Cache.InitCache() */ export function InitCookiesDiff() { - CookiesDiff = new CMAvgQueue(CookieTimes[CookieTimes.length - 1]); - WrinkDiff = new CMAvgQueue(CookieTimes[CookieTimes.length - 1]); - WrinkFattestDiff = new CMAvgQueue(CookieTimes[CookieTimes.length - 1]); - ChoEggDiff = new CMAvgQueue(CookieTimes[CookieTimes.length - 1]); - ClicksDiff = new CMAvgQueue(ClickTimes[ClickTimes.length - 1]); + CookiesDiff = new CMAvgQueue(CookieTimes[CookieTimes.length - 1]); // eslint-disable-line no-unused-vars + WrinkDiff = new CMAvgQueue(CookieTimes[CookieTimes.length - 1]); // eslint-disable-line no-unused-vars + WrinkFattestDiff = new CMAvgQueue(CookieTimes[CookieTimes.length - 1]); // eslint-disable-line no-unused-vars + ChoEggDiff = new CMAvgQueue(CookieTimes[CookieTimes.length - 1]); // eslint-disable-line no-unused-vars + ClicksDiff = new CMAvgQueue(ClickTimes[ClickTimes.length - 1]); // eslint-disable-line no-unused-vars } diff --git a/src/Cache/CPS/CPS.js b/src/Cache/CPS/CPS.js index 7e4f8e6d..33c69c37 100644 --- a/src/Cache/CPS/CPS.js +++ b/src/Cache/CPS/CPS.js @@ -1,5 +1,3 @@ -/* eslint-disable no-unused-vars */ - import { CMOptions } from '../../Config/VariablesAndData'; import { ClickTimes, CookieTimes } from '../../Disp/VariablesAndData'; import { @@ -41,7 +39,7 @@ export default function CacheAvgCPS() { if ((Game.T / Game.fps) % 1 === 0) { let choEggTotal = Game.cookies + CacheSellForChoEgg; if (Game.cpsSucked > 0) choEggTotal += CacheWrinklersTotal; - CacheRealCookiesEarned = Math.max(Game.cookiesEarned, choEggTotal); + CacheRealCookiesEarned = Math.max(Game.cookiesEarned, choEggTotal); // eslint-disable-line no-unused-vars choEggTotal *= 0.05; // Add recent gains to AvgQueue's @@ -89,8 +87,9 @@ export default function CacheAvgCPS() { CacheAverageGainBank + CacheAverageGainWrink + (choEgg ? CacheAverageGainChoEgg : 0); - } else CacheAvgCPSWithChoEgg = CacheAverageCPS; + } else CacheAvgCPSWithChoEgg = CacheAverageCPS; // eslint-disable-line no-unused-vars + // eslint-disable-next-line no-unused-vars CacheAverageClicks = ClicksDiff.calcAverage( ClickTimes[CMOptions.AvgClicksHist], ); diff --git a/src/Cache/CPS/CurrWrinklerCPS.js b/src/Cache/CPS/CurrWrinklerCPS.js index b42a53d2..f107becd 100644 --- a/src/Cache/CPS/CurrWrinklerCPS.js +++ b/src/Cache/CPS/CurrWrinklerCPS.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { SimObjects } from '../../Sim/VariablesAndData'; import { CacheCurrWrinklerCount, @@ -23,8 +22,8 @@ export default function CacheCurrWrinklerCPS() { else if (godLvl === 2) godMult *= 1.1; else if (godLvl === 3) godMult *= 1.05; } - CacheCurrWrinklerCount = count; - CacheCurrWrinklerCPSMult = + CacheCurrWrinklerCount = count; // eslint-disable-line no-unused-vars + CacheCurrWrinklerCPSMult = // eslint-disable-line no-unused-vars count * (count * 0.05 * 1.1) * (Game.Has('Sacrilegious corruption') * 0.05 + 1) * diff --git a/src/Cache/CPS/NoGoldSwitchCPS.js b/src/Cache/CPS/NoGoldSwitchCPS.js index a3a58301..f0cd5bc3 100644 --- a/src/Cache/CPS/NoGoldSwitchCPS.js +++ b/src/Cache/CPS/NoGoldSwitchCPS.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import CalcNoGoldSwitchCPS from '../../Sim/Calculations/NoGoldenSwitchCalc'; import { CacheNoGoldSwitchCookiesPS } from '../VariablesAndData'; @@ -10,5 +9,5 @@ import { CacheNoGoldSwitchCookiesPS } from '../VariablesAndData'; export default function CacheNoGoldSwitchCPS() { if (Game.Has('Golden switch [off]')) { CacheNoGoldSwitchCookiesPS = CalcNoGoldSwitchCPS(); - } else CacheNoGoldSwitchCookiesPS = Game.cookiesPs; + } else CacheNoGoldSwitchCookiesPS = Game.cookiesPs; // eslint-disable-line no-unused-vars } diff --git a/src/Cache/CPS/SellChoEgg.js b/src/Cache/CPS/SellChoEgg.js index 3825ce45..e3222e29 100644 --- a/src/Cache/CPS/SellChoEgg.js +++ b/src/Cache/CPS/SellChoEgg.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import SellBuildingsForChoEgg from '../../Sim/SimulationEvents/SellBuildingForChoEgg'; import { CacheSellForChoEgg } from '../VariablesAndData'; @@ -21,5 +20,5 @@ export default function CacheSellAllForChoEgg() { } // Compute cookies earned by selling all buildings with optimal auras (ES + RB) sellTotal += SellBuildingsForChoEgg(); - CacheSellForChoEgg = sellTotal; + CacheSellForChoEgg = sellTotal; // eslint-disable-line no-unused-vars } diff --git a/src/Cache/CacheInit.js b/src/Cache/CacheInit.js index 4a3dfc6c..1405d2f3 100644 --- a/src/Cache/CacheInit.js +++ b/src/Cache/CacheInit.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { ClickTimes } from '../Disp/VariablesAndData'; import { CMAvgQueue, InitCookiesDiff } from './CPS/AverageQueue'; import CacheAvgCPS from './CPS/CPS'; @@ -34,8 +33,9 @@ export default function InitCache() { CacheAllMissingUpgrades(); CacheSeasonSpec(); InitCookiesDiff(); - HeavenlyChipsDiff = new CMAvgQueue(5); // Used by CM.Cache.CacheHeavenlyChipsPS() - CacheAverageCookiesFromClicks = new CMAvgQueue( + /** Used by CM.Cache.CacheHeavenlyChipsPS() */ + HeavenlyChipsDiff = new CMAvgQueue(5); // eslint-disable-line no-unused-vars + CacheAverageCookiesFromClicks = new CMAvgQueue( // eslint-disable-line no-unused-vars ClickTimes[ClickTimes.length - 1] * 20, ); CacheHeavenlyChipsPS(); diff --git a/src/Cache/CacheLoop.js b/src/Cache/CacheLoop.js index e9e7af42..fc33e5b6 100644 --- a/src/Cache/CacheLoop.js +++ b/src/Cache/CacheLoop.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { FormatTime } from '../Disp/BeautifyAndFormatting/BeautifyFormatting'; import GetCPS from '../Disp/HelperFunctions/GetCPS'; import CacheAvgCPS from './CPS/CPS'; @@ -27,5 +26,5 @@ export default function LoopCache() { 1, ) - (Game.cookiesEarned + Game.cookiesReset); - CacheTimeTillNextPrestige = FormatTime(cookiesToNext / GetCPS()); + CacheTimeTillNextPrestige = FormatTime(cookiesToNext / GetCPS()); // eslint-disable-line no-unused-vars } diff --git a/src/Cache/Dragon/CacheDragonAuras.js b/src/Cache/Dragon/CacheDragonAuras.js index 04904821..32ef632c 100644 --- a/src/Cache/Dragon/CacheDragonAuras.js +++ b/src/Cache/Dragon/CacheDragonAuras.js @@ -1,10 +1,9 @@ -/* eslint-disable no-unused-vars */ import { CacheDragonAura, CacheDragonAura2 } from '../VariablesAndData'; /** * This functions caches the currently selected Dragon Auras */ export default function CacheDragonAuras() { - CacheDragonAura = Game.dragonAura; - CacheDragonAura2 = Game.dragonAura2; + CacheDragonAura = Game.dragonAura; // eslint-disable-line no-unused-vars + CacheDragonAura2 = Game.dragonAura2; // eslint-disable-line no-unused-vars } diff --git a/src/Cache/Dragon/Dragon.js b/src/Cache/Dragon/Dragon.js index c0f97a0b..5f64b531 100644 --- a/src/Cache/Dragon/Dragon.js +++ b/src/Cache/Dragon/Dragon.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ /** Functions related to the Dragon */ import { Beautify } from '../../Disp/BeautifyAndFormatting/BeautifyFormatting'; @@ -6,8 +5,6 @@ import CopyData from '../../Sim/SimulationData/CopyData'; import { SimDoSims, SimObjects } from '../../Sim/VariablesAndData'; import { CacheCostDragonUpgrade, - CacheDragonAura, - CacheDragonAura2, CacheLastDragonLevel, } from '../VariablesAndData'; @@ -70,7 +67,7 @@ export default function CacheDragonCost() { cost += price; SimObjects[target].amount -= 1; } - CacheCostDragonUpgrade = `Cost to rebuy: ${Beautify(cost)}`; + CacheCostDragonUpgrade = `Cost to rebuy: ${Beautify(cost)}`; // eslint-disable-line no-unused-vars }); } } diff --git a/src/Cache/PP/Building.js b/src/Cache/PP/Building.js index 85517447..13cc627b 100644 --- a/src/Cache/PP/Building.js +++ b/src/Cache/PP/Building.js @@ -1,5 +1,3 @@ -/* eslint-disable no-param-reassign */ -/* eslint-disable no-unused-vars */ import { CMOptions } from '../../Config/VariablesAndData'; import GetWrinkConfigBank from '../../Disp/HelperFunctions/GetWrinkConfigBank'; import { ColourGray } from '../../Disp/VariablesAndData'; @@ -20,16 +18,17 @@ import ColourOfPP from './ColourOfPP'; function CacheColour(target, amount) { Object.keys(target).forEach((i) => { if (CMOptions.PPRigidelMode && amount === 1) { - target[i].color = ColourGray; + target[i].color = ColourGray; // eslint-disable-line no-param-reassign return; } + // eslint-disable-next-line no-param-reassign target[i].color = ColourOfPP( target[i], Game.Objects[i].getSumPrice(amount), ); // Colour based on excluding certain top-buildings for (let j = 0; j < CMOptions.PPExcludeTop; j++) { - if (target[i].pp === CachePPArray[j][0]) target[i].color = ColourGray; + if (target[i].pp === CachePPArray[j][0]) target[i].color = ColourGray; // eslint-disable-line no-param-reassign } }); } @@ -38,11 +37,11 @@ function CachePP(target, amount) { Object.keys(target).forEach((i) => { const price = Game.Objects[i].getSumPrice(amount); if (Game.cookiesPs) { - target[i].pp = + target[i].pp = // eslint-disable-line no-param-reassign Math.max(price - (Game.cookies + GetWrinkConfigBank()), 0) / Game.cookiesPs + price / target[i].bonus; - } else target[i].pp = price / target[i].bonus; + } else target[i].pp = price / target[i].bonus; // eslint-disable-line no-param-reassign if (!(CMOptions.PPRigidelMode && amount === 1)) CachePPArray.push([target[i].pp, amount]); }); @@ -73,7 +72,7 @@ export default function CacheBuildingsPP() { } } } - CacheMinPP = CachePPArray[CMOptions.PPExcludeTop][indexOfMin]; + CacheMinPP = CachePPArray[CMOptions.PPExcludeTop][indexOfMin]; // eslint-disable-line no-unused-vars CacheColour(CacheObjects1, 1); CacheColour(CacheObjects10, 10); diff --git a/src/Cache/PriceAndIncome/PriceAndIncome.js b/src/Cache/PriceAndIncome/PriceAndIncome.js index cb9123b4..feceab8a 100644 --- a/src/Cache/PriceAndIncome/PriceAndIncome.js +++ b/src/Cache/PriceAndIncome/PriceAndIncome.js @@ -1,13 +1,10 @@ -/* eslint-disable no-unused-vars */ /** Section: Functions related to caching income */ import { CMOptions } from '../../Config/VariablesAndData'; -import GetCPS from '../../Disp/HelperFunctions/GetCPS'; import BuildingGetPrice from '../../Sim/SimulationEvents/BuyBuilding'; import BuyBuildingsBonusIncome from '../../Sim/SimulationEvents/BuyBuildingBonusIncome'; import BuyUpgradesBonusIncome from '../../Sim/SimulationEvents/BuyUpgrades'; import { - CacheAverageCPS, CacheAverageGainBank, CacheAverageGainWrink, CacheAverageGainWrinkFattest, @@ -30,7 +27,7 @@ function CacheBuildingIncome(amount) { result[i] = {}; result[i].bonus = BuyBuildingsBonusIncome(i, amount); if (amount !== 1) { - CacheDoRemakeBuildPrices = 1; + CacheDoRemakeBuildPrices = 1; // eslint-disable-line no-unused-vars } }); return result; diff --git a/src/Cache/Stats/ChainCookies.js b/src/Cache/Stats/ChainCookies.js index 27a29ae8..c1741cb4 100644 --- a/src/Cache/Stats/ChainCookies.js +++ b/src/Cache/Stats/ChainCookies.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import GetCPSBuffMult from '../CPS/GetCPSBuffMult'; import { CacheChainFrenzyMaxReward, @@ -89,8 +88,8 @@ export function CacheChain() { maxPayout, CacheGoldenCookiesMult, ); - CacheChainRequired = (CacheChainMaxReward[1] * 2) / CacheGoldenCookiesMult; - CacheChainRequiredNext = + CacheChainRequired = (CacheChainMaxReward[1] * 2) / CacheGoldenCookiesMult; // eslint-disable-line no-unused-vars + CacheChainRequiredNext = // eslint-disable-line no-unused-vars CacheChainMaxReward[2] / 60 / 60 / 6 / CacheDragonsFortuneMultAdjustment; CacheChainWrathMaxReward = MaxChainCookieReward( @@ -98,9 +97,9 @@ export function CacheChain() { maxPayout, CacheWrathCookiesMult, ); - CacheChainWrathRequired = + CacheChainWrathRequired = // eslint-disable-line no-unused-vars (CacheChainWrathMaxReward[1] * 2) / CacheWrathCookiesMult; - CacheChainWrathRequiredNext = + CacheChainWrathRequiredNext = // eslint-disable-line no-unused-vars CacheChainWrathMaxReward[2] / 60 / 60 / @@ -112,9 +111,9 @@ export function CacheChain() { maxPayout * 7, CacheGoldenCookiesMult, ); - CacheChainFrenzyRequired = + CacheChainFrenzyRequired = // eslint-disable-line no-unused-vars (CacheChainFrenzyMaxReward[1] * 2) / CacheGoldenCookiesMult; - CacheChainFrenzyRequiredNext = + CacheChainFrenzyRequiredNext = // eslint-disable-line no-unused-vars CacheChainFrenzyMaxReward[2] / 60 / 60 / @@ -126,9 +125,9 @@ export function CacheChain() { maxPayout * 7, CacheWrathCookiesMult, ); - CacheChainFrenzyWrathRequired = + CacheChainFrenzyWrathRequired = // eslint-disable-line no-unused-vars (CacheChainFrenzyWrathMaxReward[1] * 2) / CacheWrathCookiesMult; - CacheChainFrenzyWrathRequiredNext = + CacheChainFrenzyWrathRequiredNext = // eslint-disable-line no-unused-vars CacheChainFrenzyWrathMaxReward[2] / 60 / 60 / diff --git a/src/Cache/Stats/HeavenlyChips.js b/src/Cache/Stats/HeavenlyChips.js index ec4aff83..452ebca2 100644 --- a/src/Cache/Stats/HeavenlyChips.js +++ b/src/Cache/Stats/HeavenlyChips.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { CacheHCPerSecond, CacheLastHeavenlyCheck, @@ -34,6 +33,6 @@ export default function CacheHeavenlyChipsPS() { CacheLastHeavenlyChips = ascendNowToGet; // Get average gain over period of 5 seconds - CacheHCPerSecond = HeavenlyChipsDiff.calcAverage(5); + CacheHCPerSecond = HeavenlyChipsDiff.calcAverage(5); // eslint-disable-line no-unused-vars } } diff --git a/src/Cache/Stats/MissingUpgrades.js b/src/Cache/Stats/MissingUpgrades.js index 73975b88..d410f642 100644 --- a/src/Cache/Stats/MissingUpgrades.js +++ b/src/Cache/Stats/MissingUpgrades.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { crateMissing } from '../../Disp/MenuSections/Statistics/CreateMissingUpgrades'; import { CacheMissingUpgrades, @@ -36,6 +35,7 @@ export default function CacheAllMissingUpgrades() { let str = ''; str += crateMissing(me); + /* eslint-disable no-unused-vars */ if (me.pool === 'prestige') CacheMissingUpgradesPrestige += str; else if (me.pool === 'cookie') CacheMissingUpgradesCookies += str; else if ( @@ -44,6 +44,7 @@ export default function CacheAllMissingUpgrades() { me.pool !== 'debug' ) CacheMissingUpgrades += str; + /* eslint-enable no-unused-vars */ } }); } diff --git a/src/Cache/Stats/Reindeer.js b/src/Cache/Stats/Reindeer.js index 77d4cb10..f4142d0b 100644 --- a/src/Cache/Stats/Reindeer.js +++ b/src/Cache/Stats/Reindeer.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { CacheSeaSpec } from '../VariablesAndData'; /** @@ -12,6 +11,6 @@ export default function CacheSeasonSpec() { if (Game.hasBuff('Elder frenzy')) val *= 0.5; if (Game.hasBuff('Frenzy')) val *= 0.75; CacheSeaSpec = Math.max(25, val); - if (Game.Has('Ho ho ho-flavored frosting')) CacheSeaSpec *= 2; + if (Game.Has('Ho ho ho-flavored frosting')) CacheSeaSpec *= 2; // eslint-disable-line no-unused-vars } } diff --git a/src/Cache/Stats/Stats.js b/src/Cache/Stats/Stats.js index decbe0c8..2703b902 100644 --- a/src/Cache/Stats/Stats.js +++ b/src/Cache/Stats/Stats.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ /** Functions related to Caching stats */ import SimHas from '../../Sim/ReplacedGameFunctions/SimHas'; @@ -29,15 +28,15 @@ export function CacheStatsCookies() { const cpsBuffMult = GetCPSBuffMult(); if (cpsBuffMult > 0) CacheLucky /= cpsBuffMult; else CacheLucky = 0; - CacheLuckyReward = CacheGoldenCookiesMult * (CacheLucky * 0.15) + 13; - CacheLuckyWrathReward = CacheWrathCookiesMult * (CacheLucky * 0.15) + 13; + CacheLuckyReward = CacheGoldenCookiesMult * (CacheLucky * 0.15) + 13; // eslint-disable-line no-unused-vars + CacheLuckyWrathReward = CacheWrathCookiesMult * (CacheLucky * 0.15) + 13; // eslint-disable-line no-unused-vars CacheLuckyFrenzy = CacheLucky * 7; - CacheLuckyRewardFrenzy = + CacheLuckyRewardFrenzy = // eslint-disable-line no-unused-vars CacheGoldenCookiesMult * (CacheLuckyFrenzy * 0.15) + 13; - CacheLuckyWrathRewardFrenzy = + CacheLuckyWrathRewardFrenzy = // eslint-disable-line no-unused-vars CacheWrathCookiesMult * (CacheLuckyFrenzy * 0.15) + 13; CacheConjure = CacheLucky * 2; - CacheConjureReward = CacheConjure * 0.15; + CacheConjureReward = CacheConjure * 0.15; // eslint-disable-line no-unused-vars CacheEdifice = 0; let max = 0; @@ -53,7 +52,7 @@ export function CacheStatsCookies() { Game.Objects[i].price * 2 > CacheEdifice ) { CacheEdifice = Game.Objects[i].price * 2; - CacheEdificeBuilding = i; + CacheEdificeBuilding = i; // eslint-disable-line no-unused-vars } }); } diff --git a/src/Cache/Wrinklers/Wrinklers.js b/src/Cache/Wrinklers/Wrinklers.js index 5f593ee9..443af7ef 100644 --- a/src/Cache/Wrinklers/Wrinklers.js +++ b/src/Cache/Wrinklers/Wrinklers.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ /** Caches data related to Wrinklers */ import { SimObjects } from '../../Sim/VariablesAndData'; @@ -32,9 +31,9 @@ export default function CacheWrinklers() { else if (godLvl === 2) sucked *= 1.1; else if (godLvl === 3) sucked *= 1.05; } - CacheWrinklersTotal += sucked; + CacheWrinklersTotal += sucked; // eslint-disable-line no-unused-vars if (Game.wrinklers[i].type === 0) { - CacheWrinklersNormal += sucked; + CacheWrinklersNormal += sucked; // eslint-disable-line no-unused-vars if (sucked > CacheWrinklersFattest[0]) CacheWrinklersFattest = [sucked, i]; } diff --git a/src/Config/CheckNotificationPermissions.js b/src/Config/CheckNotificationPermissions.js index c20a0b0a..759a5b69 100644 --- a/src/Config/CheckNotificationPermissions.js +++ b/src/Config/CheckNotificationPermissions.js @@ -18,7 +18,7 @@ function CheckNotificationPermissions(ToggleOnOff) { // Check if the browser supports notifications and which type if (!('Notification' in window)) { - console.log('This browser does not support notifications.'); + console.log('This browser does not support notifications.'); // eslint-disable-line no-console } else if (checkNotificationPromise()) { Notification.requestPermission().then(); } else { diff --git a/src/Config/Toggles/ToggleGCTimer.js b/src/Config/Toggles/ToggleGCTimer.js index 044207f9..42e08591 100644 --- a/src/Config/Toggles/ToggleGCTimer.js +++ b/src/Config/Toggles/ToggleGCTimer.js @@ -1,4 +1,3 @@ -/* eslint-disable no-return-assign */ import { CacheGoldenShimmersByID } from '../../Cache/VariablesAndData'; import { GCTimers } from '../../Disp/VariablesAndData'; import { CMOptions } from '../VariablesAndData'; @@ -15,6 +14,7 @@ export default function ToggleGCTimer() { GCTimers[i].style.top = CacheGoldenShimmersByID[i].l.style.top; }); } else { + // eslint-disable-next-line no-return-assign Object.keys(GCTimers).forEach((i) => (GCTimers[i].style.display = 'none')); } } diff --git a/src/Config/VariablesAndData.js b/src/Config/VariablesAndData.js index c0ec2a6d..aea9382b 100644 --- a/src/Config/VariablesAndData.js +++ b/src/Config/VariablesAndData.js @@ -1,4 +1,2 @@ -/* eslint-disable prefer-const */ - -export let CMOptions = {}; +export let CMOptions = {}; // eslint-disable-line prefer-const export const ConfigPrefix = 'CMConfig'; diff --git a/src/CookieMonster.js b/src/CookieMonster.js index 658c81d7..b84881df 100644 --- a/src/CookieMonster.js +++ b/src/CookieMonster.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import init from './InitSaveLoad/init'; import load from './InitSaveLoad/load'; import save from './InitSaveLoad/save'; diff --git a/src/Data/SettingsData.js b/src/Data/SettingsData.js index 6786006b..21831f6e 100644 --- a/src/Data/SettingsData.js +++ b/src/Data/SettingsData.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import CheckNotificationPermissions from '../Config/CheckNotificationPermissions'; import { ToggleTimerBar, ToggleTimerBarPos } from '../Config/SpecificToggles'; import ToggleBotBar from '../Config/Toggles/ToggleBotBar'; @@ -72,7 +71,7 @@ const Config = { 'Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers', true, function () { - SimDoSims = true; + SimDoSims = true; // eslint-disable-line no-unused-vars }, ), diff --git a/src/Disp/BeautifyAndFormatting/BeautifyFormatting.js b/src/Disp/BeautifyAndFormatting/BeautifyFormatting.js index 1f7257e4..07b93735 100644 --- a/src/Disp/BeautifyAndFormatting/BeautifyFormatting.js +++ b/src/Disp/BeautifyAndFormatting/BeautifyFormatting.js @@ -1,4 +1,3 @@ -/* eslint-disable no-nested-ternary */ /** General functions to format or beautify strings */ import { CMOptions } from '../../Config/VariablesAndData'; @@ -78,6 +77,7 @@ export function Beautify(num, floats, forced) { } } if (answer === '') { + // eslint-disable-next-line no-console console.log( `Could not beautify number with Cookie Monster Beautify: ${num}`, ); @@ -86,7 +86,7 @@ export function Beautify(num, floats, forced) { if (CMOptions.ScaleSeparator) answer = answer.replace('.', ','); return answer; } - console.log(`Could not beautify number with Cookie Monster Beautify: ${num}`); + console.log(`Could not beautify number with Cookie Monster Beautify: ${num}`); // eslint-disable-line no-console return BackupFunctions.Beautify(num, floats); } @@ -119,15 +119,15 @@ export function FormatTime(time, longFormat) { return longFormat ? 'Over 9000 days!' : '>9000d'; str += y > 0 - ? `${y + (longFormat ? (y === 1 ? ' year' : ' years') : 'y')}, ` + ? `${y + (longFormat ? (y === 1 ? ' year' : ' years') : 'y')}, ` // eslint-disable-line no-nested-ternary : ''; str += - d > 0 ? `${d + (longFormat ? (d === 1 ? ' day' : ' days') : 'd')}, ` : ''; + d > 0 ? `${d + (longFormat ? (d === 1 ? ' day' : ' days') : 'd')}, ` : ''; // eslint-disable-line no-nested-ternary if (str.length > 0 || h > 0) - str += `${h + (longFormat ? (h === 1 ? ' hour' : ' hours') : 'h')}, `; + str += `${h + (longFormat ? (h === 1 ? ' hour' : ' hours') : 'h')}, `; // eslint-disable-line no-nested-ternary if (str.length > 0 || m > 0) - str += `${m + (longFormat ? (m === 1 ? ' minute' : ' minutes') : 'm')}, `; - str += s + (longFormat ? (s === 1 ? ' second' : ' seconds') : 's'); + str += `${m + (longFormat ? (m === 1 ? ' minute' : ' minutes') : 'm')}, `; // eslint-disable-line no-nested-ternary + str += s + (longFormat ? (s === 1 ? ' second' : ' seconds') : 's'); // eslint-disable-line no-nested-ternary } return str; } diff --git a/src/Disp/BuildingsUpgrades/Buildings.js b/src/Disp/BuildingsUpgrades/Buildings.js index 5b26253a..82f22da1 100644 --- a/src/Disp/BuildingsUpgrades/Buildings.js +++ b/src/Disp/BuildingsUpgrades/Buildings.js @@ -1,4 +1,3 @@ -/* eslint-disable no-nested-ternary */ import { CacheObjects1, CacheObjects10, @@ -72,10 +71,10 @@ export default function UpdateBuildings() { }); arr.sort(function (a, b) { - return ColoursOrdering.indexOf(a.color) > + return ColoursOrdering.indexOf(a.color) > // eslint-disable-line no-nested-ternary ColoursOrdering.indexOf(b.color) ? 1 - : ColoursOrdering.indexOf(a.color) < ColoursOrdering.indexOf(b.color) + : ColoursOrdering.indexOf(a.color) < ColoursOrdering.indexOf(b.color) // eslint-disable-line no-nested-ternary ? -1 : a.pp < b.pp ? -1 @@ -90,10 +89,10 @@ export default function UpdateBuildings() { }); arr.sort(function (a, b) { - return ColoursOrdering.indexOf(a.color) > + return ColoursOrdering.indexOf(a.color) > // eslint-disable-line no-nested-ternary ColoursOrdering.indexOf(b.color) ? 1 - : ColoursOrdering.indexOf(a.color) < ColoursOrdering.indexOf(b.color) + : ColoursOrdering.indexOf(a.color) < ColoursOrdering.indexOf(b.color) // eslint-disable-line no-nested-ternary ? -1 : a.pp < b.pp ? -1 diff --git a/src/Disp/BuildingsUpgrades/Upgrades.js b/src/Disp/BuildingsUpgrades/Upgrades.js index b5668aba..d3076b28 100644 --- a/src/Disp/BuildingsUpgrades/Upgrades.js +++ b/src/Disp/BuildingsUpgrades/Upgrades.js @@ -1,4 +1,3 @@ -/* eslint-disable no-nested-ternary */ import { CacheUpgrades } from '../../Cache/VariablesAndData'; import { CMOptions } from '../../Config/VariablesAndData'; import { @@ -81,9 +80,9 @@ export default function UpdateUpgrades() { if (CMOptions.SortUpgrades) { arr.sort(function (a, b) { - return ColoursOrdering.indexOf(a.color) > ColoursOrdering.indexOf(b.color) + return ColoursOrdering.indexOf(a.color) > ColoursOrdering.indexOf(b.color) // eslint-disable-line no-nested-ternary ? 1 - : ColoursOrdering.indexOf(a.color) < ColoursOrdering.indexOf(b.color) + : ColoursOrdering.indexOf(a.color) < ColoursOrdering.indexOf(b.color) // eslint-disable-line no-nested-ternary ? -1 : a.pp < b.pp ? -1 diff --git a/src/Disp/GoldenCookieTimers/GoldenCookieTimers.js b/src/Disp/GoldenCookieTimers/GoldenCookieTimers.js index a15a2747..8aa5df8c 100644 --- a/src/Disp/GoldenCookieTimers/GoldenCookieTimers.js +++ b/src/Disp/GoldenCookieTimers/GoldenCookieTimers.js @@ -1,4 +1,3 @@ -/* eslint-disable no-param-reassign */ /** Section: Functions related to the Golden Cookie Timers */ import { CMOptions } from '../../Config/VariablesAndData'; @@ -28,14 +27,14 @@ export default function CreateGCTimer(cookie) { cookie.pop(); }; GCTimer.onmouseover = function () { - cookie.l.style.filter = + cookie.l.style.filter = // eslint-disable-line no-param-reassign 'brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))'; - cookie.l.style.webkitFilter = + cookie.l.style.webkitFilter = // eslint-disable-line no-param-reassign 'brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))'; }; GCTimer.onmouseout = function () { - cookie.l.style.filter = ''; - cookie.l.style.webkitFilter = ''; + cookie.l.style.filter = ''; // eslint-disable-line no-param-reassign + cookie.l.style.webkitFilter = ''; // eslint-disable-line no-param-reassign }; GCTimers[cookie.id] = GCTimer; diff --git a/src/Disp/MenuSections/Settings/CreateOption.js b/src/Disp/MenuSections/Settings/CreateOption.js index 05813145..ea0b8d15 100644 --- a/src/Disp/MenuSections/Settings/CreateOption.js +++ b/src/Disp/MenuSections/Settings/CreateOption.js @@ -218,7 +218,6 @@ export default function CreatePrefOption(config) { input.min = Config[config].min; input.max = Config[config].max; input.oninput = function () { - if (this.value > this.max) console.log('TEST'); CMOptions[config] = this.value; SaveConfig(); RefreshScale(); diff --git a/src/Disp/MenuSections/Statistics/CreateMissingAchievements.js b/src/Disp/MenuSections/Statistics/CreateMissingAchievements.js index ee771756..e90e944b 100644 --- a/src/Disp/MenuSections/Statistics/CreateMissingAchievements.js +++ b/src/Disp/MenuSections/Statistics/CreateMissingAchievements.js @@ -1,4 +1,3 @@ -/* eslint-disable no-param-reassign */ import { CMOptions } from '../../../Config/VariablesAndData'; function CrateTooltipLockedAchievements(me) { @@ -58,9 +57,11 @@ export default function AddMissingAchievements() { if (!achievsCrate.className.includes('enabled')) { const id = achievsCrate.onclick.toString().match(/(?<=\[).*(?=\])/g)[0]; const { icon } = Game.AchievementsById[id]; + // eslint-disable-next-line no-param-reassign achievsCrate.style.backgroundPosition = `${-icon[0] * 48}px ${ -icon[1] * 48 }px`; + // eslint-disable-next-line no-param-reassign achievsCrate.onmouseover = function () { if (!Game.mouseDown) { Game.setOnCrate(this); diff --git a/src/Disp/Tooltips/CreateTooltip.js b/src/Disp/Tooltips/CreateTooltip.js index 3823f4c5..2f1a71c7 100644 --- a/src/Disp/Tooltips/CreateTooltip.js +++ b/src/Disp/Tooltips/CreateTooltip.js @@ -1,4 +1,3 @@ -/* eslint-disable no-param-reassign */ import { CMOptions } from '../../Config/VariablesAndData'; import { ColourTextPre, @@ -163,7 +162,7 @@ export function TooltipCreateCalculationSection(tooltip) { tooltip.appendChild(income); tooltip.appendChild(TooltipCreateHeader('Bonus Cookies per Click')); - tooltip.lastChild.style.display = 'none'; + tooltip.lastChild.style.display = 'none'; // eslint-disable-line no-param-reassign const click = document.createElement('div'); click.style.marginBottom = '4px'; click.style.color = 'white'; @@ -186,7 +185,8 @@ export function TooltipCreateCalculationSection(tooltip) { tooltip.appendChild( TooltipCreateHeader('Production left till next achievement'), ); - tooltip.lastChild.id = 'CMTooltipProductionHeader'; // Assign a id in order to hid when no achiev's are left + // Assign a id in order to hide when no achiev's are left + tooltip.lastChild.id = 'CMTooltipProductionHeader'; // eslint-disable-line no-param-reassign const production = document.createElement('div'); production.id = 'CMTooltipProduction'; tooltip.appendChild(production); diff --git a/src/Disp/Tooltips/Tooltip.js b/src/Disp/Tooltips/Tooltip.js index dedfb6fb..63307cd5 100644 --- a/src/Disp/Tooltips/Tooltip.js +++ b/src/Disp/Tooltips/Tooltip.js @@ -1,11 +1,8 @@ -/* eslint-disable no-unused-vars */ -import UpdateTooltips, * as UpdateTooltip from './UpdateTooltips'; -import { TooltipCreateTooltipBox } from './CreateTooltip'; +import UpdateTooltips from './UpdateTooltips'; import { Beautify, GetTimeColour, } from '../BeautifyAndFormatting/BeautifyFormatting'; -import CopyData from '../../Sim/SimulationData/CopyData'; import { SimpleTooltipElements, TooltipName, @@ -143,8 +140,8 @@ export function CreateTooltip(type, name) { } // Sets global variables used by CM.Disp.UpdateTooltip() - TooltipType = type; - TooltipName = name; + TooltipType = type; // eslint-disable-line no-unused-vars + TooltipName = name; // eslint-disable-line no-unused-vars UpdateTooltips(); diff --git a/src/Disp/VariablesAndData.js b/src/Disp/VariablesAndData.js index e788a9b8..b41dc156 100644 --- a/src/Disp/VariablesAndData.js +++ b/src/Disp/VariablesAndData.js @@ -1,4 +1,3 @@ -/* eslint-disable prefer-const */ /** * Section: Variables used in Disp functions */ @@ -91,15 +90,15 @@ export const SimpleTooltipElements = {}; * These are variables used by the functions that create tooltips for wrinklers * See CM.Disp.CheckWrinklerTooltip(), CM.Disp.UpdateWrinklerTooltip() and CM.Main.AddWrinklerAreaDetect() */ -export let TooltipWrinklerArea = 0; -export let TooltipWrinkler = -1; +export let TooltipWrinklerArea = 0; // eslint-disable-line prefer-const +export let TooltipWrinkler = -1; // eslint-disable-line prefer-const /** * This array is used to store whether a Wrinkler tooltip is being shown or not * [i] = 1 means tooltip is being shown, [i] = 0 means hidden * It is used by CM.Disp.CheckWrinklerTooltip() and CM.Main.AddWrinklerAreaDetect() */ -export let TooltipWrinklerBeingShown = []; +export let TooltipWrinklerBeingShown = []; // eslint-disable-line prefer-const export let CMLastAscendState; export let CMSayTime; @@ -107,9 +106,9 @@ export let CMSayTime; /** * These are variables used to create various displays when the game is loaded on the "sell all" screen */ -export let LastTargetBotBar = 1; -export let LastTargetBuildings = 1; -export let LastTargetTooltipBuilding = 1; +export let LastTargetBotBar = 1; // eslint-disable-line prefer-const +export let LastTargetBuildings = 1; // eslint-disable-line prefer-const +export let LastTargetTooltipBuilding = 1; // eslint-disable-line prefer-const /** * These arrays are used in the stats page to show @@ -133,12 +132,12 @@ export const BuffColours = { /** * This array is used to track GC timers */ -export let GCTimers = {}; +export let GCTimers = {}; // eslint-disable-line prefer-const /** * Used to store the number of cookies to be displayed in the tab-title */ -export let Title = ''; +export let Title = ''; // eslint-disable-line prefer-const export let TooltipPrice; export let TooltipBonusIncome; @@ -152,4 +151,4 @@ export let LastNumberOfTimers; /** * This stores the names of settings shown in the favourites section */ -export let FavouriteSettings = []; +export let FavouriteSettings = []; // eslint-disable-line prefer-const diff --git a/src/InitSaveLoad/Variables.js b/src/InitSaveLoad/Variables.js index 2b6eb6ec..bb4f8061 100644 --- a/src/InitSaveLoad/Variables.js +++ b/src/InitSaveLoad/Variables.js @@ -1,4 +1,3 @@ -/* eslint-disable prefer-const */ /** Variable that shows if Cookie Moonster is initzializing */ -export let isInitializing = false; +export let isInitializing = false; // eslint-disable-line prefer-const export let test; diff --git a/src/InitSaveLoad/init.js b/src/InitSaveLoad/init.js index 6b93971d..cb5e4bf5 100644 --- a/src/InitSaveLoad/init.js +++ b/src/InitSaveLoad/init.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { VersionMajor, VersionMinor } from '../Data/Moddata'; import CMDrawHook from '../Disp/DrawHook'; import CMClickHook from '../Main/ClickHook'; @@ -16,6 +15,7 @@ export default function init() { isInitializing = true; let proceed = true; if (Game.version !== Number(VersionMajor)) { + // eslint-disable-next-line no-restricted-globals, no-alert proceed = confirm( `Cookie Monster version ${VersionMajor}.${VersionMinor} is meant for Game version ${VersionMajor}. Loading a different version may cause errors. Do you still want to load Cookie Monster?`, ); @@ -25,6 +25,6 @@ export default function init() { Game.registerHook('draw', CMDrawHook); Game.registerHook('logic', CMLoopHook); Game.registerHook('click', CMClickHook); - isInitializing = false; + isInitializing = false; // eslint-disable-line no-unused-vars } } diff --git a/src/InitSaveLoad/load.js b/src/InitSaveLoad/load.js index 70a81aa3..8e3ee0bc 100644 --- a/src/InitSaveLoad/load.js +++ b/src/InitSaveLoad/load.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { LoadConfig } from '../Config/SaveLoadReload/SaveLoadReloadSettings'; import { VersionMajor, VersionMinor } from '../Data/Moddata'; import { FavouriteSettings } from '../Disp/VariablesAndData'; @@ -13,7 +12,7 @@ export default function load(str) { InitData(); // The if-statement is a failsafe for old saves if (typeof save.favouriteSettings !== 'undefined') - FavouriteSettings = save.favouriteSettings; + FavouriteSettings = save.favouriteSettings; // eslint-disable-line no-unused-vars LoadConfig(save.settings); if (save.version !== `${VersionMajor}.${VersionMinor}`) { if (Game.prefs.popups) diff --git a/src/Main/CheckStates/GoldenCookie.js b/src/Main/CheckStates/GoldenCookie.js index 80dd7496..e0ef1426 100644 --- a/src/Main/CheckStates/GoldenCookie.js +++ b/src/Main/CheckStates/GoldenCookie.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { CacheSpawnedGoldenShimmer, CacheGoldenShimmersByID, @@ -66,7 +65,7 @@ export default function CheckGoldenCookie() { } UpdateFavicon(); LastSpawnedGoldenCookieState = CurrSpawnedGoldenCookieState; - if (CurrSpawnedGoldenCookieState === 0) CacheSpawnedGoldenShimmer = 0; + if (CurrSpawnedGoldenCookieState === 0) CacheSpawnedGoldenShimmer = 0; // eslint-disable-line no-unused-vars } else if (CMOptions.GCTimer === 1 && LastGoldenCookieState) { Object.keys(GCTimers).forEach((i) => { GCTimers[i].style.opacity = CacheGoldenShimmersByID[i].l.style.opacity; diff --git a/src/Main/CheckStates/Season.js b/src/Main/CheckStates/Season.js index 8b01f76f..b521dd2c 100644 --- a/src/Main/CheckStates/Season.js +++ b/src/Main/CheckStates/Season.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { CacheSeasonPopShimmer } from '../../Cache/VariablesAndData'; import { CMOptions } from '../../Config/VariablesAndData'; import Flash from '../../Disp/Notifications/Flash'; @@ -15,7 +14,7 @@ export default function CheckSeasonPopup() { LastSeasonPopupState = Game.shimmerTypes.reindeer.spawned; Object.keys(Game.shimmers).forEach((i) => { if (Game.shimmers[i].spawnLead && Game.shimmers[i].type === 'reindeer') { - CacheSeasonPopShimmer = Game.shimmers[i]; + CacheSeasonPopShimmer = Game.shimmers[i]; // eslint-disable-line no-unused-vars } }); Flash(3, 'SeaFlash', false); diff --git a/src/Main/Initialization.js b/src/Main/Initialization.js index 965d1172..c08aec83 100644 --- a/src/Main/Initialization.js +++ b/src/Main/Initialization.js @@ -1,10 +1,8 @@ -/* eslint-disable no-unused-vars */ import InitCache from '../Cache/CacheInit'; import { CacheStatsCookies } from '../Cache/Stats/Stats'; import { LoadConfig } from '../Config/SaveLoadReload/SaveLoadReloadSettings'; import { VersionMajor, VersionMinor } from '../Data/Moddata'; import CreateUpgradeBar from '../Disp/BuildingsUpgrades/UpgradeBar'; -import UpdateColours from '../Disp/HelperFunctions/UpdateColours'; import { CreateBotBar } from '../Disp/InfoBars/BottomBar'; import { CreateTimerBar } from '../Disp/InfoBars/TimerBar'; import CreateSectionHideButtons from '../Disp/Initialization/CreateSectionHideButtons'; @@ -31,7 +29,7 @@ export default function InitializeCookieMonster() { InitCache(); // Stored to check if we need to re-initiliaze data - LastModCount = Object.keys(Game.mods).length; + LastModCount = Object.keys(Game.mods).length; // eslint-disable-line no-unused-vars // Creating visual elements CreateCssArea(); @@ -60,7 +58,7 @@ export default function InitializeCookieMonster() { Game.CalculateGains(); LoadConfig(); - CMLastAscendState = Game.OnAscend; + CMLastAscendState = Game.OnAscend; // eslint-disable-line no-unused-vars if (Game.prefs.popups) Game.Popup( diff --git a/src/Main/LoopHook.js b/src/Main/LoopHook.js index 5f484417..5ce57d77 100644 --- a/src/Main/LoopHook.js +++ b/src/Main/LoopHook.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import InitCache from '../Cache/CacheInit'; import LoopCache from '../Cache/CacheLoop'; import CacheNoGoldSwitchCPS from '../Cache/CPS/NoGoldSwitchCPS'; diff --git a/src/Main/ReplaceGameElements/NativeGrimoire.js b/src/Main/ReplaceGameElements/NativeGrimoire.js index c21f150f..59e27f4e 100644 --- a/src/Main/ReplaceGameElements/NativeGrimoire.js +++ b/src/Main/ReplaceGameElements/NativeGrimoire.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { CMOptions } from '../../Config/VariablesAndData'; import { FormatTime } from '../../Disp/BeautifyAndFormatting/BeautifyFormatting'; @@ -47,8 +46,8 @@ function ReplaceNativeGrimoireLaunch() { Game.Objects['Wizard tower'].minigameLoaded ) { const { minigame } = Game.Objects['Wizard tower']; - BackupGrimoireLaunch = minigame.launch; - BackupGrimoireLaunchMod = new Function( + BackupGrimoireLaunch = minigame.launch; // eslint-disable-line no-unused-vars + BackupGrimoireLaunchMod = new Function( // eslint-disable-line no-new-func `return ${minigame.launch .toString() .split('=this') diff --git a/src/Main/ReplaceGameElements/Tooltips.js b/src/Main/ReplaceGameElements/Tooltips.js index 69262882..a0594bd2 100644 --- a/src/Main/ReplaceGameElements/Tooltips.js +++ b/src/Main/ReplaceGameElements/Tooltips.js @@ -1,5 +1,3 @@ -/* eslint-disable no-param-reassign */ -/* eslint-disable no-unused-vars */ /** Functions related to replacing tooltips */ import { CreateTooltip } from '../../Disp/Tooltips/Tooltip'; @@ -39,7 +37,7 @@ function ReplaceTooltipBuild() { */ function ReplaceTooltipLump() { if (Game.canLumps()) { - TooltipLumpBackup = l('lumps').onmouseover; + TooltipLumpBackup = l('lumps').onmouseover; // eslint-disable-line no-unused-vars l('lumps').onmouseover = function () { Game.tooltip.dynamic = 1; Game.tooltip.draw( @@ -72,6 +70,7 @@ function ReplaceTooltipGarden() { }; Array.from(l('gardenPlot').children).forEach((child) => { const coords = child.id.slice(-3); + // eslint-disable-next-line no-param-reassign child.onmouseover = function () { Game.tooltip.dynamic = 1; Game.tooltip.draw( diff --git a/src/Main/ReplaceGameFunctions/ReplaceNative.js b/src/Main/ReplaceGameFunctions/ReplaceNative.js index 2ed05363..b9d8dbfb 100644 --- a/src/Main/ReplaceGameFunctions/ReplaceNative.js +++ b/src/Main/ReplaceGameFunctions/ReplaceNative.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import jscolor from '@eastdesire/jscolor'; import { CMOptions } from '../../Config/VariablesAndData'; import { @@ -32,14 +31,14 @@ export default function ReplaceNative() { BackupFunctions.CalculateGains = Game.CalculateGains; Game.CalculateGains = function () { BackupFunctions.CalculateGains(); - SimDoSims = 1; - CycliusDateAtBeginLoop = Date.now(); - CenturyDateAtBeginLoop = Date.now(); + SimDoSims = 1; // eslint-disable-line no-unused-vars + CycliusDateAtBeginLoop = Date.now(); // eslint-disable-line no-unused-vars + CenturyDateAtBeginLoop = Date.now(); // eslint-disable-line no-unused-vars }; BackupFunctions.tooltip = {}; BackupFunctions.tooltip.draw = Game.tooltip.draw; - BackupFunctions.tooltip.drawMod = new Function( + BackupFunctions.tooltip.drawMod = new Function( // eslint-disable-line no-new-func `return ${Game.tooltip.draw.toString().split('this').join('Game.tooltip')}`, )(); Game.tooltip.draw = function (from, text, origin) { @@ -47,7 +46,7 @@ export default function ReplaceNative() { }; BackupFunctions.tooltip.update = Game.tooltip.update; - BackupFunctions.tooltip.updateMod = new Function( + BackupFunctions.tooltip.updateMod = new Function( // eslint-disable-line no-new-func `return ${Game.tooltip.update .toString() .split('this.') @@ -132,6 +131,7 @@ export default function ReplaceNative() { }; BackupFunctions.sayTime = Game.sayTime; + // eslint-disable-next-line no-unused-vars CMSayTime = function (time, detail) { if (Number.isNaN(time) || time <= 0) return BackupFunctions.sayTime(time, detail); @@ -145,6 +145,7 @@ export default function ReplaceNative() { // Update tab title let title = 'Cookie Clicker'; if (Game.season === 'fools') title = 'Cookie Baker'; + // eslint-disable-next-line no-unused-vars Title = `${Game.OnAscend ? 'Ascending! ' : ''}${CMBeautify(Game.cookies)} ${ Game.cookies === 1 ? 'cookie' : 'cookies' } - ${title}`; diff --git a/src/Main/VariablesAndData.js b/src/Main/VariablesAndData.js index a014e9d5..b23f9d1f 100644 --- a/src/Main/VariablesAndData.js +++ b/src/Main/VariablesAndData.js @@ -1,17 +1,15 @@ -/* eslint-disable prefer-const */ - export let LastModCount; -export let TooltipBuildBackup = []; +export let TooltipBuildBackup = []; // eslint-disable-line prefer-const export let TooltipLumpBackup; -export let TooltipGrimoireBackup = []; -export let TooltipUpgradeBackup = []; +export let TooltipGrimoireBackup = []; // eslint-disable-line prefer-const +export let TooltipUpgradeBackup = []; // eslint-disable-line prefer-const export let BackupGrimoireLaunch; export let BackupGrimoireLaunchMod; export let BackupGrimoireDraw; export let HasReplaceNativeGrimoireLaunch; export let HasReplaceNativeGrimoireDraw; export let LoadMinigames; -export let BackupFunctions = {}; +export let BackupFunctions = {}; // eslint-disable-line prefer-const export let LastSeasonPopupState; export let LastTickerFortuneState; diff --git a/src/Main/WrinklerArea/AddDetectArea.js b/src/Main/WrinklerArea/AddDetectArea.js index 79f54b84..bf8188a8 100644 --- a/src/Main/WrinklerArea/AddDetectArea.js +++ b/src/Main/WrinklerArea/AddDetectArea.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { TooltipWrinklerArea, TooltipWrinklerBeingShown, @@ -13,7 +12,7 @@ export default function AddWrinklerAreaDetect() { TooltipWrinklerArea = 1; }; l('backgroundLeftCanvas').onmouseout = function () { - TooltipWrinklerArea = 0; + TooltipWrinklerArea = 0; // eslint-disable-line no-unused-vars Game.tooltip.hide(); Object.keys(Game.wrinklers).forEach((i) => { TooltipWrinklerBeingShown[i] = 0; diff --git a/src/Sim/Calculations/CalculateGains.js b/src/Sim/Calculations/CalculateGains.js index 0d402d8c..71d458db 100644 --- a/src/Sim/Calculations/CalculateGains.js +++ b/src/Sim/Calculations/CalculateGains.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import GetCPSBuffMult from '../../Cache/CPS/GetCPSBuffMult'; import { CacheCentEgg } from '../../Cache/VariablesAndData'; import { @@ -42,7 +41,7 @@ export default function CalculateGains() { }); } }); - SimEffs = effs; + SimEffs = effs; // eslint-disable-line no-unused-vars if (Game.ascensionMode !== 1) mult += @@ -227,7 +226,7 @@ export default function CalculateGains() { SimWin(Game.CpsAchievements[i].name); }); - SimCookiesPsRaw = rawCookiesPs; + SimCookiesPsRaw = rawCookiesPs; // eslint-disable-line no-unused-vars const { n } = Game.shimmerTypes.golden; const auraMult = SimAuraMult("Dragon's Fortune"); diff --git a/src/Sim/SimulationData/CopyData.js b/src/Sim/SimulationData/CopyData.js index 74b74c50..210f2e22 100644 --- a/src/Sim/SimulationData/CopyData.js +++ b/src/Sim/SimulationData/CopyData.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import CacheDragonAuras from '../../Cache/Dragon/CacheDragonAuras'; import { CacheDragonAura, @@ -30,11 +29,11 @@ import { */ export default function CopyData() { // Other variables - SimUpgradesOwned = Game.UpgradesOwned; - SimPledges = Game.pledges; - SimAchievementsOwned = Game.AchievementsOwned; - SimHeavenlyPower = Game.heavenlyPower; - SimPrestige = Game.prestige; + SimUpgradesOwned = Game.UpgradesOwned; // eslint-disable-line no-unused-vars + SimPledges = Game.pledges; // eslint-disable-line no-unused-vars + SimAchievementsOwned = Game.AchievementsOwned; // eslint-disable-line no-unused-vars + SimHeavenlyPower = Game.heavenlyPower; // eslint-disable-line no-unused-vars + SimPrestige = Game.prestige; // eslint-disable-line no-unused-vars // Buildings Object.keys(Game.Objects).forEach((i) => { @@ -53,9 +52,9 @@ export default function CopyData() { you.free = me.free; if (me.minigameLoaded) { if (me.name === 'Temple') { - SimGod1 = me.minigame.slot[0]; - SimGod2 = me.minigame.slot[1]; - SimGod3 = me.minigame.slot[2]; + SimGod1 = me.minigame.slot[0]; // eslint-disable-line no-unused-vars + SimGod2 = me.minigame.slot[1]; // eslint-disable-line no-unused-vars + SimGod3 = me.minigame.slot[2]; // eslint-disable-line no-unused-vars } you.minigameLoaded = me.minigameLoaded; you.minigame = me.minigame; @@ -89,6 +88,6 @@ export default function CopyData() { // Auras CacheDragonAuras(); - SimDragonAura = CacheDragonAura; - SimDragonAura2 = CacheDragonAura2; + SimDragonAura = CacheDragonAura; // eslint-disable-line no-unused-vars + SimDragonAura2 = CacheDragonAura2; // eslint-disable-line no-unused-vars } diff --git a/src/Sim/SimulationData/SimWin.js b/src/Sim/SimulationData/SimWin.js index 42218119..58a3d1ef 100644 --- a/src/Sim/SimulationData/SimWin.js +++ b/src/Sim/SimulationData/SimWin.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { SimAchievements, SimAchievementsOwned } from '../VariablesAndData'; /** @@ -11,7 +10,7 @@ export default function SimWin(what) { if (SimAchievements[what]) { if (SimAchievements[what].won === 0) { SimAchievements[what].won = 1; - if (Game.Achievements[what].pool !== 'shadow') SimAchievementsOwned += 1; + if (Game.Achievements[what].pool !== 'shadow') SimAchievementsOwned += 1; // eslint-disable-line no-unused-vars } } } diff --git a/src/Sim/SimulationEvents/AuraChange.js b/src/Sim/SimulationEvents/AuraChange.js index e740f3e4..008c8fb1 100644 --- a/src/Sim/SimulationEvents/AuraChange.js +++ b/src/Sim/SimulationEvents/AuraChange.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { CacheDragonAura, CacheDragonAura2, @@ -41,7 +40,7 @@ export default function CalculateChangeAura(aura) { if (Game.ObjectsById[i].amount > 0) { const highestBuilding = SimObjects[Game.ObjectsById[i].name].name; SimObjects[highestBuilding].amount -= 1; - SimBuildingsOwned -= 1; + SimBuildingsOwned -= 1; // eslint-disable-line no-unused-vars price = SimObjects[highestBuilding].basePrice * Game.priceIncrease ** diff --git a/src/Sim/SimulationEvents/BuyUpgrades.js b/src/Sim/SimulationEvents/BuyUpgrades.js index 9e03266d..ce3182c8 100644 --- a/src/Sim/SimulationEvents/BuyUpgrades.js +++ b/src/Sim/SimulationEvents/BuyUpgrades.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import CalculateGains from '../Calculations/CalculateGains'; import CheckOtherAchiev from '../Calculations/CheckOtherAchiev'; import SimAuraMult from '../ReplacedGameFunctions/SimAuraMult'; @@ -130,9 +129,8 @@ export default function BuyUpgradesBonusIncome(upgrade) { } else { SimUpgrades[upgrade].bought = (SimUpgrades[upgrade].bought + 1) % 2; } - const me = SimUpgrades[upgrade]; if (Game.CountsAsUpgradeOwned(Game.Upgrades[upgrade].pool)) - SimUpgradesOwned += 1; + SimUpgradesOwned += 1; // eslint-disable-line no-unused-vars if (upgrade === 'Elder Pledge') { SimPledges += 1; diff --git a/src/Sim/SimulationEvents/GodChange.js b/src/Sim/SimulationEvents/GodChange.js index b86e7800..7f085ae0 100644 --- a/src/Sim/SimulationEvents/GodChange.js +++ b/src/Sim/SimulationEvents/GodChange.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import CalculateGains from '../Calculations/CalculateGains'; import CheckOtherAchiev from '../Calculations/CheckOtherAchiev'; import CopyData from '../SimulationData/CopyData'; @@ -19,9 +18,11 @@ import { */ export default function CalculateChangeGod(god, slot) { CopyData(); + /* eslint-disable no-unused-vars */ if (slot === 0) SimGod1 = god; else if (slot === 1) SimGod2 = god; else if (slot === 2) SimGod3 = god; + /* eslint-enable no-unused-vars */ const lastAchievementsOwned = SimAchievementsOwned; CalculateGains(); diff --git a/src/Sim/SimulationEvents/ResetAscension.js b/src/Sim/SimulationEvents/ResetAscension.js index 86be1388..193d753b 100644 --- a/src/Sim/SimulationEvents/ResetAscension.js +++ b/src/Sim/SimulationEvents/ResetAscension.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { CacheRealCookiesEarned } from '../../Cache/VariablesAndData'; import CalculateGains from '../Calculations/CalculateGains'; import CheckOtherAchiev from '../Calculations/CheckOtherAchiev'; @@ -96,7 +95,7 @@ export default function ResetBonus(newHeavenlyChips) { const ResetCPS = SimCookiesPs - curCPS; // Reset Pretige level after calculation as it is used in CM.Sim.CalculateGains() so can't be local - SimPrestige = Game.prestige; + SimPrestige = Game.prestige; // eslint-disable-line no-unused-vars return ResetCPS; } diff --git a/src/Sim/SimulationEvents/SellBuildingForChoEgg.js b/src/Sim/SimulationEvents/SellBuildingForChoEgg.js index 49c19efb..5d95588d 100644 --- a/src/Sim/SimulationEvents/SellBuildingForChoEgg.js +++ b/src/Sim/SimulationEvents/SellBuildingForChoEgg.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import CopyData from '../SimulationData/CopyData'; import { SimBuildingsOwned, @@ -38,7 +37,7 @@ export default function SellBuildingsForChoEgg() { } }); SimObjects[highestBuilding].amount -= 1; - SimBuildingsOwned -= 1; + SimBuildingsOwned -= 1; // eslint-disable-line no-unused-vars } // Get money made by selling all remaining buildings diff --git a/src/Sim/VariablesAndData.js b/src/Sim/VariablesAndData.js index 7ad74e83..40ce39fe 100644 --- a/src/Sim/VariablesAndData.js +++ b/src/Sim/VariablesAndData.js @@ -1,9 +1,8 @@ -/* eslint-disable prefer-const */ /** All variables used by simulation functions */ -export let SimObjects = []; -export let SimUpgrades = []; -export let SimAchievements = []; +export let SimObjects = []; // eslint-disable-line prefer-const +export let SimUpgrades = []; // eslint-disable-line prefer-const +export let SimAchievements = []; // eslint-disable-line prefer-const export let SimBuildingsOwned; export let SimUpgradesOwned; export let SimPledges; From 9b04663cd8db76803c7b5aa6c8f36c0301d70780 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Sun, 4 Apr 2021 17:06:45 +0200 Subject: [PATCH 27/30] Build CookieMonster.js --- CookieMonster.js | 2 +- dist/CookieMonster.js | 2 +- dist/CookieMonster.js.map | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CookieMonster.js b/CookieMonster.js index 74d19ed2..eda6870a 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x,T,M=[],S=[],P=[],B={};const E="CMText",N="CMBack",O="Blue",F="Green",W="Yellow",L="Orange",A="Red",j="Purple",D="Gray",H="Pink",U="Brown",$=[D,O,F,W,L,A,j,H,U],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],I={};let z,V,_=0,Q=-1,X=[],q=1,Y=1,K=1;const J=[10,15,30,60,300,600,900,1800],Z=[1,5,10,15,30],ee={Frenzy:W,"Dragon Harvest":U,"Elder frenzy":F,Clot:A,"Click frenzy":O,Dragonflight:H};let te,oe,ne,ie,ae,re,le,se={},ce="",de=[];function pe(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return B.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${pe(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function me(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=F):(n=ue(t),o=t>300?A:t>60?L:W),{text:n,color:o}}let he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=0,pt=1,ut=1,mt=1,ht=0,gt=0,ft=0,Ct=0,yt={},bt={},kt={},Gt=0,vt=0,wt=[0,null],xt=0,Tt=0,Mt={},St={},Pt={},Bt={},Et={},Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,$t=0,Rt=[],It=0,zt=0,Vt={},_t={},Qt=0,Xt=0,qt=[],Yt={},Kt=0,Jt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Zt=[],eo=[],to=[];function oo(e){let t=0;return Game.dragonAuras[$e].name!==e&&Game.dragonAuras[Re].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[$e].name&&"Reality Bending"!==Game.dragonAuras[Re].name||(t+=.1),t}function no(){let e=.25;return e*=1+oo("Earth Shatterer"),e}function io(e,t){return void 0===Qe[e]?void 0===t?1:t:Qe[e]}function ao(e){const t=eo[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ro(e){if(Game.hasGod){void 0===Zt.Temple.minigame&&(Zt.Temple.minigame=Game.Objects.Temple.minigame);const t=Zt.Temple.minigame.gods[e];if(Ie===t.id)return 1;if(ze===t.id)return 2;if(Ve===t.id)return 3}return!1}function lo(e,t){let o=t;if(ao("Season savings")&&(o*=.99),ao("Santa's dominion")&&(o*=.99),ao("Faberge egg")&&(o*=.99),ao("Divine discount")&&(o*=.99),ao("Fortune #100")&&(o*=.99),o*=1-.02*oo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&ao(e.fortune.name)&&(o*=.93),o*=io("buildingCost"),Zt.Temple.minigameLoaded){const e=ro("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function so(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function co(){let t=Game.buyBulk;if(1===Game.buyMode?Y=t:t=Y,1===t?t=yt:10===t?t=bt:100===t&&(t=kt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(yt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=pe(so(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(yt).map((e=>{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;e$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.ppe.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?q=i:i=q,1===i&&(i=yt),10===i&&(i=bt),100===i&&(i=kt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=pe(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=E+i[o].color,n=e.PPDisplayTime?ue(Math.round(i[o].pp)):pe(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=me((Game.Objects[o].bulkPrice-(Game.cookies+mo()))/uo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=E+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&ao(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(ao(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&ao(e.fortune.name)&&(t*=1.07),e.grandma&&ao(e.grandma.name)&&(t*=1+.01*Zt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&ao(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function wo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;ao("Thousand fingers")&&(t+=.1),ao("Million fingers")&&(t*=5),ao("Billion fingers")&&(t*=10),ao("Trillion fingers")&&(t*=20),ao("Quadrillion fingers")&&(t*=20),ao("Quintillion fingers")&&(t*=20),ao("Sextillion fingers")&&(t*=20),ao("Septillion fingers")&&(t*=20),ao("Octillion fingers")&&(t*=20),ao("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Zt).forEach((e=>{"Cursor"!==Zt[e].name&&(n+=Zt[e].amount)})),t*=n,o*=vo(e),o*=Game.magicCpS("Cursor"),o*=io("cursorCps"),Game.ComputeCps(.1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{ao(Game.GrandmaSynergies[e])&&(o*=2)})),ao("Bingo center/Research facility")&&(o*=4),ao("Ritual rolling pins")&&(o*=2),ao("Naughty list")&&(o*=2),ao("Elderwort biscuits")&&(o*=1.02),o*=io("grandmaCps"),ao("Cat ladies"))for(let e=0;e{"Grandma"!==Zt[e].name&&(i+=Zt[e].amount)})),o*=1+.01*oo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=vo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function xo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Zt).forEach((t=>{Zt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(ao("Starlove")&&(e=3),Game.hasGod){const t=ro("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function To(){Ae=Game.UpgradesOwned,je=Game.pledges,De=Game.AchievementsOwned,He=Game.heavenlyPower,Ue=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e],go(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ie=t.minigame.slot[0],ze=t.minigame.slot[1],Ve=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Zt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=eo[e];void 0===o&&(eo[e]=xo(e),o=eo[e]),o.bought=t.bought,eo[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=to[e];void 0===o&&(to[e]=Go(e),o=to[e]),o.won=t.won,to[e]=o})),ko(),$e=Ye,Re=Ke}function Mo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function So(e){e.appendChild(Mo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(Mo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(Mo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(Mo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ne){e.appendChild(Mo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Po(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Eo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function No(){if(To(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ne?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(So(l("CMTooltipBorder")),1===Game.buyMode?K=t:t=K,1===Game.buyBulk?t=yt:10===Game.buyBulk?t=bt:100===Game.buyBulk&&(t=kt),te=Game.Objects[ie].bulkPrice,oe=t[ie].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=pe(oe,2);const o=Math.round(oe/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=E+t[ie].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ue(t[ie].pp):l("CMTooltipPP").textContent=pe(t[ie].pp,2),l("CMTooltipPP").className=E+t[ie].color;const n=me((te-(Game.cookies+mo()))/uo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ie[1]][ie[0]][0]-1].mature,o=t.plantsById[t.plot[ie[1]][ie[0]][0]-1].name;l("CMTooltipBorder").appendChild(Mo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${pe(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${pe(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${pe(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${pe(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ne?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(Mo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=ho(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==ee[Game.buffs[t].name]?ee[Game.buffs[t].name]:j,a.lastChild.children[1].className=N+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),le!==n&&(le=n,yo())}}(),fo(),No(),function(){if(1===e.TooltipWrink&&1===_){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===X[t]||void 0===X[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),Q=t,X[t]=1}}else X[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[Q],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[Q].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Zt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=pe(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,pe(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Fo(){he.addLatest(Game.computedMouseCps)}class Wo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Lo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Kt;Game.cpsSucked>0&&(o+=Gt),It=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ge,i=Math.max(0,Game.cookies-ve)/n,a=Math.max(0,Gt-we)/n,r=Math.max(0,wt[0]-xe)/n,l=Math.max(0,o-Ct)/n,s=(Game.cookieClicks-Te)/n;for(let e=0;e0&&(n=A),n}function jo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=D;else{t[n].color=Ao(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+mo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||qt.push([t[n].pp,o])}))}function Ho(){!function(){Xt=1/0,qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Do(yt,1),Do(bt,10),Do(kt,100),qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;qt[t][1]>Game.cookies&&(t+=1,qt.length!==t+1););Xt=qt[e.PPExcludeTop][t],jo(yt,1),jo(bt,10),jo(kt,100)}(),Object.keys(Mt).forEach((e=>{Game.cookiesPs?Mt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+mo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Mt[e].bonus:Mt[e].pp=Game.Upgrades[e].getPrice()/Mt[e].bonus,Number.isNaN(Mt[e].pp)&&(Mt[e].pp=1/0),Mt[e].color=Ao(Mt[e],Game.Upgrades[e].getPrice())}))}function Uo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Qe=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ue)*He*function(){let e=0;if(ao("Heavenly chip secret")&&(e+=.05),ao("Heavenly cookie stand")&&(e+=.2),ao("Heavenly bakery")&&(e+=.25),ao("Heavenly confectionery")&&(e+=.25),ao("Heavenly key")&&(e+=.25),e*=1+.05*oo("Dragon God"),ao("Lucky digit")&&(e*=1.01),ao("Lucky number")&&(e*=1.01),ao("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ro("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=io("cps"),ao("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];ao(o.name)&&("function"==typeof o.power?e*=1+.01*eo[o.name].power(eo[o.name]):e*=1+.01*o.power)})),ao("Specialized chocolate chips")&&(e*=1.01),ao("Designer cocoa beans")&&(e*=1.02),ao("Underworld ovens")&&(e*=1.03),ao("Exotic nuts")&&(e*=1.04),ao("Arcane sugar")&&(e*=1.05),ao("Increased merriness")&&(e*=1.15),ao("Improved jolliness")&&(e*=1.15),ao("A lump of coal")&&(e*=1.01),ao("An itchy sweater")&&(e*=1.01),ao("Santa's dominion")&&(e*=1.2),ao("Fortune #100")&&(e*=1.01),ao("Fortune #101")&&(e*=1.07),ao("Dragon scale")&&(e*=1.03);let o=1;if(ro){let t=ro("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ro("ages"),1===t?e*=1+.15*Math.sin(w/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(w/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(w/1e3/86400*Math.PI*2)),t=ro("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ro("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ro("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}ao("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=De/25;let i=1;if(ao("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*oo("Breath of Milk"),ro){const e=ro("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=io("milk");let a=1;ao("Kitten helpers")&&(a*=1+.1*n*i),ao("Kitten workers")&&(a*=1+.125*n*i),ao("Kitten engineers")&&(a*=1+.15*n*i),ao("Kitten overseers")&&(a*=1+.175*n*i),ao("Kitten managers")&&(a*=1+.2*n*i),ao("Kitten accountants")&&(a*=1+.2*n*i),ao("Kitten specialists")&&(a*=1+.2*n*i),ao("Kitten experts")&&(a*=1+.2*n*i),ao("Kitten consultants")&&(a*=1+.2*n*i),ao("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),ao("Kitten marketeers")&&(a*=1+.15*n*i),ao("Kitten analysts")&&(a*=1+.125*n*i),ao("Kitten executives")&&(a*=1+.115*n*i),ao("Kitten angels")&&(a*=1+.1*n*i),ao("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Zt).forEach((e=>{const t=Zt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&ao("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Xe+=t.amount*a})),ao('"egg"')&&(Xe+=9),e*=a;let r=1;if(ao("Chicken egg")&&(r*=1.01),ao("Duck egg")&&(r*=1.01),ao("Turkey egg")&&(r*=1.01),ao("Quail egg")&&(r*=1.01),ao("Robin egg")&&(r*=1.01),ao("Ostrich egg")&&(r*=1.01),ao("Cassowary egg")&&(r*=1.01),ao("Salmon roe")&&(r*=1.01),ao("Frogspawn")&&(r*=1.01),ao("Shark egg")&&(r*=1.01),ao("Turtle egg")&&(r*=1.01),ao("Ant larva")&&(r*=1.01),ao("Century egg")){let e=10*Math.floor((x-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),gt=1+.1*(1-(1-e/100)**3),r*=gt}e*=r,ao("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+oo("Radiant Appetite");const l=Xe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&$o(Game.CpsAchievements[e].name)})),qe=l;const{n:s}=Game.shimmerTypes.golden,c=oo("Dragon's Fortune");for(let t=0;t{ao(e[o])&&(t+=.1)}))}e*=t}if(ao("Shimmering veil [off]")){let t=.5;ao("Reinforced membrane")&&(t+=.1),e*=1+t}ao("Magic shenanigans")&&(e*=1e3),ao("Occult obstruction")&&(e*=0),Xe=Game.runModHookOnValue("cps",Xe),e*=Bo(),Xe*=e}const Io=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],zo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Vo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],_o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Qo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Xo(e){return to[e]?to[e].won:0}function qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{ao(Game.GrandmaSynergies[t])&&(e+=1)})),!Xo("Elder")&&e>=7&&$o("Elder"),!Xo("Veteran")&&e>=14&&$o("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount,i=Math.min(Zt[e].amount,i),Xo("Mathematician")||Zt[e].amount=1&&$o("One with everything"),1===o&&$o("Mathematician"),1===n&&$o("Base 10"),i>=100&&$o("Centennial"),i>=150&&$o("Centennial and a half"),i>=200&&$o("Bicentennial"),i>=250&&$o("Bicentennial and a half"),i>=300&&$o("Tricentennial"),i>=350&&$o("Tricentennial and a half"),i>=400&&$o("Quadricentennial"),i>=450&&$o("Quadricentennial and a half"),i>=500&&$o("Quincentennial"),i>=550&&$o("Quincentennial and a half"),i>=600&&$o("Sexcentennial"),t>=100&&$o("Builder"),t>=500&&$o("Architect"),t>=1e3&&$o("Engineer"),t>=2e3&&$o("Lord of Constructs"),t>=4e3&&$o("Grand design"),t>=8e3&&$o("Ecumenopolis"),Ae>=20&&$o("Enhancer"),Ae>=50&&$o("Augmenter"),Ae>=100&&$o("Upgrader"),Ae>=200&&$o("Lord of Progress"),Ae>=300&&$o("The full picture"),Ae>=400&&$o("When there's nothing left to add"),t>=4e3&&Ae>=300&&$o("Polymath"),t>=8e3&&Ae>=400&&$o("Renaissance baker"),Zt.Cursor.amount+Zt.Grandma.amount>=777&&$o("The elder scrolls");let a=!0;Object.keys(zo).forEach((e=>{ao(zo[e])||(a=!1)})),a&&$o("Spooky cookies");let r=!0;if(Object.keys(Vo).forEach((e=>{ao(Vo[e])||(r=!1)})),r&&$o("Let it snow"),ao("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{ao(e[o].name)&&(t+=1)})),t>=e.length&&$o("O Fortuna")}}function Yo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){To(),Zt[e].amount+=t;const o=Zt[e];"Cursor"===e?(o.amount>=1&&$o("Click"),o.amount>=2&&$o("Double-click"),o.amount>=50&&$o("Mouse wheel"),o.amount>=100&&$o("Of Mice and Men"),o.amount>=200&&$o("The Digital"),o.amount>=300&&$o("Extreme polydactyly"),o.amount>=400&&$o("Dr. T"),o.amount>=500&&$o("Thumbs, phalanges, metacarpals"),o.amount>=600&&$o("With her finger and her thumb"),o.amount>=700&&$o("Gotta hand it to you"),o.amount>=800&&$o("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&$o(Game.Objects[o.name].tieredAchievs[e].name)}));const n=De;return Ro(),qo(),n!==De&&Ro(),Xe-Game.cookiesPs}(o,e),1!==e&&(Fe=1)})),t}function Ko(){Object.keys(Game.Objects).forEach((e=>{yt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),bt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),kt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Jo(){yt=Yo(1),bt=Yo(10),kt=Yo(100),Mt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){To(),"Shimmering veil [on]"===eo[e].name?eo["Shimmering veil [off]"].bought=0:"Golden switch [on]"===eo[e].name?eo["Golden switch [off]"].bought=0:eo[e].bought=(eo[e].bought+1)%2,eo[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ae+=1),"Elder Pledge"===e?(je+=1,je>0&&$o("Elder nap"),je>=5&&$o("Elder slumber")):"Elder Covenant"===e?$o("Elder calm"):"Prism heart biscuits"===e?$o("Lovely cookies"):"Heavenly key"===e&&$o("Wholesome");const t=De;Ro(),qo(),t!==De&&Ro();const o=function(){let e=0;ao("Thousand fingers")&&(e+=.1),ao("Million fingers")&&(e*=5),ao("Billion fingers")&&(e*=10),ao("Trillion fingers")&&(e*=20),ao("Quadrillion fingers")&&(e*=20),ao("Quintillion fingers")&&(e*=20),ao("Sextillion fingers")&&(e*=20),ao("Septillion fingers")&&(e*=20),ao("Octillion fingers")&&(e*=20),ao("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount})),t-=Zt.Cursor.amount,e*=t,ao("Plastic mouse")&&(e+=.01*Xe),ao("Iron mouse")&&(e+=.01*Xe),ao("Titanium mouse")&&(e+=.01*Xe),ao("Adamantium mouse")&&(e+=.01*Xe),ao("Unobtainium mouse")&&(e+=.01*Xe),ao("Eludium mouse")&&(e+=.01*Xe),ao("Wishalloy mouse")&&(e+=.01*Xe),ao("Fantasteel mouse")&&(e+=.01*Xe),ao("Nevercrack mouse")&&(e+=.01*Xe),ao("Armythril mouse")&&(e+=.01*Xe),ao("Technobsidian mouse")&&(e+=.01*Xe),ao("Plasmarble mouse")&&(e+=.01*Xe),ao("Miraculite mouse")&&(e+=.01*Xe),ao("Fortune #104")&&(e+=.01*Xe);let o=1;if(ao("Santa's helpers")&&(o*=1.1),ao("Cookie egg")&&(o*=1.1),ao("Halo gloves")&&(o*=1.1),ao("Dragon claw")&&(o*=1.03),ao("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,ao("Luminous gloves")?20:10)),o*=io("click"),Zt.Temple.minigameLoaded&&ro){const e=ro("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*oo("Dragon Cursor");let n=o*Game.ComputeCps(1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Xe-Game.cookiesPs,o]:[Xe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Mt[t]={bonus:Game.cookiesPs-Me},1===e.CalcWrink?Mt[t].bonus-=Se:2===e.CalcWrink&&(Mt[t].bonus-=Pe),Number.isFinite(Mt[t].bonus)||(Mt[t].bonus=0)):(Mt[t]={},o[0]&&(Mt[t].bonus=o[0]),o[1]&&(Mt[t].bonusMouse=o[1]))}))}function Zo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ft=Zo(7,e,ut),Nt=2*Ft[1]/ut,Ot=Ft[2]/60/60/6/pt,At=Zo(6,e,mt),Wt=2*At[1]/mt,Lt=At[2]/60/60/6/pt,Ht=Zo(7,7*e,ut),jt=2*Ht[1]/ut,Dt=Ht[2]/60/60/6/pt,Rt=Zo(6,7*e,mt),Ut=2*Rt[1]/mt,$t=Rt[2]/60/60/6/pt}function tn(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ne,i=Math.max(0,o-Oe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Bt+=e:"cookie"===o.pool?Et+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Pt+=e)}}))}function nn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ft=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ft*=2)}}function an(){et=900*dt/.15,et*=pt;const e=Bo();e>0?et/=e:et=0,tt=ut*(.15*et)+13,ot=mt*(.15*et)+13,nt=7*et,it=ut*(.15*nt)+13,at=mt*(.15*nt)+13,rt=2*et,lt=.15*rt,st=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountst&&(st=2*Game.Objects[e].price,ct=e)}))}function rn(){let e=1,t=1,o=1;ao("Green yeast digestives")&&(o*=1.01),ao("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ut=o*e,mt=o*t,pt=1,0===Game.shimmerTypes.golden.n&&(pt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function ln(){Gt=0,vt=0,wt=[0,null];for(let e=0;ewt[0]&&(wt=[t,e]))}}function sn(){ko(),ln(),an(),rn(),en(),on(),nn(),ge=new Wo(J[J.length-1]),fe=new Wo(J[J.length-1]),Ce=new Wo(J[J.length-1]),ye=new Wo(J[J.length-1]),be=new Wo(Z[Z.length-1]),ke=new Wo(5),he=new Wo(20*Z[Z.length-1]),tn(),Lo(),Jo(),Ko(),Ho()}const cn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},dn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function pn(){1===e.BotBar?(l("CMBotBar").style.display="",fo()):l("CMBotBar").style.display="none",yo()}function un(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),fo(),co(),po()}function mn(){1===e.Favicon&&y>0?Vt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class hn{constructor(e,t){this.type=e,this.group=t}}class gn extends hn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class fn extends hn{constructor(e,t,o){super(e,t),this.desc=o}}class Cn extends hn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class yn extends hn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const bn={CPSMode:new gn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new gn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new gn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new gn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){_e=!0})),Scale:new gn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){un()})),ScaleDecimals:new gn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){un()})),ScaleSeparator:new gn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){un()})),ScaleCutoff:new yn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new gn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new gn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=V:Game.sayTime=B.sayTime})),PPDisplayTime:new gn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new gn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){co()})),PPOnlyConsiderBuyable:new gn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new gn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new gn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new yn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new fn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new fn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new fn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new fn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new fn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new fn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new fn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new fn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new fn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new gn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){pn()})),TimerBar:new gn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){bo()})),TimerBarPos:new gn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),yo()})),TimerBarOverlay:new gn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new gn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",po()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",po()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new gn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new gn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){co()})),SortUpgrades:new gn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){po()})),DragonAuraInfo:new gn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new gn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new gn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(se).forEach((e=>{se[e].style.display="block",se[e].style.left=Yt[e].l.style.left,se[e].style.top=Yt[e].l.style.top})):Object.keys(se).forEach((e=>se[e].style.display="none"))})),Favicon:new gn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){mn()})),WrinklerButtons:new gn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new gn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new gn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new gn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new gn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new gn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new gn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new gn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new gn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new yn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new gn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new gn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Eo()})),TooltipGrim:new gn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new gn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new gn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new gn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new gn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new gn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new gn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new gn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new gn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new gn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new yn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new gn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new gn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new gn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new gn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){dn(e.GCNotification)})),GCFlash:new gn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new fn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new gn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new Cn("vol","NotificationGC",[],"Volume"),GCSoundURL:new gn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new gn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){dn(e.FortuneNotification)})),FortuneFlash:new gn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new fn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new gn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new Cn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new gn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new gn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){dn(e.SeaNotification)})),SeaFlash:new gn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new fn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new gn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new Cn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new gn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new gn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new fn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new gn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new Cn("vol","NotificationGard",[],"Volume"),GardSoundURL:new gn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new gn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){dn(e.MagicNotification)})),MagicFlash:new gn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new fn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new gn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new Cn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new gn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new gn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){dn(e.WrinklerNotification)})),WrinklerFlash:new gn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new fn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new gn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new Cn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new gn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new gn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){dn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new gn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new fn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new gn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new Cn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new gn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new gn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new gn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function kn(){return JSON.stringify({favouriteSettings:de,settings:e,version:"2.031.6"})}function Gn(){if(Je!==Game.dragonLevel||_e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Upgrades).forEach((e=>{eo[e]=xo(e)})),to=[],Object.keys(Game.Achievements).forEach((e=>{to[e]=Go(e)})),To()}let xn=!1;function Tn(t,o,n){(1===e[o]||n)&&3===t&&!1===xn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Tn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Tn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Tn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Mn(t,o,n,i){if((1===e[o]||i)&&!1===xn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Sn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===xn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Pn(){if(re!==Game.OnAscend&&(re=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(pn(),bo()),Co()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(wn(),sn(),r=Object.keys(Game.mods).length),_e&&(Jo(),Game.Has("Golden switch [off]")?(To(),eo["Golden switch [off]"].bought=0,Ro(),dt=Xe):dt=Game.cookiesPs,rn(),an(),on(),en(),Gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Jt[e][t]=vn(e,t)}(),nn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;To();let t=2;5!==$e&&18!==$e||(t-=1),5!==Re&&18!==Re||(t-=1),$e=5,Re=18;for(let e=0;e{Zt[t].amount>0&&(e=t)})),Zt[e].amount-=1,Le-=1}return Object.keys(Zt).forEach((t=>{const o=Zt[t];e+=so(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Kt=e}(),_e=0);const t=Game.auraMult("Fierce Hoarder")>0;!We&&t?(We=!0,Fe=1):We&&!t&&(We=!1,Fe=1),Fe&&(Ko(),Fe=0),function(){ln(),Ho(),function(){xt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Zt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Tt=e,xt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Lo(),tn();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Qt=ue(e/uo())}(),G=0,Yt={},Object.keys(Game.shimmers).forEach((e=>{Yt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Vt=Game.shimmers[e],G+=1)})),Object.keys(se).forEach((e=>{void 0===Yt[e]&&(se[e].parentNode.removeChild(se[e]),delete se[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===se[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},se[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),mn(),b=G,0===G&&(Vt=0)):1===e.GCTimer&&y&&Object.keys(se).forEach((e=>{se[e].style.opacity=Yt[e].l.style.opacity,se[e].style.transform=Yt[e].l.style.transform,se[e].textContent=Math.ceil(Yt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Tn(3,"FortuneFlash",!1),Mn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Sn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(_t=Game.shimmers[e])})),Tn(3,"SeaFlash",!1),Mn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Sn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Tn(3,"WrinklerMaxFlash",!1):Tn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Mn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Mn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Sn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Sn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Bn(){let t="";for(let o=0;o<$.length;o++)t+=`.CMText${$[o]} { color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBack${$[o]} { background-color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBorder${$[o]} { border: 1px solid ${e[`Colour${$[o]}`]}; }\n`;l("CMCSS").textContent=t,co()}function En(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${kn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Nn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t,void 0!==e.Colors&&delete e.Colors,void 0!==e.Colours&&delete e.Colours;let o=!1;Object.keys(cn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=cn[t]):"Header"===t&&Object.keys(cn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=cn[t][n])}))})),o&&En(),Pn(),Object.keys(cn).forEach((e=>{"Header"!==e&&void 0!==bn[e].func&&bn[e].func()}))}else Nn(cn);Game.UpdateMenu(),Bn()}function On(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Fn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Uo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${pe(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${me((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(pe(Game.Objects[o].bulkPrice)).join(pe((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ne=t,ie=o,No(),l("tooltip").innerHTML}function Wn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(S[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Ln(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),En()}function Rn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){$n(o),Game.UpdateMenu()},n.appendChild(i),n}function In(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(I[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function zn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Vn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Rn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+mo(){Game.HasUnlocked(Qo[e])||c.push(Qo[e])})),0!==c.length&&e.appendChild(In("basic","Rare plant drops left to unlock",zn(c))),e}())),o.appendChild(Rn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?Ct:0)));t.appendChild(In("withTooltip","Prestige level (cur / max)",document.createTextNode(`${pe(Game.prestige)} / ${pe(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&Ct?Ct:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(pe(n)));const a=document.createElement("small");a.textContent=` (${ue(n/zt,1)})`,i.appendChild(a),t.appendChild(In("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(In("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${pe(Game.heavenlyChips)} / ${pe(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(In("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(pe(ht,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(In("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(pe(e)))),t.appendChild(In("basic","Time till target (cur, current 5 second average)",document.createTextNode(ue(e/ht)))))}const l=function(e){let t=Game.cookiesPs;To(),0===eo["Heavenly key"].bought&&(eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ro(),t=Xe,To()),It>=1e6&&$o("Sacrifice"),It>=1e9&&$o("Oblivion"),It>=1e12&&$o("From scratch"),It>=1e15&&$o("Nihilism"),It>=1e18&&$o("Dematerialize"),It>=1e21&&$o("Nil zero zilch"),It>=1e24&&$o("Transcendence"),It>=1e27&&$o("Obliterate"),It>=1e30&&$o("Negative void"),It>=1e33&&$o("To crumbs, you say?"),It>=1e36&&$o("You get nothing"),It>=1e39&&$o("Humble rebeginnings"),It>=1e42&&$o("The end of the world"),It>=1e45&&$o("Oh, you're back"),It>=1e48&&$o("Lazarus"),It>=1e51&&$o("Smurf account"),It>=1e54&&$o("If at first you don't succeed"),eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ue=e;const o=De;Ro(),qo(),o!==De&&Ro();const n=Xe-t;return Ue=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(pe(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(In("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Rn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${pe(Gt)} / ${pe(vt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){On()},e.appendChild(t),o.appendChild(In("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${pe(wt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},n.appendChild(i),o.appendChild(In("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==wt[1]?wt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(n.push(zo[e]),o=!0)}));const i=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(i.push(Vo[e]),o=!0)}));const a=[];Object.keys(_o).forEach((e=>{Game.Has(_o[e])||(a.push(_o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Rn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(In("basic","Halloween cookies left to buy",zn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(In("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${pe((1-e)*o*100)}% / ${pe((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(In("basic","Christmas cookies left to buy",zn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(In("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${pe((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(In("basic","Valentine cookies left to buy",zn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(In("basic","Normal easter eggs left to unlock",zn(r))),t.appendChild(In("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[0])}% / ${pe(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(In("basic","Rare easter eggs left to unlock",zn(l))),t.appendChild(In("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[1])}% / ${pe(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(In("basic","Reindeer reward",document.createTextNode(pe(ft)))),s&&t.appendChild(In("withTooltip","Chocolate egg cookies",document.createTextNode(pe(Ct)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(In("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(gt-1))/100+"%")))}return t}()),o.appendChild(Rn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(In("basic",`Average cookies per second (past ${J[e.AvgCPSHist]<60?`${J[e.AvgCPSHist]} seconds`:J[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(pe(uo(),3)))),o.appendChild(In("basic",`Average cookie clicks per second (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(St,1)))),o.appendChild(In("basic",`Cookies from clicking (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(he.calcSum(St*Z[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Io).forEach((t=>{Game.Has(Io[t])||e.push(Io[t])})),0!==e.length&&o.appendChild(In("basic","Fortune Upgrades Left to Buy",zn(e)))}if(e.ShowMissedGC&&o.appendChild(In("basic","Missed golden cookies",document.createTextNode(pe(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(In("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Et){const t=Et.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Et,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const _n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Qn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Xn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){$n(t),Game.UpdateMenu()},n.appendChild(i),n}function qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return de.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){de.includes(e)?de=de.filter((function(t){return t!==e})):de.push(e)}(e),En(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(I.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===bn[t].type){const n=document.createElement("a");bn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Hn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===bn[t].label.length?(e[t]=0,bn[t].toggle&&(l(Hn+t).className="option off")):l(Hn+t).className="option",void 0!==bn[t].func&&bn[t].func(),l(Hn+t).innerHTML=bn[t].label[e[t]],En()}(t)},n.textContent=bn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=bn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===bn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=bn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Un(t)},r.onchange=function(){Un(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Mn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Hn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,En(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=bn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===bn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new jn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Bn(),En(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=bn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Tn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Dn().init(),o}if("numscale"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="number",i.value=e[t],i.min=bn[t].min,i.max=bn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,En(),un()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=bn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Yn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Kn(){B.Beautify=Beautify,Beautify=pe,B.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){B.CalculateGains(),_e=1,w=Date.now(),x=Date.now()},B.tooltip={},B.tooltip.draw=Game.tooltip.draw,B.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){B.tooltip.drawMod(e,t,o)},B.tooltip.update=Game.tooltip.update,B.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){B.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},B.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Yn(B.UpdateWrinklers)},B.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Yn(B.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Yn(Game.ClickCookie)}),!1),B.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){B.RebuildUpgrades(),P=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(P[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},B.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Zt[Game.ObjectsById[e].name].name;Zt[o].amount-=1,Le-=1,t=Zt[o].basePrice*Game.priceIncrease**Math.max(0,Zt[o].amount-1-Zt[o].free),t=Game.modifyBuildingPrice(Zt[o],t),t=Math.ceil(t);break}const o=De;return Ro(),qo(),o!==De&&Ro(),[Xe-Game.cookiesPs,t]}(t),n=ue(o/(e+Game.cookiesPs)),i=pe(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${pe(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},B.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){B.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},B.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Dn().picker&&void 0!==Dn().picker.owner||(B.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(_n).forEach((t=>{if("Favourite"===t){if(0!==de.length&&e.FavouriteSettings>0&&(o.appendChild(Xn(t,_n[t])),e.Header[t]))for(let e=0;e{const n=Xn(t,Qn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))}))})):Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Nn(cn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Vn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){$n("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},B.sayTime=Game.sayTime,V=function(e,t){return Number.isNaN(e)||e<=0?B.sayTime(e,t):ue(e/Game.fps,1)},B.Logic=Game.Logic,Game.Logic=function(){B.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ce=`${Game.OnAscend?"Ascending! ":""}${pe(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ce;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Vt?Vt.wrath?`[W${Math.ceil(Vt.life/Game.fps)}]`:`[G${Math.ceil(Vt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(_t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ce;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Vt&&(t=!0,Vt.wrath?e+=`[W${Math.ceil(Vt.life/Game.fps)}]`:e+=`[G${Math.ceil(Vt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(_t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${pe(Game.prestige)}.
(CpS +${pe(Game.prestige)}%)`,n+='
'),n+=Oe<1?"Ascending now would grant you no prestige.":Oe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${pe(Oe)} prestige levels (+${pe(Oe)}% CpS)
and ${pe(Oe)} heavenly chips to spend.`,n+='
',n+=`You need ${pe(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Qt} to reach the next level and you were making ${pe(ht,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Jn(){wn(),an(),sn(),r=Object.keys(Game.mods).length,T=document.createElement("style"),T.type="text/css",T.id="CMCSS",document.head.appendChild(T),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=E+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",W)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",O)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",O)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",O)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{go(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=ho("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:D},{id:"CMTimerBarGCBar",color:j}]);e.appendChild(t);const o=ho("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:D},{id:"CMTimerBarRenBar",color:L}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=N+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(O,"Better than the best PP of a building option")),e.appendChild(o(F,"Same as the best PP building option")),e.appendChild(o(W,"Within the top 10 of PP for buildings")),e.appendChild(o(L,"Within the top 20 of PP for buildings")),e.appendChild(o(A,"Within the top 30 of PP for buildings")),e.appendChild(o(j,"Outside of the top 30 of PP for buildings")),e.appendChild(o(D,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=E+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",O)),e.appendChild(o("CMUpgradeBarGreen",F)),e.appendChild(o("CMUpgradeBarYellow",W)),e.appendChild(o("CMUpgradeBarOrange",L)),e.appendChild(o("CMUpgradeBarRed",A)),e.appendChild(o("CMUpgradeBarPurple",j)),e.appendChild(o("CMUpgradeBarGray",D)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),I[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){On()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(M[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Wn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),An()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){_=1},l("backgroundLeftCanvas").onmouseout=function(){_=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{X[e]=0}))},Kn(),An(),Game.CalculateGains(),Nn(),z=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Zn={init:function(){xn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Jn(),Game.registerHook("draw",Oo),Game.registerHook("logic",Pn),Game.registerHook("click",Fo),xn=!1)},load:function(e){const t=JSON.parse(e);wn(),void 0!==t.favouriteSettings&&(de=t.favouriteSettings),Nn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:kn};Game.registerMod("CookieMonster",Zn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x,M,T=[],S=[],P=[],B={};const E="CMText",N="CMBack",O="Blue",F="Green",W="Yellow",L="Orange",A="Red",j="Purple",D="Gray",H="Pink",U="Brown",$=[D,O,F,W,L,A,j,H,U],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],I={};let z,V,_=0,Q=-1,X=[],q=1,Y=1,K=1;const J=[10,15,30,60,300,600,900,1800],Z=[1,5,10,15,30],ee={Frenzy:W,"Dragon Harvest":U,"Elder frenzy":F,Clot:A,"Click frenzy":O,Dragonflight:H};let te,oe,ne,ie,ae,re,le,se={},ce="",de=[];function pe(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return B.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${pe(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function me(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=F):(n=ue(t),o=t>300?A:t>60?L:W),{text:n,color:o}}let he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Me,Te,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=0,pt=1,ut=1,mt=1,ht=0,gt=0,ft=0,Ct=0,yt={},bt={},kt={},Gt=0,vt=0,wt=[0,null],xt=0,Mt=0,Tt={},St={},Pt={},Bt={},Et={},Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,$t=0,Rt=[],It=0,zt=0,Vt={},_t={},Qt=0,Xt=0,qt=[],Yt={},Kt=0,Jt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Zt=[],eo=[],to=[];function oo(e){let t=0;return Game.dragonAuras[$e].name!==e&&Game.dragonAuras[Re].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[$e].name&&"Reality Bending"!==Game.dragonAuras[Re].name||(t+=.1),t}function no(){let e=.25;return e*=1+oo("Earth Shatterer"),e}function io(e,t){return void 0===Qe[e]?void 0===t?1:t:Qe[e]}function ao(e){const t=eo[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ro(e){if(Game.hasGod){void 0===Zt.Temple.minigame&&(Zt.Temple.minigame=Game.Objects.Temple.minigame);const t=Zt.Temple.minigame.gods[e];if(Ie===t.id)return 1;if(ze===t.id)return 2;if(Ve===t.id)return 3}return!1}function lo(e,t){let o=t;if(ao("Season savings")&&(o*=.99),ao("Santa's dominion")&&(o*=.99),ao("Faberge egg")&&(o*=.99),ao("Divine discount")&&(o*=.99),ao("Fortune #100")&&(o*=.99),o*=1-.02*oo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&ao(e.fortune.name)&&(o*=.93),o*=io("buildingCost"),Zt.Temple.minigameLoaded){const e=ro("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function so(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function co(){let t=Game.buyBulk;if(1===Game.buyMode?Y=t:t=Y,1===t?t=yt:10===t?t=bt:100===t&&(t=kt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(yt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=pe(so(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(yt).map((e=>{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;e$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.ppe.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?q=i:i=q,1===i&&(i=yt),10===i&&(i=bt),100===i&&(i=kt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=pe(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=E+i[o].color,n=e.PPDisplayTime?ue(Math.round(i[o].pp)):pe(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=me((Game.Objects[o].bulkPrice-(Game.cookies+mo()))/uo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=E+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&ao(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(ao(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&ao(e.fortune.name)&&(t*=1.07),e.grandma&&ao(e.grandma.name)&&(t*=1+.01*Zt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&ao(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function wo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;ao("Thousand fingers")&&(t+=.1),ao("Million fingers")&&(t*=5),ao("Billion fingers")&&(t*=10),ao("Trillion fingers")&&(t*=20),ao("Quadrillion fingers")&&(t*=20),ao("Quintillion fingers")&&(t*=20),ao("Sextillion fingers")&&(t*=20),ao("Septillion fingers")&&(t*=20),ao("Octillion fingers")&&(t*=20),ao("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Zt).forEach((e=>{"Cursor"!==Zt[e].name&&(n+=Zt[e].amount)})),t*=n,o*=vo(e),o*=Game.magicCpS("Cursor"),o*=io("cursorCps"),Game.ComputeCps(.1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{ao(Game.GrandmaSynergies[e])&&(o*=2)})),ao("Bingo center/Research facility")&&(o*=4),ao("Ritual rolling pins")&&(o*=2),ao("Naughty list")&&(o*=2),ao("Elderwort biscuits")&&(o*=1.02),o*=io("grandmaCps"),ao("Cat ladies"))for(let e=0;e{"Grandma"!==Zt[e].name&&(i+=Zt[e].amount)})),o*=1+.01*oo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=vo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function xo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Zt).forEach((t=>{Zt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(ao("Starlove")&&(e=3),Game.hasGod){const t=ro("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Mo(){Ae=Game.UpgradesOwned,je=Game.pledges,De=Game.AchievementsOwned,He=Game.heavenlyPower,Ue=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e],go(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ie=t.minigame.slot[0],ze=t.minigame.slot[1],Ve=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Zt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=eo[e];void 0===o&&(eo[e]=xo(e),o=eo[e]),o.bought=t.bought,eo[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=to[e];void 0===o&&(to[e]=Go(e),o=to[e]),o.won=t.won,to[e]=o})),ko(),$e=Ye,Re=Ke}function To(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function So(e){e.appendChild(To("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(To("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(To("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(To("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ne){e.appendChild(To("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Po(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Eo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function No(){if(Mo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ne?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(So(l("CMTooltipBorder")),1===Game.buyMode?K=t:t=K,1===Game.buyBulk?t=yt:10===Game.buyBulk?t=bt:100===Game.buyBulk&&(t=kt),te=Game.Objects[ie].bulkPrice,oe=t[ie].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=pe(oe,2);const o=Math.round(oe/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=E+t[ie].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ue(t[ie].pp):l("CMTooltipPP").textContent=pe(t[ie].pp,2),l("CMTooltipPP").className=E+t[ie].color;const n=me((te-(Game.cookies+mo()))/uo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ie[1]][ie[0]][0]-1].mature,o=t.plantsById[t.plot[ie[1]][ie[0]][0]-1].name;l("CMTooltipBorder").appendChild(To("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${pe(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${pe(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${pe(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${pe(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ne?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(To("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=ho(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==ee[Game.buffs[t].name]?ee[Game.buffs[t].name]:j,a.lastChild.children[1].className=N+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),le!==n&&(le=n,yo())}}(),fo(),No(),function(){if(1===e.TooltipWrink&&1===_){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===X[t]||void 0===X[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),Q=t,X[t]=1}}else X[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[Q],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[Q].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Zt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=pe(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,pe(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Fo(){he.addLatest(Game.computedMouseCps)}class Wo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Lo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Kt;Game.cpsSucked>0&&(o+=Gt),It=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ge,i=Math.max(0,Game.cookies-ve)/n,a=Math.max(0,Gt-we)/n,r=Math.max(0,wt[0]-xe)/n,l=Math.max(0,o-Ct)/n,s=(Game.cookieClicks-Me)/n;for(let e=0;e0&&(n=A),n}function jo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=D;else{t[n].color=Ao(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+mo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||qt.push([t[n].pp,o])}))}function Ho(){!function(){Xt=1/0,qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Do(yt,1),Do(bt,10),Do(kt,100),qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;qt[t][1]>Game.cookies&&(t+=1,qt.length!==t+1););Xt=qt[e.PPExcludeTop][t],jo(yt,1),jo(bt,10),jo(kt,100)}(),Object.keys(Tt).forEach((e=>{Game.cookiesPs?Tt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+mo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Tt[e].bonus:Tt[e].pp=Game.Upgrades[e].getPrice()/Tt[e].bonus,Number.isNaN(Tt[e].pp)&&(Tt[e].pp=1/0),Tt[e].color=Ao(Tt[e],Game.Upgrades[e].getPrice())}))}function Uo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Qe=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ue)*He*function(){let e=0;if(ao("Heavenly chip secret")&&(e+=.05),ao("Heavenly cookie stand")&&(e+=.2),ao("Heavenly bakery")&&(e+=.25),ao("Heavenly confectionery")&&(e+=.25),ao("Heavenly key")&&(e+=.25),e*=1+.05*oo("Dragon God"),ao("Lucky digit")&&(e*=1.01),ao("Lucky number")&&(e*=1.01),ao("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ro("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=io("cps"),ao("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];ao(o.name)&&("function"==typeof o.power?e*=1+.01*eo[o.name].power(eo[o.name]):e*=1+.01*o.power)})),ao("Specialized chocolate chips")&&(e*=1.01),ao("Designer cocoa beans")&&(e*=1.02),ao("Underworld ovens")&&(e*=1.03),ao("Exotic nuts")&&(e*=1.04),ao("Arcane sugar")&&(e*=1.05),ao("Increased merriness")&&(e*=1.15),ao("Improved jolliness")&&(e*=1.15),ao("A lump of coal")&&(e*=1.01),ao("An itchy sweater")&&(e*=1.01),ao("Santa's dominion")&&(e*=1.2),ao("Fortune #100")&&(e*=1.01),ao("Fortune #101")&&(e*=1.07),ao("Dragon scale")&&(e*=1.03);let o=1;if(ro){let t=ro("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ro("ages"),1===t?e*=1+.15*Math.sin(w/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(w/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(w/1e3/86400*Math.PI*2)),t=ro("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ro("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ro("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}ao("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=De/25;let i=1;if(ao("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*oo("Breath of Milk"),ro){const e=ro("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=io("milk");let a=1;ao("Kitten helpers")&&(a*=1+.1*n*i),ao("Kitten workers")&&(a*=1+.125*n*i),ao("Kitten engineers")&&(a*=1+.15*n*i),ao("Kitten overseers")&&(a*=1+.175*n*i),ao("Kitten managers")&&(a*=1+.2*n*i),ao("Kitten accountants")&&(a*=1+.2*n*i),ao("Kitten specialists")&&(a*=1+.2*n*i),ao("Kitten experts")&&(a*=1+.2*n*i),ao("Kitten consultants")&&(a*=1+.2*n*i),ao("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),ao("Kitten marketeers")&&(a*=1+.15*n*i),ao("Kitten analysts")&&(a*=1+.125*n*i),ao("Kitten executives")&&(a*=1+.115*n*i),ao("Kitten angels")&&(a*=1+.1*n*i),ao("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Zt).forEach((e=>{const t=Zt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&ao("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Xe+=t.amount*a})),ao('"egg"')&&(Xe+=9),e*=a;let r=1;if(ao("Chicken egg")&&(r*=1.01),ao("Duck egg")&&(r*=1.01),ao("Turkey egg")&&(r*=1.01),ao("Quail egg")&&(r*=1.01),ao("Robin egg")&&(r*=1.01),ao("Ostrich egg")&&(r*=1.01),ao("Cassowary egg")&&(r*=1.01),ao("Salmon roe")&&(r*=1.01),ao("Frogspawn")&&(r*=1.01),ao("Shark egg")&&(r*=1.01),ao("Turtle egg")&&(r*=1.01),ao("Ant larva")&&(r*=1.01),ao("Century egg")){let e=10*Math.floor((x-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),gt=1+.1*(1-(1-e/100)**3),r*=gt}e*=r,ao("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+oo("Radiant Appetite");const l=Xe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&$o(Game.CpsAchievements[e].name)})),qe=l;const{n:s}=Game.shimmerTypes.golden,c=oo("Dragon's Fortune");for(let t=0;t{ao(e[o])&&(t+=.1)}))}e*=t}if(ao("Shimmering veil [off]")){let t=.5;ao("Reinforced membrane")&&(t+=.1),e*=1+t}ao("Magic shenanigans")&&(e*=1e3),ao("Occult obstruction")&&(e*=0),Xe=Game.runModHookOnValue("cps",Xe),e*=Bo(),Xe*=e}const Io=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],zo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Vo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],_o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Qo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Xo(e){return to[e]?to[e].won:0}function qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{ao(Game.GrandmaSynergies[t])&&(e+=1)})),!Xo("Elder")&&e>=7&&$o("Elder"),!Xo("Veteran")&&e>=14&&$o("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount,i=Math.min(Zt[e].amount,i),Xo("Mathematician")||Zt[e].amount=1&&$o("One with everything"),1===o&&$o("Mathematician"),1===n&&$o("Base 10"),i>=100&&$o("Centennial"),i>=150&&$o("Centennial and a half"),i>=200&&$o("Bicentennial"),i>=250&&$o("Bicentennial and a half"),i>=300&&$o("Tricentennial"),i>=350&&$o("Tricentennial and a half"),i>=400&&$o("Quadricentennial"),i>=450&&$o("Quadricentennial and a half"),i>=500&&$o("Quincentennial"),i>=550&&$o("Quincentennial and a half"),i>=600&&$o("Sexcentennial"),t>=100&&$o("Builder"),t>=500&&$o("Architect"),t>=1e3&&$o("Engineer"),t>=2e3&&$o("Lord of Constructs"),t>=4e3&&$o("Grand design"),t>=8e3&&$o("Ecumenopolis"),Ae>=20&&$o("Enhancer"),Ae>=50&&$o("Augmenter"),Ae>=100&&$o("Upgrader"),Ae>=200&&$o("Lord of Progress"),Ae>=300&&$o("The full picture"),Ae>=400&&$o("When there's nothing left to add"),t>=4e3&&Ae>=300&&$o("Polymath"),t>=8e3&&Ae>=400&&$o("Renaissance baker"),Zt.Cursor.amount+Zt.Grandma.amount>=777&&$o("The elder scrolls");let a=!0;Object.keys(zo).forEach((e=>{ao(zo[e])||(a=!1)})),a&&$o("Spooky cookies");let r=!0;if(Object.keys(Vo).forEach((e=>{ao(Vo[e])||(r=!1)})),r&&$o("Let it snow"),ao("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{ao(e[o].name)&&(t+=1)})),t>=e.length&&$o("O Fortuna")}}function Yo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Mo(),Zt[e].amount+=t;const o=Zt[e];"Cursor"===e?(o.amount>=1&&$o("Click"),o.amount>=2&&$o("Double-click"),o.amount>=50&&$o("Mouse wheel"),o.amount>=100&&$o("Of Mice and Men"),o.amount>=200&&$o("The Digital"),o.amount>=300&&$o("Extreme polydactyly"),o.amount>=400&&$o("Dr. T"),o.amount>=500&&$o("Thumbs, phalanges, metacarpals"),o.amount>=600&&$o("With her finger and her thumb"),o.amount>=700&&$o("Gotta hand it to you"),o.amount>=800&&$o("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&$o(Game.Objects[o.name].tieredAchievs[e].name)}));const n=De;return Ro(),qo(),n!==De&&Ro(),Xe-Game.cookiesPs}(o,e),1!==e&&(Fe=1)})),t}function Ko(){Object.keys(Game.Objects).forEach((e=>{yt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),bt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),kt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Jo(){yt=Yo(1),bt=Yo(10),kt=Yo(100),Tt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Mo(),"Shimmering veil [on]"===eo[e].name?eo["Shimmering veil [off]"].bought=0:"Golden switch [on]"===eo[e].name?eo["Golden switch [off]"].bought=0:eo[e].bought=(eo[e].bought+1)%2,Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ae+=1),"Elder Pledge"===e?(je+=1,je>0&&$o("Elder nap"),je>=5&&$o("Elder slumber")):"Elder Covenant"===e?$o("Elder calm"):"Prism heart biscuits"===e?$o("Lovely cookies"):"Heavenly key"===e&&$o("Wholesome");const t=De;Ro(),qo(),t!==De&&Ro();const o=function(){let e=0;ao("Thousand fingers")&&(e+=.1),ao("Million fingers")&&(e*=5),ao("Billion fingers")&&(e*=10),ao("Trillion fingers")&&(e*=20),ao("Quadrillion fingers")&&(e*=20),ao("Quintillion fingers")&&(e*=20),ao("Sextillion fingers")&&(e*=20),ao("Septillion fingers")&&(e*=20),ao("Octillion fingers")&&(e*=20),ao("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount})),t-=Zt.Cursor.amount,e*=t,ao("Plastic mouse")&&(e+=.01*Xe),ao("Iron mouse")&&(e+=.01*Xe),ao("Titanium mouse")&&(e+=.01*Xe),ao("Adamantium mouse")&&(e+=.01*Xe),ao("Unobtainium mouse")&&(e+=.01*Xe),ao("Eludium mouse")&&(e+=.01*Xe),ao("Wishalloy mouse")&&(e+=.01*Xe),ao("Fantasteel mouse")&&(e+=.01*Xe),ao("Nevercrack mouse")&&(e+=.01*Xe),ao("Armythril mouse")&&(e+=.01*Xe),ao("Technobsidian mouse")&&(e+=.01*Xe),ao("Plasmarble mouse")&&(e+=.01*Xe),ao("Miraculite mouse")&&(e+=.01*Xe),ao("Fortune #104")&&(e+=.01*Xe);let o=1;if(ao("Santa's helpers")&&(o*=1.1),ao("Cookie egg")&&(o*=1.1),ao("Halo gloves")&&(o*=1.1),ao("Dragon claw")&&(o*=1.03),ao("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,ao("Luminous gloves")?20:10)),o*=io("click"),Zt.Temple.minigameLoaded&&ro){const e=ro("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*oo("Dragon Cursor");let n=o*Game.ComputeCps(1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Xe-Game.cookiesPs,o]:[Xe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Tt[t]={bonus:Game.cookiesPs-Te},1===e.CalcWrink?Tt[t].bonus-=Se:2===e.CalcWrink&&(Tt[t].bonus-=Pe),Number.isFinite(Tt[t].bonus)||(Tt[t].bonus=0)):(Tt[t]={},o[0]&&(Tt[t].bonus=o[0]),o[1]&&(Tt[t].bonusMouse=o[1]))}))}function Zo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ft=Zo(7,e,ut),Nt=2*Ft[1]/ut,Ot=Ft[2]/60/60/6/pt,At=Zo(6,e,mt),Wt=2*At[1]/mt,Lt=At[2]/60/60/6/pt,Ht=Zo(7,7*e,ut),jt=2*Ht[1]/ut,Dt=Ht[2]/60/60/6/pt,Rt=Zo(6,7*e,mt),Ut=2*Rt[1]/mt,$t=Rt[2]/60/60/6/pt}function tn(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ne,i=Math.max(0,o-Oe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Bt+=e:"cookie"===o.pool?Et+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Pt+=e)}}))}function nn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ft=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ft*=2)}}function an(){et=900*dt/.15,et*=pt;const e=Bo();e>0?et/=e:et=0,tt=ut*(.15*et)+13,ot=mt*(.15*et)+13,nt=7*et,it=ut*(.15*nt)+13,at=mt*(.15*nt)+13,rt=2*et,lt=.15*rt,st=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountst&&(st=2*Game.Objects[e].price,ct=e)}))}function rn(){let e=1,t=1,o=1;ao("Green yeast digestives")&&(o*=1.01),ao("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ut=o*e,mt=o*t,pt=1,0===Game.shimmerTypes.golden.n&&(pt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function ln(){Gt=0,vt=0,wt=[0,null];for(let e=0;ewt[0]&&(wt=[t,e]))}}function sn(){ko(),ln(),an(),rn(),en(),on(),nn(),ge=new Wo(J[J.length-1]),fe=new Wo(J[J.length-1]),Ce=new Wo(J[J.length-1]),ye=new Wo(J[J.length-1]),be=new Wo(Z[Z.length-1]),ke=new Wo(5),he=new Wo(20*Z[Z.length-1]),tn(),Lo(),Jo(),Ko(),Ho()}const cn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},dn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function pn(){1===e.BotBar?(l("CMBotBar").style.display="",fo()):l("CMBotBar").style.display="none",yo()}function un(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),fo(),co(),po()}function mn(){1===e.Favicon&&y>0?Vt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class hn{constructor(e,t){this.type=e,this.group=t}}class gn extends hn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class fn extends hn{constructor(e,t,o){super(e,t),this.desc=o}}class Cn extends hn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class yn extends hn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const bn={CPSMode:new gn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new gn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new gn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new gn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){_e=!0})),Scale:new gn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){un()})),ScaleDecimals:new gn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){un()})),ScaleSeparator:new gn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){un()})),ScaleCutoff:new yn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new gn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new gn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=V:Game.sayTime=B.sayTime})),PPDisplayTime:new gn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new gn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){co()})),PPOnlyConsiderBuyable:new gn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new gn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new gn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new yn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new fn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new fn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new fn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new fn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new fn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new fn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new fn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new fn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new fn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new gn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){pn()})),TimerBar:new gn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){bo()})),TimerBarPos:new gn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),yo()})),TimerBarOverlay:new gn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new gn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",po()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",po()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new gn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new gn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){co()})),SortUpgrades:new gn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){po()})),DragonAuraInfo:new gn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new gn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new gn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(se).forEach((e=>{se[e].style.display="block",se[e].style.left=Yt[e].l.style.left,se[e].style.top=Yt[e].l.style.top})):Object.keys(se).forEach((e=>se[e].style.display="none"))})),Favicon:new gn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){mn()})),WrinklerButtons:new gn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new gn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new gn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new gn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new gn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new gn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new gn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new gn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new gn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new yn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new gn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new gn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Eo()})),TooltipGrim:new gn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new gn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new gn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new gn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new gn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new gn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new gn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new gn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new gn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new gn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new yn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new gn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new gn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new gn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new gn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){dn(e.GCNotification)})),GCFlash:new gn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new fn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new gn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new Cn("vol","NotificationGC",[],"Volume"),GCSoundURL:new gn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new gn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){dn(e.FortuneNotification)})),FortuneFlash:new gn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new fn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new gn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new Cn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new gn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new gn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){dn(e.SeaNotification)})),SeaFlash:new gn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new fn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new gn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new Cn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new gn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new gn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new fn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new gn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new Cn("vol","NotificationGard",[],"Volume"),GardSoundURL:new gn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new gn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){dn(e.MagicNotification)})),MagicFlash:new gn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new fn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new gn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new Cn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new gn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new gn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){dn(e.WrinklerNotification)})),WrinklerFlash:new gn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new fn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new gn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new Cn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new gn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new gn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){dn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new gn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new fn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new gn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new Cn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new gn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new gn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new gn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function kn(){return JSON.stringify({favouriteSettings:de,settings:e,version:"2.031.6"})}function Gn(){if(Je!==Game.dragonLevel||_e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Upgrades).forEach((e=>{eo[e]=xo(e)})),to=[],Object.keys(Game.Achievements).forEach((e=>{to[e]=Go(e)})),Mo()}let xn=!1;function Mn(t,o,n){(1===e[o]||n)&&3===t&&!1===xn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Mn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Mn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Mn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Tn(t,o,n,i){if((1===e[o]||i)&&!1===xn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Sn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===xn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Pn(){if(re!==Game.OnAscend&&(re=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(pn(),bo()),Co()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(wn(),sn(),r=Object.keys(Game.mods).length),_e&&(Jo(),Game.Has("Golden switch [off]")?(Mo(),eo["Golden switch [off]"].bought=0,Ro(),dt=Xe):dt=Game.cookiesPs,rn(),an(),on(),en(),Gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Jt[e][t]=vn(e,t)}(),nn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Mo();let t=2;5!==$e&&18!==$e||(t-=1),5!==Re&&18!==Re||(t-=1),$e=5,Re=18;for(let e=0;e{Zt[t].amount>0&&(e=t)})),Zt[e].amount-=1,Le-=1}return Object.keys(Zt).forEach((t=>{const o=Zt[t];e+=so(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Kt=e}(),_e=0);const t=Game.auraMult("Fierce Hoarder")>0;!We&&t?(We=!0,Fe=1):We&&!t&&(We=!1,Fe=1),Fe&&(Ko(),Fe=0),function(){ln(),Ho(),function(){xt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Zt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Mt=e,xt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Lo(),tn();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Qt=ue(e/uo())}(),G=0,Yt={},Object.keys(Game.shimmers).forEach((e=>{Yt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Vt=Game.shimmers[e],G+=1)})),Object.keys(se).forEach((e=>{void 0===Yt[e]&&(se[e].parentNode.removeChild(se[e]),delete se[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===se[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},se[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),mn(),b=G,0===G&&(Vt=0)):1===e.GCTimer&&y&&Object.keys(se).forEach((e=>{se[e].style.opacity=Yt[e].l.style.opacity,se[e].style.transform=Yt[e].l.style.transform,se[e].textContent=Math.ceil(Yt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Mn(3,"FortuneFlash",!1),Tn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Sn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(_t=Game.shimmers[e])})),Mn(3,"SeaFlash",!1),Tn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Sn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Mn(3,"WrinklerMaxFlash",!1):Mn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Tn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Tn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Sn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Sn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Bn(){let t="";for(let o=0;o<$.length;o++)t+=`.CMText${$[o]} { color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBack${$[o]} { background-color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBorder${$[o]} { border: 1px solid ${e[`Colour${$[o]}`]}; }\n`;l("CMCSS").textContent=t,co()}function En(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${kn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Nn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t,void 0!==e.Colors&&delete e.Colors,void 0!==e.Colours&&delete e.Colours;let o=!1;Object.keys(cn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=cn[t]):"Header"===t&&Object.keys(cn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=cn[t][n])}))})),o&&En(),Pn(),Object.keys(cn).forEach((e=>{"Header"!==e&&void 0!==bn[e].func&&bn[e].func()}))}else Nn(cn);Game.UpdateMenu(),Bn()}function On(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Fn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Uo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${pe(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${me((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(pe(Game.Objects[o].bulkPrice)).join(pe((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ne=t,ie=o,No(),l("tooltip").innerHTML}function Wn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(S[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Ln(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),En()}function Rn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){$n(o),Game.UpdateMenu()},n.appendChild(i),n}function In(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(I[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function zn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Vn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Rn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+mo(){Game.HasUnlocked(Qo[e])||c.push(Qo[e])})),0!==c.length&&e.appendChild(In("basic","Rare plant drops left to unlock",zn(c))),e}())),o.appendChild(Rn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?Ct:0)));t.appendChild(In("withTooltip","Prestige level (cur / max)",document.createTextNode(`${pe(Game.prestige)} / ${pe(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&Ct?Ct:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(pe(n)));const a=document.createElement("small");a.textContent=` (${ue(n/zt,1)})`,i.appendChild(a),t.appendChild(In("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(In("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${pe(Game.heavenlyChips)} / ${pe(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(In("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(pe(ht,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(In("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(pe(e)))),t.appendChild(In("basic","Time till target (cur, current 5 second average)",document.createTextNode(ue(e/ht)))))}const l=function(e){let t=Game.cookiesPs;Mo(),0===eo["Heavenly key"].bought&&(eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ro(),t=Xe,Mo()),It>=1e6&&$o("Sacrifice"),It>=1e9&&$o("Oblivion"),It>=1e12&&$o("From scratch"),It>=1e15&&$o("Nihilism"),It>=1e18&&$o("Dematerialize"),It>=1e21&&$o("Nil zero zilch"),It>=1e24&&$o("Transcendence"),It>=1e27&&$o("Obliterate"),It>=1e30&&$o("Negative void"),It>=1e33&&$o("To crumbs, you say?"),It>=1e36&&$o("You get nothing"),It>=1e39&&$o("Humble rebeginnings"),It>=1e42&&$o("The end of the world"),It>=1e45&&$o("Oh, you're back"),It>=1e48&&$o("Lazarus"),It>=1e51&&$o("Smurf account"),It>=1e54&&$o("If at first you don't succeed"),eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ue=e;const o=De;Ro(),qo(),o!==De&&Ro();const n=Xe-t;return Ue=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(pe(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(In("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Rn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${pe(Gt)} / ${pe(vt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){On()},e.appendChild(t),o.appendChild(In("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${pe(wt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},n.appendChild(i),o.appendChild(In("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==wt[1]?wt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(n.push(zo[e]),o=!0)}));const i=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(i.push(Vo[e]),o=!0)}));const a=[];Object.keys(_o).forEach((e=>{Game.Has(_o[e])||(a.push(_o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Rn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(In("basic","Halloween cookies left to buy",zn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(In("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${pe((1-e)*o*100)}% / ${pe((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(In("basic","Christmas cookies left to buy",zn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(In("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${pe((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(In("basic","Valentine cookies left to buy",zn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(In("basic","Normal easter eggs left to unlock",zn(r))),t.appendChild(In("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[0])}% / ${pe(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(In("basic","Rare easter eggs left to unlock",zn(l))),t.appendChild(In("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[1])}% / ${pe(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(In("basic","Reindeer reward",document.createTextNode(pe(ft)))),s&&t.appendChild(In("withTooltip","Chocolate egg cookies",document.createTextNode(pe(Ct)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(In("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(gt-1))/100+"%")))}return t}()),o.appendChild(Rn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(In("basic",`Average cookies per second (past ${J[e.AvgCPSHist]<60?`${J[e.AvgCPSHist]} seconds`:J[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(pe(uo(),3)))),o.appendChild(In("basic",`Average cookie clicks per second (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(St,1)))),o.appendChild(In("basic",`Cookies from clicking (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(he.calcSum(St*Z[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Io).forEach((t=>{Game.Has(Io[t])||e.push(Io[t])})),0!==e.length&&o.appendChild(In("basic","Fortune Upgrades Left to Buy",zn(e)))}if(e.ShowMissedGC&&o.appendChild(In("basic","Missed golden cookies",document.createTextNode(pe(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(In("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Et){const t=Et.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Et,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const _n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Qn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Xn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){$n(t),Game.UpdateMenu()},n.appendChild(i),n}function qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return de.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){de.includes(e)?de=de.filter((function(t){return t!==e})):de.push(e)}(e),En(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(I.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===bn[t].type){const n=document.createElement("a");bn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Hn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===bn[t].label.length?(e[t]=0,bn[t].toggle&&(l(Hn+t).className="option off")):l(Hn+t).className="option",void 0!==bn[t].func&&bn[t].func(),l(Hn+t).innerHTML=bn[t].label[e[t]],En()}(t)},n.textContent=bn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=bn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===bn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=bn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Un(t)},r.onchange=function(){Un(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Tn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Hn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,En(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=bn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===bn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new jn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Bn(),En(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=bn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Mn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Dn().init(),o}if("numscale"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="number",i.value=e[t],i.min=bn[t].min,i.max=bn[t].max,i.oninput=function(){e[t]=this.value,En(),un()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=bn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Yn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Kn(){B.Beautify=Beautify,Beautify=pe,B.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){B.CalculateGains(),_e=1,w=Date.now(),x=Date.now()},B.tooltip={},B.tooltip.draw=Game.tooltip.draw,B.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){B.tooltip.drawMod(e,t,o)},B.tooltip.update=Game.tooltip.update,B.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){B.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},B.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Yn(B.UpdateWrinklers)},B.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Yn(B.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Yn(Game.ClickCookie)}),!1),B.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){B.RebuildUpgrades(),P=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(P[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},B.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Zt[Game.ObjectsById[e].name].name;Zt[o].amount-=1,Le-=1,t=Zt[o].basePrice*Game.priceIncrease**Math.max(0,Zt[o].amount-1-Zt[o].free),t=Game.modifyBuildingPrice(Zt[o],t),t=Math.ceil(t);break}const o=De;return Ro(),qo(),o!==De&&Ro(),[Xe-Game.cookiesPs,t]}(t),n=ue(o/(e+Game.cookiesPs)),i=pe(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${pe(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},B.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){B.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},B.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Dn().picker&&void 0!==Dn().picker.owner||(B.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(_n).forEach((t=>{if("Favourite"===t){if(0!==de.length&&e.FavouriteSettings>0&&(o.appendChild(Xn(t,_n[t])),e.Header[t]))for(let e=0;e{const n=Xn(t,Qn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))}))})):Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Nn(cn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Vn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){$n("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},B.sayTime=Game.sayTime,V=function(e,t){return Number.isNaN(e)||e<=0?B.sayTime(e,t):ue(e/Game.fps,1)},B.Logic=Game.Logic,Game.Logic=function(){B.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ce=`${Game.OnAscend?"Ascending! ":""}${pe(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ce;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Vt?Vt.wrath?`[W${Math.ceil(Vt.life/Game.fps)}]`:`[G${Math.ceil(Vt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(_t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ce;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Vt&&(t=!0,Vt.wrath?e+=`[W${Math.ceil(Vt.life/Game.fps)}]`:e+=`[G${Math.ceil(Vt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(_t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${pe(Game.prestige)}.
(CpS +${pe(Game.prestige)}%)`,n+='
'),n+=Oe<1?"Ascending now would grant you no prestige.":Oe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${pe(Oe)} prestige levels (+${pe(Oe)}% CpS)
and ${pe(Oe)} heavenly chips to spend.`,n+='
',n+=`You need ${pe(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Qt} to reach the next level and you were making ${pe(ht,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Jn(){wn(),an(),sn(),r=Object.keys(Game.mods).length,M=document.createElement("style"),M.type="text/css",M.id="CMCSS",document.head.appendChild(M),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=E+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",W)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",O)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",O)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",O)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{go(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=ho("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:D},{id:"CMTimerBarGCBar",color:j}]);e.appendChild(t);const o=ho("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:D},{id:"CMTimerBarRenBar",color:L}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=N+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(O,"Better than the best PP of a building option")),e.appendChild(o(F,"Same as the best PP building option")),e.appendChild(o(W,"Within the top 10 of PP for buildings")),e.appendChild(o(L,"Within the top 20 of PP for buildings")),e.appendChild(o(A,"Within the top 30 of PP for buildings")),e.appendChild(o(j,"Outside of the top 30 of PP for buildings")),e.appendChild(o(D,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=E+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",O)),e.appendChild(o("CMUpgradeBarGreen",F)),e.appendChild(o("CMUpgradeBarYellow",W)),e.appendChild(o("CMUpgradeBarOrange",L)),e.appendChild(o("CMUpgradeBarRed",A)),e.appendChild(o("CMUpgradeBarPurple",j)),e.appendChild(o("CMUpgradeBarGray",D)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),I[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){On()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(T[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Wn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),An()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){_=1},l("backgroundLeftCanvas").onmouseout=function(){_=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{X[e]=0}))},Kn(),An(),Game.CalculateGains(),Nn(),z=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Zn={init:function(){xn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Jn(),Game.registerHook("draw",Oo),Game.registerHook("logic",Pn),Game.registerHook("click",Fo),xn=!1)},load:function(e){const t=JSON.parse(e);wn(),void 0!==t.favouriteSettings&&(de=t.favouriteSettings),Nn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:kn};Game.registerMod("CookieMonster",Zn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index 74d19ed2..eda6870a 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x,T,M=[],S=[],P=[],B={};const E="CMText",N="CMBack",O="Blue",F="Green",W="Yellow",L="Orange",A="Red",j="Purple",D="Gray",H="Pink",U="Brown",$=[D,O,F,W,L,A,j,H,U],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],I={};let z,V,_=0,Q=-1,X=[],q=1,Y=1,K=1;const J=[10,15,30,60,300,600,900,1800],Z=[1,5,10,15,30],ee={Frenzy:W,"Dragon Harvest":U,"Elder frenzy":F,Clot:A,"Click frenzy":O,Dragonflight:H};let te,oe,ne,ie,ae,re,le,se={},ce="",de=[];function pe(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return B.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${pe(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function me(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=F):(n=ue(t),o=t>300?A:t>60?L:W),{text:n,color:o}}let he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=0,pt=1,ut=1,mt=1,ht=0,gt=0,ft=0,Ct=0,yt={},bt={},kt={},Gt=0,vt=0,wt=[0,null],xt=0,Tt=0,Mt={},St={},Pt={},Bt={},Et={},Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,$t=0,Rt=[],It=0,zt=0,Vt={},_t={},Qt=0,Xt=0,qt=[],Yt={},Kt=0,Jt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Zt=[],eo=[],to=[];function oo(e){let t=0;return Game.dragonAuras[$e].name!==e&&Game.dragonAuras[Re].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[$e].name&&"Reality Bending"!==Game.dragonAuras[Re].name||(t+=.1),t}function no(){let e=.25;return e*=1+oo("Earth Shatterer"),e}function io(e,t){return void 0===Qe[e]?void 0===t?1:t:Qe[e]}function ao(e){const t=eo[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ro(e){if(Game.hasGod){void 0===Zt.Temple.minigame&&(Zt.Temple.minigame=Game.Objects.Temple.minigame);const t=Zt.Temple.minigame.gods[e];if(Ie===t.id)return 1;if(ze===t.id)return 2;if(Ve===t.id)return 3}return!1}function lo(e,t){let o=t;if(ao("Season savings")&&(o*=.99),ao("Santa's dominion")&&(o*=.99),ao("Faberge egg")&&(o*=.99),ao("Divine discount")&&(o*=.99),ao("Fortune #100")&&(o*=.99),o*=1-.02*oo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&ao(e.fortune.name)&&(o*=.93),o*=io("buildingCost"),Zt.Temple.minigameLoaded){const e=ro("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function so(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function co(){let t=Game.buyBulk;if(1===Game.buyMode?Y=t:t=Y,1===t?t=yt:10===t?t=bt:100===t&&(t=kt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(yt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=pe(so(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(yt).map((e=>{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;e$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.ppe.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?q=i:i=q,1===i&&(i=yt),10===i&&(i=bt),100===i&&(i=kt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=pe(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=E+i[o].color,n=e.PPDisplayTime?ue(Math.round(i[o].pp)):pe(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=me((Game.Objects[o].bulkPrice-(Game.cookies+mo()))/uo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=E+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&ao(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(ao(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&ao(e.fortune.name)&&(t*=1.07),e.grandma&&ao(e.grandma.name)&&(t*=1+.01*Zt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&ao(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function wo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;ao("Thousand fingers")&&(t+=.1),ao("Million fingers")&&(t*=5),ao("Billion fingers")&&(t*=10),ao("Trillion fingers")&&(t*=20),ao("Quadrillion fingers")&&(t*=20),ao("Quintillion fingers")&&(t*=20),ao("Sextillion fingers")&&(t*=20),ao("Septillion fingers")&&(t*=20),ao("Octillion fingers")&&(t*=20),ao("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Zt).forEach((e=>{"Cursor"!==Zt[e].name&&(n+=Zt[e].amount)})),t*=n,o*=vo(e),o*=Game.magicCpS("Cursor"),o*=io("cursorCps"),Game.ComputeCps(.1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{ao(Game.GrandmaSynergies[e])&&(o*=2)})),ao("Bingo center/Research facility")&&(o*=4),ao("Ritual rolling pins")&&(o*=2),ao("Naughty list")&&(o*=2),ao("Elderwort biscuits")&&(o*=1.02),o*=io("grandmaCps"),ao("Cat ladies"))for(let e=0;e{"Grandma"!==Zt[e].name&&(i+=Zt[e].amount)})),o*=1+.01*oo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=vo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function xo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Zt).forEach((t=>{Zt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(ao("Starlove")&&(e=3),Game.hasGod){const t=ro("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function To(){Ae=Game.UpgradesOwned,je=Game.pledges,De=Game.AchievementsOwned,He=Game.heavenlyPower,Ue=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e],go(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ie=t.minigame.slot[0],ze=t.minigame.slot[1],Ve=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Zt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=eo[e];void 0===o&&(eo[e]=xo(e),o=eo[e]),o.bought=t.bought,eo[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=to[e];void 0===o&&(to[e]=Go(e),o=to[e]),o.won=t.won,to[e]=o})),ko(),$e=Ye,Re=Ke}function Mo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function So(e){e.appendChild(Mo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(Mo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(Mo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(Mo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ne){e.appendChild(Mo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Po(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Eo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function No(){if(To(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ne?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(So(l("CMTooltipBorder")),1===Game.buyMode?K=t:t=K,1===Game.buyBulk?t=yt:10===Game.buyBulk?t=bt:100===Game.buyBulk&&(t=kt),te=Game.Objects[ie].bulkPrice,oe=t[ie].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=pe(oe,2);const o=Math.round(oe/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=E+t[ie].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ue(t[ie].pp):l("CMTooltipPP").textContent=pe(t[ie].pp,2),l("CMTooltipPP").className=E+t[ie].color;const n=me((te-(Game.cookies+mo()))/uo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ie[1]][ie[0]][0]-1].mature,o=t.plantsById[t.plot[ie[1]][ie[0]][0]-1].name;l("CMTooltipBorder").appendChild(Mo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${pe(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${pe(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${pe(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${pe(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ne?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(Mo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=ho(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==ee[Game.buffs[t].name]?ee[Game.buffs[t].name]:j,a.lastChild.children[1].className=N+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),le!==n&&(le=n,yo())}}(),fo(),No(),function(){if(1===e.TooltipWrink&&1===_){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===X[t]||void 0===X[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),Q=t,X[t]=1}}else X[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[Q],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[Q].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Zt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=pe(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,pe(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Fo(){he.addLatest(Game.computedMouseCps)}class Wo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Lo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Kt;Game.cpsSucked>0&&(o+=Gt),It=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ge,i=Math.max(0,Game.cookies-ve)/n,a=Math.max(0,Gt-we)/n,r=Math.max(0,wt[0]-xe)/n,l=Math.max(0,o-Ct)/n,s=(Game.cookieClicks-Te)/n;for(let e=0;e0&&(n=A),n}function jo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=D;else{t[n].color=Ao(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+mo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||qt.push([t[n].pp,o])}))}function Ho(){!function(){Xt=1/0,qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Do(yt,1),Do(bt,10),Do(kt,100),qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;qt[t][1]>Game.cookies&&(t+=1,qt.length!==t+1););Xt=qt[e.PPExcludeTop][t],jo(yt,1),jo(bt,10),jo(kt,100)}(),Object.keys(Mt).forEach((e=>{Game.cookiesPs?Mt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+mo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Mt[e].bonus:Mt[e].pp=Game.Upgrades[e].getPrice()/Mt[e].bonus,Number.isNaN(Mt[e].pp)&&(Mt[e].pp=1/0),Mt[e].color=Ao(Mt[e],Game.Upgrades[e].getPrice())}))}function Uo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Qe=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ue)*He*function(){let e=0;if(ao("Heavenly chip secret")&&(e+=.05),ao("Heavenly cookie stand")&&(e+=.2),ao("Heavenly bakery")&&(e+=.25),ao("Heavenly confectionery")&&(e+=.25),ao("Heavenly key")&&(e+=.25),e*=1+.05*oo("Dragon God"),ao("Lucky digit")&&(e*=1.01),ao("Lucky number")&&(e*=1.01),ao("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ro("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=io("cps"),ao("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];ao(o.name)&&("function"==typeof o.power?e*=1+.01*eo[o.name].power(eo[o.name]):e*=1+.01*o.power)})),ao("Specialized chocolate chips")&&(e*=1.01),ao("Designer cocoa beans")&&(e*=1.02),ao("Underworld ovens")&&(e*=1.03),ao("Exotic nuts")&&(e*=1.04),ao("Arcane sugar")&&(e*=1.05),ao("Increased merriness")&&(e*=1.15),ao("Improved jolliness")&&(e*=1.15),ao("A lump of coal")&&(e*=1.01),ao("An itchy sweater")&&(e*=1.01),ao("Santa's dominion")&&(e*=1.2),ao("Fortune #100")&&(e*=1.01),ao("Fortune #101")&&(e*=1.07),ao("Dragon scale")&&(e*=1.03);let o=1;if(ro){let t=ro("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ro("ages"),1===t?e*=1+.15*Math.sin(w/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(w/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(w/1e3/86400*Math.PI*2)),t=ro("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ro("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ro("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}ao("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=De/25;let i=1;if(ao("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*oo("Breath of Milk"),ro){const e=ro("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=io("milk");let a=1;ao("Kitten helpers")&&(a*=1+.1*n*i),ao("Kitten workers")&&(a*=1+.125*n*i),ao("Kitten engineers")&&(a*=1+.15*n*i),ao("Kitten overseers")&&(a*=1+.175*n*i),ao("Kitten managers")&&(a*=1+.2*n*i),ao("Kitten accountants")&&(a*=1+.2*n*i),ao("Kitten specialists")&&(a*=1+.2*n*i),ao("Kitten experts")&&(a*=1+.2*n*i),ao("Kitten consultants")&&(a*=1+.2*n*i),ao("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),ao("Kitten marketeers")&&(a*=1+.15*n*i),ao("Kitten analysts")&&(a*=1+.125*n*i),ao("Kitten executives")&&(a*=1+.115*n*i),ao("Kitten angels")&&(a*=1+.1*n*i),ao("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Zt).forEach((e=>{const t=Zt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&ao("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Xe+=t.amount*a})),ao('"egg"')&&(Xe+=9),e*=a;let r=1;if(ao("Chicken egg")&&(r*=1.01),ao("Duck egg")&&(r*=1.01),ao("Turkey egg")&&(r*=1.01),ao("Quail egg")&&(r*=1.01),ao("Robin egg")&&(r*=1.01),ao("Ostrich egg")&&(r*=1.01),ao("Cassowary egg")&&(r*=1.01),ao("Salmon roe")&&(r*=1.01),ao("Frogspawn")&&(r*=1.01),ao("Shark egg")&&(r*=1.01),ao("Turtle egg")&&(r*=1.01),ao("Ant larva")&&(r*=1.01),ao("Century egg")){let e=10*Math.floor((x-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),gt=1+.1*(1-(1-e/100)**3),r*=gt}e*=r,ao("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+oo("Radiant Appetite");const l=Xe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&$o(Game.CpsAchievements[e].name)})),qe=l;const{n:s}=Game.shimmerTypes.golden,c=oo("Dragon's Fortune");for(let t=0;t{ao(e[o])&&(t+=.1)}))}e*=t}if(ao("Shimmering veil [off]")){let t=.5;ao("Reinforced membrane")&&(t+=.1),e*=1+t}ao("Magic shenanigans")&&(e*=1e3),ao("Occult obstruction")&&(e*=0),Xe=Game.runModHookOnValue("cps",Xe),e*=Bo(),Xe*=e}const Io=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],zo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Vo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],_o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Qo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Xo(e){return to[e]?to[e].won:0}function qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{ao(Game.GrandmaSynergies[t])&&(e+=1)})),!Xo("Elder")&&e>=7&&$o("Elder"),!Xo("Veteran")&&e>=14&&$o("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount,i=Math.min(Zt[e].amount,i),Xo("Mathematician")||Zt[e].amount=1&&$o("One with everything"),1===o&&$o("Mathematician"),1===n&&$o("Base 10"),i>=100&&$o("Centennial"),i>=150&&$o("Centennial and a half"),i>=200&&$o("Bicentennial"),i>=250&&$o("Bicentennial and a half"),i>=300&&$o("Tricentennial"),i>=350&&$o("Tricentennial and a half"),i>=400&&$o("Quadricentennial"),i>=450&&$o("Quadricentennial and a half"),i>=500&&$o("Quincentennial"),i>=550&&$o("Quincentennial and a half"),i>=600&&$o("Sexcentennial"),t>=100&&$o("Builder"),t>=500&&$o("Architect"),t>=1e3&&$o("Engineer"),t>=2e3&&$o("Lord of Constructs"),t>=4e3&&$o("Grand design"),t>=8e3&&$o("Ecumenopolis"),Ae>=20&&$o("Enhancer"),Ae>=50&&$o("Augmenter"),Ae>=100&&$o("Upgrader"),Ae>=200&&$o("Lord of Progress"),Ae>=300&&$o("The full picture"),Ae>=400&&$o("When there's nothing left to add"),t>=4e3&&Ae>=300&&$o("Polymath"),t>=8e3&&Ae>=400&&$o("Renaissance baker"),Zt.Cursor.amount+Zt.Grandma.amount>=777&&$o("The elder scrolls");let a=!0;Object.keys(zo).forEach((e=>{ao(zo[e])||(a=!1)})),a&&$o("Spooky cookies");let r=!0;if(Object.keys(Vo).forEach((e=>{ao(Vo[e])||(r=!1)})),r&&$o("Let it snow"),ao("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{ao(e[o].name)&&(t+=1)})),t>=e.length&&$o("O Fortuna")}}function Yo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){To(),Zt[e].amount+=t;const o=Zt[e];"Cursor"===e?(o.amount>=1&&$o("Click"),o.amount>=2&&$o("Double-click"),o.amount>=50&&$o("Mouse wheel"),o.amount>=100&&$o("Of Mice and Men"),o.amount>=200&&$o("The Digital"),o.amount>=300&&$o("Extreme polydactyly"),o.amount>=400&&$o("Dr. T"),o.amount>=500&&$o("Thumbs, phalanges, metacarpals"),o.amount>=600&&$o("With her finger and her thumb"),o.amount>=700&&$o("Gotta hand it to you"),o.amount>=800&&$o("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&$o(Game.Objects[o.name].tieredAchievs[e].name)}));const n=De;return Ro(),qo(),n!==De&&Ro(),Xe-Game.cookiesPs}(o,e),1!==e&&(Fe=1)})),t}function Ko(){Object.keys(Game.Objects).forEach((e=>{yt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),bt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),kt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Jo(){yt=Yo(1),bt=Yo(10),kt=Yo(100),Mt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){To(),"Shimmering veil [on]"===eo[e].name?eo["Shimmering veil [off]"].bought=0:"Golden switch [on]"===eo[e].name?eo["Golden switch [off]"].bought=0:eo[e].bought=(eo[e].bought+1)%2,eo[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ae+=1),"Elder Pledge"===e?(je+=1,je>0&&$o("Elder nap"),je>=5&&$o("Elder slumber")):"Elder Covenant"===e?$o("Elder calm"):"Prism heart biscuits"===e?$o("Lovely cookies"):"Heavenly key"===e&&$o("Wholesome");const t=De;Ro(),qo(),t!==De&&Ro();const o=function(){let e=0;ao("Thousand fingers")&&(e+=.1),ao("Million fingers")&&(e*=5),ao("Billion fingers")&&(e*=10),ao("Trillion fingers")&&(e*=20),ao("Quadrillion fingers")&&(e*=20),ao("Quintillion fingers")&&(e*=20),ao("Sextillion fingers")&&(e*=20),ao("Septillion fingers")&&(e*=20),ao("Octillion fingers")&&(e*=20),ao("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount})),t-=Zt.Cursor.amount,e*=t,ao("Plastic mouse")&&(e+=.01*Xe),ao("Iron mouse")&&(e+=.01*Xe),ao("Titanium mouse")&&(e+=.01*Xe),ao("Adamantium mouse")&&(e+=.01*Xe),ao("Unobtainium mouse")&&(e+=.01*Xe),ao("Eludium mouse")&&(e+=.01*Xe),ao("Wishalloy mouse")&&(e+=.01*Xe),ao("Fantasteel mouse")&&(e+=.01*Xe),ao("Nevercrack mouse")&&(e+=.01*Xe),ao("Armythril mouse")&&(e+=.01*Xe),ao("Technobsidian mouse")&&(e+=.01*Xe),ao("Plasmarble mouse")&&(e+=.01*Xe),ao("Miraculite mouse")&&(e+=.01*Xe),ao("Fortune #104")&&(e+=.01*Xe);let o=1;if(ao("Santa's helpers")&&(o*=1.1),ao("Cookie egg")&&(o*=1.1),ao("Halo gloves")&&(o*=1.1),ao("Dragon claw")&&(o*=1.03),ao("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,ao("Luminous gloves")?20:10)),o*=io("click"),Zt.Temple.minigameLoaded&&ro){const e=ro("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*oo("Dragon Cursor");let n=o*Game.ComputeCps(1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Xe-Game.cookiesPs,o]:[Xe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Mt[t]={bonus:Game.cookiesPs-Me},1===e.CalcWrink?Mt[t].bonus-=Se:2===e.CalcWrink&&(Mt[t].bonus-=Pe),Number.isFinite(Mt[t].bonus)||(Mt[t].bonus=0)):(Mt[t]={},o[0]&&(Mt[t].bonus=o[0]),o[1]&&(Mt[t].bonusMouse=o[1]))}))}function Zo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ft=Zo(7,e,ut),Nt=2*Ft[1]/ut,Ot=Ft[2]/60/60/6/pt,At=Zo(6,e,mt),Wt=2*At[1]/mt,Lt=At[2]/60/60/6/pt,Ht=Zo(7,7*e,ut),jt=2*Ht[1]/ut,Dt=Ht[2]/60/60/6/pt,Rt=Zo(6,7*e,mt),Ut=2*Rt[1]/mt,$t=Rt[2]/60/60/6/pt}function tn(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ne,i=Math.max(0,o-Oe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Bt+=e:"cookie"===o.pool?Et+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Pt+=e)}}))}function nn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ft=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ft*=2)}}function an(){et=900*dt/.15,et*=pt;const e=Bo();e>0?et/=e:et=0,tt=ut*(.15*et)+13,ot=mt*(.15*et)+13,nt=7*et,it=ut*(.15*nt)+13,at=mt*(.15*nt)+13,rt=2*et,lt=.15*rt,st=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountst&&(st=2*Game.Objects[e].price,ct=e)}))}function rn(){let e=1,t=1,o=1;ao("Green yeast digestives")&&(o*=1.01),ao("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ut=o*e,mt=o*t,pt=1,0===Game.shimmerTypes.golden.n&&(pt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function ln(){Gt=0,vt=0,wt=[0,null];for(let e=0;ewt[0]&&(wt=[t,e]))}}function sn(){ko(),ln(),an(),rn(),en(),on(),nn(),ge=new Wo(J[J.length-1]),fe=new Wo(J[J.length-1]),Ce=new Wo(J[J.length-1]),ye=new Wo(J[J.length-1]),be=new Wo(Z[Z.length-1]),ke=new Wo(5),he=new Wo(20*Z[Z.length-1]),tn(),Lo(),Jo(),Ko(),Ho()}const cn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},dn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function pn(){1===e.BotBar?(l("CMBotBar").style.display="",fo()):l("CMBotBar").style.display="none",yo()}function un(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),fo(),co(),po()}function mn(){1===e.Favicon&&y>0?Vt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class hn{constructor(e,t){this.type=e,this.group=t}}class gn extends hn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class fn extends hn{constructor(e,t,o){super(e,t),this.desc=o}}class Cn extends hn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class yn extends hn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const bn={CPSMode:new gn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new gn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new gn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new gn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){_e=!0})),Scale:new gn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){un()})),ScaleDecimals:new gn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){un()})),ScaleSeparator:new gn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){un()})),ScaleCutoff:new yn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new gn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new gn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=V:Game.sayTime=B.sayTime})),PPDisplayTime:new gn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new gn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){co()})),PPOnlyConsiderBuyable:new gn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new gn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new gn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new yn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new fn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new fn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new fn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new fn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new fn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new fn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new fn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new fn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new fn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new gn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){pn()})),TimerBar:new gn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){bo()})),TimerBarPos:new gn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),yo()})),TimerBarOverlay:new gn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new gn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",po()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",po()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new gn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new gn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){co()})),SortUpgrades:new gn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){po()})),DragonAuraInfo:new gn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new gn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new gn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(se).forEach((e=>{se[e].style.display="block",se[e].style.left=Yt[e].l.style.left,se[e].style.top=Yt[e].l.style.top})):Object.keys(se).forEach((e=>se[e].style.display="none"))})),Favicon:new gn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){mn()})),WrinklerButtons:new gn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new gn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new gn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new gn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new gn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new gn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new gn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new gn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new gn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new yn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new gn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new gn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Eo()})),TooltipGrim:new gn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new gn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new gn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new gn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new gn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new gn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new gn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new gn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new gn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new gn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new yn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new gn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new gn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new gn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new gn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){dn(e.GCNotification)})),GCFlash:new gn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new fn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new gn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new Cn("vol","NotificationGC",[],"Volume"),GCSoundURL:new gn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new gn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){dn(e.FortuneNotification)})),FortuneFlash:new gn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new fn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new gn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new Cn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new gn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new gn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){dn(e.SeaNotification)})),SeaFlash:new gn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new fn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new gn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new Cn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new gn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new gn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new fn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new gn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new Cn("vol","NotificationGard",[],"Volume"),GardSoundURL:new gn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new gn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){dn(e.MagicNotification)})),MagicFlash:new gn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new fn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new gn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new Cn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new gn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new gn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){dn(e.WrinklerNotification)})),WrinklerFlash:new gn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new fn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new gn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new Cn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new gn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new gn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){dn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new gn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new fn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new gn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new Cn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new gn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new gn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new gn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function kn(){return JSON.stringify({favouriteSettings:de,settings:e,version:"2.031.6"})}function Gn(){if(Je!==Game.dragonLevel||_e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Upgrades).forEach((e=>{eo[e]=xo(e)})),to=[],Object.keys(Game.Achievements).forEach((e=>{to[e]=Go(e)})),To()}let xn=!1;function Tn(t,o,n){(1===e[o]||n)&&3===t&&!1===xn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Tn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Tn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Tn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Mn(t,o,n,i){if((1===e[o]||i)&&!1===xn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Sn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===xn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Pn(){if(re!==Game.OnAscend&&(re=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(pn(),bo()),Co()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(wn(),sn(),r=Object.keys(Game.mods).length),_e&&(Jo(),Game.Has("Golden switch [off]")?(To(),eo["Golden switch [off]"].bought=0,Ro(),dt=Xe):dt=Game.cookiesPs,rn(),an(),on(),en(),Gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Jt[e][t]=vn(e,t)}(),nn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;To();let t=2;5!==$e&&18!==$e||(t-=1),5!==Re&&18!==Re||(t-=1),$e=5,Re=18;for(let e=0;e{Zt[t].amount>0&&(e=t)})),Zt[e].amount-=1,Le-=1}return Object.keys(Zt).forEach((t=>{const o=Zt[t];e+=so(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Kt=e}(),_e=0);const t=Game.auraMult("Fierce Hoarder")>0;!We&&t?(We=!0,Fe=1):We&&!t&&(We=!1,Fe=1),Fe&&(Ko(),Fe=0),function(){ln(),Ho(),function(){xt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Zt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Tt=e,xt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Lo(),tn();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Qt=ue(e/uo())}(),G=0,Yt={},Object.keys(Game.shimmers).forEach((e=>{Yt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Vt=Game.shimmers[e],G+=1)})),Object.keys(se).forEach((e=>{void 0===Yt[e]&&(se[e].parentNode.removeChild(se[e]),delete se[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===se[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},se[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),mn(),b=G,0===G&&(Vt=0)):1===e.GCTimer&&y&&Object.keys(se).forEach((e=>{se[e].style.opacity=Yt[e].l.style.opacity,se[e].style.transform=Yt[e].l.style.transform,se[e].textContent=Math.ceil(Yt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Tn(3,"FortuneFlash",!1),Mn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Sn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(_t=Game.shimmers[e])})),Tn(3,"SeaFlash",!1),Mn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Sn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Tn(3,"WrinklerMaxFlash",!1):Tn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Mn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Mn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Sn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Sn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Bn(){let t="";for(let o=0;o<$.length;o++)t+=`.CMText${$[o]} { color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBack${$[o]} { background-color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBorder${$[o]} { border: 1px solid ${e[`Colour${$[o]}`]}; }\n`;l("CMCSS").textContent=t,co()}function En(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${kn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Nn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t,void 0!==e.Colors&&delete e.Colors,void 0!==e.Colours&&delete e.Colours;let o=!1;Object.keys(cn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=cn[t]):"Header"===t&&Object.keys(cn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=cn[t][n])}))})),o&&En(),Pn(),Object.keys(cn).forEach((e=>{"Header"!==e&&void 0!==bn[e].func&&bn[e].func()}))}else Nn(cn);Game.UpdateMenu(),Bn()}function On(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Fn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Uo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${pe(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${me((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(pe(Game.Objects[o].bulkPrice)).join(pe((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ne=t,ie=o,No(),l("tooltip").innerHTML}function Wn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(S[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Ln(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),En()}function Rn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){$n(o),Game.UpdateMenu()},n.appendChild(i),n}function In(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(I[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function zn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Vn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Rn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+mo(){Game.HasUnlocked(Qo[e])||c.push(Qo[e])})),0!==c.length&&e.appendChild(In("basic","Rare plant drops left to unlock",zn(c))),e}())),o.appendChild(Rn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?Ct:0)));t.appendChild(In("withTooltip","Prestige level (cur / max)",document.createTextNode(`${pe(Game.prestige)} / ${pe(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&Ct?Ct:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(pe(n)));const a=document.createElement("small");a.textContent=` (${ue(n/zt,1)})`,i.appendChild(a),t.appendChild(In("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(In("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${pe(Game.heavenlyChips)} / ${pe(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(In("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(pe(ht,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(In("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(pe(e)))),t.appendChild(In("basic","Time till target (cur, current 5 second average)",document.createTextNode(ue(e/ht)))))}const l=function(e){let t=Game.cookiesPs;To(),0===eo["Heavenly key"].bought&&(eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ro(),t=Xe,To()),It>=1e6&&$o("Sacrifice"),It>=1e9&&$o("Oblivion"),It>=1e12&&$o("From scratch"),It>=1e15&&$o("Nihilism"),It>=1e18&&$o("Dematerialize"),It>=1e21&&$o("Nil zero zilch"),It>=1e24&&$o("Transcendence"),It>=1e27&&$o("Obliterate"),It>=1e30&&$o("Negative void"),It>=1e33&&$o("To crumbs, you say?"),It>=1e36&&$o("You get nothing"),It>=1e39&&$o("Humble rebeginnings"),It>=1e42&&$o("The end of the world"),It>=1e45&&$o("Oh, you're back"),It>=1e48&&$o("Lazarus"),It>=1e51&&$o("Smurf account"),It>=1e54&&$o("If at first you don't succeed"),eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ue=e;const o=De;Ro(),qo(),o!==De&&Ro();const n=Xe-t;return Ue=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(pe(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(In("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Rn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${pe(Gt)} / ${pe(vt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){On()},e.appendChild(t),o.appendChild(In("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${pe(wt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},n.appendChild(i),o.appendChild(In("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==wt[1]?wt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(n.push(zo[e]),o=!0)}));const i=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(i.push(Vo[e]),o=!0)}));const a=[];Object.keys(_o).forEach((e=>{Game.Has(_o[e])||(a.push(_o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Rn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(In("basic","Halloween cookies left to buy",zn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(In("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${pe((1-e)*o*100)}% / ${pe((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(In("basic","Christmas cookies left to buy",zn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(In("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${pe((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(In("basic","Valentine cookies left to buy",zn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(In("basic","Normal easter eggs left to unlock",zn(r))),t.appendChild(In("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[0])}% / ${pe(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(In("basic","Rare easter eggs left to unlock",zn(l))),t.appendChild(In("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[1])}% / ${pe(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(In("basic","Reindeer reward",document.createTextNode(pe(ft)))),s&&t.appendChild(In("withTooltip","Chocolate egg cookies",document.createTextNode(pe(Ct)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(In("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(gt-1))/100+"%")))}return t}()),o.appendChild(Rn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(In("basic",`Average cookies per second (past ${J[e.AvgCPSHist]<60?`${J[e.AvgCPSHist]} seconds`:J[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(pe(uo(),3)))),o.appendChild(In("basic",`Average cookie clicks per second (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(St,1)))),o.appendChild(In("basic",`Cookies from clicking (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(he.calcSum(St*Z[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Io).forEach((t=>{Game.Has(Io[t])||e.push(Io[t])})),0!==e.length&&o.appendChild(In("basic","Fortune Upgrades Left to Buy",zn(e)))}if(e.ShowMissedGC&&o.appendChild(In("basic","Missed golden cookies",document.createTextNode(pe(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(In("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Et){const t=Et.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Et,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const _n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Qn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Xn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){$n(t),Game.UpdateMenu()},n.appendChild(i),n}function qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return de.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){de.includes(e)?de=de.filter((function(t){return t!==e})):de.push(e)}(e),En(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(I.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===bn[t].type){const n=document.createElement("a");bn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Hn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===bn[t].label.length?(e[t]=0,bn[t].toggle&&(l(Hn+t).className="option off")):l(Hn+t).className="option",void 0!==bn[t].func&&bn[t].func(),l(Hn+t).innerHTML=bn[t].label[e[t]],En()}(t)},n.textContent=bn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=bn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===bn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=bn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Un(t)},r.onchange=function(){Un(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Mn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Hn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,En(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=bn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===bn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new jn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Bn(),En(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=bn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Tn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Dn().init(),o}if("numscale"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="number",i.value=e[t],i.min=bn[t].min,i.max=bn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,En(),un()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=bn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Yn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Kn(){B.Beautify=Beautify,Beautify=pe,B.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){B.CalculateGains(),_e=1,w=Date.now(),x=Date.now()},B.tooltip={},B.tooltip.draw=Game.tooltip.draw,B.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){B.tooltip.drawMod(e,t,o)},B.tooltip.update=Game.tooltip.update,B.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){B.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},B.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Yn(B.UpdateWrinklers)},B.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Yn(B.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Yn(Game.ClickCookie)}),!1),B.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){B.RebuildUpgrades(),P=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(P[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},B.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Zt[Game.ObjectsById[e].name].name;Zt[o].amount-=1,Le-=1,t=Zt[o].basePrice*Game.priceIncrease**Math.max(0,Zt[o].amount-1-Zt[o].free),t=Game.modifyBuildingPrice(Zt[o],t),t=Math.ceil(t);break}const o=De;return Ro(),qo(),o!==De&&Ro(),[Xe-Game.cookiesPs,t]}(t),n=ue(o/(e+Game.cookiesPs)),i=pe(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${pe(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},B.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){B.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},B.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Dn().picker&&void 0!==Dn().picker.owner||(B.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(_n).forEach((t=>{if("Favourite"===t){if(0!==de.length&&e.FavouriteSettings>0&&(o.appendChild(Xn(t,_n[t])),e.Header[t]))for(let e=0;e{const n=Xn(t,Qn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))}))})):Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Nn(cn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Vn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){$n("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},B.sayTime=Game.sayTime,V=function(e,t){return Number.isNaN(e)||e<=0?B.sayTime(e,t):ue(e/Game.fps,1)},B.Logic=Game.Logic,Game.Logic=function(){B.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ce=`${Game.OnAscend?"Ascending! ":""}${pe(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ce;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Vt?Vt.wrath?`[W${Math.ceil(Vt.life/Game.fps)}]`:`[G${Math.ceil(Vt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(_t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ce;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Vt&&(t=!0,Vt.wrath?e+=`[W${Math.ceil(Vt.life/Game.fps)}]`:e+=`[G${Math.ceil(Vt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(_t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${pe(Game.prestige)}.
(CpS +${pe(Game.prestige)}%)`,n+='
'),n+=Oe<1?"Ascending now would grant you no prestige.":Oe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${pe(Oe)} prestige levels (+${pe(Oe)}% CpS)
and ${pe(Oe)} heavenly chips to spend.`,n+='
',n+=`You need ${pe(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Qt} to reach the next level and you were making ${pe(ht,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Jn(){wn(),an(),sn(),r=Object.keys(Game.mods).length,T=document.createElement("style"),T.type="text/css",T.id="CMCSS",document.head.appendChild(T),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=E+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",W)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",O)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",O)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",O)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{go(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=ho("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:D},{id:"CMTimerBarGCBar",color:j}]);e.appendChild(t);const o=ho("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:D},{id:"CMTimerBarRenBar",color:L}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=N+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(O,"Better than the best PP of a building option")),e.appendChild(o(F,"Same as the best PP building option")),e.appendChild(o(W,"Within the top 10 of PP for buildings")),e.appendChild(o(L,"Within the top 20 of PP for buildings")),e.appendChild(o(A,"Within the top 30 of PP for buildings")),e.appendChild(o(j,"Outside of the top 30 of PP for buildings")),e.appendChild(o(D,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=E+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",O)),e.appendChild(o("CMUpgradeBarGreen",F)),e.appendChild(o("CMUpgradeBarYellow",W)),e.appendChild(o("CMUpgradeBarOrange",L)),e.appendChild(o("CMUpgradeBarRed",A)),e.appendChild(o("CMUpgradeBarPurple",j)),e.appendChild(o("CMUpgradeBarGray",D)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),I[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){On()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(M[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Wn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),An()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){_=1},l("backgroundLeftCanvas").onmouseout=function(){_=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{X[e]=0}))},Kn(),An(),Game.CalculateGains(),Nn(),z=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Zn={init:function(){xn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Jn(),Game.registerHook("draw",Oo),Game.registerHook("logic",Pn),Game.registerHook("click",Fo),xn=!1)},load:function(e){const t=JSON.parse(e);wn(),void 0!==t.favouriteSettings&&(de=t.favouriteSettings),Nn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:kn};Game.registerMod("CookieMonster",Zn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x,M,T=[],S=[],P=[],B={};const E="CMText",N="CMBack",O="Blue",F="Green",W="Yellow",L="Orange",A="Red",j="Purple",D="Gray",H="Pink",U="Brown",$=[D,O,F,W,L,A,j,H,U],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],I={};let z,V,_=0,Q=-1,X=[],q=1,Y=1,K=1;const J=[10,15,30,60,300,600,900,1800],Z=[1,5,10,15,30],ee={Frenzy:W,"Dragon Harvest":U,"Elder frenzy":F,Clot:A,"Click frenzy":O,Dragonflight:H};let te,oe,ne,ie,ae,re,le,se={},ce="",de=[];function pe(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return B.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${pe(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function me(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=F):(n=ue(t),o=t>300?A:t>60?L:W),{text:n,color:o}}let he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Me,Te,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=0,pt=1,ut=1,mt=1,ht=0,gt=0,ft=0,Ct=0,yt={},bt={},kt={},Gt=0,vt=0,wt=[0,null],xt=0,Mt=0,Tt={},St={},Pt={},Bt={},Et={},Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,$t=0,Rt=[],It=0,zt=0,Vt={},_t={},Qt=0,Xt=0,qt=[],Yt={},Kt=0,Jt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Zt=[],eo=[],to=[];function oo(e){let t=0;return Game.dragonAuras[$e].name!==e&&Game.dragonAuras[Re].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[$e].name&&"Reality Bending"!==Game.dragonAuras[Re].name||(t+=.1),t}function no(){let e=.25;return e*=1+oo("Earth Shatterer"),e}function io(e,t){return void 0===Qe[e]?void 0===t?1:t:Qe[e]}function ao(e){const t=eo[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ro(e){if(Game.hasGod){void 0===Zt.Temple.minigame&&(Zt.Temple.minigame=Game.Objects.Temple.minigame);const t=Zt.Temple.minigame.gods[e];if(Ie===t.id)return 1;if(ze===t.id)return 2;if(Ve===t.id)return 3}return!1}function lo(e,t){let o=t;if(ao("Season savings")&&(o*=.99),ao("Santa's dominion")&&(o*=.99),ao("Faberge egg")&&(o*=.99),ao("Divine discount")&&(o*=.99),ao("Fortune #100")&&(o*=.99),o*=1-.02*oo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&ao(e.fortune.name)&&(o*=.93),o*=io("buildingCost"),Zt.Temple.minigameLoaded){const e=ro("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function so(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function co(){let t=Game.buyBulk;if(1===Game.buyMode?Y=t:t=Y,1===t?t=yt:10===t?t=bt:100===t&&(t=kt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(yt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=pe(so(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(yt).map((e=>{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;e$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.ppe.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?q=i:i=q,1===i&&(i=yt),10===i&&(i=bt),100===i&&(i=kt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=pe(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=E+i[o].color,n=e.PPDisplayTime?ue(Math.round(i[o].pp)):pe(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=me((Game.Objects[o].bulkPrice-(Game.cookies+mo()))/uo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=E+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&ao(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(ao(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&ao(e.fortune.name)&&(t*=1.07),e.grandma&&ao(e.grandma.name)&&(t*=1+.01*Zt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&ao(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function wo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;ao("Thousand fingers")&&(t+=.1),ao("Million fingers")&&(t*=5),ao("Billion fingers")&&(t*=10),ao("Trillion fingers")&&(t*=20),ao("Quadrillion fingers")&&(t*=20),ao("Quintillion fingers")&&(t*=20),ao("Sextillion fingers")&&(t*=20),ao("Septillion fingers")&&(t*=20),ao("Octillion fingers")&&(t*=20),ao("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Zt).forEach((e=>{"Cursor"!==Zt[e].name&&(n+=Zt[e].amount)})),t*=n,o*=vo(e),o*=Game.magicCpS("Cursor"),o*=io("cursorCps"),Game.ComputeCps(.1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{ao(Game.GrandmaSynergies[e])&&(o*=2)})),ao("Bingo center/Research facility")&&(o*=4),ao("Ritual rolling pins")&&(o*=2),ao("Naughty list")&&(o*=2),ao("Elderwort biscuits")&&(o*=1.02),o*=io("grandmaCps"),ao("Cat ladies"))for(let e=0;e{"Grandma"!==Zt[e].name&&(i+=Zt[e].amount)})),o*=1+.01*oo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=vo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function xo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Zt).forEach((t=>{Zt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(ao("Starlove")&&(e=3),Game.hasGod){const t=ro("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Mo(){Ae=Game.UpgradesOwned,je=Game.pledges,De=Game.AchievementsOwned,He=Game.heavenlyPower,Ue=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e],go(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ie=t.minigame.slot[0],ze=t.minigame.slot[1],Ve=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Zt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=eo[e];void 0===o&&(eo[e]=xo(e),o=eo[e]),o.bought=t.bought,eo[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=to[e];void 0===o&&(to[e]=Go(e),o=to[e]),o.won=t.won,to[e]=o})),ko(),$e=Ye,Re=Ke}function To(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function So(e){e.appendChild(To("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(To("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(To("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(To("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ne){e.appendChild(To("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Po(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Eo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function No(){if(Mo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ne?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(So(l("CMTooltipBorder")),1===Game.buyMode?K=t:t=K,1===Game.buyBulk?t=yt:10===Game.buyBulk?t=bt:100===Game.buyBulk&&(t=kt),te=Game.Objects[ie].bulkPrice,oe=t[ie].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=pe(oe,2);const o=Math.round(oe/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=E+t[ie].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ue(t[ie].pp):l("CMTooltipPP").textContent=pe(t[ie].pp,2),l("CMTooltipPP").className=E+t[ie].color;const n=me((te-(Game.cookies+mo()))/uo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ie[1]][ie[0]][0]-1].mature,o=t.plantsById[t.plot[ie[1]][ie[0]][0]-1].name;l("CMTooltipBorder").appendChild(To("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${pe(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${pe(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${pe(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${pe(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ne?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(To("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=ho(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==ee[Game.buffs[t].name]?ee[Game.buffs[t].name]:j,a.lastChild.children[1].className=N+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),le!==n&&(le=n,yo())}}(),fo(),No(),function(){if(1===e.TooltipWrink&&1===_){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===X[t]||void 0===X[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),Q=t,X[t]=1}}else X[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[Q],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[Q].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Zt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=pe(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,pe(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Fo(){he.addLatest(Game.computedMouseCps)}class Wo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Lo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Kt;Game.cpsSucked>0&&(o+=Gt),It=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ge,i=Math.max(0,Game.cookies-ve)/n,a=Math.max(0,Gt-we)/n,r=Math.max(0,wt[0]-xe)/n,l=Math.max(0,o-Ct)/n,s=(Game.cookieClicks-Me)/n;for(let e=0;e0&&(n=A),n}function jo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=D;else{t[n].color=Ao(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+mo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||qt.push([t[n].pp,o])}))}function Ho(){!function(){Xt=1/0,qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Do(yt,1),Do(bt,10),Do(kt,100),qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;qt[t][1]>Game.cookies&&(t+=1,qt.length!==t+1););Xt=qt[e.PPExcludeTop][t],jo(yt,1),jo(bt,10),jo(kt,100)}(),Object.keys(Tt).forEach((e=>{Game.cookiesPs?Tt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+mo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Tt[e].bonus:Tt[e].pp=Game.Upgrades[e].getPrice()/Tt[e].bonus,Number.isNaN(Tt[e].pp)&&(Tt[e].pp=1/0),Tt[e].color=Ao(Tt[e],Game.Upgrades[e].getPrice())}))}function Uo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Qe=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ue)*He*function(){let e=0;if(ao("Heavenly chip secret")&&(e+=.05),ao("Heavenly cookie stand")&&(e+=.2),ao("Heavenly bakery")&&(e+=.25),ao("Heavenly confectionery")&&(e+=.25),ao("Heavenly key")&&(e+=.25),e*=1+.05*oo("Dragon God"),ao("Lucky digit")&&(e*=1.01),ao("Lucky number")&&(e*=1.01),ao("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ro("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=io("cps"),ao("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];ao(o.name)&&("function"==typeof o.power?e*=1+.01*eo[o.name].power(eo[o.name]):e*=1+.01*o.power)})),ao("Specialized chocolate chips")&&(e*=1.01),ao("Designer cocoa beans")&&(e*=1.02),ao("Underworld ovens")&&(e*=1.03),ao("Exotic nuts")&&(e*=1.04),ao("Arcane sugar")&&(e*=1.05),ao("Increased merriness")&&(e*=1.15),ao("Improved jolliness")&&(e*=1.15),ao("A lump of coal")&&(e*=1.01),ao("An itchy sweater")&&(e*=1.01),ao("Santa's dominion")&&(e*=1.2),ao("Fortune #100")&&(e*=1.01),ao("Fortune #101")&&(e*=1.07),ao("Dragon scale")&&(e*=1.03);let o=1;if(ro){let t=ro("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ro("ages"),1===t?e*=1+.15*Math.sin(w/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(w/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(w/1e3/86400*Math.PI*2)),t=ro("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ro("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ro("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}ao("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=De/25;let i=1;if(ao("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*oo("Breath of Milk"),ro){const e=ro("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=io("milk");let a=1;ao("Kitten helpers")&&(a*=1+.1*n*i),ao("Kitten workers")&&(a*=1+.125*n*i),ao("Kitten engineers")&&(a*=1+.15*n*i),ao("Kitten overseers")&&(a*=1+.175*n*i),ao("Kitten managers")&&(a*=1+.2*n*i),ao("Kitten accountants")&&(a*=1+.2*n*i),ao("Kitten specialists")&&(a*=1+.2*n*i),ao("Kitten experts")&&(a*=1+.2*n*i),ao("Kitten consultants")&&(a*=1+.2*n*i),ao("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),ao("Kitten marketeers")&&(a*=1+.15*n*i),ao("Kitten analysts")&&(a*=1+.125*n*i),ao("Kitten executives")&&(a*=1+.115*n*i),ao("Kitten angels")&&(a*=1+.1*n*i),ao("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Zt).forEach((e=>{const t=Zt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&ao("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Xe+=t.amount*a})),ao('"egg"')&&(Xe+=9),e*=a;let r=1;if(ao("Chicken egg")&&(r*=1.01),ao("Duck egg")&&(r*=1.01),ao("Turkey egg")&&(r*=1.01),ao("Quail egg")&&(r*=1.01),ao("Robin egg")&&(r*=1.01),ao("Ostrich egg")&&(r*=1.01),ao("Cassowary egg")&&(r*=1.01),ao("Salmon roe")&&(r*=1.01),ao("Frogspawn")&&(r*=1.01),ao("Shark egg")&&(r*=1.01),ao("Turtle egg")&&(r*=1.01),ao("Ant larva")&&(r*=1.01),ao("Century egg")){let e=10*Math.floor((x-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),gt=1+.1*(1-(1-e/100)**3),r*=gt}e*=r,ao("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+oo("Radiant Appetite");const l=Xe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&$o(Game.CpsAchievements[e].name)})),qe=l;const{n:s}=Game.shimmerTypes.golden,c=oo("Dragon's Fortune");for(let t=0;t{ao(e[o])&&(t+=.1)}))}e*=t}if(ao("Shimmering veil [off]")){let t=.5;ao("Reinforced membrane")&&(t+=.1),e*=1+t}ao("Magic shenanigans")&&(e*=1e3),ao("Occult obstruction")&&(e*=0),Xe=Game.runModHookOnValue("cps",Xe),e*=Bo(),Xe*=e}const Io=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],zo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Vo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],_o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Qo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Xo(e){return to[e]?to[e].won:0}function qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{ao(Game.GrandmaSynergies[t])&&(e+=1)})),!Xo("Elder")&&e>=7&&$o("Elder"),!Xo("Veteran")&&e>=14&&$o("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount,i=Math.min(Zt[e].amount,i),Xo("Mathematician")||Zt[e].amount=1&&$o("One with everything"),1===o&&$o("Mathematician"),1===n&&$o("Base 10"),i>=100&&$o("Centennial"),i>=150&&$o("Centennial and a half"),i>=200&&$o("Bicentennial"),i>=250&&$o("Bicentennial and a half"),i>=300&&$o("Tricentennial"),i>=350&&$o("Tricentennial and a half"),i>=400&&$o("Quadricentennial"),i>=450&&$o("Quadricentennial and a half"),i>=500&&$o("Quincentennial"),i>=550&&$o("Quincentennial and a half"),i>=600&&$o("Sexcentennial"),t>=100&&$o("Builder"),t>=500&&$o("Architect"),t>=1e3&&$o("Engineer"),t>=2e3&&$o("Lord of Constructs"),t>=4e3&&$o("Grand design"),t>=8e3&&$o("Ecumenopolis"),Ae>=20&&$o("Enhancer"),Ae>=50&&$o("Augmenter"),Ae>=100&&$o("Upgrader"),Ae>=200&&$o("Lord of Progress"),Ae>=300&&$o("The full picture"),Ae>=400&&$o("When there's nothing left to add"),t>=4e3&&Ae>=300&&$o("Polymath"),t>=8e3&&Ae>=400&&$o("Renaissance baker"),Zt.Cursor.amount+Zt.Grandma.amount>=777&&$o("The elder scrolls");let a=!0;Object.keys(zo).forEach((e=>{ao(zo[e])||(a=!1)})),a&&$o("Spooky cookies");let r=!0;if(Object.keys(Vo).forEach((e=>{ao(Vo[e])||(r=!1)})),r&&$o("Let it snow"),ao("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{ao(e[o].name)&&(t+=1)})),t>=e.length&&$o("O Fortuna")}}function Yo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Mo(),Zt[e].amount+=t;const o=Zt[e];"Cursor"===e?(o.amount>=1&&$o("Click"),o.amount>=2&&$o("Double-click"),o.amount>=50&&$o("Mouse wheel"),o.amount>=100&&$o("Of Mice and Men"),o.amount>=200&&$o("The Digital"),o.amount>=300&&$o("Extreme polydactyly"),o.amount>=400&&$o("Dr. T"),o.amount>=500&&$o("Thumbs, phalanges, metacarpals"),o.amount>=600&&$o("With her finger and her thumb"),o.amount>=700&&$o("Gotta hand it to you"),o.amount>=800&&$o("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&$o(Game.Objects[o.name].tieredAchievs[e].name)}));const n=De;return Ro(),qo(),n!==De&&Ro(),Xe-Game.cookiesPs}(o,e),1!==e&&(Fe=1)})),t}function Ko(){Object.keys(Game.Objects).forEach((e=>{yt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),bt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),kt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Jo(){yt=Yo(1),bt=Yo(10),kt=Yo(100),Tt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Mo(),"Shimmering veil [on]"===eo[e].name?eo["Shimmering veil [off]"].bought=0:"Golden switch [on]"===eo[e].name?eo["Golden switch [off]"].bought=0:eo[e].bought=(eo[e].bought+1)%2,Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ae+=1),"Elder Pledge"===e?(je+=1,je>0&&$o("Elder nap"),je>=5&&$o("Elder slumber")):"Elder Covenant"===e?$o("Elder calm"):"Prism heart biscuits"===e?$o("Lovely cookies"):"Heavenly key"===e&&$o("Wholesome");const t=De;Ro(),qo(),t!==De&&Ro();const o=function(){let e=0;ao("Thousand fingers")&&(e+=.1),ao("Million fingers")&&(e*=5),ao("Billion fingers")&&(e*=10),ao("Trillion fingers")&&(e*=20),ao("Quadrillion fingers")&&(e*=20),ao("Quintillion fingers")&&(e*=20),ao("Sextillion fingers")&&(e*=20),ao("Septillion fingers")&&(e*=20),ao("Octillion fingers")&&(e*=20),ao("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount})),t-=Zt.Cursor.amount,e*=t,ao("Plastic mouse")&&(e+=.01*Xe),ao("Iron mouse")&&(e+=.01*Xe),ao("Titanium mouse")&&(e+=.01*Xe),ao("Adamantium mouse")&&(e+=.01*Xe),ao("Unobtainium mouse")&&(e+=.01*Xe),ao("Eludium mouse")&&(e+=.01*Xe),ao("Wishalloy mouse")&&(e+=.01*Xe),ao("Fantasteel mouse")&&(e+=.01*Xe),ao("Nevercrack mouse")&&(e+=.01*Xe),ao("Armythril mouse")&&(e+=.01*Xe),ao("Technobsidian mouse")&&(e+=.01*Xe),ao("Plasmarble mouse")&&(e+=.01*Xe),ao("Miraculite mouse")&&(e+=.01*Xe),ao("Fortune #104")&&(e+=.01*Xe);let o=1;if(ao("Santa's helpers")&&(o*=1.1),ao("Cookie egg")&&(o*=1.1),ao("Halo gloves")&&(o*=1.1),ao("Dragon claw")&&(o*=1.03),ao("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,ao("Luminous gloves")?20:10)),o*=io("click"),Zt.Temple.minigameLoaded&&ro){const e=ro("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*oo("Dragon Cursor");let n=o*Game.ComputeCps(1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Xe-Game.cookiesPs,o]:[Xe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Tt[t]={bonus:Game.cookiesPs-Te},1===e.CalcWrink?Tt[t].bonus-=Se:2===e.CalcWrink&&(Tt[t].bonus-=Pe),Number.isFinite(Tt[t].bonus)||(Tt[t].bonus=0)):(Tt[t]={},o[0]&&(Tt[t].bonus=o[0]),o[1]&&(Tt[t].bonusMouse=o[1]))}))}function Zo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ft=Zo(7,e,ut),Nt=2*Ft[1]/ut,Ot=Ft[2]/60/60/6/pt,At=Zo(6,e,mt),Wt=2*At[1]/mt,Lt=At[2]/60/60/6/pt,Ht=Zo(7,7*e,ut),jt=2*Ht[1]/ut,Dt=Ht[2]/60/60/6/pt,Rt=Zo(6,7*e,mt),Ut=2*Rt[1]/mt,$t=Rt[2]/60/60/6/pt}function tn(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ne,i=Math.max(0,o-Oe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Bt+=e:"cookie"===o.pool?Et+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Pt+=e)}}))}function nn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ft=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ft*=2)}}function an(){et=900*dt/.15,et*=pt;const e=Bo();e>0?et/=e:et=0,tt=ut*(.15*et)+13,ot=mt*(.15*et)+13,nt=7*et,it=ut*(.15*nt)+13,at=mt*(.15*nt)+13,rt=2*et,lt=.15*rt,st=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountst&&(st=2*Game.Objects[e].price,ct=e)}))}function rn(){let e=1,t=1,o=1;ao("Green yeast digestives")&&(o*=1.01),ao("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ut=o*e,mt=o*t,pt=1,0===Game.shimmerTypes.golden.n&&(pt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function ln(){Gt=0,vt=0,wt=[0,null];for(let e=0;ewt[0]&&(wt=[t,e]))}}function sn(){ko(),ln(),an(),rn(),en(),on(),nn(),ge=new Wo(J[J.length-1]),fe=new Wo(J[J.length-1]),Ce=new Wo(J[J.length-1]),ye=new Wo(J[J.length-1]),be=new Wo(Z[Z.length-1]),ke=new Wo(5),he=new Wo(20*Z[Z.length-1]),tn(),Lo(),Jo(),Ko(),Ho()}const cn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},dn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function pn(){1===e.BotBar?(l("CMBotBar").style.display="",fo()):l("CMBotBar").style.display="none",yo()}function un(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),fo(),co(),po()}function mn(){1===e.Favicon&&y>0?Vt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class hn{constructor(e,t){this.type=e,this.group=t}}class gn extends hn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class fn extends hn{constructor(e,t,o){super(e,t),this.desc=o}}class Cn extends hn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class yn extends hn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const bn={CPSMode:new gn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new gn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new gn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new gn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){_e=!0})),Scale:new gn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){un()})),ScaleDecimals:new gn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){un()})),ScaleSeparator:new gn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){un()})),ScaleCutoff:new yn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new gn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new gn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=V:Game.sayTime=B.sayTime})),PPDisplayTime:new gn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new gn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){co()})),PPOnlyConsiderBuyable:new gn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new gn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new gn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new yn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new fn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new fn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new fn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new fn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new fn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new fn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new fn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new fn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new fn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new gn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){pn()})),TimerBar:new gn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){bo()})),TimerBarPos:new gn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),yo()})),TimerBarOverlay:new gn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new gn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",po()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",po()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new gn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new gn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){co()})),SortUpgrades:new gn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){po()})),DragonAuraInfo:new gn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new gn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new gn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(se).forEach((e=>{se[e].style.display="block",se[e].style.left=Yt[e].l.style.left,se[e].style.top=Yt[e].l.style.top})):Object.keys(se).forEach((e=>se[e].style.display="none"))})),Favicon:new gn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){mn()})),WrinklerButtons:new gn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new gn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new gn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new gn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new gn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new gn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new gn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new gn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new gn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new yn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new gn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new gn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Eo()})),TooltipGrim:new gn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new gn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new gn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new gn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new gn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new gn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new gn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new gn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new gn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new gn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new yn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new gn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new gn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new gn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new gn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){dn(e.GCNotification)})),GCFlash:new gn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new fn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new gn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new Cn("vol","NotificationGC",[],"Volume"),GCSoundURL:new gn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new gn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){dn(e.FortuneNotification)})),FortuneFlash:new gn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new fn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new gn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new Cn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new gn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new gn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){dn(e.SeaNotification)})),SeaFlash:new gn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new fn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new gn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new Cn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new gn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new gn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new fn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new gn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new Cn("vol","NotificationGard",[],"Volume"),GardSoundURL:new gn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new gn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){dn(e.MagicNotification)})),MagicFlash:new gn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new fn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new gn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new Cn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new gn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new gn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){dn(e.WrinklerNotification)})),WrinklerFlash:new gn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new fn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new gn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new Cn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new gn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new gn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){dn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new gn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new fn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new gn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new Cn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new gn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new gn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new gn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function kn(){return JSON.stringify({favouriteSettings:de,settings:e,version:"2.031.6"})}function Gn(){if(Je!==Game.dragonLevel||_e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Upgrades).forEach((e=>{eo[e]=xo(e)})),to=[],Object.keys(Game.Achievements).forEach((e=>{to[e]=Go(e)})),Mo()}let xn=!1;function Mn(t,o,n){(1===e[o]||n)&&3===t&&!1===xn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Mn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Mn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Mn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Tn(t,o,n,i){if((1===e[o]||i)&&!1===xn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Sn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===xn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Pn(){if(re!==Game.OnAscend&&(re=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(pn(),bo()),Co()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(wn(),sn(),r=Object.keys(Game.mods).length),_e&&(Jo(),Game.Has("Golden switch [off]")?(Mo(),eo["Golden switch [off]"].bought=0,Ro(),dt=Xe):dt=Game.cookiesPs,rn(),an(),on(),en(),Gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Jt[e][t]=vn(e,t)}(),nn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Mo();let t=2;5!==$e&&18!==$e||(t-=1),5!==Re&&18!==Re||(t-=1),$e=5,Re=18;for(let e=0;e{Zt[t].amount>0&&(e=t)})),Zt[e].amount-=1,Le-=1}return Object.keys(Zt).forEach((t=>{const o=Zt[t];e+=so(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Kt=e}(),_e=0);const t=Game.auraMult("Fierce Hoarder")>0;!We&&t?(We=!0,Fe=1):We&&!t&&(We=!1,Fe=1),Fe&&(Ko(),Fe=0),function(){ln(),Ho(),function(){xt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Zt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Mt=e,xt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Lo(),tn();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Qt=ue(e/uo())}(),G=0,Yt={},Object.keys(Game.shimmers).forEach((e=>{Yt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Vt=Game.shimmers[e],G+=1)})),Object.keys(se).forEach((e=>{void 0===Yt[e]&&(se[e].parentNode.removeChild(se[e]),delete se[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===se[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},se[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),mn(),b=G,0===G&&(Vt=0)):1===e.GCTimer&&y&&Object.keys(se).forEach((e=>{se[e].style.opacity=Yt[e].l.style.opacity,se[e].style.transform=Yt[e].l.style.transform,se[e].textContent=Math.ceil(Yt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Mn(3,"FortuneFlash",!1),Tn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Sn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(_t=Game.shimmers[e])})),Mn(3,"SeaFlash",!1),Tn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Sn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Mn(3,"WrinklerMaxFlash",!1):Mn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Tn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Tn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Sn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Sn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Bn(){let t="";for(let o=0;o<$.length;o++)t+=`.CMText${$[o]} { color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBack${$[o]} { background-color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBorder${$[o]} { border: 1px solid ${e[`Colour${$[o]}`]}; }\n`;l("CMCSS").textContent=t,co()}function En(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${kn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Nn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t,void 0!==e.Colors&&delete e.Colors,void 0!==e.Colours&&delete e.Colours;let o=!1;Object.keys(cn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=cn[t]):"Header"===t&&Object.keys(cn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=cn[t][n])}))})),o&&En(),Pn(),Object.keys(cn).forEach((e=>{"Header"!==e&&void 0!==bn[e].func&&bn[e].func()}))}else Nn(cn);Game.UpdateMenu(),Bn()}function On(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Fn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Uo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${pe(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${me((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(pe(Game.Objects[o].bulkPrice)).join(pe((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ne=t,ie=o,No(),l("tooltip").innerHTML}function Wn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(S[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Ln(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),En()}function Rn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){$n(o),Game.UpdateMenu()},n.appendChild(i),n}function In(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(I[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function zn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Vn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Rn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+mo(){Game.HasUnlocked(Qo[e])||c.push(Qo[e])})),0!==c.length&&e.appendChild(In("basic","Rare plant drops left to unlock",zn(c))),e}())),o.appendChild(Rn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?Ct:0)));t.appendChild(In("withTooltip","Prestige level (cur / max)",document.createTextNode(`${pe(Game.prestige)} / ${pe(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&Ct?Ct:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(pe(n)));const a=document.createElement("small");a.textContent=` (${ue(n/zt,1)})`,i.appendChild(a),t.appendChild(In("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(In("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${pe(Game.heavenlyChips)} / ${pe(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(In("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(pe(ht,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(In("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(pe(e)))),t.appendChild(In("basic","Time till target (cur, current 5 second average)",document.createTextNode(ue(e/ht)))))}const l=function(e){let t=Game.cookiesPs;Mo(),0===eo["Heavenly key"].bought&&(eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ro(),t=Xe,Mo()),It>=1e6&&$o("Sacrifice"),It>=1e9&&$o("Oblivion"),It>=1e12&&$o("From scratch"),It>=1e15&&$o("Nihilism"),It>=1e18&&$o("Dematerialize"),It>=1e21&&$o("Nil zero zilch"),It>=1e24&&$o("Transcendence"),It>=1e27&&$o("Obliterate"),It>=1e30&&$o("Negative void"),It>=1e33&&$o("To crumbs, you say?"),It>=1e36&&$o("You get nothing"),It>=1e39&&$o("Humble rebeginnings"),It>=1e42&&$o("The end of the world"),It>=1e45&&$o("Oh, you're back"),It>=1e48&&$o("Lazarus"),It>=1e51&&$o("Smurf account"),It>=1e54&&$o("If at first you don't succeed"),eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ue=e;const o=De;Ro(),qo(),o!==De&&Ro();const n=Xe-t;return Ue=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(pe(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(In("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Rn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${pe(Gt)} / ${pe(vt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){On()},e.appendChild(t),o.appendChild(In("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${pe(wt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},n.appendChild(i),o.appendChild(In("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==wt[1]?wt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(n.push(zo[e]),o=!0)}));const i=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(i.push(Vo[e]),o=!0)}));const a=[];Object.keys(_o).forEach((e=>{Game.Has(_o[e])||(a.push(_o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Rn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(In("basic","Halloween cookies left to buy",zn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(In("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${pe((1-e)*o*100)}% / ${pe((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(In("basic","Christmas cookies left to buy",zn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(In("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${pe((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(In("basic","Valentine cookies left to buy",zn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(In("basic","Normal easter eggs left to unlock",zn(r))),t.appendChild(In("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[0])}% / ${pe(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(In("basic","Rare easter eggs left to unlock",zn(l))),t.appendChild(In("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[1])}% / ${pe(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(In("basic","Reindeer reward",document.createTextNode(pe(ft)))),s&&t.appendChild(In("withTooltip","Chocolate egg cookies",document.createTextNode(pe(Ct)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(In("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(gt-1))/100+"%")))}return t}()),o.appendChild(Rn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(In("basic",`Average cookies per second (past ${J[e.AvgCPSHist]<60?`${J[e.AvgCPSHist]} seconds`:J[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(pe(uo(),3)))),o.appendChild(In("basic",`Average cookie clicks per second (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(St,1)))),o.appendChild(In("basic",`Cookies from clicking (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(he.calcSum(St*Z[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Io).forEach((t=>{Game.Has(Io[t])||e.push(Io[t])})),0!==e.length&&o.appendChild(In("basic","Fortune Upgrades Left to Buy",zn(e)))}if(e.ShowMissedGC&&o.appendChild(In("basic","Missed golden cookies",document.createTextNode(pe(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(In("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Et){const t=Et.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Et,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const _n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Qn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Xn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){$n(t),Game.UpdateMenu()},n.appendChild(i),n}function qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return de.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){de.includes(e)?de=de.filter((function(t){return t!==e})):de.push(e)}(e),En(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(I.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===bn[t].type){const n=document.createElement("a");bn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Hn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===bn[t].label.length?(e[t]=0,bn[t].toggle&&(l(Hn+t).className="option off")):l(Hn+t).className="option",void 0!==bn[t].func&&bn[t].func(),l(Hn+t).innerHTML=bn[t].label[e[t]],En()}(t)},n.textContent=bn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=bn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===bn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=bn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Un(t)},r.onchange=function(){Un(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Tn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Hn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,En(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=bn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===bn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new jn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Bn(),En(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=bn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Mn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Dn().init(),o}if("numscale"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="number",i.value=e[t],i.min=bn[t].min,i.max=bn[t].max,i.oninput=function(){e[t]=this.value,En(),un()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=bn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Yn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Kn(){B.Beautify=Beautify,Beautify=pe,B.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){B.CalculateGains(),_e=1,w=Date.now(),x=Date.now()},B.tooltip={},B.tooltip.draw=Game.tooltip.draw,B.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){B.tooltip.drawMod(e,t,o)},B.tooltip.update=Game.tooltip.update,B.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){B.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},B.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Yn(B.UpdateWrinklers)},B.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Yn(B.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Yn(Game.ClickCookie)}),!1),B.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){B.RebuildUpgrades(),P=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(P[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},B.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Zt[Game.ObjectsById[e].name].name;Zt[o].amount-=1,Le-=1,t=Zt[o].basePrice*Game.priceIncrease**Math.max(0,Zt[o].amount-1-Zt[o].free),t=Game.modifyBuildingPrice(Zt[o],t),t=Math.ceil(t);break}const o=De;return Ro(),qo(),o!==De&&Ro(),[Xe-Game.cookiesPs,t]}(t),n=ue(o/(e+Game.cookiesPs)),i=pe(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${pe(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},B.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){B.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},B.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Dn().picker&&void 0!==Dn().picker.owner||(B.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(_n).forEach((t=>{if("Favourite"===t){if(0!==de.length&&e.FavouriteSettings>0&&(o.appendChild(Xn(t,_n[t])),e.Header[t]))for(let e=0;e{const n=Xn(t,Qn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))}))})):Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Nn(cn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Vn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){$n("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},B.sayTime=Game.sayTime,V=function(e,t){return Number.isNaN(e)||e<=0?B.sayTime(e,t):ue(e/Game.fps,1)},B.Logic=Game.Logic,Game.Logic=function(){B.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ce=`${Game.OnAscend?"Ascending! ":""}${pe(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ce;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Vt?Vt.wrath?`[W${Math.ceil(Vt.life/Game.fps)}]`:`[G${Math.ceil(Vt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(_t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ce;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Vt&&(t=!0,Vt.wrath?e+=`[W${Math.ceil(Vt.life/Game.fps)}]`:e+=`[G${Math.ceil(Vt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(_t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${pe(Game.prestige)}.
(CpS +${pe(Game.prestige)}%)`,n+='
'),n+=Oe<1?"Ascending now would grant you no prestige.":Oe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${pe(Oe)} prestige levels (+${pe(Oe)}% CpS)
and ${pe(Oe)} heavenly chips to spend.`,n+='
',n+=`You need ${pe(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Qt} to reach the next level and you were making ${pe(ht,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Jn(){wn(),an(),sn(),r=Object.keys(Game.mods).length,M=document.createElement("style"),M.type="text/css",M.id="CMCSS",document.head.appendChild(M),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=E+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",W)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",O)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",O)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",O)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{go(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=ho("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:D},{id:"CMTimerBarGCBar",color:j}]);e.appendChild(t);const o=ho("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:D},{id:"CMTimerBarRenBar",color:L}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=N+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(O,"Better than the best PP of a building option")),e.appendChild(o(F,"Same as the best PP building option")),e.appendChild(o(W,"Within the top 10 of PP for buildings")),e.appendChild(o(L,"Within the top 20 of PP for buildings")),e.appendChild(o(A,"Within the top 30 of PP for buildings")),e.appendChild(o(j,"Outside of the top 30 of PP for buildings")),e.appendChild(o(D,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=E+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",O)),e.appendChild(o("CMUpgradeBarGreen",F)),e.appendChild(o("CMUpgradeBarYellow",W)),e.appendChild(o("CMUpgradeBarOrange",L)),e.appendChild(o("CMUpgradeBarRed",A)),e.appendChild(o("CMUpgradeBarPurple",j)),e.appendChild(o("CMUpgradeBarGray",D)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),I[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){On()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(T[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Wn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),An()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){_=1},l("backgroundLeftCanvas").onmouseout=function(){_=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{X[e]=0}))},Kn(),An(),Game.CalculateGains(),Nn(),z=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Zn={init:function(){xn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Jn(),Game.registerHook("draw",Oo),Game.registerHook("logic",Pn),Game.registerHook("click",Fo),xn=!1)},load:function(e){const t=JSON.parse(e);wn(),void 0!==t.favouriteSettings&&(de=t.favouriteSettings),Nn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:kn};Game.registerMod("CookieMonster",Zn)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index c0cf8bd4..e5144d21 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","CycliusDateAtBeginLoop","CenturyDateAtBeginLoop","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CacheAverageCookiesFromClicks","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","CMDrawHook","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","reduce","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","MissingAchievements","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoopHook","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","calcSum","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","achievs","values","parentElement","achievsCrate","AchievementsById","mouseDown","setOnCrate","tags","neuromancy","sesame","descFunc","tagsStr","CrateTooltipLockedAchievements","AddMissingAchievements","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAIAC,EAIAC,EAOAC,EAlCAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GA6BtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC,EACAC,EACAC,EACAC,EACAC,EACAE,EACAC,GAUIE,EAAc,CAClB,CAAC,6BAA8B,oCAAqC,SACpE,CACE,2CACA,6EACA,SAEF,CACE,6BACA,qPACA,SAEF,CACE,8BACA,kEACA,SAEF,CACE,kCACA,2PACA,SAEF,CACE,0BACA,gLACA,SAEF,CACE,2BACA,uOACA,SAEF,CACE,4BACA,2CACA,SAEF,CACE,8BACA,uHACA,UAGEC,EAAwB,GAM9B,IAUIC,EACAC,EAXAC,EAAsB,EACtBC,GAAmB,EAOnBC,EAA4B,GAQ5BC,EAAmB,EACnBC,EAAsB,EACtBC,EAA4B,EAMhC,MAAMC,EAAc,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,MAC9CC,EAAa,CAAC,EAAG,EAAG,GAAI,GAAI,IAK5BC,GAAc,CAClBC,OAAQrB,EACRsB,iBAAkBhB,EAClBiB,eAAgBxB,EAChByB,KAAMtB,EACNuB,eAAgB3B,EAChB4B,aAAcrB,GAMhB,IAOIsB,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GAdAC,GAAW,GAKXC,GAAQ,GAcRC,GAAoB,GAkBxB,SAASC,GAA4BC,EAAKC,EAAQC,GAChD,MAAMC,EAAW5E,EAAU6E,cAAgB,EAC3C,GAAIJ,IAAQK,IACV,MAAO,WAET,QAAmB,IAARL,EACT,MAAO,IAET,GAAwB,IAApBzE,EAAU+E,MACZ,OAAOjD,EAAgBkD,SAASP,EAAKC,GAEvC,GAAIO,OAAOC,SAAST,GAAM,CACxB,GAAIA,EAAM,EACR,MAAO,IAAID,GAA4B3hB,KAAK0N,IAAIkU,MAElD,IAAIU,EAAS,GACb,GAAY,IAARV,EACF,OAAOA,EAAI1hB,WAEb,GAAI0hB,EAAM,MAASA,EAAMzE,EAAUoF,YAGjC,OAF8BD,EAA1BnF,EAAUqF,eAAyBZ,EAAIa,eAAe,MAC5Cb,EAAIa,eAAe,MAC1BH,EAET,GAAyB,IAApBnF,EAAU+E,QAAgBJ,GAAsB,IAAXA,EAExCQ,EAASV,EAAIc,cAAcX,GAAU7hB,WAAW7B,QAAQ,IAAK,SACxD,CACL,MAAMskB,EAAcf,EAAIc,gBAAgBxiB,WAClC0iB,EAAwB5iB,KAAKkE,MACjCye,EAAYnH,MAAMmH,EAAYhoB,QAAQ,KAAO,GAAK,GAEpD2nB,GAAUV,EAAMQ,OAAO,KAA6B,EAAxBQ,IAA8BC,QACxDd,GAGuB,IAApB5E,EAAU+E,QAAgBJ,GAAsB,IAAXA,EAEpCF,GAAO,KAAQA,EAAMQ,OAAO,KAAqB,EAAhB5E,EAAO9lB,QAC1C4qB,GAAU,IAAI9E,EAAOoF,KAChBN,EAASX,GAA4BC,EAAK,EAAG,GACtB,IAApBzE,EAAU+E,QAAgBJ,GAAsB,IAAXA,EAE3CF,GAAO,KAAQA,EAAMQ,OAAO,KAAyB,EAApB3E,EAAW/lB,QAC9C4qB,GAAU,IAAI7E,EAAWmF,KACpBN,EAASX,GAA4BC,EAAK,EAAG,GACtB,IAApBzE,EAAU+E,QAAgBJ,GAAsB,IAAXA,EAG7CF,GAAO,KACPA,EAAMQ,OAAO,KAAoC,EAA/B1E,EAAsBhmB,QAExC4qB,GAAU,IAAI5E,EAAsBkF,KAC/BN,EAASX,GAA4BC,EAAK,EAAG,IACtB,IAApBzE,EAAU+E,QAAgBJ,GAAsB,IAAXA,KAE/CQ,GAAU,IAA4B,EAAxBM,GAUlB,MAPe,KAAXN,IACFhqB,QAAQwqB,IACN,2DAA2DlB,KAE7DU,EAASrD,EAAgBkD,SAASP,EAAKC,IAErC1E,EAAUqF,iBAAgBF,EAASA,EAAOjkB,QAAQ,IAAK,MACpDikB,EAGT,OADAhqB,QAAQwqB,IAAI,2DAA2DlB,KAChE3C,EAAgBkD,SAASP,EAAKC,GASvC,SAASkB,GAAWC,EAAMC,GACxB,IAAIC,EAAgBF,EACpB,GAAIA,IAASf,IAAU,OAAOe,EAC9B,GAAIA,EAAO,EAAG,MAAO,uBACrBE,EAAgBljB,KAAKoL,KAAK4X,GAC1B,MAAMphB,EAAI5B,KAAKkE,MAAMgf,EAAgB,UAC/BpG,EAAI9c,KAAKkE,MAAOgf,EAAgB,SAAY,OAC5Cpf,EAAI9D,KAAKkE,MAAOgf,EAAgB,MAAS,MACzCtrB,EAAIoI,KAAKkE,MAAOgf,EAAgB,KAAQ,IACxClf,EAAIhE,KAAKkE,MAAMgf,EAAgB,IACrC,IAAIrqB,EAAM,GACV,GAAIskB,EAAUgG,WAAY,CACxB,GAAID,EAAgB,SAAY,MAAO,iBACvCrqB,IAAW+I,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACP/I,IAAWikB,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPjkB,IAAWiL,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPjL,IAAWjB,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPiB,IAAQmL,EAAI,GAAK,IAAM,IAAMA,MACxB,CACL,GAAIkf,EAAgB,OAClB,OAAOD,EAAa,kBAAoB,SAC1CpqB,GACE+I,EAAI,EACGA,GAAKqhB,EAAoB,IAANrhB,EAAU,QAAU,SAAY,KAAtD,KACA,GACN/I,GACEikB,EAAI,EAAOA,GAAKmG,EAAoB,IAANnG,EAAU,OAAS,QAAW,KAApD,KAA+D,IACrEjkB,EAAInB,OAAS,GAAKoM,EAAI,KACxBjL,GAAUiL,GAAKmf,EAAoB,IAANnf,EAAU,QAAU,SAAY,KAAtD,OACLjL,EAAInB,OAAS,GAAKE,EAAI,KACxBiB,GAAUjB,GAAKqrB,EAAoB,IAANrrB,EAAU,UAAY,WAAc,KAA1D,MACTiB,GAAOmL,GAAKif,EAAoB,IAANjf,EAAU,UAAY,WAAc,KAEhE,OAAOnL,EAQT,SAASuqB,GAAcJ,GACrB,IAAI3d,EACAge,EAWJ,OAVIL,GAAQ,GACgBK,EAAtBlG,EAAUgG,WAAmB,iBACrB,QACZ9d,EAAQga,IAERgE,EAAON,GAAWC,GACF3d,EAAZ2d,EAAO,IAAaxD,EACfwD,EAAO,GAAYzD,EACfD,GAER,CAAE+D,OAAMhe,SAMjB,IAuCIie,GAoCAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GAEAC,GAEAC,GAwBAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAzIAC,GAAkB,EAClBC,GAAmB,EACnBC,GAAuB,EACvBC,GAAyB,EACzBC,GAAa,EACbC,GAAmB,EACnBC,GAAwB,EACxBC,GAAmB,EACnBC,GAAyB,EACzBC,GAA8B,EAC9BC,GAAe,EACfC,GAAqB,EACrBC,GAAe,EACfC,GAAuB,EACvBC,GAA6B,EAC7BC,GAAoC,EACpCC,GAAyB,EACzBC,GAAwB,EAExBC,GAAmB,EAEnBC,GAAe,EACfC,GAAe,EACfC,GAAkB,EAElBC,GAAgB,GAChBC,GAAiB,GACjBC,GAAkB,GAElBC,GAAsB,EACtBC,GAAuB,EACvBC,GAAwB,CAAC,EAAG,MAE5BC,GAA2B,EAC3BC,GAAyB,EAEzBC,GAAgB,GAEhBC,GAAqB,GAGrBC,GAAuB,GACvBC,GAA+B,GAC/BC,GAA8B,GAE9BC,GAAqB,EACrBC,GAAyB,EACzBC,GAAsB,GACtBC,GAA0B,EAC1BC,GAA8B,EAC9BC,GAA2B,GAC3BC,GAA2B,EAC3BC,GAA+B,EAC/BC,GAA4B,GAC5BC,GAAgC,EAChCC,GAAoC,EACpCC,GAAiC,GAEjCC,GAAyB,EACzBC,GAAwB,EAExBC,GAA4B,GAC5BC,GAAwB,GAExBC,GAA4B,EAG5BC,GAAa,EAEbC,GAAe,GAEfC,GAA0B,GAE1BC,GAAqB,EA6BrBC,GAAY,CACdC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACV5rB,EAAG,CAAC,EAAG,EAAG,GACV6rB,GAAI,CAAC,EAAG,EAAG,IAOTC,GAAa,GACbC,GAAc,GACdC,GAAkB,GAuBtB,SAASC,GAAYC,GACnB,IAAIvvB,EAAI,EAWR,OATE4iB,KAAK4M,YAAYjF,IAAejpB,OAASiuB,GACzC3M,KAAK4M,YAAYhF,IAAgBlpB,OAASiuB,IAE1CvvB,EAAI,GAEqC,oBAAzC4iB,KAAK4M,YAAYjF,IAAejpB,MACU,oBAA1CshB,KAAK4M,YAAYhF,IAAgBlpB,OAEjCtB,GAAK,IACAA,EAWT,SAASyvB,KACP,IAAIC,EAAW,IAEf,OADAA,GAAY,EAAIJ,GAAY,mBACrBI,EAST,SAASC,GAAOruB,EAAMsuB,GACpB,YAA6B,IAAlB/E,GAAQvpB,QACK,IAARsuB,EAAsB,EAAIA,EAEnC/E,GAAQvpB,GASjB,SAASuuB,GAAON,GACd,MAAMO,EAAKV,GAAYG,GACvB,OACyB,IAAvB3M,KAAKmN,eACQ,aAAZD,EAAGE,MAAmC,YAAZF,EAAGG,OAGzBH,EAAKA,EAAGI,OADN,EAYX,SAASC,GAAUZ,GACjB,GAAI3M,KAAKwN,OAAQ,MACoBjzB,IAA/BgyB,GAAWkB,OAAOC,WACpBnB,GAAWkB,OAAOC,SAAW1N,KAAK2N,QAAQF,OAAOC,UAEnD,MAAME,EAAMrB,GAAWkB,OAAOC,SAASG,KAAKlB,GAC5C,GAAI9E,KAAY+F,EAAIE,GAClB,OAAO,EAET,GAAIhG,KAAY8F,EAAIE,GAClB,OAAO,EAET,GAAI/F,KAAY6F,EAAIE,GAClB,OAAO,EAGX,OAAO,EAgBT,SAASC,GAAuBC,EAAUC,GACxC,IAAIC,EAAgBD,EAapB,GAZIhB,GAAO,oBAAmBiB,GAAiB,KAC3CjB,GAAO,sBAAqBiB,GAAiB,KAC7CjB,GAAO,iBAAgBiB,GAAiB,KACxCjB,GAAO,qBAAoBiB,GAAiB,KAC5CjB,GAAO,kBAAiBiB,GAAiB,KAE7CA,GAAiB,EAAoC,IAAhCxB,GAAY,kBAC7B1M,KAAKmO,QAAQ,wBAAuBD,GAAiB,KACrDlO,KAAKmO,QAAQ,mBAAkBD,GAAiB,KAChDlO,KAAKmO,QAAQ,mBAAkBD,GAAiB,MAChDF,EAASI,SAAWnB,GAAOe,EAASI,QAAQ1vB,QAAOwvB,GAAiB,KACxEA,GAAiBnB,GAAO,gBACpBR,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASf,GAAU,YACV,IAAXe,EAAcJ,GAAiB,IACf,IAAXI,EAAcJ,GAAiB,IACpB,IAAXI,IAAcJ,GAAiB,KAE1C,OAAOA,EAkBT,SAASK,GACPC,EACAC,EACA9kB,EACA+kB,EACAC,EACAC,GAIA,MAAMC,OAA4B,IAAVD,EAAwB,EAAIA,EACpD,IAAIE,EAAWH,EACXI,EAAiBplB,EACjBqlB,EAAO,GACK,IAAZL,IAAeG,EAAWC,GACzBJ,IAAQG,EAAW9O,KAAKiP,SAC7B,IAAK,IAAI90B,EAAI,EAAGA,EAAI20B,EAAU30B,IAAK,CACjC,IAAI8zB,EACFQ,EAAYzO,KAAKkP,eAAiBxsB,KAAK6D,IAAI,EAAGwoB,EAAiBL,GACjET,EAAQY,EACJ7O,KAAKmP,oBAAoBX,EAAOP,GAChCF,GAAuBS,EAAOP,GAClCA,EAAQvrB,KAAKoL,KAAKmgB,GAClB,MAAMnB,EAAW+B,EACbL,EAAMY,oBACNvC,KACJoB,EAAQvrB,KAAKkE,MAAMqnB,EAAQnB,GACvBiC,EAAiB,IACnBC,GAAQf,EACRc,GAAkB,GAGtB,OAAOC,EAoBT,SAASK,KACP,IAAI7vB,EAASwgB,KAAKiP,QA0ClB,GAzCqB,IAAjBjP,KAAKsP,QACPtM,EAAsBxjB,EAEtBA,EAASwjB,EAEI,IAAXxjB,EAAcA,EAASkqB,GACP,KAAXlqB,EAAeA,EAASmqB,GACb,MAAXnqB,IAAgBA,EAASoqB,IAEb,IAAjB5J,KAAKsP,QACuB,IAA1BzP,EAAU0P,YACZ5xB,OAAO6C,KAAKhB,GAAQgwB,SAASr1B,IAC3BoR,EAAE,eAAeyU,KAAK2N,QAAQxzB,GAAG2zB,MAAM1rB,MAAM2F,MAC3C8X,EAAU,SAASrgB,EAAOrF,GAAG4N,YAGjCpK,OAAO6C,KAAKwf,KAAK2N,SAAS6B,SAASr1B,IACjCoR,EAAE,eAAeyU,KAAK2N,QAAQxzB,GAAG2zB,MAAM1rB,MAAMqtB,eAAe,aAGrC,IAAlBzP,KAAKsP,SACd3xB,OAAO6C,KAAKkpB,IAAe8F,SAASr1B,IAClC,MAAMwlB,EAAIK,KAAK2N,QAAQxzB,GACvBoR,EAAE,eAAeoU,EAAEmO,MAAM1rB,MAAM2F,MAAQ,GASvCwD,EAAE,eAAeoU,EAAEmO,MAAMnW,UAAY0M,GACnCkK,GAAa5O,EAAGA,EAAE8O,UAAW9O,EAAEgP,OAAQhP,EAAE+O,KAAM1O,KAAKiP,QAAS,OAQ9C,IAAjBjP,KAAKsP,SAAiBzP,EAAU6P,cAAe,CACjD,IAAIC,EAC4B,IAA5B9P,EAAU6P,eACZC,EAAMhyB,OAAO6C,KAAKkpB,IAAeprB,KAAKsxB,IACpC,MAAMjQ,EAAI+J,GAAckG,GAGxB,OAFAjQ,EAAEjhB,KAAOkxB,EACTjQ,EAAEmO,GAAK9N,KAAK2N,QAAQiC,GAAG9B,GAChBnO,KAGTgQ,EAAIE,MAAK,SAAU7sB,EAAGP,GACpB,OAAO8f,EAAgBllB,QAAQ2F,EAAE+E,OAC/Bwa,EAAgBllB,QAAQoF,EAAEsF,OACxB,EACAwa,EAAgBllB,QAAQ2F,EAAE+E,OAASwa,EAAgBllB,QAAQoF,EAAEsF,QAE7D/E,EAAEyI,GAAKhJ,EAAEgJ,IADR,EAGD,MAE+B,IAA5BoU,EAAU6P,gBACnBC,EAAMhyB,OAAO6C,KAAKhB,GAAQlB,KAAKsxB,IAC7B,MAAMjQ,EAAIngB,EAAOowB,GAGjB,OAFAjQ,EAAEjhB,KAAOkxB,EACTjQ,EAAEmO,GAAK9N,KAAK2N,QAAQiC,GAAG9B,GAChBnO,KAGTgQ,EAAIE,MAAK,SAAU7sB,EAAGP,GACpB,OAAO8f,EAAgBllB,QAAQ2F,EAAE+E,OAC/Bwa,EAAgBllB,QAAQoF,EAAEsF,OACxB,EACAwa,EAAgBllB,QAAQ2F,EAAE+E,OAASwa,EAAgBllB,QAAQoF,EAAEsF,QAE7D/E,EAAEyI,GAAKhJ,EAAEgJ,IADR,EAGD,MAIR,IAAK,IAAIpH,EAAI,EAAGA,EAAIsrB,EAAIv1B,OAAQiK,IAC9B2b,KAAK2N,QAAQgC,EAAItrB,GAAG3F,MAAM6M,EAAEnJ,MAAM0tB,QAAU,GAAGzrB,EAAI,KAAKA,EAAI,QAEzD,CACL,MAAMsrB,EAAMhyB,OAAO6C,KAAKkpB,IAAeprB,KAAKsxB,IAC1C,MAAMjQ,EAAI+J,GAAckG,GAGxB,OAFAjQ,EAAEjhB,KAAOkxB,EACTjQ,EAAEmO,GAAK9N,KAAK2N,QAAQiC,GAAG9B,GAChBnO,KAETgQ,EAAIE,MAAK,CAAC7sB,EAAGP,IAAMO,EAAE8qB,GAAKrrB,EAAEqrB,KAC5B,IAAK,IAAIzpB,EAAI,EAAGA,EAAIsrB,EAAIv1B,OAAQiK,IAC9B2b,KAAK2N,QAAQgC,EAAItrB,GAAG3F,MAAM6M,EAAEnJ,MAAM0tB,QAAU,GAAGzrB,EAAI,KAAKA,EAAI,KAiBlE,SAAS0rB,KAEP,GAAIlQ,EAAUmQ,YAAc,EAAG,CAC7B,IAAIC,EAAO,EACPC,EAAQ,EACRC,EAAS,EACTC,EAAS,EACTC,EAAM,EACNC,EAAS,EACTC,EAAO,EAEX5yB,OAAO6C,KAAKwf,KAAKwQ,iBAAiBhB,SAASr1B,IACzC,MAAMs2B,EAAKzQ,KAAKwQ,gBAAgBr2B,GAChC,IAAIu2B,GAAc,EAClB,IAAK,IAAIC,EAAI,EAAGA,EAAIplB,EAAE,UAAUpR,KAAKy2B,WAAWx2B,OAAQu2B,GAAK,EAC3D,IACuE,IAArEplB,EAAE,UAAUpR,KAAKy2B,WAAWD,GAAG/1B,UAAUyC,QAAQwkB,GACjD,CACAtW,EAAE,UAAUpR,KAAKy2B,WAAWD,GAAG/1B,UAC7BinB,EAAgBqI,GAAcuG,EAAG/xB,MAAMqJ,MACzC2oB,GAAc,EACd,MAGJ,IAAKA,EAAa,CAChB,MAAMG,EAAMp4B,SAAS4D,cAAc,OACnCw0B,EAAIzuB,MAAMkG,MAAQ,OAClBuoB,EAAIzuB,MAAMmG,OAAS,OACnBsoB,EAAIj2B,UAAYinB,EAAgBqI,GAAcuG,EAAG/xB,MAAMqJ,MACvDwD,EAAE,UAAUpR,KAAK4b,YAAY8a,GAE3B3G,GAAcuG,EAAG/xB,MAAMqJ,QAAU+Z,EAAYmO,GAAQ,EAChD/F,GAAcuG,EAAG/xB,MAAMqJ,QAAUga,EAAamO,GAAS,EACvDhG,GAAcuG,EAAG/xB,MAAMqJ,QAAUia,EAAcmO,GAAU,EACzDjG,GAAcuG,EAAG/xB,MAAMqJ,QAAUka,EAAcmO,GAAU,EACzDlG,GAAcuG,EAAG/xB,MAAMqJ,QAAUma,EAAWmO,GAAO,EACnDnG,GAAcuG,EAAG/xB,MAAMqJ,QAAUoa,EAAcmO,GAAU,EACzDpG,GAAcuG,EAAG/xB,MAAMqJ,QAAUqa,IAAYmO,GAAQ,MAGhEhlB,EAAE,oBAAoB/N,YAAcyyB,EACpC1kB,EAAE,qBAAqB/N,YAAc0yB,EACrC3kB,EAAE,sBAAsB/N,YAAc2yB,EACtC5kB,EAAE,sBAAsB/N,YAAc4yB,EACtC7kB,EAAE,mBAAmB/N,YAAc6yB,EACnC9kB,EAAE,sBAAsB/N,YAAc8yB,EACtC/kB,EAAE,oBAAoB/N,YAAc+yB,EAGtC,MAAMZ,EAAM,GAGZ,IAAK,IAAItrB,EAAI,EAAGA,EAAI2b,KAAKwQ,gBAAgBp2B,OAAQiK,GAAK,EAAG,CACvD,MAAMsb,EAAI,GACVA,EAAEjhB,KAAOshB,KAAKwQ,gBAAgBnsB,GAAG3F,KACjCihB,EAAEsO,MAAQjO,KAAKwQ,gBAAgBnsB,GAAGoqB,UAClC9O,EAAElU,GAAKye,GAAcvK,EAAEjhB,MAAM+M,GAC7BkkB,EAAI1zB,KAAK0jB,GAGPE,EAAUiR,aACZnB,EAAIE,MAAK,SAAU7sB,EAAGP,GACpB,OAAO8f,EAAgBllB,QAAQ2F,EAAE+E,OAASwa,EAAgBllB,QAAQoF,EAAEsF,OAChE,EACAwa,EAAgBllB,QAAQ2F,EAAE+E,OAASwa,EAAgBllB,QAAQoF,EAAEsF,QAE7D/E,EAAEyI,GAAKhJ,EAAEgJ,IADR,EAGD,KAGNkkB,EAAIE,MAAK,CAAC7sB,EAAGP,IAAMO,EAAEirB,MAAQxrB,EAAEwrB,QAGjC,MAAM8C,EAAc,SAAUC,EAAMC,GAClC,OAAOD,EAAKE,WAAW51B,GAAMA,EAAEoD,OAASuyB,EAAQvyB,QAElD,IAAK,IAAI2F,EAAI,EAAGA,EAAI2b,KAAKwQ,gBAAgBp2B,OAAQiK,GAAK,EACpDkH,EAAE,UAAUlH,KAAKjC,MAAM+uB,MACrBJ,EAAYpB,EAAK3P,KAAKwQ,gBAAgBnsB,IAAM,EAYlD,SAAS+sB,KACP,OAAIvR,EAAUwR,QACLrK,GAEmB,IAAxBnH,EAAUyR,UACLtR,KAAKuR,WAAa,EAAIvR,KAAKwR,WAER,IAAxB3R,EAAUyR,UAEVtR,KAAKuR,WACJvH,IAA4B,EAA6B,IAAzBC,KAGJ,OAA7BF,GAAsB,IAEE,IAAxBlK,EAAUyR,WACwC,IAAlDtR,KAAKyR,UAAU1H,GAAsB,IAAIvvB,KAGvCwlB,KAAKuR,WACwB,EAA3BvH,GAAgCC,IAC/B,EAA6B,IAAzBA,KAIXjK,KAAKuR,WACJvH,GAA2BC,IACzB,EAA6B,IAAzBA,KAaX,SAASyH,KACP,OAA4B,IAAxB7R,EAAUyR,UACLzH,GAEmB,IAAxBhK,EAAUyR,UACLvH,GAAsB,GAExB,EAcT,SAAS4H,GAAY7D,EAAIpvB,EAAMkzB,GAC7B,MAAMC,EAAWp5B,SAAS4D,cAAc,OACxCw1B,EAAS/D,GAAKA,EACd+D,EAASzvB,MAAMmG,OAAS,OACxBspB,EAASzvB,MAAM0vB,OAAS,WACxBD,EAASzvB,MAAMgI,SAAW,WAE1B,MAAMymB,EAAMp4B,SAAS4D,cAAc,OACnCw0B,EAAIzuB,MAAMkG,MAAQ,OAClBuoB,EAAIzuB,MAAMmG,OAAS,OACnBsoB,EAAIzuB,MAAM0vB,OAAS,OACnBjB,EAAIzuB,MAAMgI,SAAW,WACrBymB,EAAIzuB,MAAMqC,KAAO,MACjBosB,EAAIzuB,MAAMsC,IAAM,MAChBmsB,EAAIzuB,MAAMkI,MAAQ,MAClBumB,EAAIzuB,MAAMkW,OAAS,MAEnB,MAAM9d,EAAO/B,SAAS4D,cAAc,QACpC7B,EAAK4H,MAAMqV,QAAU,eACrBjd,EAAK4H,MAAMuW,UAAY,QACvBne,EAAK4H,MAAM2vB,SAAW,OACtBv3B,EAAK4H,MAAMkG,MAAQ,QACnB9N,EAAK4H,MAAM4vB,YAAc,MACzBx3B,EAAK4H,MAAM6vB,cAAgB,WAC3Bz3B,EAAKgD,YAAckB,EACnBmyB,EAAI9a,YAAYvb,GAEhB,IAAK,IAAIL,EAAI,EAAGA,EAAIy3B,EAAKx3B,OAAQD,IAAK,CACpC,MAAM+3B,EAAWz5B,SAAS4D,cAAc,QACxC61B,EAASpE,GAAK8D,EAAKz3B,GAAG2zB,GACtBoE,EAAS9vB,MAAMqV,QAAU,eACzBya,EAAS9vB,MAAMmG,OAAS,OACxB2pB,EAAS9vB,MAAM6vB,cAAgB,WAC/BC,EAAS9vB,MAAMuW,UAAY,SACvBiZ,EAAKx3B,OAAS,IAAMD,IACtB+3B,EAAS9vB,MAAM+vB,qBAAuB,OACtCD,EAAS9vB,MAAMgwB,wBAA0B,aAEd,IAAlBR,EAAKz3B,GAAG4N,QACjBmqB,EAASt3B,UAAYinB,EAAgB+P,EAAKz3B,GAAG4N,OAE/C8oB,EAAI9a,YAAYmc,GAGlB,MAAMG,EAAQ55B,SAAS4D,cAAc,QAQrC,OAPAg2B,EAAMvE,GAAK,GAAGA,QACduE,EAAMjwB,MAAMkwB,WAAa,MACzBD,EAAMjwB,MAAM6vB,cAAgB,WAC5BpB,EAAI9a,YAAYsc,GAEhBR,EAAS9b,YAAY8a,GAEdgB,EAOT,SAASU,GAA2BC,GAClC,GAAsB,OAAlBjnB,EAAE,YAAsB,CAC1B,MAAM/Q,EAAO+Q,EAAE,YAAYvO,WAAWA,WAAW4zB,WAAW,GACtD6B,EAAQlnB,EAAE,YAAYvO,WAAWA,WAAW4zB,WAAW,GACvDnlB,EAAKF,EAAE,YAAYvO,WAAWA,WAAW4zB,WAAW,GACpDlL,EAAOna,EAAE,YAAYvO,WAAWA,WAAW4zB,WAAW,GAEtDz2B,EAAIq4B,EACJE,EAASl4B,EAAKub,YAAYtd,SAAS4D,cAAc,OACvDq2B,EAAO3c,YACLtd,SAASqgB,eACP,IAAuB,IAApB3e,EAAEkD,QAAQ,KAAclD,EAAEw4B,UAAU,EAAGx4B,EAAEkD,QAAQ,MAAQlD,QAInDu4B,EAAO3c,YAAYtd,SAAS4D,cAAc,SAClDzB,UAAYgnB,aAEjB8Q,EAAO3c,YAAYtd,SAASqgB,eAAe,MAC3Cte,EAAKo4B,UAAUxwB,MAAMywB,YAAc,MACnCJ,EAAM1c,YAAYtd,SAAS4D,cAAc,OACzCo2B,EAAMG,UAAUxwB,MAAMywB,YAAc,MACpCpnB,EAAGsK,YAAYtd,SAAS4D,cAAc,OACtCoP,EAAGmnB,UAAUxwB,MAAMywB,YAAc,MACjCnN,EAAK3P,YAAYtd,SAAS4D,cAAc,OACxCqpB,EAAKkN,UAAUxwB,MAAMywB,YAAc,OAoEvC,SAASC,KACP,GAAyB,IAArBjT,EAAUkT,QAAgBrJ,IAAkC,IAAjB1J,KAAKsP,QAAe,CACjE,IAAI0D,EAAQ,EACZr1B,OAAO6C,KAAKkpB,IAAe8F,SAASr1B,IAClC,IAmBI84B,EAnBAzzB,EAASwgB,KAAKiP,QACG,IAAjBjP,KAAKsP,QACPvM,EAAmBvjB,EAEnBA,EAASujB,EAEI,IAAXvjB,IAAcA,EAASkqB,IACZ,KAAXlqB,IAAeA,EAASmqB,IACb,MAAXnqB,IAAgBA,EAASoqB,IAC7BoJ,GAAS,EACTznB,EAAE,YAAYvO,WAAWA,WAAW4zB,WAAW,GAAGA,WAChDoC,GACApC,WAAW,GAAGpzB,YAAcwiB,KAAK2N,QAAQxzB,GAAGw0B,OAC9CpjB,EAAE,YAAYvO,WAAWA,WAAW4zB,WAAW,GAAGA,WAChDoC,GACAx1B,YAAc6mB,GAA4B7kB,EAAOrF,GAAGs4B,MAAO,GAC7DlnB,EAAE,YAAYvO,WAAWA,WAAW4zB,WAAW,GAAGA,WAChDoC,GACAp4B,UAAYgnB,EAAgBpiB,EAAOrF,GAAG4N,MAGtCkrB,EADEpT,EAAUqT,cACDzN,GAAW/iB,KAAKC,MAAMnD,EAAOrF,GAAGsR,KAC7B4Y,GAA4B3hB,KAAKC,MAAMnD,EAAOrF,GAAGsR,IAAK,GACtEF,EAAE,YAAYvO,WAAWA,WAAW4zB,WAAW,GAAGA,WAChDoC,GACAx1B,YAAcy1B,EAChB,MAAME,EAAarN,IAChB9F,KAAK2N,QAAQxzB,GAAGi5B,WAAapT,KAAKqT,QAAU3B,OAC3CN,MAEJ7lB,EAAE,YAAYvO,WAAWA,WAAW4zB,WAAW,GAAGA,WAChDoC,GACAp4B,UAAYgnB,EAAgBuR,EAAWprB,MAEnB,UAApBorB,EAAWpN,MACX/F,KAAKqT,QAAUrT,KAAK2N,QAAQxzB,GAAGi5B,UAE/B7nB,EAAE,YAAYvO,WAAWA,WAAW4zB,WAAW,GAAGA,WAChDoC,GACAx1B,YAAc,GAAG21B,EAAWpN,oBAE9Bxa,EAAE,YAAYvO,WAAWA,WAAW4zB,WAAW,GAAGA,WAChDoC,GACAx1B,YAAc21B,EAAWpN,SAWnC,SAASuN,KACPtT,KAAKuT,WAAWprB,OAAOG,MAAQ0X,KAAKuT,WAAWprB,OAAOmR,WAAWxU,YACjEkb,KAAKuT,WAAWprB,OAAOI,OACrByX,KAAKuT,WAAWprB,OAAOmR,WAAWvU,aACpCib,KAAKwT,eAAerrB,OAAOG,MACzB0X,KAAKwT,eAAerrB,OAAOmR,WAAWxU,YACxCkb,KAAKwT,eAAerrB,OAAOI,OACzByX,KAAKwT,eAAerrB,OAAOmR,WAAWvU,aAY1C,SAAS0uB,KAEgB,IAArB5T,EAAUkT,QACa,IAAvBlT,EAAU6T,UACgB,IAA1B7T,EAAU8T,aAEVpoB,EAAE,YAAYnJ,MAAMkW,OAAS/M,EAAE,cAAcnJ,MAAMmG,OACnDgD,EAAE,QAAQnJ,MAAMkW,OAAS,GACvBwM,OAAOvZ,EAAE,cAAcnJ,MAAMmG,OAAOxH,QAAQ,KAAM,KAAO,QAE7B,IAArB8e,EAAUkT,QACnBxnB,EAAE,YAAYnJ,MAAMkW,OAAS,MAC7B/M,EAAE,QAAQnJ,MAAMkW,OAAS,QACO,IAAvBuH,EAAU6T,UAA4C,IAA1B7T,EAAU8T,YAC/CpoB,EAAE,QAAQnJ,MAAMkW,OAAS/M,EAAE,cAAcnJ,MAAMmG,OAG/CgD,EAAE,QAAQnJ,MAAMkW,OAAS,MAGA,IAAvBuH,EAAU6T,UAA4C,IAA1B7T,EAAU8T,YACxCpoB,EAAE,eAAenJ,MAAMsC,IAAM6G,EAAE,cAAcnJ,MAAMmG,OAEnDgD,EAAE,eAAenJ,MAAMsC,IAAM,GAG/B4uB,KAMF,SAASM,KACoB,IAAvB/T,EAAU6T,SAAgBnoB,EAAE,cAAcnJ,MAAMqV,QAAU,GACzDlM,EAAE,cAAcnJ,MAAMqV,QAAU,OACrCgc,KAoPF,SAASI,KACPzL,GAAkBpI,KAAK8T,WACvBzL,GAAmBrI,KAAK+T,YAS1B,SAASC,GAAgBC,GACvB,MAAMxD,EAAKzQ,KAAKkU,aAAaD,GACvBE,EAAM,GAEZ,OADAA,EAAIz1B,KAAO+xB,EAAG/xB,KACPy1B,EAUT,SAASC,GAAoB3D,GAC3B,IAAI4D,EAAO,EAoBX,GAnBA12B,OAAO6C,KAAKiwB,EAAG6D,gBAAgB9E,SAASr1B,KAEnC6lB,KAAKuU,MAAM9D,EAAG6D,eAAen6B,GAAGkzB,MAAMmH,SACvCvH,GAAOwD,EAAG6D,eAAen6B,GAAGuE,QAE5B21B,GAAQ,MAEZ12B,OAAO6C,KAAKiwB,EAAGgE,WAAWjF,SAASr1B,IACjC,GAAI8yB,GAAOwD,EAAGgE,UAAUt6B,GAAGuE,MAAO,CAChC,MAAMg2B,EAAMjE,EAAGgE,UAAUt6B,GACrBu6B,EAAIC,aAAaj2B,OAAS+xB,EAAG/xB,KAC/B21B,GAAQ,EAAI,IAAOK,EAAIE,aAAajG,OAC7B+F,EAAIE,aAAal2B,OAAS+xB,EAAG/xB,OACpC21B,GAAQ,EAAI,KAAQK,EAAIC,aAAahG,YAGvC8B,EAAGrC,SAAWnB,GAAOwD,EAAGrC,QAAQ1vB,QAAO21B,GAAQ,MAC/C5D,EAAGoE,SAAW5H,GAAOwD,EAAGoE,QAAQn2B,QAClC21B,GAAQ,EAAgC,IAA5B9H,GAAWuI,QAAQnG,QAAiB,GAAK8B,EAAG3C,GAAK,KACnB,iBAAjC2C,EAAG6D,eAAeS,YACR,IAAftE,EAAGuE,SAAiB/H,GAAOwD,EAAG6D,eAAeS,WAAWr2B,MAC1D,OAAQshB,KAAKC,YACX,QACEoU,GAAQ,EACR,MACF,KAAK,EACHA,GAAQ,KACR,MACF,KAAK,EACHA,GAAQ,KACR,MACF,KAAK,EACHA,GAAQ,KAKhB,OAAOA,EAiBT,SAASY,GAAoBzC,GAC3B,MAAM/B,EAAKzQ,KAAK2N,QAAQ6E,GAClB2B,EAAM,GA2FZ,MA1FgB,WAAZ1D,EAAG/xB,KACLy1B,EAAIe,IAAM,SAAUhI,GAClB,IAAI5rB,EAAM,EACN2rB,GAAO,sBAAqB3rB,GAAO,IACnC2rB,GAAO,qBAAoB3rB,GAAO,GAClC2rB,GAAO,qBAAoB3rB,GAAO,IAClC2rB,GAAO,sBAAqB3rB,GAAO,IACnC2rB,GAAO,yBAAwB3rB,GAAO,IACtC2rB,GAAO,yBAAwB3rB,GAAO,IACtC2rB,GAAO,wBAAuB3rB,GAAO,IACrC2rB,GAAO,wBAAuB3rB,GAAO,IACrC2rB,GAAO,uBAAsB3rB,GAAO,IACpC2rB,GAAO,uBAAsB3rB,GAAO,IACxC,IAAI+yB,EAAO,EACP/P,EAAM,EAQV,OAPA3mB,OAAO6C,KAAK+rB,IAAYiD,SAASr1B,IACJ,WAAvBoyB,GAAWpyB,GAAGuE,OAAmB4lB,GAAOiI,GAAWpyB,GAAGw0B,WAE5DrtB,GAAOgjB,EACP+P,GAAQD,GAAoBlH,GAC5BmH,GAAQrU,KAAKmV,SAAS,UACtBd,GAAQtH,GAAO,aAEb/M,KAAKoV,WACH,GACAnI,GAAO,2BACLA,GAAO,kCACPA,GAAO,gBACT3rB,GACE+yB,GAGa,YAAZ5D,EAAG/xB,KACZy1B,EAAIe,IAAM,SAAUhI,GAClB,IAAImH,EAAO,EAYX,GAXA12B,OAAO6C,KAAKwf,KAAKqV,kBAAkB7F,SAASr1B,IACtC8yB,GAAOjN,KAAKqV,iBAAiBl7B,MAAKk6B,GAAQ,MAE5CpH,GAAO,oCAAmCoH,GAAQ,GAClDpH,GAAO,yBAAwBoH,GAAQ,GACvCpH,GAAO,kBAAiBoH,GAAQ,GAEhCpH,GAAO,wBAAuBoH,GAAQ,MAE1CA,GAAQtH,GAAO,cAEXE,GAAO,cACT,IAAK,IAAI9yB,EAAI,EAAGA,EAAI6lB,KAAKsV,eAAeC,OAAOn7B,OAAQD,IACjD8yB,GAAOjN,KAAKsV,eAAeC,OAAOp7B,GAAGuE,QAAO21B,GAAQ,MAI5DA,GAAQD,GAAoBlH,GAE5B,IAAI5rB,EAAM,EACN2rB,GAAO,cAAa3rB,GAAmC,IAA5BirB,GAAWuI,QAAQnG,QAC9C1B,GAAO,yBACT3rB,GAAmC,IAA5BirB,GAAWuI,QAAQnG,QACxB1B,GAAO,gBAAe3rB,GAAkC,IAA3BirB,GAAWiJ,OAAO7G,QAEnD,IAAIrK,EAAM,EASV,OARA3mB,OAAO6C,KAAK+rB,IAAYiD,SAASr1B,IACJ,YAAvBoyB,GAAWpyB,GAAGuE,OAAoB4lB,GAAOiI,GAAWpyB,GAAGw0B,WAG7D0F,GAAQ,EAAqC,IAAjC3H,GAAY,mBAA4BpI,EAEpD+P,GAAQrU,KAAKmV,SAAS1E,EAAG/xB,OAEjB+xB,EAAGgF,QAAUn0B,GAAO+yB,GAG9BF,EAAIe,IAAM,SAAUhI,GAClB,IAAImH,EAAO,EAGX,OAFAA,GAAQD,GAAoBlH,GAC5BmH,GAAQrU,KAAKmV,SAASjI,EAAGxuB,MAClBwuB,EAAGwI,QAAUrB,GAKxBF,EAAIsB,QAAUhF,EAAGgF,QACjBtB,EAAIz1B,KAAO+xB,EAAG/xB,KACdy1B,EAAIG,eAAiB7D,EAAG6D,eACxBH,EAAIM,UAAYhE,EAAGgE,UACnBN,EAAI/F,QAAUqC,EAAGrC,QACjB+F,EAAIU,QAAUpE,EAAGoE,QACjBV,EAAIuB,QAAUjF,EAAGgF,QACjBtB,EAAIrG,GAAK2C,EAAG3C,GACZqG,EAAIa,QAAUvE,EAAGuE,QACVb,EAaT,SAASwB,GAAYC,GACnB,MAAMnF,EAAKzQ,KAAK6V,SAASD,GACnBzB,EAAM,GA4BZ,OA1BAA,EAAI2B,MAAQrF,EAAGqF,MACU,mBAAd3B,EAAI2B,QACG,0BAAZrF,EAAG/xB,KACLy1B,EAAI2B,MAAQ,WACV,IAAI14B,EAAI,EAIR,OAHAO,OAAO6C,KAAK+rB,IAAYiD,SAASr1B,IAC3BoyB,GAAWpyB,GAAG47B,OAAS,KAAI34B,GAAK,MAE/BA,GAGT+2B,EAAI2B,MAAQ,WACV,IAAIE,EAAM,EAEV,GADI/I,GAAO,cAAa+I,EAAM,GAC1BhW,KAAKwN,OAAQ,CACf,MAAMc,EAASf,GAAU,WACV,IAAXe,EAAc0H,GAAO,IACL,IAAX1H,EAAc0H,GAAO,IACV,IAAX1H,IAAc0H,GAAO,KAEhC,OAAOA,IAIb7B,EAAI/G,KAAOqD,EAAGrD,KACd+G,EAAIz1B,KAAO+xB,EAAG/xB,KACPy1B,EAiBT,SAAS8B,KAEP3O,GAAmBtH,KAAKkW,cACxB3O,GAAavH,KAAKmW,QAClB3O,GAAuBxH,KAAKoW,kBAC5B3O,GAAmBzH,KAAKqW,cACxB3O,GAAc1H,KAAKsW,SAGnB34B,OAAO6C,KAAKwf,KAAK2N,SAAS6B,SAASr1B,IACjC,MAAMs2B,EAAKzQ,KAAK2N,QAAQxzB,GACxB,IAAIg6B,EAAM5H,GAAWpyB,QACTI,IAAR45B,IAEF5H,GAAWpyB,GAAK86B,GAAoB96B,GACpCg6B,EAAM5H,GAAWpyB,GACjBo4B,GAA2Bp4B,IAE7Bg6B,EAAIxF,OAAS8B,EAAG9B,OAChBwF,EAAI4B,MAAQtF,EAAGsF,MACf5B,EAAIoC,aAAe9F,EAAG8F,aACtBpC,EAAI1F,UAAYgC,EAAGhC,UACnB0F,EAAIzF,KAAO+B,EAAG/B,KACV+B,EAAGpC,iBACW,WAAZoC,EAAG/xB,OACLmpB,GAAU4I,EAAG/C,SAAS8I,KAAK,GAC3B1O,GAAU2I,EAAG/C,SAAS8I,KAAK,GAC3BzO,GAAU0I,EAAG/C,SAAS8I,KAAK,IAE7BrC,EAAI9F,eAAiBoC,EAAGpC,eACxB8F,EAAIzG,SAAW+C,EAAG/C,UAEpBnB,GAAWpyB,GAAKg6B,KAIlBx2B,OAAO6C,KAAKwf,KAAK6V,UAAUrG,SAASr1B,IAClC,MAAMs2B,EAAKzQ,KAAK6V,SAAS17B,GACzB,IAAIg6B,EAAM3H,GAAYryB,QACVI,IAAR45B,IACF3H,GAAYryB,GAAKw7B,GAAYx7B,GAC7Bg6B,EAAM3H,GAAYryB,IAEpBg6B,EAAI7G,OAASmD,EAAGnD,OAChBd,GAAYryB,GAAKg6B,KAInBx2B,OAAO6C,KAAKwf,KAAKkU,cAAc1E,SAASr1B,IACtC,MAAMs2B,EAAKzQ,KAAKkU,aAAa/5B,GAC7B,IAAIg6B,EAAM1H,GAAgBtyB,QACdI,IAAR45B,IACF1H,GAAgBtyB,GAAK65B,GAAgB75B,GACrCg6B,EAAM1H,GAAgBtyB,IAExBg6B,EAAIsC,IAAMhG,EAAGgG,IACbhK,GAAgBtyB,GAAKg6B,KAIvBN,KACAlM,GAAgBS,GAChBR,GAAiBS,GA8BnB,SAASqO,GAAoB3Q,GAC3B,MAAM8K,EAAMp4B,SAAS4D,cAAc,OAKnC,OAJAw0B,EAAIzuB,MAAMu0B,WAAa,OACvB9F,EAAI/C,GAAK,GAAG/H,SACZ8K,EAAIj2B,UAAYgnB,aAChBiP,EAAIrzB,YAAcuoB,EACX8K,EAmHT,SAAS+F,GAAgCC,GACvCA,EAAQ9gB,YAAY2gB,GAAoB,iBACxC,MAAMI,EAASr+B,SAAS4D,cAAc,OACtCy6B,EAAO10B,MAAM20B,aAAe,MAC5BD,EAAO10B,MAAM2F,MAAQ,QACrB+uB,EAAOhJ,GAAK,kBACZ+I,EAAQ9gB,YAAY+gB,GAEpBD,EAAQ9gB,YAAY2gB,GAAoB,4BACxCG,EAAQjE,UAAUxwB,MAAMqV,QAAU,OAClC,MAAMuf,EAAQv+B,SAAS4D,cAAc,OACrC26B,EAAM50B,MAAM20B,aAAe,MAC3BC,EAAM50B,MAAM2F,MAAQ,QACpBivB,EAAM50B,MAAMqV,QAAU,OACtBuf,EAAMlJ,GAAK,0BACX+I,EAAQ9gB,YAAYihB,GAEpBH,EAAQ9gB,YAAY2gB,GAAoB,mBACxC,MAAMjrB,EAAKhT,SAAS4D,cAAc,OAClCoP,EAAGrJ,MAAM20B,aAAe,MACxBtrB,EAAGqiB,GAAK,cACR+I,EAAQ9gB,YAAYtK,GAEpBorB,EAAQ9gB,YAAY2gB,GAAoB,cACxC,MAAMhR,EAAOjtB,SAAS4D,cAAc,OAIpC,GAHAqpB,EAAKoI,GAAK,gBACV+I,EAAQ9gB,YAAY2P,GAEA,MAAhB7B,GAAqB,CACvBgT,EAAQ9gB,YACN2gB,GAAoB,0CAEtBG,EAAQjE,UAAU9E,GAAK,4BACvB,MAAMmJ,EAAax+B,SAAS4D,cAAc,OAC1C46B,EAAWnJ,GAAK,sBAChB+I,EAAQ9gB,YAAYkhB,IA+JxB,SAASC,GACPC,EACAC,EACAC,GAEA,IAAIC,EAAQH,EACRnE,EAAQ,EACZ,KAAOsE,EAAQD,GACbC,GAAqE,KAA5D50B,KAAK6D,IAAI,MAAQ+wB,EAAQ50B,KAAK6D,IAAI6wB,EAAU,OAAS,IAC9DpE,GAAS,EAEX,OAAOA,EAAQhT,KAAKuX,IA0XtB,SAASC,KACP,IAAInD,EAAO,EAKX,OAJA12B,OAAO6C,KAAKwf,KAAKyX,OAAOjI,SAASr1B,SACM,IAA1B6lB,KAAKyX,MAAMt9B,GAAGu9B,UACvBrD,GAAQrU,KAAKyX,MAAMt9B,GAAGu9B,YAEnBrD,EAWT,SAASsD,KACiC,OAApCpsB,EAAE,gCAC0B,IAA1BsU,EAAU+X,aACZrsB,EAAE,8BAA8BnJ,MAAMsC,IAAM,OAC5C6G,EAAE,8BAA8BnJ,MAAM0vB,OAAS,WAC/CvmB,EAAE,8BAA8BnJ,MAAMwK,QAAU,YAEhDrB,EAAE,8BAA8BnJ,MAAMkI,MAAQ,OAC9CiB,EAAE,8BAA8BnJ,MAAM0vB,OAAS,MAC/CvmB,EAAE,8BAA8BnJ,MAAMwK,QAAU,YA0LtD,SAASirB,KAEP,GADA5B,KACyC,SAArC1qB,EAAE,iBAAiBnJ,MAAMqV,SAAsBlM,EAAE,iBAAkB,CACrEA,EAAE,iBAAiBoM,UAAY,GAC/B,MAAMmgB,EAx6BV,WACEvsB,EAAE,WAAWvO,WAAWoF,MAAM21B,cAAgB,MAC9C,MAAMD,EAAar/B,SAAS4D,cAAc,OAM1C,OALAy7B,EAAW11B,MAAM0U,OAAS,YAC1BghB,EAAW11B,MAAMwK,QAAU,MAC3BkrB,EAAW11B,MAAM0vB,OAAS,WAC1BgG,EAAWhK,GAAK,kBAChBgK,EAAWl9B,UAAYgnB,aAChBkW,EAg6BcE,GACnBzsB,EAAE,iBAAiBwK,YAAY+hB,GAEX,MAAhBjU,GA9uBR,WACE,GAAsC,IAAlChE,EAAUoY,qBAA8C,IAAjBjY,KAAKsP,QAAe,CAI7D,IAAI9vB,EAaJ,GAfAo3B,GADmBrrB,EAAE,oBAIA,IAAjByU,KAAKsP,QACPrM,EAA4BzjB,EAE5BA,EAASyjB,EAEU,IAAjBjD,KAAKiP,QAAezvB,EAASkqB,GACP,KAAjB1J,KAAKiP,QAAgBzvB,EAASmqB,GACb,MAAjB3J,KAAKiP,UAAiBzvB,EAASoqB,IAExCjG,GAAe3D,KAAK2N,QAAQ7J,IAAasP,UACzCxP,GAAqBpkB,EAAOskB,IAAa2O,MAEH,IAAlC5S,EAAUoY,qBAA8C,IAAjBjY,KAAKsP,QAAe,CAC7D/jB,EAAE,mBAAmB/N,YAAc6mB,GAA4BT,GAAoB,GACnF,MAAMsU,EAAWx1B,KAAKC,MACnBihB,GAAqB5D,KAAKuR,UAAa,KAEtCzM,OAAOC,SAASmT,IAA0B,IAAbA,EAC/B3sB,EAAE,mBAAmB/N,aAAe,KAAK06B,EAAW,kBAEpD3sB,EAAE,mBAAmB/N,aAAe,OAClCqiB,EAAUqF,eAAiB,IAAM,oBAGrC3Z,EAAE,mBAAmB3Q,UACnBgnB,EAAgBpiB,EAAOskB,IAAa/b,MAClC8X,EAAUqT,cACZ3nB,EAAE,eAAe/N,YAAcioB,GAAWjmB,EAAOskB,IAAarY,IAC3DF,EAAE,eAAe/N,YAAc6mB,GAA4B7kB,EAAOskB,IAAarY,GAAI,GACxFF,EAAE,eAAe3Q,UAAYgnB,EAAgBpiB,EAAOskB,IAAa/b,MACjE,MAAMorB,EAAarN,IAChBnC,IAAgB3D,KAAKqT,QAAU3B,OAAyBN,MAE3D7lB,EAAE,iBAAiB/N,YAAc21B,EAAWpN,KAEtB,UAApBoN,EAAWpN,MACX/F,KAAKqT,QAAU7zB,EAAOskB,IAAamK,MAEnC1iB,EAAE,iBAAiB/N,YAAc,GAAG21B,EAAWpN,oBAC1Cxa,EAAE,iBAAiB/N,YAAc21B,EAAWpN,KACnDxa,EAAE,iBAAiB3Q,UAAYgnB,EAAgBuR,EAAWprB,MAI5DwD,EAAE,6BAA6BnJ,MAAMqV,QAAU,OAC/ClM,EAAE,iBAAiBnJ,MAAM20B,aAAe,MAIxC,IAAK,MAAM58B,KAAKwD,OAAO6C,KAAKwf,KAAK2N,QAAQ7J,IAAaqU,mBACpD,IACGnY,KAAKoY,UACJpY,KAAK2N,QAAQ7J,IAAaqU,kBAAkBh+B,GAAGk+B,OAAO35B,MAExD,CACA,MAAM45B,EACJtY,KAAK2N,QAAQ7J,IAAaqU,kBAAkBh+B,GAC9CoR,EAAE,iBAAiBnJ,MAAM20B,aAAe,MACxCxrB,EAAE,6BAA6BnJ,MAAMqV,QAAU,GAC/ClM,EAAE,uBAAuB3Q,UAAY,kBAAkBkpB,KACvDvY,EAAE,uBAAuB/N,YAAc6mB,GACrCiU,EAAqBtC,IAAMzJ,GAAWzI,IAAayS,aACnD,IAEFhrB,EAAE,uBAAuBnJ,MAAM2F,MAAQ,QACvC,YAGCwD,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAqqBtC8gB,GACyB,MAAhB1U,GA5Tf,WAYE,GAVA+S,GADmBrrB,EAAE,oBAGrBqY,GACEsG,GAAclK,KAAKwQ,gBAAgB1M,IAAaplB,MAAM+zB,MACxD9O,GAAe3D,KAAK6V,SAClB7V,KAAKwQ,gBAAgB1M,IAAaplB,MAClC85B,WACFzU,GACEmG,GAAclK,KAAKwQ,gBAAgB1M,IAAaplB,MAAM+5B,WAElB,IAAlC5Y,EAAUoY,oBAA2B,CACvC1sB,EAAE,mBAAmB/N,YAAc6mB,GAA4BT,GAAoB,GACnF,MAAMsU,EAAWx1B,KAAKC,MAAOihB,GAAqB5D,KAAKuR,UAAa,KAG7B,MAArChmB,EAAE,mBAAmB/N,aACJ,MAAhBqmB,IAAuC,MAAhBA,IAOpBiB,OAAOC,SAASmT,IAA0B,IAAbA,EAC/B3sB,EAAE,mBAAmB/N,aAAe,KAAK06B,EAAW,kBAEpD3sB,EAAE,mBAAmB/N,aAAe,OAClCqiB,EAAUqF,eAAiB,IAAM,oBAGrC3Z,EAAE,mBAAmB3Q,UACnBgnB,EACAsI,GAAclK,KAAKwQ,gBAAgB1M,IAAaplB,MAAMqJ,MAEpDgc,KACFxY,EAAE,2BAA2B/N,YAAc6mB,GAA4BN,IACvExY,EAAE,2BAA2BnJ,MAAMqV,QAAU,QAC7ClM,EAAE,2BAA2BmtB,gBAAgBt2B,MAAMqV,QAAU,SAGpC,IAAvBmM,IAA4BG,IAC9BxY,EAAE,eAAe/N,YAAc,GAAG6mB,GAChCV,GAAeI,aAEjBxY,EAAE,eAAenJ,MAAM2F,MAAQ,UAE3B8X,EAAUqT,cACZ3nB,EAAE,eAAe/N,YAAcioB,GAC7ByE,GAAclK,KAAKwQ,gBAAgB1M,IAAaplB,MAAM+M,IAGxDF,EAAE,eAAe/N,YAAc6mB,GAC7B6F,GAAclK,KAAKwQ,gBAAgB1M,IAAaplB,MAAM+M,GACtD,GAEJF,EAAE,eAAe3Q,UACfgnB,EACAsI,GAAclK,KAAKwQ,gBAAgB1M,IAAaplB,MAAMqJ,SAvC1DwD,EAAE,qBAAqBnJ,MAAMqV,QAAU,OACvClM,EAAE,mBAAmBnJ,MAAMqV,QAAU,OACrClM,EAAE,uBAAuBnJ,MAAMqV,QAAU,OACzClM,EAAE,eAAenJ,MAAMqV,QAAU,QAuCnC,MAAM0b,EAAarN,IAChBnC,IAAgB3D,KAAKqT,QAAU3B,OAAyBN,MAY3D,GAVA7lB,EAAE,iBAAiB/N,YAAc21B,EAAWpN,KAEtB,UAApBoN,EAAWpN,MACX/F,KAAKqT,QAAUrT,KAAKwQ,gBAAgB1M,IAAa0U,WAEjDjtB,EAAE,iBAAiB/N,YAAc,GAAG21B,EAAWpN,oBAC1Cxa,EAAE,iBAAiB/N,YAAc21B,EAAWpN,KACnDxa,EAAE,iBAAiB3Q,UAAYgnB,EAAgBuR,EAAWprB,MAGX,kBAA3CiY,KAAKwQ,gBAAgB1M,IAAaplB,KAA0B,CAC9D6M,EAAE,mBAAmBqnB,UAAUxwB,MAAM20B,aAAe,MACpDxrB,EAAE,mBAAmBwK,YACnB2gB,GAAoB,yCAEtB,MAAMiC,EAAYlgC,SAAS4D,cAAc,OACzCs8B,EAAUv2B,MAAM2F,MAAQ,QACxB4wB,EAAUn7B,YAAc,GAAG6mB,GAA2C,IAAfrE,KAAKqT,cAAqBhP,GAC/EoF,MAEFle,EAAE,mBAAmBwK,YAAY4iB,SAE9BptB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAsOtCmhB,GACyB,MAAhB/U,GAzVf,WACE,GAA8B,IAA1BhE,EAAUgZ,YAAmB,CAC/B,MAAMf,EAAavsB,EAAE,mBAErBusB,EAAW/hB,YAAY2gB,GAAoB,uBAE3C,MAAMoC,EAAWrgC,SAAS4D,cAAc,OACxCy8B,EAAShL,GAAK,gBACdgK,EAAW/hB,YAAY+iB,GACvB,MAAMC,EApCK,KADQv+B,EAqCcwlB,KAAKgZ,iBAnC/B,CAAEjT,KAAM,SAAUhe,MAAOqa,GAErB,IAAT5nB,EACK,CAAEurB,KAAM,aAAche,MAAOga,GAEzB,IAATvnB,EACK,CAAEurB,KAAM,SAAUhe,MAAOia,GAErB,IAATxnB,EACK,CAAEurB,KAAM,QAAShe,MAAOka,GAEpB,IAATznB,EACK,CAAEurB,KAAM,cAAehe,MAAOoa,GAEhC,CAAE4D,KAAM,qBAAsBhe,MAAOma,GAsB1C4W,EAASt7B,YAAcu7B,EAAWhT,KAClC+S,EAASl+B,UAAYgnB,EAAgBmX,EAAWhxB,WAC3CwD,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAxC5C,IAAuBjd,EAsXjBy+B,GACyB,MAAhBpV,GA3kBf,WACE,MAAM6J,SAAEA,GAAa1N,KAAK2N,QAAQ,gBAC5BuL,EAAYxL,EAASyL,aAAazL,EAAS0L,WAAWtV,KAE5D,GAA8B,IAA1BjE,EAAUwZ,aAAqBH,GAAaxL,EAAS4L,OAAQ,CAC/D,MAAMxB,EAAavsB,EAAE,mBAGrBusB,EAAW/hB,YAAY2gB,GAAoB,cAC3C,MAAMhR,EAAOjtB,SAAS4D,cAAc,OACpCqpB,EAAKoI,GAAK,gBACVgK,EAAW/hB,YAAY2P,GACvB,MAAMyN,EAAarN,GACjBoR,GAA4BxJ,EAAS4J,MAAO5J,EAAS4L,OAAQJ,IAM/D,GAJAxT,EAAKloB,YAAc21B,EAAWpN,KAC9BL,EAAK9qB,UAAYgnB,EAAgBuR,EAAWprB,MAGxCmxB,GAAaxL,EAAS4J,MAAO,CAC/BQ,EAAW/hB,YAAY2gB,GAAoB,iBAC3C,MAAM6C,EAAU9gC,SAAS4D,cAAc,OACvCk9B,EAAQzL,GAAK,mBACbgK,EAAW/hB,YAAYwjB,GACvB,MAAMC,EAAgB1T,GACpBoR,GACEx0B,KAAK6D,IAAI,EAAGmnB,EAAS4J,MAAQ4B,GAC7BxL,EAAS4L,OACT5L,EAAS4J,QAGbiC,EAAQ/7B,YAAcg8B,EAAczT,KACpCwT,EAAQ3+B,UAAYgnB,EAAgB4X,EAAczxB,MAIpD,GAAoB,MAAhB+b,GAAqB,CACvBgU,EAAW/hB,YACT2gB,GAAoB,8BAEtB,MAAM+C,EAAUhhC,SAAS4D,cAAc,OACvCo9B,EAAQ3L,GAAK,IACbgK,EAAW/hB,YAAY0jB,GACvB,MAAMC,EAASjhC,SAAS4D,cAAc,QACtCq9B,EAAOt3B,MAAM2F,MAAQ,UACrB2xB,EAAOl8B,YAAc6mB,GACnB3hB,KAAK2D,IACqC,KAAvC2Z,KAAKqT,QAAU3B,MACa,GAA7BxI,GAAkC,IAEpC,GAEFuQ,EAAQ1jB,YAAY2jB,GACpB,MAAMC,EAAYlhC,SAAS4D,cAAc,QACzCs9B,EAAUn8B,YAAc,MACxBi8B,EAAQ1jB,YAAY4jB,GACpB,MAAMC,EAAOnhC,SAAS4D,cAAc,QACpCu9B,EAAKx3B,MAAM2F,MAAQ,MACnB6xB,EAAKp8B,YAAc6mB,GAAyD,GAA7B6E,GAAkC,GAAI,GACrFuQ,EAAQ1jB,YAAY6jB,GAGtBruB,EAAE,iBAAiBwK,YAAY+hB,QAC1BvsB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OA6gBtCoiB,GACyB,MAAhBhW,GA/pBf,WACE,MAAM6J,SAAEA,GAAa1N,KAAK2N,QAAQmM,KAClC,GACEja,EAAUka,cAC2C,IAArDrM,EAASsM,KAAKlW,GAAY,IAAIA,GAAY,IAAI,GAC9C,CACA,MAAMmW,EACJvM,EAASsM,KAAKlW,GAAY,IAAIA,GAAY,IAAI,GAC9C4J,EAASwM,WAAWxM,EAASsM,KAAKlW,GAAY,IAAIA,GAAY,IAAI,GAAK,GACpEmW,OACCE,EACJzM,EAASwM,WAAWxM,EAASsM,KAAKlW,GAAY,IAAIA,GAAY,IAAI,GAAK,GACpEplB,KACL6M,EAAE,mBAAmBwK,YACnB2gB,GAAoB,+BAEtB,MAAMgD,EAASjhC,SAAS4D,cAAc,OACtCq9B,EAAO5L,GAAK,uBACZviB,EAAE,mBAAmBwK,YAAY2jB,GACf,cAAdS,EACF5uB,EAAE,wBAAwB/N,YAAc,GACtCy8B,EACI5V,GAA4B3hB,KAAK2D,IAAmB,IAAf2Z,KAAKqT,QAAiC,GAAjBrT,KAAKuR,UAAiB,KAChF,SACAlN,GAA6C,GAAjBrE,KAAKuR,UAAiB,MACjC,cAAd4I,GAA2C,oBAAdA,EACtC5uB,EAAE,wBAAwB/N,YAAc,GACtCy8B,EACI5V,GAA4B3hB,KAAK2D,IAAmB,IAAf2Z,KAAKqT,QAAiC,GAAjBrT,KAAKuR,UAAiB,IAChF,SACAlN,GAA6C,GAAjBrE,KAAKuR,UAAiB,KACjC,cAAd4I,EACT5uB,EAAE,wBAAwB/N,YAAc,GACtCy8B,EACI5V,GAA4B3hB,KAAK2D,IAAmB,IAAf2Z,KAAKqT,QAAiC,GAAjBrT,KAAKuR,UAAiB,KAChF,SACAlN,GAA6C,GAAjBrE,KAAKuR,UAAiB,MACjC,cAAd4I,EACT5uB,EAAE,wBAAwB/N,YAAc,GACtCy8B,EACI5V,GAA4B3hB,KAAK2D,IAAmB,IAAf2Z,KAAKqT,QAAiC,GAAjBrT,KAAKuR,UAAiB,MAChF,SACAlN,GAA6C,GAAjBrE,KAAKuR,UAAiB,OACnDhmB,EAAE,iBAAiBnJ,MAAMqV,QAAU,YACrClM,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAonBtC2iB,GACyB,OAAhBvW,GAngBf,WACE,MAAM6J,SAAEA,GAAa1N,KAAK2N,QAAQmM,KAClC,GAAIja,EAAUgZ,YAAa,CACzBttB,EAAE,mBAAmBwK,YACnB2gB,GAAoB,oCAEtB,IAAI2D,EAAY,EACZC,EAAS,EACTta,KAAKxf,KAAK,KAAOwf,KAAKxf,KAAK,MAAK85B,EAAS,GAC7C,IAAK,IAAIh2B,EAAI,EAAGA,EAAI,EAAGA,IACrB,IAAK,IAAID,EAAI,EAAGA,EAAI,EAAGA,IACrB,GAAIqpB,EAASsM,KAAK11B,GAAGD,GAAG,IAAM,EAAG,CAC/B,MAAMk2B,EAAO7M,EAASsM,KAAK11B,GAAGD,GACxBosB,EAAK/C,EAASwM,WAAWK,EAAK,GAAK,GACnCJ,EAAY1J,EAAG/xB,KAErB,IAAIs0B,GAAQ,EACRsH,GAAU7J,EAAG+J,WAAUxH,GAAQ,GAC/BuH,EAAK,GAAK9J,EAAGgK,aAAYzH,GAAQ,GACjCA,GAAuB,cAAdmH,EACXE,GAAa33B,KAAK2D,IACD,IAAf2Z,KAAKqT,QACY,GAAjBrT,KAAKuR,UAAiB,IAGvByB,GAAuB,cAAdmH,GACI,oBAAdA,EAEAE,GAAa33B,KAAK2D,IAAmB,IAAf2Z,KAAKqT,QAAiC,GAAjBrT,KAAKuR,UAAiB,GACxDyB,GAAuB,cAAdmH,EAClBE,GAAa33B,KAAK2D,IACD,IAAf2Z,KAAKqT,QACY,GAAjBrT,KAAKuR,UAAiB,IAEfyB,GAAuB,cAAdmH,IAClBE,GAAa33B,KAAK2D,IACD,IAAf2Z,KAAKqT,QACY,GAAjBrT,KAAKuR,UAAiB,MAMhChmB,EAAE,mBAAmBwK,YACnBtd,SAASqgB,eAAeuL,GAA4BgW,UAEjD9uB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAsdtCijB,GACyB,OAAhB7W,GAnDf,WACEtY,EAAE,WAAWoM,UAAY,GACzBpM,EAAE,WAAWwK,YAAY2gB,GAAoB,YAE7C,MAAMiE,EAAiBliC,SAAS4D,cAAc,OAC9Cs+B,EAAe7M,GAAK,mBACA,WAAhBhK,GACF6W,EAAen9B,YAAc6mB,GAA4BwF,IAChC,eAAhB/F,KACT6W,EAAen9B,YAAc6mB,GAA4B0F,GAAsB,KAGjFxe,EAAE,WAAWwK,YAAY4kB,GAwCrBC,IAEgB,QAAhB/W,IACiB,QAAhBA,KAA6C,IAApBC,GAAY,KA5c5C,WACE,GAAkC,IAA9BjE,EAAUgb,gBAAuB,CACnC,MAAM/C,EAAavsB,EAAE,mBACrB,IAAIuvB,EACuBA,EAAP,QAAhBjX,GAA+BC,GAAY,GAClCA,GAGbgU,EAAW/hB,YAAY2gB,GAAoB,0BAC3C,MAAMqE,EAAOtiC,SAAS4D,cAAc,OAEpC,GADA0+B,EAAKjN,GAAK,6BACkB,IAAxBlC,GAAUkP,GAAO,GAAU,CAC7BC,EAAKv9B,YAAc6mB,GAA4BuH,GAAUkP,GAAO,IAChE,MAAM5C,EAAWx1B,KAAKC,MACnBipB,GAAUkP,GAAO,GAAK9a,KAAKuR,UAAa,KAEvCzM,OAAOC,SAASmT,IAA0B,IAAbA,EAC/B6C,EAAKv9B,aAAe,KAAK06B,EAAW,kBAEpC6C,EAAKv9B,aAAe,OAClBqiB,EAAUqF,eAAiB,IAAM,yBAGhC6V,EAAKv9B,YAAc,mBAC1Bs6B,EAAW/hB,YAAYglB,GAEvBjD,EAAW/hB,YAAY2gB,GAAoB,0BAC3C,MAAMsE,EAAOviC,SAAS4D,cAAc,OAEpC,GADA2+B,EAAKlN,GAAK,6BACkB,IAAxBlC,GAAUkP,GAAO,GAAU,CAC7BE,EAAKx9B,YAAc6mB,GAA4BuH,GAAUkP,GAAO,IAChE,MAAM5C,EAAWx1B,KAAKC,MACnBipB,GAAUkP,GAAO,GAAK9a,KAAKuR,UAAa,KAEvCzM,OAAOC,SAASmT,IAA0B,IAAbA,EAC/B8C,EAAKx9B,aAAe,KAAK06B,EAAW,kBAEpC8C,EAAKx9B,aAAe,OAClBqiB,EAAUqF,eAAiB,IAAM,yBAGhC8V,EAAKx9B,YAAc,mBAC1Bs6B,EAAW/hB,YAAYilB,GAEvBlD,EAAW/hB,YAAY2gB,GAAoB,0BAC3C,MAAMuE,EAAOxiC,SAAS4D,cAAc,OAEpC,GADA4+B,EAAKnN,GAAK,6BACkB,IAAxBlC,GAAUkP,GAAO,GAAU,CAC7BG,EAAKz9B,YAAc6mB,GAA4BuH,GAAUkP,GAAO,IAChE,MAAM5C,EAAWx1B,KAAKC,MACnBipB,GAAUkP,GAAO,GAAK9a,KAAKuR,UAAa,KAEvCzM,OAAOC,SAASmT,IAA0B,IAAbA,EAC/B+C,EAAKz9B,aAAe,KAAK06B,EAAW,kBAEpC+C,EAAKz9B,aAAe,OAClBqiB,EAAUqF,eAAiB,IAAM,yBAGhC+V,EAAKz9B,YAAc,mBAC1Bs6B,EAAW/hB,YAAYklB,GAEvB1vB,EAAE,iBAAiBwK,YAAY+hB,QAC1BvsB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OA+YtCyjB,GA/LN,WACE,GAAoB,MAAhBrX,IAAuC,MAAhBA,GAAqB,CACgB,OAA1DprB,SAAS0iC,eAAe,gCAC1B5vB,EAAE,iBAAiBwK,YAnuBzB,WACE,MAAMqlB,EAAc3iC,SAAS4D,cAAc,OAC3C++B,EAAYh5B,MAAMgI,SAAW,WAC7BgxB,EAAYh5B,MAAMqV,QAAU,QAC5B2jB,EAAYh5B,MAAMqC,KAAO,OACzB22B,EAAYh5B,MAAMkW,OAAS,OAC3B8iB,EAAYtN,GAAK,6BAEjB,MAAMuN,EAAS,SACbC,EACAvzB,EACAwzB,EACAC,EACAC,GAEA,MAAMvnB,EAAMzb,SAAS4D,cAAc,OACnC6X,EAAI4Z,GAAKwN,EACTpnB,EAAI9R,MAAMqV,QAAU,OACpBvD,EAAI9R,MAAMs5B,WAAa,wBACvBxnB,EAAItZ,UAnuDgB,WAmuDcmN,EAClCmM,EAAI9R,MAAMwK,QAAU,MACpBsH,EAAI9R,MAAMqB,WAAa,8BACvB,MAAMk4B,EAAWljC,SAAS4D,cAAc,OACxC6X,EAAI6B,YAAY4lB,GAChB,MAAMC,EAAYnjC,SAAS4D,cAAc,QACzCu/B,EAAUhhC,UAAYgnB,EAAgB7Z,EACtC6zB,EAAUx5B,MAAMu0B,WAAa,OAC7BiF,EAAUp+B,YAAc+9B,EACxBI,EAAS5lB,YAAY6lB,GACrBD,EAAS5lB,YAAYtd,SAASqgB,eAAe0iB,IAC7C,MAAMK,EAAapjC,SAAS4D,cAAc,OAC1C6X,EAAI6B,YAAY8lB,GAChB,MAAMC,EAAcrjC,SAAS4D,cAAc,QAI3C,OAHAy/B,EAAYhO,GAAK2N,EACjBI,EAAW9lB,YAAYtd,SAASqgB,eAAe,cAC/C+iB,EAAW9lB,YAAY+lB,GAChB5nB,GA+DT,OA5DAknB,EAAYrlB,YACVslB,EACE,yBACAnZ,EACA,YACA,uFACA,+BAGJkZ,EAAYp+B,WAAWoF,MAAM20B,aAAe,MAC5CqE,EAAYrlB,YACVslB,EACE,+BACArZ,EACA,YACA,gGACA,qCAGJoZ,EAAYxI,UAAUxwB,MAAM20B,aAAe,MAC3CqE,EAAYrlB,YACVslB,EACE,2BACAlZ,EACA,YACA,oGACA,iCAGJiZ,EAAYxI,UAAUxwB,MAAM20B,aAAe,MAC3CqE,EAAYrlB,YACVslB,EACE,iCACAlZ,EACA,YACA,6GACA,uCAGJiZ,EAAYxI,UAAUxwB,MAAM20B,aAAe,MAC3CqE,EAAYrlB,YACVslB,EACE,2BACAlZ,EACA,YACA,qJACA,iCAGJiZ,EAAYxI,UAAUxwB,MAAM20B,aAAe,MAC3CqE,EAAYrlB,YACVslB,EACE,wBACAnZ,EACA,YACA,2EAA2ErC,EAAUkc,8BACrF,8BAIGX,EAgoB4BY,IAC/BrE,MAG4B,IAA1B9X,EAAU+X,YACZrsB,EAAE,8BAA8BnJ,MAAMkI,MAAQ,MAE9CiB,EAAE,8BAA8BnJ,MAAMsC,IAAM,GAC1C6G,EAAE,WAAWxG,iBAGjBwG,EAAE,8BAA8BnJ,MAAMkG,MACpCiD,EAAE,WAAWzG,YAAc,EADiB,KAI9C,MAAM6pB,EAAS3O,KAAKqT,QAAU3B,KAAuB/N,GAC/CsY,EAAkBpc,EAAUqc,YAActY,GAAqB,EACrE,IAAIuY,EAAa3T,GACjB,GAA8B,IAA1B3I,EAAUqc,YAAmB,CAC/B,IAAIE,EAAcxY,GAClBwY,GAAe5E,KACf2E,GAA6B,GAAdC,EAAmB,GAAM,IAc1C,GAXgC,IAA5Bvc,EAAUwc,eACR1N,EAASwN,IAA+B,MAAhBtY,IAAwC,IAAjB7D,KAAKsP,UACtD/jB,EAAE,0BAA0BnJ,MAAMqV,QAAU,GAC5ClM,EAAE,8BAA8B/N,YAAc,GAAG6mB,GAC/C8X,EAAaxN,OACTlJ,IACH0W,EAAaxN,IAAWyC,KAAW6K,QAGnC1wB,EAAE,0BAA0BnJ,MAAMqV,QAAU,OAEb,IAAlCoI,EAAUyc,oBAA2B,CACvC,MAAMC,EAAgC,EAAbJ,EAEvBxN,EAAS4N,IACQ,MAAhB1Y,IAAwC,IAAjB7D,KAAKsP,UAE7B/jB,EAAE,gCAAgCnJ,MAAMqV,QAAU,GAClDlM,EAAE,oCAAoC/N,YAAc,GAAG6mB,GACrDkY,EAAmB5N,OACflJ,IACH8W,EAAmB5N,IAAWyC,KAAW6K,QAEvC1wB,EAAE,gCAAgCnJ,MAAMqV,QAAU,YACpDlM,EAAE,gCAAgCnJ,MAAMqV,QAAU,OAEzD,GAAkC,IAA9BoI,EAAU2c,gBAAuB,CACnC,MAAMC,EAA4B,EAAbN,EAEnBxN,EAAS8N,IACQ,MAAhB5Y,IAAwC,IAAjB7D,KAAKsP,UAE7B/jB,EAAE,4BAA4BnJ,MAAMqV,QAAU,GAC9ClM,EAAE,gCAAgC/N,YAAc,GAAG6mB,GACjDoY,EAAe9N,OACXlJ,IACHgX,EAAe9N,IAAWyC,KAAW6K,QAEnC1wB,EAAE,4BAA4BnJ,MAAMqV,QAAU,YAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,OAErD,GAAwC,IAApCoI,EAAU6c,sBAA6B,CACzC,MAAMC,EAAkC,EAAbR,EAAiB,EAE1CxN,EAASgO,IACQ,MAAhB9Y,IAAwC,IAAjB7D,KAAKsP,UAE7B/jB,EAAE,kCAAkCnJ,MAAMqV,QAAU,GACpDlM,EAAE,sCAAsC/N,YAAc,GAAG6mB,GACvDsY,EAAqBhO,OACjBlJ,IACHkX,EAAqBhO,IAAWyC,KAAW6K,QAEzC1wB,EAAE,kCAAkCnJ,MAAMqV,QAAU,YACtDlM,EAAE,kCAAkCnJ,MAAMqV,QAAU,OAG3B,IAA9BoI,EAAU+c,iBACV5c,KAAK2N,QAAQ,gBAAgBU,gBAG3BrF,IACA2F,EAAS3F,KACQ,MAAhBnF,IAAwC,IAAjB7D,KAAKsP,UAE7B/jB,EAAE,4BAA4BnJ,MAAMqV,QAAU,GAC9ClM,EAAE,gCAAgC/N,YAAc,GAAG6mB,GACjD2E,GAAe2F,OACXlJ,IACHuD,GAAe2F,IAAWyC,KAAW6K,QAGrC1wB,EAAE,4BAA4BnJ,MAAMqV,QAAU,OAEjDoI,EAAUkc,aAAe,GAEzBpN,EAAS9O,EAAUkc,aAAe3K,OACjB,MAAhBvN,IAAwC,IAAjB7D,KAAKsP,UAE7B/jB,EAAE,yBAAyBnJ,MAAMqV,QAAU,GAE3ClM,EACE,yBACAsxB,SAAS,GAAGr/B,YAAc,2EAA2EqiB,EAAUkc,8BACjHxwB,EAAE,6BAA6B/N,YAAc,GAAG6mB,GAC9CxE,EAAUkc,aAAe3K,KAAWzC,OAChClJ,IACH5F,EAAUkc,aAAe3K,KAAWzC,IAClCyC,KAAW6K,QAGb1wB,EAAE,yBAAyBnJ,MAAMqV,QAAU,YACL,OAApClM,EAAE,+BACXA,EAAE,8BAA8B9J,SAyEhCq7B,QACgC,OAAvBvxB,EAAE,kBAE6B,OAApCA,EAAE,+BACJA,EAAE,8BAA8B9J,SA0FtC,SAASs7B,KAEP,GACE/c,KAAKgd,MAAMC,UACXjd,KAAKkd,MAAQ,IAAO,GACJ,UAAhBld,KAAKmd,QACLtd,EAAUud,MACV,CACA,MAAM/K,EAAQ55B,SAAS0iC,eAAe,wBAClC9I,IACFA,EAAMgL,UAAYrd,KAAKsd,QACV,GAAXtd,KAAKuX,IAAYvX,KAAKud,GAAgB,GAAXvd,KAAKuX,KAChC,IA6BN,GAvBAlI,KACAU,KA3hDF,WACE,GAA2B,IAAvBlQ,EAAU6T,SAAgB,CAE5B,MAAM8J,EAAiBjyB,EAAE,cAAczG,YAAc,IAE/C24B,EAAiBlyB,EAAE,cAAczG,YAAc,IACrD,IAAI44B,EAAiB,EAIkB,IAArC1d,KAAK2d,aAAaC,OAAOC,SACxB7d,KAAK8d,IAAI,uBA+CLvyB,EAAE,gBAAgBnJ,MAAMqV,QAAU,QA7CvClM,EAAE,gBAAgBnJ,MAAMqV,QAAU,GAClClM,EAAE,sBAAsBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MAC3CD,KAAK6D,IACJ,EACAyZ,KAAK2d,aAAaC,OAAOG,QAAU/d,KAAK2d,aAAaC,OAAOlY,MAE5D8X,EACAxd,KAAK2d,aAAaC,OAAOI,aAEzBne,EAAUoe,iBAAmB,EAC/B1yB,EAAE,sBAAsB/N,YAAckF,KAAKoL,MACxCkS,KAAK2d,aAAaC,OAAOG,QAAU/d,KAAK2d,aAAaC,OAAOlY,MAC3D1F,KAAKuX,KAENhsB,EAAE,sBAAsB/N,YAAc,GAEzCwiB,KAAK2d,aAAaC,OAAOG,UAAY/d,KAAK2d,aAAaC,OAAOI,SAE9DzyB,EAAE,sBAAsBnJ,MAAM+vB,qBAAuB,OACrD5mB,EAAE,sBAAsBnJ,MAAMgwB,wBAA0B,SAExD7mB,EAAE,sBAAsBnJ,MAAM+vB,qBAAuB,GACrD5mB,EAAE,sBAAsBnJ,MAAMgwB,wBAA0B,IAE1D7mB,EAAE,mBAAmBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MACxCD,KAAK2D,IACJ2Z,KAAK2d,aAAaC,OAAOI,QAAUhe,KAAK2d,aAAaC,OAAOG,QAC5D/d,KAAK2d,aAAaC,OAAOI,QAAUhe,KAAK2d,aAAaC,OAAOlY,MAE5D8X,EACAxd,KAAK2d,aAAaC,OAAOI,aAEzBne,EAAUoe,iBAAmB,EAC/B1yB,EAAE,mBAAmB/N,YAAckF,KAAKoL,KACtCpL,KAAK2D,IACH2Z,KAAK2d,aAAaC,OAAOI,QAAUhe,KAAK2d,aAAaC,OAAOG,QAC5D/d,KAAK2d,aAAaC,OAAOI,QAAUhe,KAAK2d,aAAaC,OAAOlY,MAC1D1F,KAAKuX,KAERhsB,EAAE,mBAAmB/N,YAAc,GACxC+N,EAAE,oBAAoB/N,YAAckF,KAAKoL,MACtCkS,KAAK2d,aAAaC,OAAOI,QAAUhe,KAAK2d,aAAaC,OAAOlY,MAC3D1F,KAAKuX,KAETmG,GAAkB,GAKF,cAAhB1d,KAAKke,QACkC,IAAvCle,KAAK2d,aAAaQ,SAASN,SAE3BtyB,EAAE,iBAAiBnJ,MAAMqV,QAAU,GACnClM,EAAE,uBAAuBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MAC5CD,KAAK6D,IACJ,EACAyZ,KAAK2d,aAAaQ,SAASJ,QAAU/d,KAAK2d,aAAaQ,SAASzY,MAEhE8X,EACAxd,KAAK2d,aAAaQ,SAASH,aAE3Bne,EAAUoe,iBAAmB,EAC/B1yB,EAAE,uBAAuB/N,YAAckF,KAAKoL,MACzCkS,KAAK2d,aAAaQ,SAASJ,QAC1B/d,KAAK2d,aAAaQ,SAASzY,MAC3B1F,KAAKuX,KAENhsB,EAAE,uBAAuB/N,YAAc,GAC5C+N,EAAE,oBAAoBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MACzCD,KAAK2D,IACJ2Z,KAAK2d,aAAaQ,SAASH,QACzBhe,KAAK2d,aAAaQ,SAASJ,QAC7B/d,KAAK2d,aAAaQ,SAASH,QAAUhe,KAAK2d,aAAaQ,SAASzY,MAEhE8X,EACAxd,KAAK2d,aAAaQ,SAASH,aAE3Bne,EAAUoe,iBAAmB,EAC/B1yB,EAAE,oBAAoB/N,YAAckF,KAAKoL,KACvCpL,KAAK2D,IACH2Z,KAAK2d,aAAaQ,SAASH,QACzBhe,KAAK2d,aAAaQ,SAASJ,QAC7B/d,KAAK2d,aAAaQ,SAASH,QACzBhe,KAAK2d,aAAaQ,SAASzY,MAC3B1F,KAAKuX,KAERhsB,EAAE,oBAAoB/N,YAAc,GACzC+N,EAAE,qBAAqB/N,YAAckF,KAAKoL,MACvCkS,KAAK2d,aAAaQ,SAASH,QAAUhe,KAAK2d,aAAaQ,SAASzY,MAC/D1F,KAAKuX,KAETmG,GAAkB,GAElBnyB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAIrC,MAAM2mB,EAAgB,GACtB7yB,EAAE,wBAAwBoM,UAAY,GACtCha,OAAO6C,KAAKwf,KAAKyX,OAAOjI,SAASr1B,IAC/B,GAAI6lB,KAAKyX,MAAMt9B,GAAI,CACjB,MAAMk4B,EAAQV,GAAY3R,KAAKyX,MAAMt9B,GAAGuE,KAAMshB,KAAKyX,MAAMt9B,GAAGuE,KAAM,CAChE,CAAEovB,GAAI,GAAG9N,KAAKyX,MAAMt9B,GAAGuE,aAEzB2zB,EAAMjwB,MAAMqV,QAAU,GACtB,IAAI4mB,EAAc,GAGhBA,OAD6C,IAApCjb,GAAYpD,KAAKyX,MAAMt9B,GAAGuE,MACrB0kB,GAAYpD,KAAKyX,MAAMt9B,GAAGuE,MACrByjB,EACrBkQ,EAAMO,UAAUiK,SAAS,GAAGjiC,UAAYinB,EAAgBwc,EACxDhM,EAAMO,UAAUiK,SAAS,GAAGz6B,MAAM2F,MAAQ,QACR,IAA9B8X,EAAUoe,gBACZ5L,EAAMO,UAAUiK,SAAS,GAAGr/B,YAAc,GAAGkF,KAAKC,MACzCqd,KAAKyX,MAAMt9B,GAAGurB,KAAO1F,KAAKyX,MAAMt9B,GAAG6jC,QAA1C,QAEC3L,EAAMO,UAAUiK,SAAS,GAAGr/B,YAAc,GAC/C60B,EAAMO,UAAUiK,SAAS,GAAGz6B,MAAMkG,MAAQ,GAAG5F,KAAKC,MAC/Cqd,KAAKyX,MAAMt9B,GAAGurB,MACZ+X,EAC8D,EAA7D/6B,KAAKoL,KAAKkS,KAAKyX,MAAMt9B,GAAGurB,KAAO1F,KAAKuX,KAAK30B,WAAWxI,QACtD4lB,KAAKyX,MAAMt9B,GAAG6jC,aAElB3L,EAAMO,UAAUiK,SAAS,GAAGr/B,YAAckF,KAAKoL,KAC7CkS,KAAKyX,MAAMt9B,GAAGurB,KAAO1F,KAAKuX,KAE5BmG,GAAkB,EAClBU,EAAcpe,KAAKyX,MAAMt9B,GAAGuE,MAAQ2zB,MAGxC10B,OAAO6C,KAAK49B,GAAe5O,SAASr1B,IAClCoR,EAAE,wBAAwBwK,YAAYqoB,EAAcjkC,OAG/B,IAAnBujC,IACFnyB,EAAE,cAAcnJ,MAAMmG,OAA6B,GAAjBm1B,EAAsB,EAAzB,MAE7BzZ,KAAuByZ,IACzBzZ,GAAqByZ,EACrBjK,OAs4CJ6K,GAGAxL,KAGA+E,KAtGF,WACE,GAA+B,IAA3BhY,EAAU0e,cAA8C,IAAxB3b,EAA2B,CAE7D,IAAI4b,GAAiB,EACrB7gC,OAAO6C,KAAKwf,KAAKyR,WAAWjC,SAASr1B,IACnC,MAAMs2B,EAAKzQ,KAAKyR,UAAUt3B,GAC1B,GAAIs2B,EAAGgO,MAAQ,GAAKhO,EAAGiO,UAErB,GADAF,GAAiB,EAEkB,IAAjC1b,EAA0B3oB,SACOI,IAAjCuoB,EAA0B3oB,GAC1B,CACA,MAAMwkC,EAAclmC,SAAS4D,cAAc,OACrCuiC,EAAWnmC,SAAS4D,cAAc,OACxCuiC,EAASx8B,MAAMy8B,SAAW,QAC1BD,EAASx8B,MAAM20B,aAAe,MAC9B,MAAMlG,EAAMp4B,SAAS4D,cAAc,OACnCw0B,EAAIzuB,MAAMuW,UAAY,SACtBkY,EAAI/C,GAAK,oBACT8Q,EAAS7oB,YAAY8a,GACrB8N,EAAY5oB,YAAY6oB,GACxB5e,KAAK6W,QAAQllB,KAAK9Y,KAAMimC,OAAOH,EAAYhnB,YAC3CkL,EAAkB1oB,EAClB2oB,EAA0B3oB,GAAK,QAGjC2oB,EAA0B3oB,GAAK,KAG9BqkC,GACHxe,KAAK6W,QAAQ1lB,QA2EjB4tB,GAjEF,WACE,GAA+B,IAA3Blf,EAAU0e,cAAiD,OAA3BhzB,EAAE,qBAA+B,CACnE,IAAIyzB,OAAEA,GAAWhf,KAAKyR,UAAU5O,GAC5Boc,EAAS,IAKb,GAJIjf,KAAK8d,IAAI,6BAA4BmB,GAAU,MACN,IAAzCjf,KAAKyR,UAAU5O,GAAiBroB,OAAYykC,GAAU,GAC1DD,GAAUC,EACNjf,KAAK8d,IAAI,mBAAkBkB,GAAU,MACrCzS,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAAStO,KAAKwN,OAAO,SACZ,IAAXc,EAAc0Q,GAAU,KACR,IAAX1Q,EAAc0Q,GAAU,IACb,IAAX1Q,IAAc0Q,GAAU,MAEnCzzB,EAAE,qBAAqB/N,YAAc6mB,GAA4B2a,IAoDnEE,GAl4CErf,EAAUsf,SACM,UAAhBnf,KAAKmd,SACJnd,KAAKkd,MAAQ,IAAiB,EAAXld,KAAKuX,MAAa,IACrCvX,KAAKkd,MAAQ,GAAKld,KAAKuX,KAAQ,GAEhCvX,KAAKof,aAm4CPtf,IAGID,EAAU+E,MAAO,CACnB,IAAIrpB,EAAMgQ,EAAE,WAAWoM,UAAU5W,QAC/B,cACAsjB,GAA4BrE,KAAKqT,UAE/BrT,KAAKgd,MAAMqC,YAAW9jC,EAAM,2BAA2BA,YAC3DgQ,EAAE,WAAWoM,UAAYpc,GAO7B,SAAS+jC,KAEPtZ,GAA8BuZ,UAAUvf,KAAKwf,kBAgB/C,MAAMC,GACJC,YAAYC,GACV9mC,KAAK8mC,UAAYA,EACjB9mC,KAAK+mC,MAAQ,GAGfF,UAAUG,GACJhnC,KAAK+mC,MAAM3jC,KAAK4jC,GAAYhnC,KAAK8mC,WACnC9mC,KAAK+mC,MAAM9gB,QASf4gB,YAAYI,GACV,IAAIpa,EAAOoa,EACPpa,EAAO7sB,KAAK8mC,YAAWja,EAAO7sB,KAAK8mC,WACnCja,EAAO7sB,KAAK+mC,MAAMxlC,SAAQsrB,EAAO7sB,KAAK+mC,MAAMxlC,QAChD,IAAI0M,EAAM,EACV,IACE,IAAI3M,EAAItB,KAAK+mC,MAAMxlC,OAAS,EAC5BD,GAAK,GAAKA,EAAItB,KAAK+mC,MAAMxlC,OAAS,EAAIsrB,EACtCvrB,IAEA2M,GAAOjO,KAAK+mC,MAAMzlC,GAEpB,OAAY,IAAR2M,EACK,EAEFA,EAAM4e,EAGfga,QAAQI,GACN,IAAIpa,EAAOoa,EAGX,OAFIpa,EAAO7sB,KAAK8mC,YAAWja,EAAO7sB,KAAK8mC,WACnCja,EAAO7sB,KAAK+mC,MAAMxlC,SAAQsrB,EAAO7sB,KAAK+mC,MAAMxlC,QACnC,IAATsrB,EAAmB,EAChB7sB,KAAK+mC,MAAM1hB,OAAOwH,GAAMqa,QAAO,CAAC/8B,EAAGP,IAAMO,EAAIP,GAAG,IA+B3D,SAASu9B,KACP,MAAMC,EAAWv9B,KAAKkE,MAAMs5B,KAAKC,MAAQ,KAEzC,GAAKngB,KAAKud,EAAIvd,KAAKuX,IAAO,GAAM,EAAG,CACjC,IAAI6I,EAAcpgB,KAAKqT,QAAU1H,GAC7B3L,KAAKwR,UAAY,IAAG4O,GAAevW,IACvCsB,GAAyBzoB,KAAK6D,IAAIyZ,KAAKqgB,cAAeD,GACtDA,GAAe,IAGf,MAAME,EAAWL,EAAW1Z,GACtBga,EAAc79B,KAAK6D,IAAI,EAAGyZ,KAAKqT,QAAU7M,IAAoB8Z,EAC7DE,EACJ99B,KAAK6D,IAAI,EAAGsjB,GAAsBpD,IAAyB6Z,EACvDG,EACJ/9B,KAAK6D,IAAI,EAAGwjB,GAAsB,GAAKrD,IACvC4Z,EACII,EAAgBh+B,KAAK6D,IAAI,EAAG65B,EAAc3W,IAAmB6W,EAC7DK,GAAiB3gB,KAAK4gB,aAAeja,IAAmB2Z,EAC9D,IAAK,IAAInmC,EAAI,EAAGA,EAAImmC,EAAUnmC,IAC5B8rB,GAAYsZ,UAAUgB,GACtBra,GAAUqZ,UAAUiB,GACpBra,GAAiBoZ,UAAUkB,GAC3Bra,GAAWmZ,UAAUmB,GACrBra,GAAWkZ,UAAUoB,GAIvBpa,GAAoB0Z,EACpBzZ,GAAmBxG,KAAKqT,QACxB5M,GAAwBoD,GACxBnD,GAA+BqD,GAAsB,GACrDN,GAAkB2W,EAClBzZ,GAAkB3G,KAAK4gB,aAGvB,MAAMC,EAAY3d,EAAYrD,EAAUihB,YACxCla,GAAuBX,GAAY8a,YAAYF,GAC/Cha,GAAwBX,GAAU6a,YAAYF,GAC9C/Z,GAA+BX,GAAiB4a,YAAYF,GAC5D9Z,GAAyBX,GAAW2a,YAAYF,GAChD7Z,GAAkBJ,GACU,IAAxB/G,EAAUyR,YAAiBtK,IAAmBH,IACtB,IAAxBhH,EAAUyR,YACZtK,IAAmBF,IAErB,MAAMka,EACJhhB,KAAKihB,YAAY,mBAAqBjhB,KAAK8d,IAAI,iBAG/C1S,GADE4V,GAAkC,IAAxBnhB,EAAUyR,UAEpB1K,GACAC,IACCma,EAASja,GAAyB,GACRC,GAE/BmD,GAAqB9D,GAAW0a,YAC9B5d,EAAWtD,EAAUqhB,iBAkB3B,SAASC,GAAW1Q,EAAIxC,GACtB,IAAIlmB,EAAQ,GAmBZ,OAjBsCA,EAAlC0oB,EAAGhlB,IAAM,GAAKglB,EAAGhlB,KAAOkZ,IAAkBvC,EACrCqO,EAAGhlB,GAAK+f,GAAoB1J,EAC5B2O,EAAGhlB,KAAO+f,GAAoBzJ,EAC9B0O,EAAGhlB,GAAKggB,GAAa,IAAI,GAAYzJ,EACrCyO,EAAGhlB,GAAKggB,GAAa,IAAI,GAAYxJ,EACrCwO,EAAGhlB,GAAKggB,GAAa,IAAI,GAAYvJ,EACjCC,EAGiC,IAA1C2C,OAAOjF,EAAUuhB,sBACfnT,EAAQmD,KAAWtM,OAAOjF,EAAUuhB,uBACtCr5B,EAAQ+Z,GAGRjC,EAAUwhB,uBACRpT,EAAQjO,KAAKqT,QAAU,IAAGtrB,EAAQma,GAEjCna,EAiBT,SAASu5B,GAAY9hC,EAAQmvB,GAC3BhxB,OAAO6C,KAAKhB,GAAQgwB,SAASr1B,IAC3B,GAAI0lB,EAAU0hB,eAA4B,IAAX5S,EAC7BnvB,EAAOrF,GAAG4N,MAAQqa,MADpB,CAIA5iB,EAAOrF,GAAG4N,MAAQo5B,GAChB3hC,EAAOrF,GACP6lB,KAAK2N,QAAQxzB,GAAGqnC,YAAY7S,IAG9B,IAAK,IAAIgC,EAAI,EAAGA,EAAI9Q,EAAU4hB,aAAc9Q,IACtCnxB,EAAOrF,GAAGsR,KAAOggB,GAAakF,GAAG,KAAInxB,EAAOrF,GAAG4N,MAAQqa,OAKjE,SAASsf,GAAQliC,EAAQmvB,GACvBhxB,OAAO6C,KAAKhB,GAAQgwB,SAASr1B,IAC3B,MAAM8zB,EAAQjO,KAAK2N,QAAQxzB,GAAGqnC,YAAY7S,GACtC3O,KAAKuR,UACP/xB,EAAOrF,GAAGsR,GACR/I,KAAK6D,IAAI0nB,GAASjO,KAAKqT,QAAU3B,MAAuB,GACtD1R,KAAKuR,UACPtD,EAAQzuB,EAAOrF,GAAGs4B,MACfjzB,EAAOrF,GAAGsR,GAAKwiB,EAAQzuB,EAAOrF,GAAGs4B,MAClC5S,EAAU0hB,eAA4B,IAAX5S,GAC/BlD,GAAaxvB,KAAK,CAACuD,EAAOrF,GAAGsR,GAAIkjB,OA8EvC,SAASgT,MAtET,WACEnW,GAAa7G,IACb8G,GAAe,QACuB,IAA3B5L,EAAU4hB,eAA8B5hB,EAAU4hB,aAAe,GAG5EC,GAAQhY,GAAe,GACvBgY,GAAQ/X,GAAgB,IACxB+X,GAAQ9X,GAAiB,KAGzB6B,GAAaoE,MAAK,CAAC7sB,EAAGP,IAAMO,EAAE,GAAKP,EAAE,KACrC,IAAIm/B,EAAa,EACjB,GAAI/hB,EAAUwhB,sBACZ,KAAO5V,GAAamW,GAAY,GAAK5hB,KAAKqT,UACxCuO,GAAc,EACVnW,GAAarxB,SAAWwnC,EAAa,KAK7CpW,GAAaC,GAAa5L,EAAU4hB,cAAcG,GAElDN,GAAY5X,GAAe,GAC3B4X,GAAY3X,GAAgB,IAC5B2X,GAAY1X,GAAiB,KA8C7BiY,GAjCAlkC,OAAO6C,KAAK0pB,IAAesF,SAASr1B,IAC9B6lB,KAAKuR,UACPrH,GAAc/vB,GAAGsR,GACf/I,KAAK6D,IACHyZ,KAAK6V,SAAS17B,GAAGq+B,YAAcxY,KAAKqT,QAAU3B,MAC9C,GAEA1R,KAAKuR,UACPvR,KAAK6V,SAAS17B,GAAGq+B,WAAatO,GAAc/vB,GAAGs4B,MAEjDvI,GAAc/vB,GAAGsR,GACfuU,KAAK6V,SAAS17B,GAAGq+B,WAAatO,GAAc/vB,GAAGs4B,MAC/C3N,OAAOrJ,MAAMyO,GAAc/vB,GAAGsR,MAAKye,GAAc/vB,GAAGsR,GAAKkZ,KAE7DuF,GAAc/vB,GAAG4N,MAAQo5B,GACvBjX,GAAc/vB,GACd6lB,KAAK6V,SAAS17B,GAAGq+B,eAiCvB,SAASsJ,GACPtT,EACAC,EACA9kB,EACA+kB,EACAwJ,GAEA,IAAInJ,EAAiBplB,EACjBqlB,EAAO,EACX,IAAK,IAAI70B,EAAI,EAAGA,EAAI+9B,EAAU/9B,GAAK,EAAG,CACpC,IAAI8zB,EACFQ,EAAYzO,KAAKkP,eAAiBxsB,KAAK6D,IAAI,EAAGwoB,EAAiBL,GACjET,EAAQjO,KAAKmP,oBAAoBX,EAAOP,GACxCA,EAAQvrB,KAAKoL,KAAKmgB,GAClBe,GAAQf,EACRc,GAAkB,EAEpB,OAAOC,EA0CT,SAAS+S,GAAOpV,GACVF,GAAgBE,IACgB,IAA9BF,GAAgBE,GAAM8J,MACxBhK,GAAgBE,GAAM8J,IAAM,EACS,WAAjCzW,KAAKkU,aAAavH,GAAMS,OAAmB5F,IAAwB,IAwB7E,SAASwa,KACP9Z,GAAe,EACf,IAAImM,EAAO,EAEX,MAAM4N,EAAO,GACbtkC,OAAO6C,KAAKwf,KAAK2N,SAAS6B,SAASr1B,IACjC,GAAI6lB,KAAK2N,QAAQxzB,GAAGk0B,gBAAkBrO,KAAK2N,QAAQxzB,GAAGuzB,SAASuU,KAAM,CACnE,MAAMC,EAASliB,KAAK2N,QAAQxzB,GAAGuzB,SAASuU,KACxCtkC,OAAO6C,KAAK0hC,GAAQ1S,SAAS2S,IACvBF,EAAKE,GAAKF,EAAKE,IAAOD,EAAOC,GAC5BF,EAAKE,GAAMD,EAAOC,UAI7Bla,GAAUga,EAEiB,IAAvBjiB,KAAKmN,gBACPkH,GAEE,IADA5sB,WAAWigB,IAEXD,GA/EN,WACE,IAAI2a,EAAe,EAWnB,GAVInV,GAAO,0BAAyBmV,GAAgB,KAChDnV,GAAO,2BAA0BmV,GAAgB,IACjDnV,GAAO,qBAAoBmV,GAAgB,KAC3CnV,GAAO,4BAA2BmV,GAAgB,KAClDnV,GAAO,kBAAiBmV,GAAgB,KAE5CA,GAAgB,EAAgC,IAA5B1V,GAAY,cAC5BO,GAAO,iBAAgBmV,GAAgB,MACvCnV,GAAO,kBAAiBmV,GAAgB,MACxCnV,GAAO,kBAAiBmV,GAAgB,MACxCpiB,KAAKwN,OAAQ,CACf,MAAMc,EAASf,GAAU,YACV,IAAXe,EAAc8T,GAAgB,GACd,IAAX9T,EAAc8T,GAAgB,GACnB,IAAX9T,IAAc8T,GAAgB,IAEzC,OAAOA,EA8DHC,IAEJhO,GAAQtH,GAAO,OAEXE,GAAO,YAAqC,IAAvBjN,KAAKmN,gBAC5BkH,GAAQ,EAAI,IAAOrU,KAAKsiB,SAE1B3kC,OAAO6C,KAAKwf,KAAKuiB,gBAAgB/S,SAASr1B,IACxC,MAAMs2B,EAAKzQ,KAAKuiB,eAAepoC,GAC3B8yB,GAAOwD,EAAG/xB,QAIY,mBAAb+xB,EAAGqF,MACZzB,GAAQ,EAAuD,IAAnD7H,GAAYiE,EAAG/xB,MAAMo3B,MAAMtJ,GAAYiE,EAAG/xB,OACjD21B,GAAQ,EAAe,IAAX5D,EAAGqF,UAItB7I,GAAO,iCAAgCoH,GAAQ,MAC/CpH,GAAO,0BAAyBoH,GAAQ,MACxCpH,GAAO,sBAAqBoH,GAAQ,MACpCpH,GAAO,iBAAgBoH,GAAQ,MAC/BpH,GAAO,kBAAiBoH,GAAQ,MAEhCpH,GAAO,yBAAwBoH,GAAQ,MACvCpH,GAAO,wBAAuBoH,GAAQ,MACtCpH,GAAO,oBAAmBoH,GAAQ,MAClCpH,GAAO,sBAAqBoH,GAAQ,MACpCpH,GAAO,sBAAqBoH,GAAQ,KAEpCpH,GAAO,kBAAiBoH,GAAQ,MAChCpH,GAAO,kBAAiBoH,GAAQ,MAEhCpH,GAAO,kBAAiBoH,GAAQ,MAGpC,IAAImO,EAAY,EAChB,GAAIjV,GAAW,CACb,IAAIe,EAASf,GAAU,cACR,IAAXe,EAAc+F,GAAQ,KACN,IAAX/F,EAAc+F,GAAQ,IACX,IAAX/F,IAAc+F,GAAQ,MAE/B/F,EAASf,GAAU,QACJ,IAAXe,EACF+F,GACE,EACA,IACE3xB,KAAK+/B,IACFphB,EAAyB,IAAO,MAAiB3e,KAAKiU,GAAK,GAEhD,IAAX2X,EACP+F,GACE,EACA,IACE3xB,KAAK+/B,IACFphB,EAAyB,IAAO,MAAkB3e,KAAKiU,GAAK,GAEjD,IAAX2X,IACP+F,GACE,EACA,IACE3xB,KAAK+/B,IACFphB,EAAyB,IAAO,MAAkB3e,KAAKiU,GAAK,IAGrE2X,EAASf,GAAU,aACJ,IAAXe,EAAckU,GAAa,IACX,IAAXlU,EAAckU,GAAa,IAChB,IAAXlU,IAAckU,GAAa,KAEpClU,EAASf,GAAU,YACJ,IAAXe,EAAckU,GAAa,IACX,IAAXlU,EAAckU,GAAa,KAChB,IAAXlU,IAAckU,GAAa,MAEpClU,EAASf,GAAU,SACJ,IAAXe,EAAckU,GAAa,IACX,IAAXlU,EAAckU,GAAa,IAChB,IAAXlU,IAAckU,GAAa,KAGlCvV,GAAO,oBAAmBoH,GAAQ,EAA4B,KAAvBrU,KAAK0iB,WAAa,IAE7D,MAAMC,EAAenb,GAAuB,GAC5C,IAAIob,EAAW,EAIf,GAHI3V,GAAO,8BAA6B2V,GAAY,MAEpDA,GAAY,EAAoC,IAAhClW,GAAY,kBACxBa,GAAW,CACb,MAAMe,EAASf,GAAU,UACV,IAAXe,EAAcsU,GAAY,IACV,IAAXtU,EAAcsU,GAAY,KACf,IAAXtU,IAAcsU,GAAY,MAErCA,GAAY7V,GAAO,QAEnB,IAAI8V,EAAU,EAEV5V,GAAO,oBAAmB4V,GAAW,EAAmB,GAAfF,EAAqBC,GAC9D3V,GAAO,oBAAmB4V,GAAW,EAAmB,KAAfF,EAAuBC,GAChE3V,GAAO,sBAAqB4V,GAAW,EAAmB,IAAfF,EAAsBC,GACjE3V,GAAO,sBACT4V,GAAW,EAAmB,KAAfF,EAAuBC,GACpC3V,GAAO,qBAAoB4V,GAAW,EAAmB,GAAfF,EAAqBC,GAC/D3V,GAAO,wBACT4V,GAAW,EAAmB,GAAfF,EAAqBC,GAClC3V,GAAO,wBACT4V,GAAW,EAAmB,GAAfF,EAAqBC,GAClC3V,GAAO,oBAAmB4V,GAAW,EAAmB,GAAfF,EAAqBC,GAC9D3V,GAAO,wBACT4V,GAAW,EAAmB,GAAfF,EAAqBC,GAClC3V,GAAO,+CACT4V,GAAW,EAAmB,KAAfF,EAAuBC,GACpC3V,GAAO,uBACT4V,GAAW,EAAmB,IAAfF,EAAsBC,GACnC3V,GAAO,qBAAoB4V,GAAW,EAAmB,KAAfF,EAAuBC,GACjE3V,GAAO,uBACT4V,GAAW,EAAmB,KAAfF,EAAuBC,GACpC3V,GAAO,mBAAkB4V,GAAW,EAAmB,GAAfF,EAAqBC,GAC7D3V,GAAO,kBAAiB4V,GAAW,EAAmB,IAAfF,EAAsBC,GAEjEjlC,OAAO6C,KAAK+rB,IAAYiD,SAASr1B,IAC/B,MAAMs2B,EAAKlE,GAAWpyB,GACtB,IAAI2oC,EAAYrS,EAAGyE,IAAIzE,GACI,IAAvBzQ,KAAKmN,gBACP2V,IAAc,EAAe,IAAXrS,EAAGsF,OAAgByM,GAEzB,YAAZ/R,EAAG/xB,MACHuuB,GAAO,sDAEP6V,GAAa,EAAI,IAAOH,EAAeC,GACzC1a,IAAgBuI,EAAG9B,OAASmU,KAG1B7V,GAAO,WAAU/E,IAAgB,GAErCmM,GAAQwO,EAER,IAAIE,EAAU,EAad,GAZI9V,GAAO,iBAAgB8V,GAAW,MAClC9V,GAAO,cAAa8V,GAAW,MAC/B9V,GAAO,gBAAe8V,GAAW,MACjC9V,GAAO,eAAc8V,GAAW,MAChC9V,GAAO,eAAc8V,GAAW,MAChC9V,GAAO,iBAAgB8V,GAAW,MAClC9V,GAAO,mBAAkB8V,GAAW,MACpC9V,GAAO,gBAAe8V,GAAW,MACjC9V,GAAO,eAAc8V,GAAW,MAChC9V,GAAO,eAAc8V,GAAW,MAChC9V,GAAO,gBAAe8V,GAAW,MACjC9V,GAAO,eAAc8V,GAAW,MAChC9V,GAAO,eAAgB,CAEzB,IAAI+V,EACmE,GAApEtgC,KAAKkE,OAAO0a,EAAyBtB,KAAKijB,WAAa,IAAO,IAC/D,GACA,GACA,GACFD,EAAMtgC,KAAK2D,IAAI28B,EAAK,KAEpBzZ,GAAe,EAAiC,IAA5B,GAAK,EAAIyZ,EAAM,MAAQ,GAC3CD,GAAWxZ,GAEb8K,GAAQ0O,EAEJ9V,GAAO,kBAAiBoH,GAAQ,EAAgC,IAA5B3xB,KAAK2D,IAAI,IAAK2Z,KAAKkjB,QAG3D7O,GAAQ,EAAI3H,GAAY,oBAExB,MAAMyW,EAAejb,GAAemM,EACpC12B,OAAO6C,KAAKwf,KAAKojB,iBAAiB5T,SAASr1B,IACrCgpC,GAAgBnjB,KAAKojB,gBAAgBjpC,GAAGkpC,WAC1CtB,GAAO/hB,KAAKojB,gBAAgBjpC,GAAGuE,SAGnCypB,GAAkBgb,EAElB,MAAM/lC,EAAEA,GAAM4iB,KAAK2d,aAAaC,OAC1B0F,EAAW5W,GAAY,oBAC7B,IAAK,IAAIvyB,EAAI,EAAGA,EAAIiD,EAAGjD,IACrBk6B,GAAQ,EAAe,KAAXiP,EAGd,MAAM5kC,EAAOshB,KAAKujB,WAAW9oC,cAM7B,GALa,WAATiE,EAAmB21B,GAAQ,IACb,WAAT31B,IAAmB21B,GAAQ,KAEhCpH,GAAO,oBAAmBoH,GAAQ,KAElCpH,GAAO,uBAAwB,CACjC,IAAIuW,EAAmB,IACvB,GAAIvW,GAAO,iBAAkB,CAC3B,MAAMwW,EAAWzjB,KAAK0jB,qBACtB/lC,OAAO6C,KAAKijC,GAAUjU,SAASr1B,IACzB8yB,GAAOwW,EAAStpC,MAAKqpC,GAAoB,OAGjDnP,GAAQmP,EAEV,GAAIvW,GAAO,yBAA0B,CACnC,IAAI0W,EAAW,GACX1W,GAAO,yBAAwB0W,GAAY,IAC/CtP,GAAQ,EAAIsP,EAGV1W,GAAO,uBAAsBoH,GAAQ,KACrCpH,GAAO,wBAAuBoH,GAAQ,GAE1CnM,GAAelI,KAAK4jB,kBAAkB,MAAO1b,IAE7CmM,GAAQmD,KAERtP,IAAgBmM,EASlB,MAAMwP,GAAW,CACf,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAIIC,GAAe,CACnB,gBACA,gBACA,cACA,gBACA,kBACA,kBACA,kBAIIC,GAAgB,CACpB,0BACA,qBACA,mBACA,iBACA,sBACA,gBACA,oBAIIC,GAAa,CACjB,sBACA,wBACA,sBACA,yBACA,wBACA,yBACA,wBAIIC,GAAa,CACjB,qBACA,oBACA,oBACA,yBACA,cACA,WACA,eAkCF,SAASC,GAAavX,GACpB,OAAOF,GAAgBE,GAAQF,GAAgBE,GAAM8J,IAAM,EAe7D,SAAS0N,KACP,IAAIC,EAAW,EACfzmC,OAAO6C,KAAKwf,KAAKqV,kBAAkB7F,SAASr1B,IACtC8yB,GAAOjN,KAAKqV,iBAAiBl7B,MAAKiqC,GAAY,OAE/CF,GAAa,UAAYE,GAAY,GAAGrC,GAAO,UAC/CmC,GAAa,YAAcE,GAAY,IAAIrC,GAAO,WAEvD,IAAIsC,EAAiB,EACjBC,EAAgB,EAChBC,EAAS,EACTC,EAAY,IAChB7mC,OAAO6C,KAAK+rB,IAAYiD,SAASr1B,IAC/BkqC,GAAkB9X,GAAWpyB,GAAGw0B,OAChC6V,EAAY9hC,KAAK2D,IAAIkmB,GAAWpyB,GAAGw0B,OAAQ6V,GACtCN,GAAa,kBAEd3X,GAAWpyB,GAAGw0B,OACdjsB,KAAK2D,IAAI,IAAK,IAAM2Z,KAAKykB,YAAYrqC,OAAS4lB,KAAK2N,QAAQxzB,GAAG2zB,GAAK,MAEnEwW,EAAgB,GAEfJ,GAAa,YAEd3X,GAAWpyB,GAAGw0B,OACmC,IAAhD3O,KAAKykB,YAAYrqC,OAAS4lB,KAAK2N,QAAQxzB,GAAG2zB,MAE3CyW,EAAS,MAGXC,GAAa,GAAGzC,GAAO,uBACL,IAAlBuC,GAAqBvC,GAAO,iBACjB,IAAXwC,GAAcxC,GAAO,WACrByC,GAAa,KAAKzC,GAAO,cACzByC,GAAa,KAAKzC,GAAO,yBACzByC,GAAa,KAAKzC,GAAO,gBACzByC,GAAa,KAAKzC,GAAO,2BACzByC,GAAa,KAAKzC,GAAO,iBACzByC,GAAa,KAAKzC,GAAO,4BACzByC,GAAa,KAAKzC,GAAO,oBACzByC,GAAa,KAAKzC,GAAO,+BACzByC,GAAa,KAAKzC,GAAO,kBACzByC,GAAa,KAAKzC,GAAO,6BACzByC,GAAa,KAAKzC,GAAO,iBAEzBsC,GAAkB,KAAKtC,GAAO,WAC9BsC,GAAkB,KAAKtC,GAAO,aAC9BsC,GAAkB,KAAMtC,GAAO,YAC/BsC,GAAkB,KAAMtC,GAAO,sBAC/BsC,GAAkB,KAAMtC,GAAO,gBAC/BsC,GAAkB,KAAMtC,GAAO,gBAE/Bza,IAAoB,IAAIya,GAAO,YAC/Bza,IAAoB,IAAIya,GAAO,aAC/Bza,IAAoB,KAAKya,GAAO,YAChCza,IAAoB,KAAKya,GAAO,oBAChCza,IAAoB,KAAKya,GAAO,oBAChCza,IAAoB,KAAKya,GAAO,oCAEhCsC,GAAkB,KAAQ/c,IAAoB,KAAKya,GAAO,YAC1DsC,GAAkB,KAAQ/c,IAAoB,KAChDya,GAAO,qBAELxV,GAAWmY,OAAO/V,OAASpC,GAAWuI,QAAQnG,QAAU,KAC1DoT,GAAO,qBAET,IAAI4C,GAAkB,EACtBhnC,OAAO6C,KAAKsjC,IAActU,SAASr1B,IAC5B8yB,GAAO6W,GAAa3pC,MAAKwqC,GAAkB,MAE9CA,GAAiB5C,GAAO,kBAE5B,IAAI6C,GAAmB,EAMvB,GALAjnC,OAAO6C,KAAKujC,IAAevU,SAASr1B,IAC7B8yB,GAAO8W,GAAc5pC,MAAKyqC,GAAmB,MAEhDA,GAAkB7C,GAAO,eAEzB9U,GAAO,mBAAoB,CAC7B,MAAM4X,EAAO7kB,KAAKuU,MAAMnG,QAAQqV,SAChC,IAAIqB,EAAW,EACfnnC,OAAO6C,KAAKqkC,GAAMrV,SAASr1B,IACrB8yB,GAAO4X,EAAK1qC,GAAGuE,QAAOomC,GAAY,MAEpCA,GAAYD,EAAKzqC,QAAQ2nC,GAAO,cA6OxC,SAASgD,GAAoBpW,GAC3B,MAAMqW,EAAS,GAQf,OAPArnC,OAAO6C,KAAKwf,KAAK2N,SAAS6B,SAASr1B,IACjC6qC,EAAO7qC,GAAK,GACZ6qC,EAAO7qC,GAAGs4B,MA/Nd,SAAiCzE,EAAUW,GACzCsH,KACA1J,GAAWyB,GAAUW,QAAUA,EAC/B,MAAM8B,EAAKlE,GAAWyB,GAEL,WAAbA,GACEyC,EAAG9B,QAAU,GAAGoT,GAAO,SACvBtR,EAAG9B,QAAU,GAAGoT,GAAO,gBACvBtR,EAAG9B,QAAU,IAAIoT,GAAO,eACxBtR,EAAG9B,QAAU,KAAKoT,GAAO,mBACzBtR,EAAG9B,QAAU,KAAKoT,GAAO,eACzBtR,EAAG9B,QAAU,KAAKoT,GAAO,uBACzBtR,EAAG9B,QAAU,KAAKoT,GAAO,SACzBtR,EAAG9B,QAAU,KAAKoT,GAAO,kCACzBtR,EAAG9B,QAAU,KAAKoT,GAAO,iCACzBtR,EAAG9B,QAAU,KAAKoT,GAAO,wBACzBtR,EAAG9B,QAAU,KAAKoT,GAAO,yBAE7BpkC,OAAO6C,KAAKwf,KAAK2N,QAAQ8C,EAAG/xB,MAAMumC,eAAezV,SAASmB,IAEtDF,EAAG9B,QACH3O,KAAKuU,MAAMvU,KAAK2N,QAAQ8C,EAAG/xB,MAAMumC,cAActU,GAAGtD,MAAM6X,cAExDnD,GAAO/hB,KAAK2N,QAAQ8C,EAAG/xB,MAAMumC,cAActU,GAAGjyB,SAKpD,MAAMymC,EAAwB3d,GAU9B,OARAwa,KAEAmC,KAEIgB,IAA0B3d,IAC5Bwa,KAGK9Z,GAAelI,KAAKuR,UAyLP6T,CAAwBjrC,EAAGw0B,GAC9B,IAAXA,IACFxH,GAA2B,MAGxB6d,EA6BT,SAASK,KACP1nC,OAAO6C,KAAKwf,KAAK2N,SAAS6B,SAASr1B,IACjCuvB,GAAcvvB,GAAG8zB,MAAQ6T,GACvB9hB,KAAK2N,QAAQxzB,GACb6lB,KAAK2N,QAAQxzB,GAAGs0B,UAChBzO,KAAK2N,QAAQxzB,GAAGw0B,OAChB3O,KAAK2N,QAAQxzB,GAAGu0B,KAChB,GAEF/E,GAAexvB,GAAG8zB,MAAQ6T,GACxB9hB,KAAK2N,QAAQxzB,GACb6lB,KAAK2N,QAAQxzB,GAAGs0B,UAChBzO,KAAK2N,QAAQxzB,GAAGw0B,OAChB3O,KAAK2N,QAAQxzB,GAAGu0B,KAChB,IAEF9E,GAAgBzvB,GAAG8zB,MAAQ6T,GACzB9hB,KAAK2N,QAAQxzB,GACb6lB,KAAK2N,QAAQxzB,GAAGs0B,UAChBzO,KAAK2N,QAAQxzB,GAAGw0B,OAChB3O,KAAK2N,QAAQxzB,GAAGu0B,KAChB,QASN,SAAS4W,KAEP5b,GAAgBqb,GAAoB,GACpCpb,GAAiBob,GAAoB,IACrCnb,GAAkBmb,GAAoB,KAvDtC7a,GAAgB,GAChBvsB,OAAO6C,KAAKwf,KAAK6V,UAAUrG,SAASr1B,IAClC,MAAMorC,EAtFV,SAAgCtU,GAC9B,GACkC,WAAhCjR,KAAK6V,SAAS5E,GAAS7D,MACY,IAAlCpN,KAAK6V,SAAS5E,GAAS3D,QACtBtN,KAAK6V,SAAS5E,GAASuU,UACS,aAAhCxlB,KAAK6V,SAAS5E,GAAS7D,KACzB,CACA6I,KACkC,yBAA9BzJ,GAAYyE,GAASvyB,KACvB8tB,GAAY,yBAAyBc,OAAS,EACP,uBAA9Bd,GAAYyE,GAASvyB,KAC9B8tB,GAAY,uBAAuBc,OAAS,EAE5Cd,GAAYyE,GAAS3D,QAAUd,GAAYyE,GAAS3D,OAAS,GAAK,EAEzDd,GAAYyE,GACnBjR,KAAKylB,qBAAqBzlB,KAAK6V,SAAS5E,GAAS7D,QACnD9F,IAAoB,GAEN,iBAAZ2J,GACF1J,IAAc,EACVA,GAAa,GAAGwa,GAAO,aACvBxa,IAAc,GAAGwa,GAAO,kBACP,mBAAZ9Q,EACT8Q,GAAO,cACc,yBAAZ9Q,EACT8Q,GAAO,kBACc,iBAAZ9Q,GACT8Q,GAAO,aAGT,MAAMoD,EAAwB3d,GAE9Bwa,KAEAmC,KAEIgB,IAA0B3d,IAC5Bwa,KAGF,MAAM0D,EAvIV,WACE,IAAIpkC,EAAM,EACN2rB,GAAO,sBAAqB3rB,GAAO,IACnC2rB,GAAO,qBAAoB3rB,GAAO,GAClC2rB,GAAO,qBAAoB3rB,GAAO,IAClC2rB,GAAO,sBAAqB3rB,GAAO,IACnC2rB,GAAO,yBAAwB3rB,GAAO,IACtC2rB,GAAO,yBAAwB3rB,GAAO,IACtC2rB,GAAO,wBAAuB3rB,GAAO,IACrC2rB,GAAO,wBAAuB3rB,GAAO,IACrC2rB,GAAO,uBAAsB3rB,GAAO,IACpC2rB,GAAO,uBAAsB3rB,GAAO,IACxC,IAAIgjB,EAAM,EACV3mB,OAAO6C,KAAK+rB,IAAYiD,SAASr1B,IAC/BmqB,GAAOiI,GAAWpyB,GAAGw0B,UAEvBrK,GAAOiI,GAAWmY,OAAO/V,OACzBrtB,GAAOgjB,EAGH2I,GAAO,mBAAkB3rB,GAAsB,IAAf4mB,IAChC+E,GAAO,gBAAe3rB,GAAsB,IAAf4mB,IAC7B+E,GAAO,oBAAmB3rB,GAAsB,IAAf4mB,IACjC+E,GAAO,sBAAqB3rB,GAAsB,IAAf4mB,IACnC+E,GAAO,uBAAsB3rB,GAAsB,IAAf4mB,IACpC+E,GAAO,mBAAkB3rB,GAAsB,IAAf4mB,IAChC+E,GAAO,qBAAoB3rB,GAAsB,IAAf4mB,IAClC+E,GAAO,sBAAqB3rB,GAAsB,IAAf4mB,IACnC+E,GAAO,sBAAqB3rB,GAAsB,IAAf4mB,IACnC+E,GAAO,qBAAoB3rB,GAAsB,IAAf4mB,IAClC+E,GAAO,yBAAwB3rB,GAAsB,IAAf4mB,IACtC+E,GAAO,sBAAqB3rB,GAAsB,IAAf4mB,IACnC+E,GAAO,sBAAqB3rB,GAAsB,IAAf4mB,IAEnC+E,GAAO,kBAAiB3rB,GAAsB,IAAf4mB,IAEnC,IAAImM,EAAO,EAiBX,GAhBIpH,GAAO,qBAAoBoH,GAAQ,KACnCpH,GAAO,gBAAeoH,GAAQ,KAC9BpH,GAAO,iBAAgBoH,GAAQ,KAC/BpH,GAAO,iBAAgBoH,GAAQ,MAE/BpH,GAAO,iBACToH,GACE,EACA,IACE3xB,KAAK2D,IACH2Z,KAAK2N,QAAQ+W,OAAO3O,MACpB9I,GAAO,mBAAqB,GAAK,KAIzCoH,GAAQtH,GAAO,SACXR,GAAWkB,OAAOY,gBAChBd,GAAW,CACb,MAAMe,EAASf,GAAU,SACV,IAAXe,EAAc+F,GAAQ,KACN,IAAX/F,EAAc+F,GAAQ,IACX,IAAX/F,IAAc+F,GAAQ,MAInC12B,OAAO6C,KAAKwf,KAAKyX,OAAOjI,SAASr1B,SACQ,IAA5B6lB,KAAKyX,MAAMt9B,GAAGwrC,YACvBtR,GAAQrU,KAAKyX,MAAMt9B,GAAGwrC,cAI1BtR,GAAQ,EAAmC,IAA/B3H,GAAY,iBAGxB,IAAIkZ,EACFvR,EACArU,KAAKoV,WACH,EACAnI,GAAO,2BACLA,GAAO,kCACPA,GAAO,gBACT3rB,GAOJ,OAJAskC,EAAM5lB,KAAK4jB,kBAAkB,kBAAmBgC,GAE5C5lB,KAAKmO,QAAQ,mBAAkByX,EAAM5lB,KAAKyX,MAAM,iBAAiB3B,OAE9D8P,EAkDgBC,GAAa7lB,KAAKwf,iBACvC,OAAIkG,EACK,CAACxd,GAAelI,KAAKuR,UAAWmU,GAElC,CAACxd,GAAelI,KAAKuR,WAE9B,MAAO,GAuCeuU,CAAuB3rC,GACjC,iBAANA,GACF+vB,GAAc/vB,GAAK,CAAEs4B,MAAOzS,KAAKuR,UAAY3K,IACjB,IAAxB/G,EAAUyR,UACZpH,GAAc/vB,GAAGs4B,OAAS5L,GACK,IAAxBhH,EAAUyR,YACjBpH,GAAc/vB,GAAGs4B,OAAS3L,IACvBhC,OAAOC,SAASmF,GAAc/vB,GAAGs4B,SAAQvI,GAAc/vB,GAAGs4B,MAAQ,KAEvEvI,GAAc/vB,GAAK,GACforC,EAAY,KAAIrb,GAAc/vB,GAAGs4B,MAAQ8S,EAAY,IACrDA,EAAY,KAAIrb,GAAc/vB,GAAGs+B,WAAa8M,EAAY,QA6DpE,SAASQ,GAAqBC,EAAOC,EAAW5R,GAC9C,IAAI6R,EAAiB,EACjBlX,EAAO,EACPmX,EAAW,EACXC,EAAe,EACfC,EACF,EAAI3jC,KAAK6D,IAAI,EAAG7D,KAAKoL,KAAKpL,KAAK8iB,IAAIxF,KAAKqT,SAAW3wB,KAAK4jC,MAAQ,IAClE,KAAOH,EAAWF,EAAY5R,GAC5BrF,EAAOtsB,KAAK6D,IACVy/B,EACAtjC,KAAK2D,IACH3D,KAAKkE,MAAO,EAAI,EAAK,IAAMy/B,EAAQL,EAAQ3R,GAC3C4R,EAAY5R,IAGhB8R,EAAWzjC,KAAK6D,IACdy/B,EACAtjC,KAAK2D,IACH3D,KAAKkE,MAAO,EAAI,EAAK,KAAOy/B,EAAQ,GAAKL,EAAQ3R,GACjD4R,EAAY5R,IAGhB+R,EAAe1jC,KAAKkE,MAAO,EAAI,EAAK,KAAOy/B,EAAQ,GAAKL,EAAQ3R,GAChE6R,GAAkBlX,EAClBqX,GAAS,EAEX,MAAO,CAACH,EAAgBlX,EAAMoX,GAmBhC,SAASG,KACP,IAAIN,EAEF,GADA/c,GAEA,GACA,EACAC,GAEF,MAAMqd,EAAchP,KAChBgP,EAAc,EAAGP,GAAaO,EAC7BP,EAAY,EAEjBxb,GAAsBsb,GACpB,EACAE,EACA7c,IAEFmB,GAA+C,EAAzBE,GAAoB,GAAUrB,GACpDoB,GACEC,GAAoB,GAAK,GAAK,GAAK,EAAItB,GAEzCyB,GAA2Bmb,GACzB,EACAE,EACA5c,IAEFqB,GACiC,EAA9BE,GAAyB,GAAUvB,GACtCsB,GACEC,GAAyB,GACzB,GACA,GACA,EACAzB,GAEF4B,GAA4Bgb,GAC1B,EACY,EAAZE,EACA7c,IAEFyB,GACkC,EAA/BE,GAA0B,GAAU3B,GACvC0B,GACEC,GAA0B,GAC1B,GACA,GACA,EACA5B,GAEF+B,GAAiC6a,GAC/B,EACY,EAAZE,EACA5c,IAEF2B,GACuC,EAApCE,GAA+B,GAAU7B,GAC5C4B,GACEC,GAA+B,GAC/B,GACA,GACA,EACA/B,GAYJ,SAASsd,KACP,MAAMxG,EAAWv9B,KAAKkE,MAAMs5B,KAAKC,MAAQ,KAEzC,GAAKngB,KAAKud,EAAIvd,KAAKuX,IAAO,GAAM,EAAG,CACjC,MAAMmP,EAAa1mB,KAAK2mB,gBAAgB3mB,KAAK4mB,cAIvCC,EAHiBnkC,KAAKkE,MAC1BoZ,KAAK2mB,gBAAgB3mB,KAAK4mB,aAAe5mB,KAAKqgB,gBAER39B,KAAKkE,MAAM8/B,GAG7CpG,EAAWL,EAAWhZ,GACtB6f,EACJpkC,KAAK6D,IAAI,EAAGsgC,EAAiB3f,IAA0BoZ,EACzD,IAAK,IAAInmC,EAAI,EAAGA,EAAImmC,EAAUnmC,IAC5BmsB,GAAkBiZ,UAAUuH,GAI9B7f,GAAyBgZ,EACzB/Y,GAAyB2f,EAGzBvd,GAAmBhD,GAAkBya,YAAY,IA6HrD,SAASgG,KACP3c,GAAuB,GACvBE,GAA8B,GAC9BD,GAA+B,GAC/B,MAAMwa,EAAO,GAEblnC,OAAO6C,KAAKwf,KAAK6V,UAAUrG,SAASr1B,IAClC0qC,EAAK5oC,KAAK+jB,KAAK6V,SAAS17B,OAO1B0qC,EAAKhV,MALW,SAAU7sB,EAAGP,GAC3B,OAAIO,EAAEmuB,MAAQ1uB,EAAE0uB,MAAc,EAC1BnuB,EAAEmuB,MAAQ1uB,EAAE0uB,OAAe,EACxB,KAITxzB,OAAO6C,KAAKqkC,GAAMrV,SAASr1B,IACzB,MAAMs2B,EAAKoU,EAAK1qC,GAEhB,GAAkB,IAAds2B,EAAGnD,OAAc,CACnB,IAAI/xB,EAAM,GAEVA,GArDN,SAAsBk1B,GACpB,IAAIuW,EAAU,wBACE,aAAZvW,EAAGrD,OAAqB4Z,GAAW,aAEvC,IAAIC,EAAU,EACTjnB,KAAKgd,MAAMkK,SAAQD,EAAU,GAC9BA,IAASD,GAAW,YAExB,IAAIG,KAAEA,GAAS1W,EACXA,EAAG2W,eAAcD,EAAO1W,EAAG2W,gBAC/B,MAAMvQ,EAAU,0DAA0DpG,EAAG3C,kBAC7E,MAAO,eAAekZ,SACrBhnB,KAAKqnB,kBAAkBxQ,EAAS,OAAO,kBAEtCsQ,EAAK,GAAK,yBAAyBA,EAAK,OAAS,yBACjB,IAAVA,EAAK,QAAwB,IAAVA,EAAK,oBAsCrCG,CAAa7W,GACJ,aAAZA,EAAGrD,KAAqB/C,IAAgC9uB,EACvC,WAAZk1B,EAAGrD,KAAmB9C,IAA+B/uB,EAEhD,WAAZk1B,EAAGrD,MACS,WAAZqD,EAAGrD,MACS,UAAZqD,EAAGrD,OAEHhD,IAAwB7uB,OAchC,SAASgsC,KACP,GAAoB,cAAhBvnB,KAAKke,OAAwB,CAC/B,IAAIvhC,EAAuB,GAAjBqjB,KAAKuR,UACXvR,KAAKmO,QAAQ,kBAAiBxxB,GAAO,IACrCqjB,KAAKmO,QAAQ,YAAWxxB,GAAO,KACnC6sB,GAAe9mB,KAAK6D,IAAI,GAAI5J,GACxBqjB,KAAK8d,IAAI,gCAA+BtU,IAAgB,IAehE,SAASge,KACPhf,GAA2C,IAA7BU,GAAoC,IAClDV,IAAcW,GACd,MAAMqd,EAAchP,KAChBgP,EAAc,EAAGhe,IAAcge,EAC9Bhe,GAAa,EAClBC,GAAmBW,IAAuC,IAAbZ,IAAqB,GAClEE,GAAwBW,IAAsC,IAAbb,IAAqB,GACtEG,GAAgC,EAAbH,GACnBI,GACEQ,IAA6C,IAAnBT,IAA2B,GACvDE,GACEQ,IAA4C,IAAnBV,IAA2B,GACtDG,GAA4B,EAAbN,GACfO,GAAoC,IAAfD,GAErBE,GAAe,EACf,IAAIziB,EAAM,EACNnJ,EAAI,EACRO,OAAO6C,KAAKwf,KAAK2N,SAAS6B,SAASr1B,IAC7B6lB,KAAK2N,QAAQxzB,GAAGw0B,OAASpoB,IAAKA,EAAMyZ,KAAK2N,QAAQxzB,GAAGw0B,QACpD3O,KAAK2N,QAAQxzB,GAAGw0B,OAAS,IAAGvxB,GAAK,MAEvCO,OAAO6C,KAAKwf,KAAK2N,SAAS6B,SAASr1B,KAE9B6lB,KAAK2N,QAAQxzB,GAAGw0B,OAASpoB,GAAa,IAANnJ,IACjC4iB,KAAK2N,QAAQxzB,GAAGw0B,OAAS,KACD,EAAxB3O,KAAK2N,QAAQxzB,GAAG8zB,MAAYjF,KAE5BA,GAAuC,EAAxBhJ,KAAK2N,QAAQxzB,GAAG8zB,MAC/BhF,GAAuB9uB,MAQ7B,SAASstC,KACP,IAAIC,EAAa,EACbC,EAAY,EACZtT,EAAO,EAGPpH,GAAO,4BAA2BoH,GAAQ,MAC1CpH,GAAO,iBAAgBoH,GAAQ,MAEnCqT,GAAc,EAA+C,GAA3C1nB,KAAKsjB,SAAS,2BAChCoE,GAAc1nB,KAAK4nB,IAAI,oBACvBD,GAAa,EAAuC,GAAnC3nB,KAAKsjB,SAAS,mBAC/BqE,GAAa3nB,KAAK4nB,IAAI,mBAGtBxe,GAAyBiL,EAAOqT,EAChCre,GAAwBgL,EAAOsT,EAM/Bxe,GAAoC,EACD,IAA/BnJ,KAAK2d,aAAaC,OAAOxgC,IAC3B+rB,IACE,EAAwC,KAApCnJ,KAAKsjB,SAAS,qBAkBxB,SAASuE,KACPhe,GAAsB,EACtBC,GAAuB,EACvBC,GAAwB,CAAC,EAAG,MAC5B,IAAK,IAAI5vB,EAAI,EAAGA,EAAI6lB,KAAKyR,UAAUr3B,OAAQD,IAAK,CAC9C,IAAI6kC,OAAEA,GAAWhf,KAAKyR,UAAUt3B,GAC5B8kC,EAAS,IAKb,GAJIjf,KAAK8d,IAAI,6BAA4BmB,GAAU,MACpB,IAA3Bjf,KAAKyR,UAAUt3B,GAAGK,OAAYykC,GAAU,GAC5CD,GAAUC,EACNjf,KAAK8d,IAAI,mBAAkBkB,GAAU,MACrCzS,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAAStO,KAAKwN,OAAO,SACZ,IAAXc,EAAc0Q,GAAU,KACR,IAAX1Q,EAAc0Q,GAAU,IACb,IAAX1Q,IAAc0Q,GAAU,MAEnCnV,IAAuBmV,EACQ,IAA3Bhf,KAAKyR,UAAUt3B,GAAGK,OACpBsvB,IAAwBkV,EACpBA,EAASjV,GAAsB,KACjCA,GAAwB,CAACiV,EAAQ7kC,MAwBzC,SAAS2tC,KACPjU,KACAgU,KACAL,KACAC,KACAlB,KACAQ,KACAQ,KA7iDAthB,GAAc,IAAIwZ,GAAWvc,EAAYA,EAAY9oB,OAAS,IAC9D8rB,GAAY,IAAIuZ,GAAWvc,EAAYA,EAAY9oB,OAAS,IAC5D+rB,GAAmB,IAAIsZ,GAAWvc,EAAYA,EAAY9oB,OAAS,IACnEgsB,GAAa,IAAIqZ,GAAWvc,EAAYA,EAAY9oB,OAAS,IAC7DisB,GAAa,IAAIoZ,GAAWtc,EAAWA,EAAW/oB,OAAS,IA2iD3DksB,GAAoB,IAAImZ,GAAW,GACnCzZ,GAAgC,IAAIyZ,GACE,GAApCtc,EAAWA,EAAW/oB,OAAS,IAEjCqsC,KACAzG,KACAsF,KACAD,KACA1D,KAKF,MA8ImCoG,GA9Ib,CACpB1W,QAAS,EACTyP,WAAY,EACZI,cAAe,EACf5P,UAAW,EACX1M,MAAO,EACPF,cAAe,EACfQ,eAAgB,EAChBD,YAAa,OACbY,WAAY,EACZmiB,aAAc,EACd9U,cAAe,EACf3D,YAAa,EACb8R,sBAAuB,EACvBI,aAAc,EACdF,cAAe,EACfH,oBAAqB,EACrBtf,WAAY,UACZC,YAAa,UACbC,aAAc,UACdC,aAAc,UACdC,UAAW,UACXC,aAAc,UACdC,WAAY,UACZC,WAAY,UACZC,YAAa,UACbyQ,OAAQ,EACRW,SAAU,EACVC,YAAa,EACbsK,gBAAiB,EACjBjO,YAAa,EACbiY,mBAAoB,EACpBvY,cAAe,EACfoB,aAAc,EACdoX,eAAgB,EAChBC,YAAa,EACbC,QAAS,EACTC,QAAS,EACTtoB,gBAAiB,EACjBuoB,oBAAqB,EACrBrQ,oBAAqB,EACrBsQ,YAAa,EACblM,cAAe,EACfC,oBAAqB,EACrBE,gBAAiB,EACjBE,sBAAuB,EACvBE,gBAAiB,EACjBb,aAAc,EACdG,YAAa,EACbtE,YAAa,EACbyB,YAAa,EACbkF,aAAc,EACd1F,YAAa,EACbkB,aAAc,EACdc,gBAAiB,EACjB2N,oBAAqB,EACrBpL,MAAO,EACPqL,gBAAiB,EACjBC,oBAAqB,EACrBvJ,QAAS,EACTwJ,oBAAqB,EACrBC,aAAc,EACdzkB,MAAO,EACP0kB,aAAc,EACdC,eAAgB,EAChBC,QAAS,EACTC,cAAe,UACfC,QAAS,EACTC,SAAU,IACVC,WAAY,6DACZC,oBAAqB,EACrBC,aAAc,EACdC,mBAAoB,UACpBC,aAAc,EACdC,cAAe,IACfC,gBACE,gEACFC,gBAAiB,EACjBC,SAAU,EACVC,eAAgB,UAChBC,SAAU,EACVC,UAAW,IACXC,YACE,oEACFC,UAAW,EACXC,gBAAiB,UACjBC,UAAW,EACXC,WAAY,IACZC,aAAc,+DACdC,kBAAmB,EACnBC,WAAY,EACZC,iBAAkB,UAClBC,WAAY,EACZC,YAAa,IACbC,cACE,gEACFC,qBAAsB,EACtBC,cAAe,EACfC,oBAAqB,UACrBC,cAAe,EACfC,eAAgB,IAChBC,iBACE,6DACFC,wBAAyB,EACzBC,iBAAkB,EAClBC,uBAAwB,UACxBC,iBAAkB,EAClBC,kBAAmB,IACnBC,oBACE,8DACFC,aAAc,EACdnnB,kBAAmB,EACnBonB,OAAQ,CACNC,UAAW,EACXC,YAAa,EACbC,SAAU,EACVC,QAAS,EACTC,YAAa,EACbC,QAAS,EACTC,WAAY,EACZC,aAAc,EACdC,oBAAqB,EACrBC,eAAgB,EAChBC,eAAgB,EAChBC,gBAAiB,EACjBC,iBAAkB,EAClBC,iBAAkB,EAClBC,kBAAmB,EACnBC,qBAAsB,EACtBC,cAAe,EACfC,MAAO,EACPC,MAAO,EACPC,OAAQ,EACRC,OAAQ,EACRC,SAAU,EACVC,MAAO,EACPC,IAAK,EACLC,KAAM,EACNC,QAAS,IAoCsBC,GAvBnC,SAAsCC,GACpC,GAAoB,IAAhBA,EAAmB,CAErB,MAAMC,EAA2B,WAC/B,IACErB,aAAasB,oBAAoBC,OACjC,MAAOjyC,GACP,OAAO,EAET,OAAO,GAIH,iBAAkB1C,OAEby0C,IACTrB,aAAasB,oBAAoBC,OAEjCvB,aAAasB,oBAJbtyC,QAAQwqB,IAAI,kDAoBlB,SAASgoB,KACkB,IAArB3tB,EAAUkT,QACZxnB,EAAE,YAAYnJ,MAAMqV,QAAU,GAC9Bqb,MAEAvnB,EAAE,YAAYnJ,MAAMqV,QAAU,OAEhCgc,KAwGF,SAASga,KACPC,cACA1tB,KAAK2tB,eACL3tB,KAAK4tB,kBAEL9a,KACAzD,KACAU,KAuBF,SAAS8d,KACmB,IAAtBhuB,EAAUwoB,SAAiBrnB,EAAwB,EACjDqK,GAA0ByiB,MAC5BviC,EAAE,aAAawiC,KACb,mEAEFxiC,EAAE,aAAawiC,KACb,oEAEJxiC,EAAE,aAAawiC,KACb,uDAQN,MAAMC,GACJtO,YAAYllC,EAAMyzC,GAChBp1C,KAAK2B,KAAOA,EACZ3B,KAAKo1C,MAAQA,GAKjB,MAAMC,WAAwBF,GAC5BtO,YAAYllC,EAAMyzC,EAAOE,EAAOC,EAAMC,EAAQnvC,EAAO,MACnDovC,MAAM9zC,EAAMyzC,GACZp1C,KAAKs1C,MAAQA,EACbt1C,KAAKu1C,KAAOA,EACZv1C,KAAKw1C,OAASA,EACVnvC,IACFrG,KAAKqG,KAAOA,IAKlB,MAAMqvC,WAAuBP,GAC3BtO,YAAYllC,EAAMyzC,EAAOG,GACvBE,MAAM9zC,EAAMyzC,GACZp1C,KAAKu1C,KAAOA,GAKhB,MAAMI,WAAsBR,GAC1BtO,YAAYllC,EAAMyzC,EAAOE,EAAOC,GAC9BE,MAAM9zC,EAAMyzC,GACZp1C,KAAKs1C,MAAQA,EACbt1C,KAAKu1C,KAAOA,EACZ,IAAK,IAAIj0C,EAAI,EAAGA,EAAI,IAAKA,IACvBtB,KAAKs1C,MAAMh0C,GAAK,GAAGA,MAMzB,MAAMs0C,WAA2BT,GAC/BtO,YAAYllC,EAAMyzC,EAAOE,EAAOC,EAAM/nC,EAAKE,GACzC+nC,MAAM9zC,EAAMyzC,GACZp1C,KAAKs1C,MAAQA,EACbt1C,KAAKu1C,KAAOA,EACZv1C,KAAKwN,IAAMA,EACXxN,KAAK0N,IAAMA,GAyBf,MAmzBmCmoC,GAnzBpB,CAEbrd,QAAS,IAAI6c,GACX,OACA,cACA,CAAC,6BAA8B,8BAC/B,kFACA,GAEFpN,WAAY,IAAIoN,GACd,OACA,cACA,CACE,0BACA,0BACA,0BACA,yBACA,yBACA,0BACA,0BACA,2BAEF,4DACA,GAEFhN,cAAe,IAAIgN,GACjB,OACA,cACA,CACE,4BACA,4BACA,6BACA,6BACA,8BAEF,uDACA,GAEF5c,UAAW,IAAI4c,GACb,OACA,cACA,CACE,+BACA,8BACA,6CAEF,qGACA,GACA,WACElmB,IAAY,KAKhBpD,MAAO,IAAIspB,GACT,OACA,WACA,CACE,uBACA,SACA,cACA,4BACA,sBACA,wBAEF,yCACA,GACA,WACET,QAGJ/oB,cAAe,IAAIwpB,GACjB,OACA,WACA,CAAC,aAAc,aAAc,cAC7B,oIACA,GACA,WACET,QAGJvoB,eAAgB,IAAIgpB,GAClB,OACA,WACA,CAAC,4BAA6B,mBAC9B,qDACA,GACA,WACET,QAGJxoB,YAAa,IAAIwpB,GACf,WACA,WACA,2BACA,8KACA,EACA,WAEF5oB,WAAY,IAAIqoB,GACd,OACA,WACA,CAAC,0BAA2B,uBAC5B,0BACA,GAEFlG,aAAc,IAAIkG,GAChB,OACA,WACA,CAAC,oBAAqB,oBACtB,mEACA,GACA,WAlU6B,IAA3BruB,EAAUmoB,aAAoBhoB,KAAKsd,QAAU3a,EAC5C3C,KAAKsd,QAAU3b,EAAgB2b,WAqUpCpK,cAAe,IAAIgb,GACjB,OACA,WACA,CAAC,yBAA0B,mBAC3B,sKACA,GAIF3e,YAAa,IAAI2e,GACf,OACA,UACA,CAAC,uBAAwB,uBACzB,yBACA,GACA,WACE7e,QAGJgS,sBAAuB,IAAI6M,GACzB,OACA,UACA,CAAC,2BAA4B,sBAC7B,0KACA,GAEFzM,aAAc,IAAIyM,GAChB,OACA,UACA,CACE,mBACA,kBACA,0BACA,gCAEF,sGACA,GAEF3M,cAAe,IAAI2M,GACjB,OACA,UACA,CAAC,mBAAoB,mBACrB,sJACA,GAEF9M,oBAAqB,IAAIqN,GACvB,WACA,UACA,oCACA,wMACA,EACA9pB,KAEF7C,WAAY,IAAIysB,GACd,SACA,UACA,6HAEFxsB,YAAa,IAAIwsB,GACf,SACA,UACA,yGAEFvsB,aAAc,IAAIusB,GAChB,SACA,UACA,qHAEFtsB,aAAc,IAAIssB,GAChB,SACA,UACA,4HAEFrsB,UAAW,IAAIqsB,GACb,SACA,UACA,gHAEFpsB,aAAc,IAAIosB,GAChB,SACA,UACA,8HAEFnsB,WAAY,IAAImsB,GACd,SACA,UACA,wGAEFlsB,WAAY,IAAIksB,GACd,SACA,UACA,sDAEFjsB,YAAa,IAAIisB,GACf,SACA,UACA,yDAIFxb,OAAQ,IAAImb,GACV,OACA,cACA,CAAC,iBAAkB,iBACnB,wBACA,GACA,WACEV,QAGJ9Z,SAAU,IAAIwa,GACZ,OACA,cACA,CAAC,gBAAiB,gBAClB,+FACA,GACA,WACEta,QAGJD,YAAa,IAAIua,GACf,OACA,cACA,CAAC,gCAAiC,+BAClC,8BACA,GACA,WAt4H4B,IAA1BruB,EAAU8T,aACZpoB,EAAE,cAAcnJ,MAAMkG,MAAQ,MAC9BiD,EAAE,cAAcnJ,MAAMkW,OAAS,GAC/B/M,EAAE,QAAQojC,aAAapjC,EAAE,cAAeA,EAAE,kBAE1CA,EAAE,cAAcnJ,MAAMkG,MAAQ,OAC9BiD,EAAE,cAAcnJ,MAAMkW,OAAS,MAC/B/M,EAAE,WAAWwK,YAAYxK,EAAE,gBAE7BkoB,QAi4HAwK,gBAAiB,IAAIiQ,GACnB,OACA,cACA,CACE,wBACA,iCACA,0BAEF,+DACA,GAEFle,YAAa,IAAIke,GACf,OACA,cACA,CACE,0BACA,8BACA,kCAEF,yDACA,GACA,WA3a2B,IAAzBruB,EAAU+uB,YAEZrjC,EAAE,gBAAgBnJ,MAAMqV,QAAU,GAClCsY,MACkC,IAAzBlQ,EAAU+uB,YAEnBrjC,EAAE,gBAAgBnJ,MAAMqV,QAAU,OAClCsY,OAGAxkB,EAAE,gBAAgBnJ,MAAMqV,QAAU,OAClCuI,KAAK4tB,sBAoaP3F,mBAAoB,IAAIiG,GACtB,OACA,cACA,CAAC,iCAAkC,iCACnC,+FACA,GACA,WA9ZmC,IAAjCruB,EAAUooB,oBAEZ18B,EAAE,gBAAgBnJ,MAAMgI,SAAW,SACnCmB,EAAE,gBAAgBnJ,MAAMsC,IAAM,OAE9B6G,EAAE,gBAAgBnJ,MAAMgI,SAAW,MA6ZrCslB,cAAe,IAAIwe,GACjB,OACA,cACA,CACE,0BACA,oCACA,4CAEF,kEACA,GACA,WACE7e,QAGJyB,aAAc,IAAIod,GAChB,OACA,cACA,CAAC,yBAA0B,qBAC3B,iEACA,GACA,WACEne,QAGJmY,eAAgB,IAAIgG,GAClB,OACA,cACA,CAAC,6BAA8B,6BAC/B,kFACA,GAEF/F,YAAa,IAAI+F,GACf,OACA,cACA,CAAC,iCAAkC,iCACnC,+DACA,GAEF9F,QAAS,IAAI8F,GACX,OACA,cACA,CAAC,0BAA2B,0BAC5B,yDACA,GACA,WAxgBwB,IAAtBruB,EAAUuoB,QACZzqC,OAAO6C,KAAK0jB,IAAUsL,SAASr1B,IAC7B+pB,GAAS/pB,GAAGiI,MAAMqV,QAAU,QAC5ByM,GAAS/pB,GAAGiI,MAAMqC,KAAOinB,GAAwBvxB,GAAGoR,EAAEnJ,MAAMqC,KAC5Dyf,GAAS/pB,GAAGiI,MAAMsC,IAAMgnB,GAAwBvxB,GAAGoR,EAAEnJ,MAAMsC,OAG7D/G,OAAO6C,KAAK0jB,IAAUsL,SAASr1B,GAAO+pB,GAAS/pB,GAAGiI,MAAMqV,QAAU,YAqgBpE4wB,QAAS,IAAI6F,GACX,OACA,cACA,CAAC,cAAe,cAChB,2CACA,GACA,WACEL,QAGJ9tB,gBAAiB,IAAImuB,GACnB,OACA,cACA,CAAC,6BAA8B,6BAC/B,kEACA,GACA,WACEpuB,OAGJwoB,oBAAqB,IAAI4F,GACvB,OACA,cACA,CAAC,qCAAsC,qCACvC,+FACA,GACA,WAnhBEruB,EAAUyoB,oBACZ/8B,EAAE,uBAAuBnJ,MAAMqV,QAAU,GAEzClM,EAAE,uBAAuBnJ,MAAMqV,QAAU,UAshB3CwgB,oBAAqB,IAAIiW,GACvB,OACA,UACA,CACE,2CACA,2CAEF,kDACA,GAEF3F,YAAa,IAAI2F,GACf,OACA,UACA,CACE,iDACA,iDAEF,qDACA,GAEF7R,cAAe,IAAI6R,GACjB,OACA,UACA,CAAC,4BAA6B,4BAC9B,kGACA,GAEF5R,oBAAqB,IAAI4R,GACvB,OACA,UACA,CAAC,mCAAoC,mCACrC,2GACA,GAEF1R,gBAAiB,IAAI0R,GACnB,OACA,UACA,CAAC,8BAA+B,8BAChC,+GACA,GAEFxR,sBAAuB,IAAIwR,GACzB,OACA,UACA,CAAC,qCAAsC,qCACvC,kIACA,GAEFtR,gBAAiB,IAAIsR,GACnB,OACA,UACA,CAAC,8BAA+B,8BAChC,qJACA,GAEFnS,aAAc,IAAI0S,GAChB,WACA,UACA,mCACA,gKACA,EACA9pB,KAEFuX,YAAa,IAAIgS,GACf,OACA,UACA,CACE,+CACA,+CAEF,2EACA,GAEFtW,YAAa,IAAIsW,GACf,OACA,UACA,CAAC,kCAAmC,qCACpC,kCACA,GACA,WACEvW,QAGJ0B,YAAa,IAAI6U,GACf,OACA,UACA,CAAC,mCAAoC,mCACrC,6CACA,GAEF3P,aAAc,IAAI2P,GAChB,OACA,UACA,CAAC,uBAAwB,uBACzB,oEACA,GAEFrV,YAAa,IAAIqV,GACf,OACA,UACA,CAAC,yBAA0B,yBAC3B,4DACA,GAEFnU,aAAc,IAAImU,GAChB,OACA,UACA,CAAC,2BAA4B,2BAC7B,yDACA,GAEFrT,gBAAiB,IAAIqT,GACnB,OACA,UACA,CAAC,uBAAwB,uBACzB,iDACA,GAEF1F,oBAAqB,IAAI0F,GACvB,OACA,UACA,CAAC,qCAAsC,qCACvC,+CACA,GAIF9Q,MAAO,IAAI8Q,GACT,OACA,aACA,CAAC,iBAAkB,iBACnB,oCACA,GAEFzF,gBAAiB,IAAIyF,GACnB,OACA,aACA,CAAC,uBAAwB,uBACzB,6CACA,GAEFxF,oBAAqB,IAAIwF,GACvB,OACA,aACA,CAAC,2BAA4B,kCAC7B,yDACA,GAEF/O,QAAS,IAAI+O,GACX,OACA,aACA,CAAC,mCAAoC,+BACrC,wCACA,GAEFvF,oBAAqB,IAAI8F,GACvB,WACA,aACA,0BACA,8GACA,EACA9pB,KAEFikB,aAAc,IAAIsF,GAChB,OACA,aACA,CAAC,gBAAiB,gBAClB,4FACA,GAIF/pB,MAAO,IAAI+pB,GACT,OACA,sBACA,CAAC,YAAa,WAAY,8BAC1B,8LACA,GAEFrF,aAAc,IAAIqF,GAChB,OACA,sBACA,CAAC,mCAAoC,mCACrC,kLACA,GAEFpF,eAAgB,IAAIoF,GAClB,OACA,iBACA,CAAC,mBAAoB,mBACrB,mDACA,GACA,WACEf,GAAoCttB,EAAUipB,mBAGlDC,QAAS,IAAImF,GACX,OACA,iBACA,CAAC,YAAa,YACd,iCACA,GAEFlF,cAAe,IAAIuF,GACjB,SACA,iBACA,wDAEFtF,QAAS,IAAIiF,GACX,OACA,iBACA,CAAC,YAAa,YACd,iCACA,GAEFhF,SAAU,IAAIsF,GAAc,MAAO,iBAAkB,GAAI,UACzDrF,WAAY,IAAI+E,GACd,MACA,iBACA,aACA,6DAEF9E,oBAAqB,IAAI8E,GACvB,OACA,iBACA,CAAC,mBAAoB,mBACrB,8DACA,GACA,WACEf,GAAoCttB,EAAUupB,wBAGlDC,aAAc,IAAI6E,GAChB,OACA,iBACA,CAAC,YAAa,YACd,wCACA,GAEF5E,mBAAoB,IAAIiF,GACtB,SACA,iBACA,6DAEFhF,aAAc,IAAI2E,GAChB,OACA,iBACA,CAAC,YAAa,YACd,wCACA,GAEF1E,cAAe,IAAIgF,GAAc,MAAO,iBAAkB,GAAI,UAC9D/E,gBAAiB,IAAIyE,GACnB,MACA,iBACA,aACA,sEAEFxE,gBAAiB,IAAIwE,GACnB,OACA,kBACA,CAAC,mBAAoB,mBACrB,yCACA,GACA,WACEf,GAAoCttB,EAAU6pB,oBAGlDC,SAAU,IAAIuE,GACZ,OACA,kBACA,CAAC,YAAa,YACd,gCACA,GAEFtE,eAAgB,IAAI2E,GAClB,SACA,kBACA,kEAEF1E,SAAU,IAAIqE,GACZ,OACA,kBACA,CAAC,YAAa,YACd,gCACA,GAEFpE,UAAW,IAAI0E,GAAc,MAAO,kBAAmB,GAAI,UAC3DzE,YAAa,IAAImE,GACf,MACA,kBACA,aACA,6DAEFlE,UAAW,IAAIkE,GACb,OACA,mBACA,CAAC,wBAAyB,YAC1B,+BACA,GAEFjE,gBAAiB,IAAIsE,GACnB,SACA,mBACA,4DAEFrE,UAAW,IAAIgE,GACb,OACA,mBACA,CAAC,YAAa,YACd,+BACA,GAEF/D,WAAY,IAAIqE,GAAc,MAAO,mBAAoB,GAAI,UAC7DpE,aAAc,IAAI8D,GAChB,MACA,mBACA,yBACA,uDAEF7D,kBAAmB,IAAI6D,GACrB,OACA,mBACA,CAAC,mBAAoB,mBACrB,oDACA,GACA,WACEf,GAAoCttB,EAAUwqB,sBAGlDC,WAAY,IAAI4D,GACd,OACA,mBACA,CAAC,YAAa,YACd,2CACA,GAEF3D,iBAAkB,IAAIgE,GACpB,SACA,mBACA,2DAEF/D,WAAY,IAAI0D,GACd,OACA,mBACA,CAAC,YAAa,YACd,2CACA,GAEFzD,YAAa,IAAI+D,GAAc,MAAO,mBAAoB,GAAI,UAC9D9D,cAAe,IAAIwD,GACjB,MACA,mBACA,aACA,2DAEFvD,qBAAsB,IAAIuD,GACxB,OACA,oBACA,CAAC,mBAAoB,mBACrB,iDACA,GACA,WACEf,GAAoCttB,EAAU8qB,yBAGlDC,cAAe,IAAIsD,GACjB,OACA,oBACA,CAAC,YAAa,YACd,wCACA,GAEFrD,oBAAqB,IAAI0D,GACvB,SACA,oBACA,8DAEFzD,cAAe,IAAIoD,GACjB,OACA,oBACA,CAAC,YAAa,YACd,wCACA,GAEFnD,eAAgB,IAAIyD,GAAc,MAAO,oBAAqB,GAAI,UAClExD,iBAAkB,IAAIkD,GACpB,MACA,oBACA,aACA,yDAEFjD,wBAAyB,IAAIiD,GAC3B,OACA,uBACA,CAAC,mBAAoB,mBACrB,2EACA,GACA,WACEf,GAAoCttB,EAAUorB,4BAGlDC,iBAAkB,IAAIgD,GACpB,OACA,uBACA,CAAC,YAAa,YACd,kEACA,GAEF/C,uBAAwB,IAAIoD,GAC1B,SACA,uBACA,sEAEFnD,iBAAkB,IAAI8C,GACpB,OACA,uBACA,CAAC,YAAa,YACd,kEACA,GAEF7C,kBAAmB,IAAImD,GACrB,MACA,uBACA,GACA,UAEFlD,oBAAqB,IAAI4C,GACvB,MACA,uBACA,aACA,mFAIF3C,aAAc,IAAI2C,GAChB,OACA,gBACA,CAAC,wBAAyB,wBAC1B,mIACA,GAEF9pB,kBAAmB,IAAI8pB,GACrB,OACA,gBACA,CACE,iCACA,gCACA,0CAEF,8MACA,GACA,WACEluB,KAAKof,iBAiBX,SAASyP,KACP,OAAOrzC,KAAKszC,UAAU,CACpBC,kBAAmB3qB,GACnB4qB,SAAUnvB,EACVovB,QAAS,YAkMb,SAASC,KACP,GAAI5mB,KAAyBtI,KAAKmvB,aAAennB,GAAW,CAC1D,GACEhI,KAAKmvB,YAAc,IACnBnvB,KAAKovB,aAAapvB,KAAKmvB,aAAaE,IAAIzsC,WAAW0sC,SAAS,aAC5D,CACA,IAAI9vC,EAASwgB,KAAKovB,aAAapvB,KAAKmvB,aAAaE,IAC9CzsC,WACA/H,MAAM,mBAAmB,GAC5B,MAAM8zB,EAAS3O,KAAKovB,aAAapvB,KAAKmvB,aAAaE,IAChDzsC,WACA/H,MAAM,sBAAsB,GAC/B,GAAe,MAAX2E,EAEF,GADAA,EAASA,EAAO+vC,WAAW,IAAK,IAC5BvvB,KAAK2N,QAAQnuB,GAAQmvB,OAASA,EAChCpG,GAAyB,mCACpB,CACL,IAAIinB,EAAO,EACXvZ,KACA,IAAK,IAAI97B,EAAI,EAAGA,EAAIw0B,EAAQx0B,IAAK,CAC/B,IAAI8zB,EACF1B,GAAW/sB,GAAQivB,UACnBzO,KAAKkP,eACHxsB,KAAK6D,IACH,EACAgmB,GAAW/sB,GAAQmvB,OAAS,EAAIpC,GAAW/sB,GAAQkvB,MAEzDT,EAAQjO,KAAKmP,oBAAoB5C,GAAW/sB,GAASyuB,GACrDA,EAAQvrB,KAAKoL,KAAKmgB,GAClBuhB,GAAQvhB,EACR1B,GAAW/sB,GAAQmvB,QAAU,EAE/BpG,GAAyB,kBAAkBlE,GAA4BmrB,SAEpE,CACL,IAAIA,EAAO,EACXvZ,KACAt4B,OAAO6C,KAAKwf,KAAK2N,SAAS6B,SAASmB,IAEjC,GADAnxB,EAASmxB,EACL3Q,KAAK2N,QAAQnuB,GAAQmvB,OAASA,EAChCpG,GAAyB,mCAD3B,CAIA,IAAK,IAAIpuB,EAAI,EAAGA,EAAIw0B,EAAQx0B,IAAK,CAC/B,IAAI8zB,EACF1B,GAAW/sB,GAAQivB,UACnBzO,KAAKkP,eACHxsB,KAAK6D,IACH,EACAgmB,GAAW/sB,GAAQmvB,OAAS,EAAIpC,GAAW/sB,GAAQkvB,MAEzDT,EAAQjO,KAAKmP,oBAAoB5C,GAAW/sB,GAASyuB,GACrDA,EAAQvrB,KAAKoL,KAAKmgB,GAClBuhB,GAAQvhB,EACR1B,GAAW/sB,GAAQmvB,QAAU,EAE/BpG,GAAyB,kBAAkBlE,GAA4BmrB,UAI7ElnB,GAAuBtI,KAAKmvB,aAkBhC,SAASM,GAAmB7hB,EAAK4I,GAC/BP,KACa,IAATO,EAAY3O,GAAU+F,EACR,IAAT4I,EAAY1O,GAAU8F,EACb,IAAT4I,IAAYzO,GAAU6F,GAE/B,MAAMuX,EAAwB3d,GAO9B,OANAwa,KAEAmC,KACIgB,IAA0B3d,IAC5Bwa,KAEK9Z,GAAelI,KAAKuR,UAoD7B,SAASme,KAEPnjB,GAAa,GACb5uB,OAAO6C,KAAKwf,KAAK2N,SAAS6B,SAASr1B,IACjCoyB,GAAWpyB,GAAK86B,GAAoB96B,MAItCqyB,GAAc,GACd7uB,OAAO6C,KAAKwf,KAAK6V,UAAUrG,SAASr1B,IAClCqyB,GAAYryB,GAAKw7B,GAAYx7B,MAI/BsyB,GAAkB,GAClB9uB,OAAO6C,KAAKwf,KAAKkU,cAAc1E,SAASr1B,IACtCsyB,GAAgBtyB,GAAK65B,GAAgB75B,MAEvC87B,KAMF,IAAI0Z,IAAiB,EAerB,SAASC,GAAMxhC,EAAMyhC,EAAQrrB,IAGD,IAAtB3E,EAAUgwB,IAAiBrrB,IAClB,IAATpW,IACmB,IAAnBuhC,IACO,IAATvhC,GAEA7C,EAAE,iBAAiBnJ,MAAM4U,gBAAkB6I,EAAU,SAASgwB,KAC9DtkC,EAAE,iBAAiBnJ,MAAM6U,QAAU,MACtB,IAAT7I,GACF7C,EAAE,iBAAiBnJ,MAAMqV,QAAU,SACnCq4B,YAAW,WACTF,GAAM,EAAGC,GAAQ,KAChB,IAAO7vB,KAAKuX,MAEfuY,YAAW,WACTF,GAAM,EAAGC,GAAQ,KAChB,IAAO7vB,KAAKuX,MAEC,IAATnpB,GACT7C,EAAE,iBAAiBnJ,MAAM6U,QAAU,IACnC64B,YAAW,WACTF,GAAM,EAAGC,GAAQ,KAChB,IAAO7vB,KAAKuX,MACG,IAATnpB,IAAY7C,EAAE,iBAAiBnJ,MAAMqV,QAAU,QAe5D,SAASs4B,GAAgBC,EAAKC,EAAWC,EAAW1rB,GAElD,IAA8B,IAAzB3E,EAAUowB,IAAoBzrB,KAA8B,IAAnBmrB,GAA0B,CAEtE,MAAMQ,EAAQ,IAAIC,MAAMJ,GACpBnwB,EAAUgpB,aACZsH,EAAME,OAAUxwB,EAAUqwB,GAAa,KAAQlwB,KAAKqwB,OAAS,KAC1DF,EAAME,OAASxwB,EAAUqwB,GAAa,IAC3CC,EAAMG,QAoFV,SAASC,GAAmBC,EAAcC,EAAOC,GAGjB,IAA5B7wB,EAAU2wB,IACmB,WAA7B/3C,SAASk4C,kBACU,IAAnBhB,IAIA,IAAI3D,aAAayE,EAAO,CAAEp3B,KAAMq3B,EAASE,MAFtB,yDAmRvB,SAASC,KAKP,GAJI7sB,KAAoBhE,KAAK8wB,WAC3B9sB,GAAkBhE,KAAK8wB,SA9drB9wB,KAAK8wB,UACPvlC,EAAE,QAAQnJ,MAAMkW,OAAS,MACA,IAArBuH,EAAUkT,SAAcxnB,EAAE,YAAYnJ,MAAMqV,QAAU,QAC/B,IAAvBoI,EAAU6T,WAAgBnoB,EAAE,cAAcnJ,MAAMqV,QAAU,UAE9D+1B,KACA5Z,MAEFN,OAydKtT,KAAK8wB,UAAiC,IAArB9wB,KAAK+wB,YAAmB,CAExC1wB,IAAiB1iB,OAAO6C,KAAKwf,KAAKgxB,MAAM52C,SAC1Cs1C,KACA5H,KACAznB,EAAe1iB,OAAO6C,KAAKwf,KAAKgxB,MAAM52C,QAIpC4tB,KACFsd,KArsBAtlB,KAAK8d,IAAI,wBAjBb7H,KACAzJ,GAAY,uBAAuBc,OAAS,EAC5C0U,KAgBE9Y,GAfKhB,IAgBAgB,GAA6BlJ,KAAKuR,UAssBrCkW,KACAD,KACAT,KACAR,KACA2I,KArgBN,WACE,IAAK,IAAIthB,EAAM,EAAGA,EAAM,GAAIA,GAAO,EACjC,IAAK,IAAI4I,EAAO,EAAGA,EAAO,EAAGA,GAAQ,EACnC5K,GAAUgC,GAAK4I,GAAQiZ,GAAmB7hB,EAAK4I,GAmgB/Cya,GAEA1J,KA1oBN,WACE,IAAI2J,EAAY,EAEhB,GAAIlxB,KAAK2N,QAAQwjB,KAAK9iB,eAAgB,CACpC,MAAM+iB,EAAcpxB,KAAK2N,QAAQwjB,KAAKzjB,SAAS2jB,MAC/C,IAAIC,EAAW,EACf3zC,OAAO6C,KAAK4wC,GAAa5hB,SAASr1B,IAChC,MAAMo3C,EAAaH,EAAYj3C,GAC/Bm3C,GAAYC,EAAWC,MAAQD,EAAW50C,OAE5Cu0C,GAAaI,EAAWtxB,KAAKyxB,oBAG/BP,GAlEF,WACE,IAAIA,EAAY,EAEhBjb,KAGA,IAAIyb,EAAuB,EACL,IAAlB/pB,IAAyC,KAAlBA,KACzB+pB,GAAwB,GAEH,IAAnB9pB,IAA2C,KAAnBA,KAC1B8pB,GAAwB,GAE1B/pB,GAAgB,EAChBC,GAAiB,GAGjB,IAAK,IAAIztB,EAAI,EAAGA,EAAIu3C,IAAwBv3C,EAAG,CAC7C,IAAIw3C,EAAkB,SACtBh0C,OAAO6C,KAAK+rB,IAAYiD,SAASmB,IAC3BpE,GAAWoE,GAAGhC,OAAS,IACzBgjB,EAAkBhhB,MAGtBpE,GAAWolB,GAAiBhjB,QAAU,EACtCtH,IAAqB,EAevB,OAXA1pB,OAAO6C,KAAK+rB,IAAYiD,SAASr1B,IAC/B,MAAMs2B,EAAKlE,GAAWpyB,GACtB+2C,GAAa3iB,GACXvO,KAAK2N,QAAQ8C,EAAG/xB,MAChBshB,KAAK2N,QAAQxzB,GAAGs0B,UAChBgC,EAAG9B,OACH3O,KAAK2N,QAAQxzB,GAAGu0B,KAChB+B,EAAG9B,WAIAuiB,EA0BMU,GACbjmB,GAAqBulB,EA6nBjBW,GAEA7pB,GAAY,GAId,MAAM8pB,EAAe9xB,KAAKsjB,SAAS,kBAAoB,GAClDlc,IAAqB0qB,GACxB1qB,IAAoB,EACpBD,GAA2B,GAClBC,KAAsB0qB,IAC/B1qB,IAAoB,EACpBD,GAA2B,GAGzBA,KACFke,KACAle,GAA2B,GA9wBjC,WAEE0gB,KAEAlG,KAzCF,WACE3X,GAA2B,EAC3B,IAAIgJ,EAAQ,EACZr1B,OAAO6C,KAAKwf,KAAKyR,WAAWjC,SAASr1B,IACH,IAA5B6lB,KAAKyR,UAAUt3B,GAAGskC,QAAazL,GAAS,MAE9C,IAAI+e,EAAU,EACd,GAAIxlB,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAAStO,KAAKwN,OAAO,SACZ,IAAXc,EAAcyjB,GAAW,KACT,IAAXzjB,EAAcyjB,GAAW,IACd,IAAXzjB,IAAcyjB,GAAW,MAEpC9nB,GAAyB+I,EACzBhJ,GACEgJ,GACS,IAARA,EAAe,MACuB,IAAtChT,KAAK8d,IAAI,2BAAoC,IACjB,IAA5B9d,KAAK8d,IAAI,iBAA0B,GACpCiU,EAuBFC,GACAhS,KACAyG,KAEA,MAAMwL,EACJjyB,KAAKkyB,oBACHxvC,KAAKkE,MAAMoZ,KAAK2mB,gBAAgB3mB,KAAK4mB,aAAe5mB,KAAKqgB,gBACvD,IAEHrgB,KAAKqgB,cAAgBrgB,KAAK4mB,cAC7Brb,GAA4B9F,GAAWwsB,EAAgB7gB,MAkwBrD+gB,GAzSFhxB,EAA+B,EAC/BuK,GAA0B,GAC1B/tB,OAAO6C,KAAKwf,KAAKoyB,UAAU5iB,SAASr1B,IAClCuxB,GAAwB1L,KAAKoyB,SAASj4C,GAAG2zB,IAAM9N,KAAKoyB,SAASj4C,GACzD6lB,KAAKoyB,SAASj4C,GAAGk4C,WAAuC,WAA1BryB,KAAKoyB,SAASj4C,GAAGK,OACjD6wB,GAA4BrL,KAAKoyB,SAASj4C,GAC1CgnB,GAAgC,MAWpCxjB,OAAO6C,KAAK0jB,IAAUsL,SAASr1B,SACa,IAA/BuxB,GAAwBvxB,KACjC+pB,GAAS/pB,GAAGmf,WAAWrc,YAAYinB,GAAS/pB,WACrC+pB,GAAS/pB,OAGhB6mB,IAA0BhB,KAAK2d,aAAaC,OAAOxgC,GACrD4jB,EAAwBhB,KAAK2d,aAAaC,OAAOxgC,EAC7C4jB,IACEC,EAA+BE,IACjCyuB,GAAM,EAAG,WAAW,GACpBG,GAAgBlwB,EAAUspB,WAAY,UAAW,YAAY,GAC7DoH,GACE,iBACA,wBACA,+CAIJ5yC,OAAO6C,KAAKwf,KAAKoyB,UAAU5iB,SAASr1B,SACW,IAAlC+pB,GAASlE,KAAKoyB,SAASj4C,GAAG2zB,KAnH7C,SAAuBwkB,GACrB,MAAMlK,EAAU3vC,SAAS4D,cAAc,OACvC+rC,EAAQta,GAAK,UAAUwkB,EAAOxkB,KAC9Bsa,EAAQhmC,MAAMkG,MAAQ,OACtB8/B,EAAQhmC,MAAMmG,OAAS,OACvB6/B,EAAQhmC,MAAMgI,SAAW,WACzBg+B,EAAQhmC,MAAMyU,OAAS,cACvBuxB,EAAQhmC,MAAMuW,UAAY,SAC1ByvB,EAAQhmC,MAAMyW,WAAa,OAC3BuvB,EAAQhmC,MAAMmwC,WAAa,2BAC3BnK,EAAQhmC,MAAM2vB,SAAW,OACzBqW,EAAQhmC,MAAM+U,OAAS,UACvBixB,EAAQhmC,MAAMqV,QAAU,QACE,IAAtBoI,EAAUuoB,UAAeA,EAAQhmC,MAAMqV,QAAU,QACrD2wB,EAAQhmC,MAAMqC,KAAO6tC,EAAO/mC,EAAEnJ,MAAMqC,KACpC2jC,EAAQhmC,MAAMsC,IAAM4tC,EAAO/mC,EAAEnJ,MAAMsC,IACnC0jC,EAAQoK,QAAU,WAChBF,EAAOG,OAETrK,EAAQsK,YAAc,WACpBJ,EAAO/mC,EAAEnJ,MAAMuwC,OACb,gEACFL,EAAO/mC,EAAEnJ,MAAMwwC,aACb,iEAEJxK,EAAQyK,WAAa,WACnBP,EAAO/mC,EAAEnJ,MAAMuwC,OAAS,GACxBL,EAAO/mC,EAAEnJ,MAAMwwC,aAAe,IAGhC1uB,GAASouB,EAAOxkB,IAAMsa,EACtB78B,EAAE,YAAYwK,YAAYqyB,GAqFlB0K,CAAc9yB,KAAKoyB,SAASj4C,QAIlC0zC,KACA5sB,EAA+BE,EACM,IAAjCA,IAAoCkK,GAA4B,IACrC,IAAtBxL,EAAUuoB,SAAiBpnB,GACpCrjB,OAAO6C,KAAK0jB,IAAUsL,SAASr1B,IAC7B+pB,GAAS/pB,GAAGiI,MAAM6U,QAAUyU,GAAwBvxB,GAAGoR,EAAEnJ,MAAM6U,QAC/DiN,GAAS/pB,GAAGiI,MAAM2wC,UAChBrnB,GAAwBvxB,GAAGoR,EAAEnJ,MAAM2wC,UACrC7uB,GAAS/pB,GAAGqD,YAAckF,KAAKoL,KAC7B4d,GAAwBvxB,GAAG64C,KAAOhzB,KAAKuX,QAiF3CzW,KACCd,KAAKizB,cAA2C,YAA3BjzB,KAAKizB,aAAaz4C,QAExCsmB,EACEd,KAAKizB,cAA2C,YAA3BjzB,KAAKizB,aAAaz4C,KACrCsmB,IACF8uB,GAAM,EAAG,gBAAgB,GACzBG,GACElwB,EAAU4pB,gBACV,eACA,iBACA,GAEF8G,GACE,sBACA,uBACA,kDA9CF1vB,IAAyBb,KAAK2d,aAAaQ,SAASN,UACtDhd,EAAuBb,KAAK2d,aAAaQ,SAASN,QAClDlgC,OAAO6C,KAAKwf,KAAKoyB,UAAU5iB,SAASr1B,IAC9B6lB,KAAKoyB,SAASj4C,GAAGk4C,WAAuC,aAA1BryB,KAAKoyB,SAASj4C,GAAGK,OACjD8wB,GAAwBtL,KAAKoyB,SAASj4C,OAG1Cy1C,GAAM,EAAG,YAAY,GACrBG,GAAgBlwB,EAAUkqB,YAAa,WAAY,aAAa,GAChEwG,GACE,kBACA,oBACA,0CAtNFvwB,KAAK2N,QAAQmM,KAAKzL,gBAClBtN,IAAuBf,KAAK2N,QAAQmM,KAAKpM,SAASwlB,WAEvB,IAAvBnyB,GAA4BA,EAAqBmf,KAAKC,QACxDyP,GAAM,EAAG,aAAa,GACtBG,GAAgBlwB,EAAUuqB,aAAc,YAAa,cAAc,IAErErpB,EAAqBf,KAAK2N,QAAQmM,KAAKpM,SAASwlB,UAiKpD,WACE,GACElzB,KAAK2N,QAAQ,gBAAgBU,gBACH,IAA1BxO,EAAUsoB,YACV,CACA,MAAMza,SAAEA,GAAa1N,KAAK2N,QAAQ,gBAC9BD,EAAS4J,MAAQ5J,EAAS4L,OAAQpY,GAAmB,EAC/CA,IACRA,GAAmB,EACnB0uB,GAAM,EAAG,cAAc,GACvBG,GAAgBlwB,EAAU6qB,cAAe,aAAc,eAAe,GACtE6F,GACE,oBACA,mBACA,6CA8NJ4C,GA3IJ,WACE,GAAInzB,KAAKC,WAAa,EAAG,CACvB,IAAImzB,EAAmB,EACvBz1C,OAAO6C,KAAKwf,KAAKyR,WAAWjC,SAASr1B,IACH,IAA5B6lB,KAAKyR,UAAUt3B,GAAGskC,QAAa2U,GAAoB,MAErDA,EAAmBhyB,GACrBA,EAAoBgyB,EAElBA,IAAqBpzB,KAAKqzB,mBAC1BxzB,EAAUqrB,iBAEV0E,GAAM,EAAG,oBAAoB,GAE7BA,GAAM,EAAG,iBAAiB,GAG1BwD,IAAqBpzB,KAAKqzB,mBAC1BxzB,EAAUurB,iBAEV2E,GACElwB,EAAUyrB,oBACV,mBACA,qBACA,GAGFyE,GACElwB,EAAUmrB,iBACV,gBACA,kBACA,GAIFoI,IAAqBpzB,KAAKqzB,mBAC1BxzB,EAAUorB,wBAEVsF,GACE,0BACA,4BACA,sDAGFA,GACE,uBACA,sBACA,gCAIJnvB,EAAoBgyB,GAyFtBE,IAaJ,SAASC,KACP,IAAIh4C,EAAM,GACV,IAAK,IAAIpB,EAAI,EAAGA,EAAIooB,EAAgBnoB,OAAQD,IAC1CoB,GAAO,UAAoBgnB,EAAgBpoB,eACzC0lB,EAAU,SAAS0C,EAAgBpoB,aAGvC,IAAK,IAAIA,EAAI,EAAGA,EAAIooB,EAAgBnoB,OAAQD,IAC1CoB,GAAO,UAAoBgnB,EAAgBpoB,0BACzC0lB,EAAU,SAAS0C,EAAgBpoB,aAGvC,IAAK,IAAIA,EAAI,EAAGA,EAAIooB,EAAgBnoB,OAAQD,IAC1CoB,GAAO,YAAsBgnB,EAAgBpoB,0BAC3C0lB,EAAU,SAAS0C,EAAgBpoB,aAGvCoR,EAAE,SAAS/N,YAAcjC,EACzB8zB,KAmBF,SAASmkB,KACP,MAAMC,EAAaC,YACjBC,SAASC,aAAaC,QAAQ,sBAAsB7yC,MAAM,SAAS,IAE/D8yC,EAAoBL,EAAW54C,MAAM,wBAC3C,GAA0B,OAAtBi5C,EAA4B,CAC9B,MAAMC,EAAgBN,EAAW1yC,QAC/B+yC,EAAkB,GAClB,iBAAiBjF,QAEnB+E,aAAaI,QACX,oBACAlV,OAAO,GAAGmV,YAAYF,aAS5B,SAASG,GAAWlF,GAKlB,QAHqC,IAA1B4E,aAAaO,iBACfP,aAAaO,cAEL55C,IAAby0C,EAAwB,CAC1BnvB,EAAYmvB,OAEoB,IAArBnvB,EAAUu0B,eACZv0B,EAAUu0B,YAEc,IAAtBv0B,EAAU+rB,gBACZ/rB,EAAU+rB,QAInB,IAAIyI,GAAM,EACV12C,OAAO6C,KAAKunC,IAAiBvY,SAASr1B,SACR,IAAjB0lB,EAAU1lB,IACnBk6C,GAAM,EACNx0B,EAAU1lB,GAAK4tC,GAAgB5tC,IAChB,WAANA,GACTwD,OAAO6C,KAAKunC,GAAgByD,QAAQhc,SAASmB,SAEd,IAApB9Q,EAAU1lB,GAAGw2B,IAClB9Q,EAAU1lB,GAAGw2B,IAAM,GAAK9Q,EAAU1lB,GAAGw2B,GAAK,IAE5C0jB,GAAM,EACNx0B,EAAU1lB,GAAGw2B,GAAKoX,GAAgB5tC,GAAGw2B,UAKzC0jB,GAAKb,KACT3C,KACAlzC,OAAO6C,KAAKunC,IAAiBvY,SAASr1B,IAC1B,WAANA,QAAkD,IAAzBu0C,GAAav0C,GAAG+E,MAC3CwvC,GAAav0C,GAAG+E,eAKpBg1C,GAAWnM,IAEb/nB,KAAKof,aACLmU,KAkJF,SAASe,KACP32C,OAAO6C,KAAKwf,KAAKyR,WAAWjC,SAASr1B,IAC/B6lB,KAAKyR,UAAUt3B,GAAG6kC,OAAS,GAAgC,IAA3Bhf,KAAKyR,UAAUt3B,GAAGK,OACpDwlB,KAAKyR,UAAUt3B,GAAGo6C,GAAK,MA6C7B,SAASC,GAAch6C,EAAMkE,GAC3B,GAAa,MAATlE,EAAc,CAIhB,GAFA+Q,EAAE,WAAWoM,UAAYqI,KAAK2N,QAAQjvB,GAAMm4B,UAEd,IAA1BhX,EAAU0oB,YAAmB,CAC/B,MAAMkM,EAAa3S,GACjB9hB,KAAK2N,QAAQjvB,GACbshB,KAAK2N,QAAQjvB,GAAM+vB,UACnB,EACAzO,KAAK2N,QAAQjvB,GAAMgwB,KACnB1O,KAAK2N,QAAQjvB,GAAMiwB,QAEf+lB,EAAiBD,EAAaz0B,KAAK2N,QAAQjvB,GAAM63B,aACnDme,EAAiB,IACnBnpC,EAAE,WAAWoM,UAAYpM,EAAE,WACxBoM,UAAU3W,MAAM,gBAChB6C,KACC,wBAAwBwgB,GAA4BqwB,UACnB,IAA/BhyC,KAAKkE,MAAM8tC,GAAwB,SAAW,+BAE9C5uB,IACG2uB,EAAaz0B,KAAK2N,QAAQjvB,GAAM63B,eAC9BvW,KAAK2N,QAAQjvB,GAAMi2C,eAAiB30B,KAAK40B,gBAC5C7uB,iBAKU,IAAlB/F,KAAKsP,UASP/jB,EAAE,WAAWoM,UAAYpM,EAAE,WACxBoM,UAAU3W,MAAMqjB,GAA4BrE,KAAK2N,QAAQjvB,GAAM00B,YAC/DvvB,KACCwgB,IACGrE,KAAK2N,QAAQjvB,GACdshB,KAAK2N,QAAQjvB,GAAM+vB,UACnBzO,KAAK2N,QAAQjvB,GAAMiwB,OACnB3O,KAAK2N,QAAQjvB,GAAMgwB,KACnB1O,KAAKiP,QACL,WAIH,GAAa,MAATz0B,EAAc,CAEvB,IAAKwlB,KAAKwQ,gBAAgB9xB,GAAO,MAAO,GACxC6M,EAAE,WAAWoM,UAAYqI,KAAK60B,aAC5B70B,KAAKwQ,gBAAgB9xB,GACrB,aAEgB,MAATlE,EAAc+Q,EAAE,WAAWoM,UAAYqI,KAAK80B,cAErC,MAATt6C,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAK2N,QAAQ,gBAAgBD,SAASqnB,aAC7Dr2C,EADuBshB,GAIT,MAATxlB,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAKykB,YAAY,GAAG/W,SAASsnB,YACpDt2C,EAAK,GACLA,EAAK,GAFkBshB,GAKT,OAATxlB,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAKykB,YAAY,GAAG/W,SAASunB,YAAY,EAAzCj1B,GACT,OAATxlB,EAAe+Q,EAAE,WAAWoM,UAAY,GAC/B,QAATnd,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAK2N,QAAQF,OAAOC,SAASwnB,WAAWx2C,EAAxCshB,GACT,QAATxlB,IACP+Q,EAAE,WAAWoM,UAAYqI,KAAK2N,QAAQF,OAAOC,SAASynB,YACpDz2C,EAAK,GADkBshB,IAK3B,GACY,MAATxlB,GAAiC,IAAjBwlB,KAAKsP,SACb,MAAT90B,GACS,MAATA,GACS,MAATA,GACU,MAATA,IAAiBwlB,KAAKxf,KAAK,KACnB,OAAThG,GACS,OAATA,GACS,QAATA,GACU,QAATA,IAA+B,IAAbkE,EAAK,GACxB,CACA,MAAM02C,EAAO38C,SAAS4D,cAAc,OACpC+4C,EAAKtnB,GAAK,gBACVviB,EAAE,WAAWwK,YAAYq/B,GAS3B,OALAvxB,GAAcrpB,EACdspB,GAAcplB,EAEdm5B,KAEOtsB,EAAE,WAAWoM,UA6GtB,SAAS09B,KACHr1B,KAAK2N,QAAQ,gBAAgBU,gBAC/B1wB,OAAO6C,KAAKwf,KAAK2N,QAAQ,gBAAgBD,SAAS0L,YAAY5J,SAC3Dr1B,IAC4C,OAAvCoR,EAAE,gBAAgBpR,KAAKu4C,cACzBjxB,EAAsBtnB,GAAKoR,EAAE,gBAAgBpR,KAAKu4C,YAClDnnC,EAAE,gBAAgBpR,KAAKu4C,YAAc,WACnC1yB,KAAK6W,QAAQye,QAAU,EACvBt1B,KAAK6W,QAAQllB,KACX9Y,MACA,WACE,OAAO27C,GAAc,IAAK,GAAGr6C,OAE/B,QAEF6lB,KAAK6W,QAAQ0e,cAoBzB,SAASC,KACP,IACG70B,GACDX,KAAK2N,QAAQ,gBAAgBU,eAC7B,CACA,MAAMX,SAAEA,GAAa1N,KAAK2N,QAAQ,gBAClClN,EAAqBiN,EAAS/b,KAC9BqO,KAAK2N,QAAQ,gBAAgBD,SAAS/b,KAAO,WAC3C8O,IAC8B,IAA1BZ,EAAUsoB,aAAqBza,EAAS4J,MAAQ5J,EAAS4L,SAC3D5L,EAAS+nB,cAAc99B,WAAa,KAAK8N,GACvCyR,GACExJ,EAAS4J,MACT5J,EAAS4L,OACT5L,EAAS4L,cAKjB3Y,GAA+B,GAkCnC,SAAS+0B,MA3BT,WACE,IACGh1B,GACDV,KAAK2N,QAAQ,gBAAgBU,eAC7B,CACA,MAAMX,SAAEA,GAAa1N,KAAK2N,QAAQ,gBAClCpN,EAAuBmN,EAASioB,OAChCn1B,EAA0B,IAAI5kB,SAC5B,UAAU8xB,EAASioB,OAChB/yC,WACA5B,MAAM,SACN6C,KAAK,8CAEVmc,KAAK2N,QAAQ,gBAAgBD,SAASioB,OAAS,WAC7Cn1B,IACA60B,KACA10B,GAA+B,EAC/B60B,KAEA90B,GAAiC,IASrCk1B,GACAJ,KAiJF,IAAIt8C,GAAUkmB,EAAoB,KAC9By2B,GAA+Bz2B,EAAoBhiB,EAAElE,IA+OzD,MAAM48C,GAA6B,WA8BnC,SAASC,GAAmBlG,GACG,OAAzBtkC,EAAE,SAASskC,OACbtkC,EAAE,SAASskC,UAAel4B,UAAY,GAAGpM,EAAE,SAASskC,KAAUtyC,SAC9DsiB,EAAUgwB,GAAUntC,KAAKC,MAAM4I,EAAE,SAASskC,KAAUtyC,QAEtDi2C,KAQF,SAASwC,GAAanG,GACpBhwB,EAAU2rB,OAAOqE,IAAW,EACxBhwB,EAAU2rB,OAAOqE,GAAU,IAAGhwB,EAAU2rB,OAAOqE,GAAU,GAC7D2D,KAiBF,SAASyC,GAAYlwB,EAAM8pB,GACzB,MAAMhf,EAAMp4B,SAAS4D,cAAc,OACnCw0B,EAAIj2B,UAAY,QAChBi2B,EAAIzuB,MAAMwK,QAAU,WACpBikB,EAAIzuB,MAAM6U,QAAU,MACpB4Z,EAAIzuB,MAAM2vB,SAAW,OACrBlB,EAAIzuB,MAAMmwC,WAAa,2BACvB1hB,EAAI9a,YAAYtd,SAASqgB,eAAe,GAAGiN,OAC3C,MAAMmwB,EAAOz9C,SAAS4D,cAAc,QAiBpC,OAhBA65C,EAAK9zC,MAAM+U,OAAS,UACpB++B,EAAK9zC,MAAMqV,QAAU,eACrBy+B,EAAK9zC,MAAMmG,OAAS,OACpB2tC,EAAK9zC,MAAMkG,MAAQ,OACnB4tC,EAAK9zC,MAAMsU,aAAe,MAC1Bw/B,EAAK9zC,MAAMuW,UAAY,SACvBu9B,EAAK9zC,MAAM4U,gBAAkB,UAC7Bk/B,EAAK9zC,MAAM2F,MAAQ,QACnBmuC,EAAK9zC,MAAM2vB,SAAW,OACtBmkB,EAAK9zC,MAAM6vB,cAAgB,SAC3BikB,EAAK14C,YAAcqiB,EAAU2rB,OAAOqE,GAAU,IAAM,IACpDqG,EAAK1D,QAAU,WACbwD,GAAanG,GACb7vB,KAAKof,cAEPvO,EAAI9a,YAAYmgC,GACTrlB,EAYT,SAASslB,GAAa37C,EAAMkE,EAAMqnB,EAAM4Y,GACtC,MAAM9N,EAAMp4B,SAAS4D,cAAc,OACnCw0B,EAAIj2B,UAAY,UAEhB,MAAMw7C,EAAc39C,SAAS4D,cAAc,KAG3C,GAFA+5C,EAAY54C,YAAckB,EAC1BmyB,EAAI9a,YAAYqgC,GACH,gBAAT57C,EAAwB,CAC1Bq2B,EAAIj2B,UAAY,UAChBi2B,EAAI9a,YAAYtd,SAASqgB,eAAe,MAExC,MAAM+d,EAAUp+B,SAAS4D,cAAc,QACvCw6B,EAAQgc,WAAa,WACnB7yB,KAAK6W,QAAQ1lB,QAEf0lB,EAAQ6b,YAAc,WACpB1yB,KAAK6W,QAAQllB,KACX9Y,KACAimC,OAAOrc,EAAsBkc,GAAahnB,aAG9Ckf,EAAQz0B,MAAM+U,OAAS,UACvB0f,EAAQz0B,MAAMqV,QAAU,eACxBof,EAAQz0B,MAAMmG,OAAS,OACvBsuB,EAAQz0B,MAAMkG,MAAQ,OACtBuuB,EAAQz0B,MAAMsU,aAAe,MAC7BmgB,EAAQz0B,MAAMuW,UAAY,SAC1Bke,EAAQz0B,MAAM4U,gBAAkB,UAChC6f,EAAQz0B,MAAM2F,MAAQ,QACtB8uB,EAAQz0B,MAAM2vB,SAAW,MACzB8E,EAAQz0B,MAAM6vB,cAAgB,SAC9B4E,EAAQr5B,YAAc,IACtBqzB,EAAI9a,YAAY8gB,GAIlB,OAFAhG,EAAI9a,YAAYtd,SAASqgB,eAAe,OACxC+X,EAAI9a,YAAYgQ,GACT8K,EAQT,SAASwlB,GAAcC,GACrB,MAAMC,EAAO99C,SAAS+9C,yBACtBD,EAAKxgC,YAAYtd,SAASqgB,eAAe,GAAGw9B,EAAYl8C,YACxD,MAAM87C,EAAOz9C,SAAS4D,cAAc,QACpC65C,EAAKrD,WAAa,WAChB7yB,KAAK6W,QAAQ1lB,QAEf,MAAMwtB,EAAclmC,SAAS4D,cAAc,OACrCo6C,EAAUh+C,SAAS4D,cAAc,OACvCo6C,EAAQr0C,MAAMy8B,SAAW,QACzB4X,EAAQr0C,MAAM20B,aAAe,MAC7B,MAAM0Z,EAAQh4C,SAAS4D,cAAc,OA4BrC,OA3BAo0C,EAAM71C,UAAY,OAClB61C,EAAMruC,MAAM20B,aAAe,MAC3B0Z,EAAMruC,MAAMuW,UAAY,SACxB83B,EAAMjzC,YAAc,UACpBi5C,EAAQ1gC,YAAY06B,GACpB9yC,OAAO6C,KAAK81C,GAAa9mB,SAASr1B,IAChC,MAAM02B,EAAMp4B,SAAS4D,cAAc,OACnCw0B,EAAIzuB,MAAMuW,UAAY,SACtBkY,EAAI9a,YAAYtd,SAASqgB,eAAew9B,EAAYn8C,KACpDs8C,EAAQ1gC,YAAY8a,MAEtB8N,EAAY5oB,YAAY0gC,GACxBP,EAAKxD,YAAc,WACjB1yB,KAAK6W,QAAQllB,KAAK9Y,KAAMimC,OAAOH,EAAYhnB,aAE7Cu+B,EAAK9zC,MAAM+U,OAAS,UACpB++B,EAAK9zC,MAAMqV,QAAU,eACrBy+B,EAAK9zC,MAAMmG,OAAS,OACpB2tC,EAAK9zC,MAAMkG,MAAQ,OACnB4tC,EAAK9zC,MAAMsU,aAAe,MAC1Bw/B,EAAK9zC,MAAMuW,UAAY,SACvBu9B,EAAK9zC,MAAM4U,gBAAkB,UAC7Bk/B,EAAK9zC,MAAM2F,MAAQ,QACnBmuC,EAAK9zC,MAAM2vB,SAAW,MACtBmkB,EAAK9zC,MAAM6vB,cAAgB,SAC3BikB,EAAK14C,YAAc,IACnB+4C,EAAKxgC,YAAYmgC,GACVK,EAgjCT,SAASG,GAAajG,GACpB,MAAMkG,EAAQl+C,SAAS4D,cAAc,OAiCrC,GAhCAs6C,EAAM/7C,UAAY,aAClB+7C,EAAM5gC,YAAY06B,GAElBkG,EAAM5gC,YAAYkgC,GAAY,gBAAiB,UAC3Cp2B,EAAU2rB,OAAOkB,OACnBiK,EAAM5gC,YAjiCV,WAEE,MAAM6gC,EAAkB52B,KAAKsjB,SAAS,oBAClC,2CACA,6BAEEuT,EAAUp+C,SAAS4D,cAAc,OACvCw6C,EAAQj8C,UAAY,sBAEpB,MAAMk8C,EACJ92B,KAAKqT,QAAU3B,KAAuBlJ,GAAatG,EAAYH,EAC3Dg1B,EACJ/2B,KAAKqT,QAAU3B,KAAuBlJ,GAClC/C,IACG+C,IAAcxI,KAAKqT,QAAU3B,OAAyBN,MAEzD,GACA4lB,EAAev+C,SAAS+9C,yBACxBS,EAAex+C,SAAS4D,cAAc,QAK5C,GAJA46C,EAAa70C,MAAMu0B,WAAa,OAChCsgB,EAAar8C,UAAYgnB,EAAgBk1B,EACzCG,EAAaz5C,YAAc6mB,GAA4BmE,IACvDwuB,EAAajhC,YAAYkhC,GACP,KAAdF,EAAkB,CACpB,MAAMG,EAAgBz+C,SAAS4D,cAAc,SAC7C66C,EAAc15C,YAAc,KAAKu5C,KACjCC,EAAajhC,YAAYmhC,GAE3BL,EAAQ9gC,YACNogC,GACE,cACA,4BACAa,EACAJ,IAIJ,MAAMO,EACJn3B,KAAKqT,QAAU3B,KAAuB/I,GAClCzG,EACAH,EACAq1B,EACJp3B,KAAKqT,QAAU3B,KAAuB/I,GAClClD,IACGkD,IAAoB3I,KAAKqT,QAAU3B,OAAyBN,MAE/D,GACAimB,EAAmB5+C,SAAS+9C,yBAC5Bc,EAAmB7+C,SAAS4D,cAAc,QAKhD,GAJAi7C,EAAiBl1C,MAAMu0B,WAAa,OACpC2gB,EAAiB18C,UAAYgnB,EAAgBu1B,EAC7CG,EAAiB95C,YAAc6mB,GAA4BsE,IAC3D0uB,EAAiBthC,YAAYuhC,GACL,KAApBF,EAAwB,CAC1B,MAAMG,EAAoB9+C,SAAS4D,cAAc,SACjDk7C,EAAkB/5C,YAAc,KAAK45C,KACrCC,EAAiBthC,YAAYwhC,GAE/BV,EAAQ9gC,YACNogC,GACE,cACA,qCACAkB,EACAT,IAIJ,MAAMY,EAAa/uB,KAAqBC,GAElC+uB,EAAqBh/C,SAAS4D,cAAc,QAClDo7C,EAAmBr1C,MAAMu0B,WAAa,OACtC8gB,EAAmB78C,UAAYgnB,EAAgB6G,GAC/CgvB,EAAmBj6C,YACjB6mB,GAA4BoE,KAC3B+uB,EAAa,MAAMnzB,GAA4BqE,MAA2B,IAC7EmuB,EAAQ9gC,YACNogC,GACE,cACA,yBAAwBqB,EAAa,oBAAsB,IAC3DC,EACAb,IAIJ,MAAMc,EAA2Bj/C,SAAS4D,cAAc,QACxDq7C,EAAyBt1C,MAAMu0B,WAAa,OAC5C+gB,EAAyB98C,UAAYgnB,EAAgB81B,EACrDA,EAAyBl6C,YACvB6mB,GAA4BuE,KAC3B4uB,EAAa,MAAMnzB,GAA4BwE,MAAiC,IACnFguB,EAAQ9gC,YACNogC,GACE,cACA,kCAAiCqB,EAAa,oBAAsB,IACpEE,EACAd,IAIJ,MAAMe,EACJj1C,KAAK2D,IACqC,KAAvC2Z,KAAKqT,QAAU3B,MAChBxI,GAA6BC,GAAoC,GAAK,IACpE,GACAyuB,EAAen/C,SAAS4D,cAAc,QAc5C,OAbAu7C,EAAax1C,MAAMu0B,WAAa,OAChCihB,EAAah9C,UAAYgnB,EAAgBg2B,EACzCA,EAAap6C,YACX6mB,GAA4B+E,GAAyBuuB,IACpDH,EAAa,MAAMnzB,GAA4BgF,GAAwBsuB,KAAkB,IAC5Fd,EAAQ9gC,YACNogC,GACE,cACA,yBAAwBqB,EAAa,oBAAsB,IAC3DI,EACAhB,IAGGC,EA26BagB,IAGpBlB,EAAM5gC,YAAYkgC,GAAY,gBAAiB,UAC3Cp2B,EAAU2rB,OAAOmB,OACnBgK,EAAM5gC,YAz6BV,WAEE,MAAM6gC,EAAkB52B,KAAKsjB,SAAS,oBAClC,2CACA,6BAEEuT,EAAUp+C,SAAS4D,cAAc,OACvCw6C,EAAQj8C,UAAY,sBAEpB,MAAMk9C,EACJ93B,KAAKqT,QAAU3B,KAAuBnH,GAClCrI,EACAH,EACAg2B,EACJ/3B,KAAKqT,QAAU3B,KAAuBnH,GAClC9E,IACG8E,IAAsBvK,KAAKqT,QAAU3B,OACpCN,MAEJ,GACA4mB,EAAev/C,SAAS+9C,yBACxByB,EAAex/C,SAAS4D,cAAc,QAK5C,GAJA47C,EAAa71C,MAAMu0B,WAAa,OAChCshB,EAAar9C,UAAYgnB,EAAgBk2B,EACzCG,EAAaz6C,YAAc6mB,GAA4BkG,IACvDytB,EAAajiC,YAAYkiC,GACP,KAAdF,EAAkB,CACpB,MAAMG,EAAgBz/C,SAAS4D,cAAc,SAC7C67C,EAAc16C,YAAc,KAAKu6C,KACjCC,EAAajiC,YAAYmiC,GAE3BrB,EAAQ9gC,YACNogC,GACE,cACA,2BACA6B,EACApB,IAIJ,MAAMuB,EACJn4B,KAAKqT,QAAU3B,KAAuBhH,GAClCxI,EACAH,EACAq2B,EACJp4B,KAAKqT,QAAU3B,KAAuBhH,GAClCjF,IACGiF,IAA2B1K,KAAKqT,QAAU3B,OACzCN,MAEJ,GACAinB,EAAoB5/C,SAAS+9C,yBAC7B8B,EAAoB7/C,SAAS4D,cAAc,QAKjD,GAJAi8C,EAAkBl2C,MAAMu0B,WAAa,OACrC2hB,EAAkB19C,UAAYgnB,EAAgBu2B,EAC9CG,EAAkB96C,YAAc6mB,GAA4BqG,IAC5D2tB,EAAkBtiC,YAAYuiC,GACP,KAAnBF,EAAuB,CACzB,MAAMG,EAAqB9/C,SAAS4D,cAAc,SAClDk8C,EAAmB/6C,YAAc,KAAK46C,KACtCC,EAAkBtiC,YAAYwiC,GAEhC1B,EAAQ9gC,YACNogC,GACE,cACA,mCACAkC,EACAzB,IAIJ,MAAM4B,EACJx4B,KAAKqT,QAAU3B,KAAuB7G,GAClC3I,EACAH,EACA02B,EACJz4B,KAAKqT,QAAU3B,KAAuB7G,GAClCpF,IACGoF,IAA4B7K,KAAKqT,QAAU3B,OAC1CN,MAEJ,GACAsnB,EAAmBjgD,SAAS+9C,yBAC5BmC,EAAmBlgD,SAAS4D,cAAc,QAKhD,GAJAs8C,EAAiBv2C,MAAMu0B,WAAa,OACpCgiB,EAAiB/9C,UAAYgnB,EAAgB42B,EAC7CG,EAAiBn7C,YAAc6mB,GAA4BwG,IAC3D6tB,EAAiB3iC,YAAY4iC,GACL,KAApBF,EAAwB,CAC1B,MAAMG,EAAoBngD,SAAS4D,cAAc,SACjDu8C,EAAkBp7C,YAAc,KAAKi7C,KACrCC,EAAiB3iC,YAAY6iC,GAE/B/B,EAAQ9gC,YACNogC,GACE,cACA,oCACAuC,EACA9B,IAIJ,MAAMiC,EACJ74B,KAAKqT,QAAU3B,KAAuB1G,GAClC9I,EACAH,EACA+2B,EACJ94B,KAAKqT,QAAU3B,KAAuB1G,GAClCvF,IACGuF,IACEhL,KAAKqT,QAAU3B,OAChBN,MAEJ,GACA2nB,EAAwBtgD,SAAS+9C,yBACjCwC,EAAwBvgD,SAAS4D,cAAc,QAKrD,GAJA28C,EAAsB52C,MAAMu0B,WAAa,OACzCqiB,EAAsBp+C,UAAYgnB,EAAgBi3B,EAClDG,EAAsBx7C,YAAc6mB,GAA4B2G,IAChE+tB,EAAsBhjC,YAAYijC,GACL,KAAzBF,EAA6B,CAC/B,MAAMG,EAAyBxgD,SAAS4D,cAAc,SACtD48C,EAAuBz7C,YAAc,KAAKs7C,KAC1CC,EAAsBhjC,YAAYkjC,GAEpCpC,EAAQ9gC,YACNogC,GACE,cACA,4CACA4C,EACAnC,IAIJC,EAAQ9gC,YACNogC,GACE,cACA,wCACA19C,SAASqgB,eACP,GAAGuL,GAA4BoG,GAAoB,SAASpG,GAC1DuG,GAAyB,OAG7BgsB,IAIJC,EAAQ9gC,YACNogC,GACE,cACA,iDACA19C,SAASqgB,eACP,GAAGuL,GAA4B0G,GAA0B,SAAS1G,GAChE0G,GAA0B,OAG9B6rB,IAIJ,MAAMsC,EAAcx2C,KAAK2D,IACN,GAAjB2Z,KAAKuR,UAAiB,GAAK,EAAIpI,GAChB,GAAfnJ,KAAKqT,SAED8lB,EAAWpT,GACf,EACAmT,EACA9vB,IACA,GACIgwB,EAAgBrT,GACpB,EACAmT,EACA7vB,IACA,GAoCF,OAnCAwtB,EAAQ9gC,YACNogC,GACE,cACA,wCACA19C,SAASqgB,eACP,GAAGuL,GAA4B80B,QAAe90B,GAA4B+0B,MAE5ExC,IAIJC,EAAQ9gC,YACNogC,GACE,cACA,oCACA19C,SAASqgB,eACP,GAAGuL,GAA4BmG,SAA6BnG,GAC1DsG,OAGJ,8BAGJksB,EAAQ9gC,YACNogC,GACE,cACA,6CACA19C,SAASqgB,eACP,GAAGuL,GAA4ByG,SAAmCzG,GAChE4G,OAGJ,8BAGG4rB,EAwtBawC,IAGhBr5B,KAAK2N,QAAQ,gBAAgBU,iBAC/BsoB,EAAM5gC,YAAYkgC,GAAY,SAAU,WACpCp2B,EAAU2rB,OAAOoB,QACnB+J,EAAM5gC,YAvtBZ,WACE,MAAM8gC,EAAUp+C,SAAS4D,cAAc,OACvCw6C,EAAQj8C,UAAY,uBAEpB,MAAM0+C,EACJt5B,KAAKqT,QAAU3B,KAAuB5I,GAClC5G,EACAH,EACAw3B,EACJv5B,KAAKqT,QAAU3B,KAAuB5I,GAClCrD,IACGqD,IAAgB9I,KAAKqT,QAAU3B,OAAyBN,MAE3D,GAEAooB,EAAiB/gD,SAAS+9C,yBAC1BiD,EAAiBhhD,SAAS4D,cAAc,QAK9C,GAJAo9C,EAAer3C,MAAMu0B,WAAa,OAClC8iB,EAAe7+C,UAAYgnB,EAAgB03B,EAC3CG,EAAej8C,YAAc6mB,GAA4ByE,IACzD0wB,EAAezjC,YAAY0jC,GACP,KAAhBF,EAAoB,CACtB,MAAMG,EAAkBjhD,SAAS4D,cAAc,SAC/Cq9C,EAAgBl8C,YAAc,KAAK+7C,KACnCC,EAAezjC,YAAY2jC,GAE7B7C,EAAQ9gC,YACNogC,GACE,cACA,yCACAqD,EACA,+BAGJ3C,EAAQ9gC,YACNogC,GACE,cACA,qCACA19C,SAASqgB,eAAeuL,GAA4B0E,KACpD,+BAIJ,MAAM4wB,EACJ35B,KAAKqT,QAAU3B,KAAsC,EAAf5I,GAClC5G,EACAH,EACA63B,EAAmBl3C,KAAK2D,IACY,KAAvC2Z,KAAKqT,QAAU3B,MACa,GAA7BxI,GAAkC,IAE9B2wB,EACJ75B,KAAKqT,QAAU3B,KAAsC,EAAf5I,GAClCrD,IACkB,EAAfqD,IAAoB9I,KAAKqT,QAAU3B,OAAyBN,MAE/D,GAEA0oB,EAAuBrhD,SAAS+9C,yBAChCuD,EAAuBthD,SAAS4D,cAAc,QAKpD,GAJA09C,EAAqB33C,MAAMu0B,WAAa,OACxCojB,EAAqBn/C,UAAYgnB,EAAgB+3B,EACjDI,EAAqBv8C,YAAc6mB,GAA2C,EAAfyE,IAC/DgxB,EAAqB/jC,YAAYgkC,GACP,KAAtBF,EAA0B,CAC5B,MAAMG,EAAwBvhD,SAAS4D,cAAc,SACrD29C,EAAsBx8C,YAAc,KAAKq8C,KACzCC,EAAqB/jC,YAAYikC,GAsCnC,OApCAnD,EAAQ9gC,YACNogC,GACE,cACA,kDACA2D,EACA,+BAGJjD,EAAQ9gC,YACNogC,GACE,cACA,8CACA19C,SAASqgB,eAAeuL,GAAiD,EAArB0E,KACpD,+BAGJ8tB,EAAQ9gC,YACNogC,GACE,cACA,qCACA19C,SAASqgB,eAAeuL,GAA4Bu1B,IACpD,+BAGA5wB,IACF6tB,EAAQ9gC,YACNogC,GACE,cACA,mEACA19C,SAASqgB,eACP,GAAGuL,GAA4B2E,QAAkBC,OAEnD,+BAIC4tB,EA8mBeoD,KAIlBj6B,KAAK2N,QAAQmM,KAAKzL,iBACpBsoB,EAAM5gC,YAAYkgC,GAAY,SAAU,WACpCp2B,EAAU2rB,OAAOqB,QACnB8J,EAAM5gC,YA9mBZ,WACE,MAAM8gC,EAAUp+C,SAAS4D,cAAc,OACvCw6C,EAAQj8C,UAAY,uBAEpB,MAAMs/C,EACJl6B,KAAKqT,QAA2B,GAAjBrT,KAAKuR,UAAiB,GAAK,IAAMrP,EAAYH,EACxDo4B,EAAgB1hD,SAAS4D,cAAc,QAC7C89C,EAAc/3C,MAAMu0B,WAAa,OACjCwjB,EAAcv/C,UAAYgnB,EAAgBs4B,EAC1CC,EAAc38C,YAAc6mB,GAA6C,GAAjBrE,KAAKuR,UAAiB,GAAK,KACnFslB,EAAQ9gC,YACNogC,GACE,QACA,iDACAgE,IAIJ,MAAMC,EACJp6B,KAAKqT,QAA2B,GAAjBrT,KAAKuR,UAAiB,IAAMrP,EAAYH,EACnDs4B,EAAgB5hD,SAAS4D,cAAc,QAC7Cg+C,EAAcj4C,MAAMu0B,WAAa,OACjC0jB,EAAcz/C,UAAYgnB,EAAgBw4B,EAC1CC,EAAc78C,YAAc6mB,GAA6C,GAAjBrE,KAAKuR,UAAiB,KAC9EslB,EAAQ9gC,YACNogC,GACE,QACA,iDACAkE,IAIJ,MAAMC,EACJt6B,KAAKqT,QAA2B,GAAjBrT,KAAKuR,UAAiB,GAAK,GAAKrP,EAAYH,EACvDw4B,EAAgB9hD,SAAS4D,cAAc,QAC7Ck+C,EAAcn4C,MAAMu0B,WAAa,OACjC4jB,EAAc3/C,UAAYgnB,EAAgB04B,EAC1CC,EAAc/8C,YAAc6mB,GAA6C,GAAjBrE,KAAKuR,UAAiB,GAAK,IACnFslB,EAAQ9gC,YACNogC,GACE,QACA,iDACAoE,IAIJ,MAAMC,EACJx6B,KAAKqT,QAA2B,GAAjBrT,KAAKuR,UAAiB,GAAK,IAAMrP,EAAYH,EACxD04B,EAAgBhiD,SAAS4D,cAAc,QAC7Co+C,EAAcr4C,MAAMu0B,WAAa,OACjC8jB,EAAc7/C,UAAYgnB,EAAgB44B,EAC1CC,EAAcj9C,YAAc6mB,GAA6C,GAAjBrE,KAAKuR,UAAiB,GAAK,KACnFslB,EAAQ9gC,YACNogC,GACE,QACA,iDACAsE,IAGJ,MAAMC,EAAoB,GAe1B,OAdA/8C,OAAO6C,KAAKyjC,IAAYzU,SAASr1B,IAC1B6lB,KAAKihB,YAAYgD,GAAW9pC,KAC/BugD,EAAkBz+C,KAAKgoC,GAAW9pC,OAGL,IAA7BugD,EAAkBtgD,QACpBy8C,EAAQ9gC,YACNogC,GACE,QACA,kCACAE,GAAcqE,KAIb7D,EAoiBe8D,KAItBhE,EAAM5gC,YAAYkgC,GAAY,WAAY,aACtCp2B,EAAU2rB,OAAOsB,UACnB6J,EAAM5gC,YAniBV,WACE,MAAM8gC,EAAUp+C,SAAS4D,cAAc,OACvCw6C,EAAQj8C,UAAY,yBAEpB,MAAMggD,EAAkBl4C,KAAKkE,MAC3BoZ,KAAK2mB,gBACHxb,GACEnL,KAAK4mB,aACL/c,IACC7J,KAAKihB,YAAY,mBAAqBjhB,KAAK8d,IAAI,iBAC5CrU,GACA,KAGVotB,EAAQ9gC,YACNogC,GACE,cACA,6BACA19C,SAASqgB,eACP,GAAGuL,GAA4BrE,KAAKsW,eAAejS,GAA4Bu2B,MAEjF,+BAIJ,MAAMC,EAAan4C,KAAK6D,IACtB,EACAyZ,KAAKkyB,oBAAoB0I,EAAkB,IACxCzvB,GACCnL,KAAK4mB,aACL/c,IAEE7J,KAAKihB,YAAY,mBAAqBjhB,KAAK8d,IAAI,kBAC3CrU,GAGFA,GACA,KAEJqxB,EAAkBriD,SAAS+9C,yBACjCsE,EAAgB/kC,YAAYtd,SAASqgB,eAAeuL,GAA4Bw2B,KAChF,MAAME,EAAmBtiD,SAAS4D,cAAc,SAChD0+C,EAAiBv9C,YAAc,KAAKioB,GAClCo1B,EAAazvB,GACb,MAEF0vB,EAAgB/kC,YAAYglC,GAC5BlE,EAAQ9gC,YACNogC,GACE,cACA,wBACA2E,EACA,gCAIJjE,EAAQ9gC,YACNogC,GACE,cACA,6BACA19C,SAASqgB,eACP,GAAGuL,GAA4BrE,KAAKg7B,oBAAoB32B,GACtDu2B,EAAkB56B,KAAKsW,SAAWtW,KAAKg7B,kBAG3C,oCAIJnE,EAAQ9gC,YACNogC,GACE,QACA,6CACA19C,SAASqgB,eAAeuL,GAA4BiF,GAAkB,MAI1E,MAAM2xB,EAAWn2B,OAAOjF,EAAU8oB,qBAClC,IAAK7jB,OAAOrJ,MAAMw/B,GAAW,CAC3B,MAAMC,EACJD,EACAv4C,KAAKkE,MAAMoZ,KAAK2mB,gBAAgB3mB,KAAK4mB,aAAe5mB,KAAKqgB,gBACvD6a,EAAoB,IACtBrE,EAAQ9gC,YACNogC,GACE,QACA,iDACA19C,SAASqgB,eAAeuL,GAA4B62B,MAGxDrE,EAAQ9gC,YACNogC,GACE,QACA,mDACA19C,SAASqgB,eACP2M,GAAWy1B,EAAoB5xB,QAOzC,MAAM6xB,EAr6BR,SAAoBC,GAElB,IAAIC,EAASr7B,KAAKuR,UAElB0E,KAE2C,IAAvCzJ,GAAY,gBAAgBc,SAC9Bd,GAAY,wBAAwBc,OAAS,EAC7Cd,GAAY,yBAAyBc,OAAS,EAC9Cd,GAAY,mBAAmBc,OAAS,EACxCd,GAAY,0BAA0Bc,OAAS,EAC/Cd,GAAY,gBAAgBc,OAAS,EAErC0U,KAEAqZ,EAASnzB,GAET+N,MAGE9K,IAA0B,KAAS4W,GAAO,aAC1C5W,IAA0B,KAAY4W,GAAO,YAC7C5W,IAA0B,MAAe4W,GAAO,gBAChD5W,IAA0B,MAAkB4W,GAAO,YACnD5W,IAA0B,MAAqB4W,GAAO,iBACtD5W,IAA0B,MAC5B4W,GAAO,kBACL5W,IAA0B,MAC5B4W,GAAO,iBACL5W,IAA0B,MAC5B4W,GAAO,cACL5W,IAA0B,MAC5B4W,GAAO,iBACL5W,IAA0B,MAC5B4W,GAAO,uBACL5W,IAA0B,MAC5B4W,GAAO,mBACL5W,IAA0B,MAC5B4W,GAAO,uBACL5W,IAA0B,MAC5B4W,GAAO,wBACL5W,IAA0B,MAC5B4W,GAAO,mBAEP5W,IAA0B,MAE1B4W,GAAO,WAEP5W,IACA,MAEA4W,GAAO,iBAEP5W,IACA,MAEA4W,GAAO,iCAETvV,GAAY,wBAAwBc,OAAS,EAC7Cd,GAAY,yBAAyBc,OAAS,EAC9Cd,GAAY,mBAAmBc,OAAS,EACxCd,GAAY,0BAA0Bc,OAAS,EAC/Cd,GAAY,gBAAgBc,OAAS,EAErC5F,GAAc0zB,EAEd,MAAMjW,EAAwB3d,GAE9Bwa,KAEAmC,KAEIgB,IAA0B3d,IAC5Bwa,KAGF,MAAMsZ,EAAWpzB,GAAemzB,EAKhC,OAFA3zB,GAAc1H,KAAKsW,SAEZglB,EAo1BYC,CAAWX,GACxBY,EAAY/iD,SAAS+9C,yBAC3BgF,EAAUzlC,YAAYtd,SAASqgB,eAAeuL,GAA4B82B,KAC1E,MAAMjjB,EAAWx1B,KAAKC,MAAOw4C,EAAan7B,KAAKuR,UAAa,KAC5D,GAAIzM,OAAOC,SAASmT,IAA0B,IAAbA,EAAgB,CAC/C,MAAMujB,EAAahjD,SAAS4D,cAAc,SAC1Co/C,EAAWj+C,YAAc,KAAK06B,EAAW,kBACzCsjB,EAAUzlC,YAAY0lC,GAExB5E,EAAQ9gC,YACNogC,GACE,cACA,qBACAqF,EACA,4BAIJ,MAAME,EAAkBh5C,KAAKkE,MAAMoZ,KAAK2mB,gBAAgB3mB,KAAK4mB,eACvD+U,EAAWj5C,KAAKkE,MACpBoZ,KAAK2mB,gBAAgB3mB,KAAK4mB,aAAe5mB,KAAKqgB,gBAE1Cub,EAAUD,EAAWD,EAC3B,IAAK17B,KAAK8d,IAAI,eAAgB,CAC5B,IAAI+d,EAAS,EAAKF,EAAW,GACzBE,EAAS,IAAGA,GAAU,IAC1B,MAAMC,EAAaF,EAAUC,EACvBE,EAAaJ,EAAWE,EACxBG,EAAQvjD,SAAS+9C,yBACvBwF,EAAMjmC,YACJtd,SAASqgB,eACP,GAAGijC,EAAW52B,sBAAsB22B,EAAW32B,sBAAsB02B,OAGzEhF,EAAQ9gC,YACNogC,GAAa,QAAS,qCAAsC6F,IAIhE,IAAKh8B,KAAK8d,IAAI,gBAAiB,CAC7B,IAAIme,EAAW,IAAON,EAAW,IAC7BM,EAAW,IAAGA,GAAY,KAC9B,MAAMC,EAAeN,EAAUK,EACzBE,EAAeR,EAAWM,EAC1BG,EAAU3jD,SAAS+9C,yBACzB4F,EAAQrmC,YACNtd,SAASqgB,eACP,GAAGqjC,EAAah3B,sBAAsB+2B,EAAa/2B,sBAAsB82B,OAG7EpF,EAAQ9gC,YACNogC,GAAa,QAAS,sCAAuCiG,IAIjE,IAAKp8B,KAAK8d,IAAI,gBAAiB,CAC7B,IAAIue,EAAc,OAAUV,EAAW,IACnCU,EAAc,IAAGA,GAAe,KACpC,MAAMC,EAAkBV,EAAUS,EAC5BE,EAAkBZ,EAAWU,EAC7BG,EAAa/jD,SAAS+9C,yBAC5BgG,EAAWzmC,YACTtd,SAASqgB,eACP,GAAGyjC,EAAgBp3B,sBAAsBm3B,EAAgBn3B,sBAAsBk3B,OAGnFxF,EAAQ9gC,YACNogC,GAAa,QAAS,sCAAuCqG,IAIjE,OAAO3F,EAsXa4F,IAGhBz8B,KAAKwR,UAAY,IACnBmlB,EAAM5gC,YAAYkgC,GAAY,YAAa,UACvCp2B,EAAU2rB,OAAOuB,OAAO,CAC1B,MAAM2P,EAAajkD,SAAS+9C,yBAC5BkG,EAAW3mC,YACTtd,SAASqgB,eACP,GAAGuL,GAA4BwF,SAA0BxF,GACvDyF,SAIN,MAAM6yB,EAAUlkD,SAAS4D,cAAc,KACvCsgD,EAAQn/C,YAAc,iBACtBm/C,EAAQ/hD,UAAY,SACpB+hD,EAAQnK,QAAU,WAChB8B,MAEFoI,EAAW3mC,YAAY4mC,GACvBhG,EAAM5gC,YACJogC,GACE,QACA,kCACAuG,IAGJ,MAAME,EAAiBnkD,SAAS+9C,yBAChCoG,EAAe7mC,YACbtd,SAASqgB,eAAe,GAAGuL,GAA4B0F,GAAsB,SAE/E,MAAM8yB,EAAcpkD,SAAS4D,cAAc,KAC3CwgD,EAAYr/C,YAAc,qBAC1Bq/C,EAAYjiD,UAAY,SACxBiiD,EAAYrK,QAAU,WACa,OAA7BzoB,GAAsB,KACxB/J,KAAKyR,UAAU1H,GAAsB,IAAIwqB,GAAK,IAElDqI,EAAe7mC,YAAY8mC,GAC3BlG,EAAM5gC,YACJogC,GACE,QACA,6DAC+B,OAA7BpsB,GAAsB,GAClBA,GAAsB,GACtB,UAEN6yB,IASR,GAHAjG,EAAM5gC,YAraR,WACE,MAAM8gC,EAAUp+C,SAAS4D,cAAc,OACvCw6C,EAAQj8C,UAAY,uBAEpB,IAAIkiD,GAAW,EACf,MAAMC,EAA0B,GAChCp/C,OAAO6C,KAAKsjC,IAActU,SAASr1B,IAC5B6lB,KAAK8d,IAAIgG,GAAa3pC,MACzB4iD,EAAwB9gD,KAAK6nC,GAAa3pC,IAC1C2iD,GAAW,MAGf,MAAME,EAA0B,GAChCr/C,OAAO6C,KAAKujC,IAAevU,SAASr1B,IAC7B6lB,KAAK8d,IAAIiG,GAAc5pC,MAC1B6iD,EAAwB/gD,KAAK8nC,GAAc5pC,IAC3C2iD,GAAW,MAGf,MAAMG,EAA0B,GAChCt/C,OAAO6C,KAAKwjC,IAAYxU,SAASr1B,IAC1B6lB,KAAK8d,IAAIkG,GAAW7pC,MACvB8iD,EAAwBhhD,KAAK+nC,GAAW7pC,IACxC2iD,GAAW,MAGf,MAAMI,EAAoB,GAC1Bv/C,OAAO6C,KAAKwf,KAAKm9B,UAAU3tB,SAASr1B,IAC7B6lB,KAAKihB,YAAYjhB,KAAKm9B,SAAShjD,MAClC+iD,EAAkBjhD,KAAK+jB,KAAKm9B,SAAShjD,IACrC2iD,GAAW,MAGf,MAAMM,EAAkB,GACxBz/C,OAAO6C,KAAKwf,KAAKq9B,cAAc7tB,SAASr1B,IACjC6lB,KAAKihB,YAAYjhB,KAAKq9B,aAAaljD,MACtCijD,EAAgBnhD,KAAK+jB,KAAKq9B,aAAaljD,IACvC2iD,GAAW,MAGf,MAAM9b,EACJhhB,KAAKihB,YAAY,mBAAqBjhB,KAAK8d,IAAI,iBAC3Cwf,EAAUt9B,KAAK8d,IAAI,eAEzB,IAAoB,cAAhB9d,KAAKke,QAA0B4e,GAAY9b,GAAUsc,KACvDzG,EAAQ9gC,YAAYkgC,GAAY,kBAAmB,QAC/Cp2B,EAAU2rB,OAAOwB,KAAK,CACxB,GAAuC,IAAnC+P,EAAwB3iD,OAAc,CACxCy8C,EAAQ9gC,YACNogC,GACE,QACA,gCACAE,GAAc0G,KAGlB,IAAIQ,EAAoB,IAIxB,GAHIv9B,KAAKoY,UAAU,oBAAmBmlB,EAAoB,IACtDv9B,KAAK8d,IAAI,gBAAeyf,GAAqB,IACjDA,GAAqB,EAAIv9B,KAAKw9B,eAC1Bx9B,KAAKwN,OAAQ,CACf,MAAMc,EAAStO,KAAKwN,OAAO,WACZ,IAAXc,EAAcivB,GAAqB,GACnB,IAAXjvB,EAAcivB,GAAqB,IACxB,IAAXjvB,IAAcivB,GAAqB,KAE9C,MAAME,EAAwBV,EAAwB3iD,OAAS,EAC/Dy8C,EAAQ9gC,YACNogC,GACE,QACA,4DACA19C,SAASqgB,eACP,GAAGuL,IACA,EAAIk5B,GAAqBE,EAAwB,WAC5Cp5B,IACL,EAAwB,GAApBk5B,GAA2BE,EAAwB,WAMlE,GAAuC,IAAnCT,EAAwB5iD,OAAc,CACxCy8C,EAAQ9gC,YACNogC,GACE,QACA,gCACAE,GAAc2G,KAGlB,IAAIU,EAAoB,GAIxB,GAHI19B,KAAKoY,UAAU,iBAAgBslB,EAAoB,IACvDA,GAAqB,EAAI19B,KAAKw9B,eAC1Bx9B,KAAK8d,IAAI,cAAa4f,GAAqB,KAC3C19B,KAAKwN,OAAQ,CACf,MAAMc,EAAStO,KAAKwN,OAAO,WACZ,IAAXc,EAAcovB,GAAqB,GACnB,IAAXpvB,EAAcovB,GAAqB,IACxB,IAAXpvB,IAAcovB,GAAqB,KAE9C,MAAMD,EAAwBT,EAAwB5iD,OAAS,EAC/Dy8C,EAAQ9gC,YACNogC,GACE,QACA,6CACA19C,SAASqgB,eACP,GAAGuL,IACA,EAAIq5B,GAAqBD,EAAwB,WAMrB,IAAnCR,EAAwB7iD,QAC1By8C,EAAQ9gC,YACNogC,GACE,QACA,gCACAE,GAAc4G,KAIpB,MAAMU,EAAc,SAAUC,GAC5B,IAAIC,EAAcD,GAAoB,EAAI59B,KAAKw9B,gBAI/C,GAHIx9B,KAAKoY,UAAU,0BAAyBylB,GAAe,IACvD79B,KAAK8d,IAAI,cAAa+f,GAAe,IACrC79B,KAAK8d,IAAI,eAAc+f,GAAe,IACtC79B,KAAKwN,OAAQ,CACf,MAAMc,EAAStO,KAAKwN,OAAO,WACZ,IAAXc,EAAcuvB,GAAe,GACb,IAAXvvB,EAAcuvB,GAAe,IAClB,IAAXvvB,IAAcuvB,GAAe,KAGxC,MAAMC,EAAgB,EAAID,EACpBE,EAAe/9B,KAAKm9B,SAAS/iD,OAAS8iD,EAAkB9iD,OACxD4jD,EACJh+B,KAAKq9B,aAAajjD,OAASgjD,EAAgBhjD,OACvC6jD,EACY,GAAhBH,GAAuB,EAAIC,EAAe/9B,KAAKm9B,SAAS/iD,QACpD8jD,EAEJ,GADAJ,GAEC,EAAIE,EAAmBh+B,KAAKq9B,aAAajjD,QAKtC+jD,EAHY,GAAhBL,GAAuBC,EAAe/9B,KAAKm9B,SAAS/iD,QAEpC,GAAhB0jD,GAAuBE,EAAmBh+B,KAAKq9B,aAAajjD,QAM9D,MAAO,CAAC6jD,EAHI,GAAVE,GAAiB,EAAIJ,EAAe/9B,KAAKm9B,SAAS/iD,QAGvB8jD,EADjB,GAAVC,GAAiB,EAAIH,EAAmBh+B,KAAKq9B,aAAajjD,UAG7B,IAA7B8iD,EAAkB9iD,SACpBy8C,EAAQ9gC,YACNogC,GACE,QACA,oCACAE,GAAc6G,KAGlBrG,EAAQ9gC,YACNogC,GACE,QACA,yDACA19C,SAASqgB,eACP,GAAGuL,GAAmD,IAAvBs5B,EAAY,KAAM,UAAgBt5B,GACzC,IAAtBs5B,EAAY,IAAK,WAMI,IAA3BP,EAAgBhjD,SAClBy8C,EAAQ9gC,YACNogC,GACE,QACA,kCACAE,GAAc+G,KAGlBvG,EAAQ9gC,YACNogC,GACE,QACA,6DACA19C,SAASqgB,eACP,GAAGuL,GAAmD,IAAvBs5B,EAAY,KAAM,UAAgBt5B,GACzC,IAAtBs5B,EAAY,IAAK,WAOP,cAAhB39B,KAAKke,QACP2Y,EAAQ9gC,YACNogC,GACE,QACA,kBACA19C,SAASqgB,eAAeuL,GAA4BmF,OAGtDwX,GACF6V,EAAQ9gC,YACNogC,GACE,cACA,wBACA19C,SAASqgB,eAAeuL,GAA4BoF,KACpD,6BAIF6zB,GACFzG,EAAQ9gC,YACNogC,GACE,QACA,yBACA19C,SAASqgB,eACJpW,KAAKC,MAA2B,KAApB4mB,GAAe,IAAc,IAA5C,OAOZ,OAAOstB,EAoMWuH,IAElBzH,EAAM5gC,YAAYkgC,GAAY,gBAAiB,SAC3Cp2B,EAAU2rB,OAAOyB,KAAM,CAqCzB,GApCA0J,EAAM5gC,YACJogC,GACE,QACA,oCACEjzB,EAAYrD,EAAUihB,YAAc,GAChC,GAAG5d,EAAYrD,EAAUihB,sBACzB5d,EAAYrD,EAAUihB,YAAc,IACV,IAAzBjhB,EAAUihB,WAAmB,UAAY,eAEhDroC,SAASqgB,eAAeuL,GAA4B+M,KAAU,MAGlEulB,EAAM5gC,YACJogC,GACE,QACA,0CACEhzB,EAAWtD,EAAUqhB,iBACQ,IAA5BrhB,EAAUqhB,cAAsB,UAAY,cAC/CzoC,SAASqgB,eAAeuL,GAA4B8F,GAAoB,MAG5EwsB,EAAM5gC,YACJogC,GACE,QACA,+BAA+BhzB,EAAWtD,EAAUqhB,iBACtB,IAA5BrhB,EAAUqhB,cAAsB,UAAY,cAE9CzoC,SAASqgB,eACPuL,GACE2B,GAA8Bq4B,QAC5Bl0B,GAAqBhH,EAAWtD,EAAUqhB,oBAMhDlhB,KAAK8d,IAAI,mBAAoB,CAC/B,MAAMgH,EAAW,GACjBnnC,OAAO6C,KAAKqjC,IAAUrU,SAASr1B,IACxB6lB,KAAK8d,IAAI+F,GAAS1pC,KACrB2qC,EAAS7oC,KAAK4nC,GAAS1pC,OAGH,IAApB2qC,EAAS1qC,QACXu8C,EAAM5gC,YACJogC,GACE,QACA,+BACAE,GAAcvR,KAatB,GATIjlB,EAAU+oB,cACZ+N,EAAM5gC,YACJogC,GACE,QACA,wBACA19C,SAASqgB,eAAeuL,GAA4BrE,KAAKs+B,uBAI3Dt+B,KAAKgd,MAAMC,SAAU,CACvB,MAAM5K,EAAQ55B,SAAS4D,cAAc,QACrCg2B,EAAMvE,GAAK,uBACXuE,EAAMgL,UAAYrd,KAAKsd,QACV,GAAXtd,KAAKuX,KAAYvX,KAAK8wB,SAAW,EAAI9wB,KAAKud,GAAgB,GAAXvd,KAAKuX,MACpD,GAEFof,EAAM5gC,YACJogC,GAAa,QAAS,qBAAsB9jB,KAKlD9mB,EAAE,QAAQojC,aAAagI,EAAOprC,EAAE,QAAQqlB,WAAW,IAE/C/Q,EAAU4oB,iBAruJdl9B,EAAE,QAAQqlB,WAAWpB,SAAS+uB,IAC5B,GAAIA,EAAY1hB,SAAS,GACvB,GACwC,aAAtC0hB,EAAY1hB,SAAS,GAAGllB,WACxB0S,GACA,CACA,MAAMm0B,EACJn0B,GAA6BxvB,MAAM,IAAIZ,OAAO,MAAO,MAAQ,GAC1DG,OAAS,EACRq2C,EAAQh4C,SAAS4D,cAAc,OACrCo0C,EAAM3iB,GAAK,iCACX2iB,EAAM71C,UAAY,UAClB,MAAM6jD,EAAYhmD,SAAS4D,cAAc,OACzCoiD,EAAU9mC,UAAY,qCAAqC6mC,KACzDx+B,KAAK0+B,iBAAiBtkD,WACnBsI,KAAKkE,MACP43C,EAA0Bx+B,KAAK0+B,iBAAiBtkD,OAAU,SAE7Dq2C,EAAM16B,YAAY0oC,GAClBF,EAAYxoC,YAAY06B,GACxB,MAAMhN,EAAWhrC,SAAS4D,cAAc,OACxConC,EAAS7oC,UAAY,mBACrB6oC,EAAS9rB,UAAY0S,GACrBk0B,EAAYxoC,YAAY0tB,QACnB,GAA0C,aAAtC8a,EAAY1hB,SAAS,GAAGllB,UAA0B,CAC3D,GAAIyS,GAAsB,CACxB,MAAMu0B,EACJv0B,GAAqBvvB,MAAM,IAAIZ,OAAO,MAAO,MAAQ,GAAGG,OAAS,EAC7Dq2C,EAAQh4C,SAAS4D,cAAc,OACrCo0C,EAAM3iB,GAAK,yBACX2iB,EAAM71C,UAAY,UAClB,MAAM6jD,EAAYhmD,SAAS4D,cAAc,OACzCoiD,EAAU9mC,UAAY,mCAAmCgnC,KACvD3+B,KAAKsV,eAAe,IAAIl7B,OAAS4lB,KAAKsV,eAAespB,KAAKxkD,WACvDsI,KAAKkE,MACP+3C,GACE3+B,KAAKsV,eAAe,IAAIl7B,OACvB4lB,KAAKsV,eAAespB,KAAKxkD,QAC3B,SAEJq2C,EAAM16B,YAAY0oC,GAClBF,EAAY5P,aAAa8B,EAAO8N,EAAY3tB,WAAW,IACvD,MAAM6S,EAAWhrC,SAAS4D,cAAc,OACxConC,EAAS7oC,UAAY,mBACrB6oC,EAAS9rB,UAAYyS,GACrBm0B,EAAY5P,aACVlL,EACAhrC,SAAS0iC,eAAe,0BAA0B0jB,aAGtD,GAAIv0B,GAA6B,CAC/B,MAAMw0B,EACJx0B,GAA4BzvB,MAAM,IAAIZ,OAAO,MAAO,MAAQ,GACzDG,OAAS,EACRq2C,EAAQh4C,SAAS4D,cAAc,OACrCo0C,EAAM3iB,GAAK,gCACX2iB,EAAM71C,UAAY,UAClB,MAAM6jD,EAAYhmD,SAAS4D,cAAc,OACzCoiD,EAAU9mC,UAAY,mCAAmCmnC,KACvD9+B,KAAKsV,eAAegd,OAAOl4C,WACxBsI,KAAKkE,MACPk4C,EAAwB9+B,KAAKsV,eAAegd,OAAOl4C,OAAU,SAEhEq2C,EAAM16B,YAAY0oC,GAClBF,EAAYxoC,YAAY06B,GACxB,MAAMhN,EAAWhrC,SAAS4D,cAAc,OACxConC,EAAS7oC,UAAY,mBACrB6oC,EAAS9rB,UAAY2S,GACrBi0B,EAAYxoC,YAAY0tB,QAoqJ5B5jB,EAAU6oB,qBAnOhB,WACE,IAAIqW,EACJphD,OAAOqhD,OAAOvmD,SAASsB,iBAAiB,cAAcy1B,SAASr1B,IACzDA,EAAEqD,YAAY8xC,SAAS,kBACzByP,EAAU5kD,EAAE8kD,cAAcllD,iBAAiB,wBAAwB,OAGnE8lB,EAAU6oB,qBACZ/qC,OAAOqhD,OAAOD,EAAQliB,UAAUrN,SAAS0vB,IACvC,IAAKA,EAAatkD,UAAU00C,SAAS,WAAY,CAC/C,MAAMxhB,EAAKoxB,EAAa1M,QAAQ5vC,WAAW/H,MAAM,oBAAoB,IAC/DssC,KAAEA,GAASnnB,KAAKm/B,iBAAiBrxB,GACvCoxB,EAAa98C,MAAMiW,mBAAqB,GAAc,IAAV8uB,EAAK,QACpC,IAAVA,EAAK,OAER+X,EAAaxM,YAAc,WACpB1yB,KAAKo/B,YACRp/B,KAAKq/B,WAAWxmD,MAChBmnB,KAAK6W,QAAQye,QAAU,EACvBt1B,KAAK6W,QAAQllB,KACX9Y,MACA,WACE,OAnEhB,SAAwC43B,GACtC,MAAM6uB,EAAO,GACG,WAAZ7uB,EAAGrD,KAAmBkyB,EAAKrjD,KAAK,qBAAsB,WACrDqjD,EAAKrjD,KAAK,cAAe,GAC9BqjD,EAAKrjD,KAAK,SAAU,GAEpB,IAAIsjD,EAAa,GACbv/B,KAAK8d,IAAI,eAAkB9d,KAAKw/B,QAAsB,UAAZ/uB,EAAGrD,QAC/CmyB,EAAa,GACXA,GAAyB,IAAX9uB,EAAGgG,IAAW6oB,EAAKrjD,KAAK,gBAAiB,WAClDsjD,GAAc9uB,EAAGgG,IAAM,GAAG6oB,EAAKrjD,KAAK,iBAAkB,WAE/D,IAAIkrC,KAAEA,GAAS1W,EACXA,EAAG2W,eAAcD,EAAO1W,EAAG2W,gBAE/B,IAAIgH,KAAEA,GAAS3d,EACXA,EAAGgvB,WAAUrR,EAAO3d,EAAGgvB,SAAS,UAEpC,IAAIC,EAAU,GACd,IAAK,IAAIvlD,EAAI,EAAGA,EAAImlD,EAAKllD,OAAQD,GAAK,EAChCA,EAAI,GAAM,IACZulD,GAAW,kCACO,IAAhBJ,EAAKnlD,EAAI,GAAW,OAASmlD,EAAKnlD,EAAI,SACjCmlD,EAAKnlD,aAIhB,OAFAulD,EAAUA,EAAQ/sB,UAAU,GAErB,yJAEM,IAAVwU,EAAK,QACS,IAAVA,EAAK,sCACQ1W,EAAG/xB,iBACrBghD,qDAA2DtR,oBAE3DpuB,KAAKw/B,OACD,oCAAoC/uB,EAAG3C,gBAAgBprB,KAAKkE,MAC1D6pB,EAAGU,SACDV,EAAGpD,KAAO,aAAaoD,EAAGpD,OAAS,WACvC,KA8BiBsyB,CACL3/B,KAAKm/B,iBAAiBrxB,MAI5B,OAEF9N,KAAK6W,QAAQ0e,eAsMrBqK,GAuDJ,MAAMC,GAAe,CACnBpU,UAAW,qBACXC,YAAa,cACbC,SAAU,WACVC,QAAS,4BACTC,YAAa,+BACbC,QAAS,WACTC,WAAY,aACZC,aAAc,gBACdS,cAAe,iBAIXqT,GAA2B,CAC/B7T,oBAAqB,wBACrBC,eAAgB,gBAChBC,eAAgB,iBAChBC,gBAAiB,iBACjBC,iBAAkB,cAClBC,iBAAkB,iBAClBC,kBAAmB,WACnBC,qBAAsB,qBAaxB,SAASuT,GAAiBlQ,EAAQ9pB,GAChC,MAAM8K,EAAMp4B,SAAS4D,cAAc,OACnCw0B,EAAIj2B,UAAY,QAEhBi2B,EAAIzuB,MAAM6U,QAAU,MACpB4Z,EAAIzuB,MAAM2vB,SAAW,OACrBlB,EAAI9a,YAAYtd,SAASqgB,eAAe,GAAGiN,OAC3C,MAAMmwB,EAAOz9C,SAAS4D,cAAc,QAiBpC,OAhBA65C,EAAK9zC,MAAM+U,OAAS,UACpB++B,EAAK9zC,MAAMqV,QAAU,eACrBy+B,EAAK9zC,MAAMmG,OAAS,OACpB2tC,EAAK9zC,MAAMkG,MAAQ,OACnB4tC,EAAK9zC,MAAMsU,aAAe,MAC1Bw/B,EAAK9zC,MAAMuW,UAAY,SACvBu9B,EAAK9zC,MAAM4U,gBAAkB,UAC7Bk/B,EAAK9zC,MAAM2F,MAAQ,QACnBmuC,EAAK9zC,MAAM2vB,SAAW,OACtBmkB,EAAK9zC,MAAM6vB,cAAgB,SAC3BikB,EAAK14C,YAAcqiB,EAAU2rB,OAAOqE,GAAU,IAAM,IACpDqG,EAAK1D,QAAU,WACbwD,GAAanG,GACb7vB,KAAKof,cAEPvO,EAAI9a,YAAYmgC,GACTrlB,EA4FT,SAASmvB,GAAiBnQ,GACxB,MAAMhf,EAAMp4B,SAAS4D,cAAc,OAKnC,GAJAw0B,EAAIj2B,UAAY,UACoB,IAAhCilB,EAAUuE,mBACZyM,EAAI9a,YAlCR,SAA6B85B,GAC3B,MAAMoQ,EAAUxnD,SAAS4D,cAAc,KAqBvC,OApBI+nB,GAAkBkrB,SAASO,IAC7BoQ,EAAQ5iB,UAAY,IACpB4iB,EAAQ79C,MAAM2F,MAAQ,UACjBk4C,EAAQ5iB,UAAY,IAC3B4iB,EAAQrlD,UAAY,SACpBqlD,EAAQzN,QAAU,YA3DpB,SAAgC3C,GAC1BzrB,GAAkBkrB,SAASO,GAC7BzrB,GAAoBA,GAAkBuuB,QAAO,SAAUuN,GACrD,OAAOA,IAAQrQ,KAEdzrB,GAAkBnoB,KAAK4zC,GAuD1BsQ,CAAuBtQ,GACvB2D,KACAxzB,KAAKof,cAEP6gB,EAAQvN,YAAc,WACpB1yB,KAAK6W,QAAQllB,KACX9Y,KACAimC,OAAOrc,EAAsB29B,4BAA4BzoC,aAG7DsoC,EAAQpN,WAAa,WACnB7yB,KAAK6W,QAAQ1lB,QAEf8uC,EAAQlqC,YAAYtd,SAASqgB,eAAe,MACrCmnC,EAYWI,CAAoBxQ,IAEJ,SAA9BnB,GAAamB,GAAQr1C,KAAiB,CACxC,MAAMwI,EAAIvK,SAAS4D,cAAc,KAC7BqyC,GAAamB,GAAQxB,QAAgC,IAAtBxuB,EAAUgwB,GAC3C7sC,EAAEpI,UAAY,aAEdoI,EAAEpI,UAAY,SAEhBoI,EAAE8qB,GAAKgoB,GAA6BjG,EACpC7sC,EAAEwvC,QAAU,YApmDhB,SAAsB3C,GACpBhwB,EAAUgwB,IAAW,EAEjBhwB,EAAUgwB,KAAYnB,GAAamB,GAAQ1B,MAAM/zC,QACnDylB,EAAUgwB,GAAU,EAChBnB,GAAamB,GAAQxB,SACvB9iC,EAAEuqC,GAA6BjG,GAAQj1C,UAAY,eAChD2Q,EAAEuqC,GAA6BjG,GAAQj1C,UAAY,cAEjB,IAA9B8zC,GAAamB,GAAQ3wC,MAC9BwvC,GAAamB,GAAQ3wC,OAGvBqM,EAAEuqC,GAA6BjG,GAAQl4B,UACrC+2B,GAAamB,GAAQ1B,MAAMtuB,EAAUgwB,IACvC2D,KAslDI8M,CAAazQ,IAEf7sC,EAAExF,YAAckxC,GAAamB,GAAQ1B,MAAMtuB,EAAUgwB,IACrDhf,EAAI9a,YAAY/S,GAChB,MAAMmrC,EAAQ11C,SAAS4D,cAAc,SAIrC,OAHA8xC,EAAM3wC,YAAckxC,GAAamB,GAAQzB,KACzCD,EAAM/rC,MAAMyW,WAAa,MACzBgY,EAAI9a,YAAYo4B,GACTtd,EAET,GAAkC,QAA9B6d,GAAamB,GAAQr1C,KAAgB,CACvC,MAAM61C,EAAS53C,SAAS4D,cAAc,OACtCg0C,EAAOz1C,UAAY,YACnB,MAAM61C,EAAQh4C,SAAS4D,cAAc,OACrCo0C,EAAMruC,MAAMm+C,MAAQ,OACpB9P,EAAM94B,UAAY+2B,GAAamB,GAAQzB,KACvCiC,EAAOt6B,YAAY06B,GACnB,MAAM+P,EAAU/nD,SAAS4D,cAAc,OACvCmkD,EAAQ1yB,GAAK,SAAS+hB,SACtB2Q,EAAQp+C,MAAMm+C,MAAQ,QACtBC,EAAQ7oC,UAAY,GAAGkI,EAAUgwB,MACjCQ,EAAOt6B,YAAYyqC,GACnB,MAAMC,EAAShoD,SAAS4D,cAAc,SACtCokD,EAAO7lD,UAAY,SACnB6lD,EAAO3yB,GAAK,SAAS+hB,IACrB4Q,EAAOr+C,MAAMwU,MAAQ,OACrB6pC,EAAOjmD,KAAO,QACdimD,EAAOp6C,IAAM,IACbo6C,EAAOl6C,IAAM,MACbk6C,EAAOC,KAAO,IACdD,EAAOljD,MAAQsiB,EAAUgwB,GACzB4Q,EAAOhiC,QAAU,WACfs3B,GAAmBlG,IAErB4Q,EAAOE,SAAW,WAChB5K,GAAmBlG,IAErBQ,EAAOt6B,YAAY0qC,GACnB5vB,EAAI9a,YAAYs6B,GAChB,MAAMrtC,EAAIvK,SAAS4D,cAAc,KAYjC,OAXA2G,EAAEpI,UAAY,SACdoI,EAAEwvC,QAAU,WACVzC,GACElwB,EAAUgwB,EAAO9uC,QAAQ,SAAU,aACnC8uC,EAAO9uC,QAAQ,SAAU,SACzB8uC,GACA,IAGJ7sC,EAAExF,YAAc,aAChBqzB,EAAI9a,YAAY/S,GACT6tB,EAET,GAAkC,QAA9B6d,GAAamB,GAAQr1C,KAAgB,CACvC,MAAM07C,EAAOz9C,SAAS4D,cAAc,QACpC65C,EAAKt7C,UAAY,SACjBs7C,EAAK14C,YAAc,GAAGkxC,GAAamB,GAAQ1B,SAC3C+H,EAAK9zC,MAAMyW,WAAa,MACxBgY,EAAI9a,YAAYmgC,GAChB,MAAM0K,EAAQnoD,SAAS4D,cAAc,SACrCukD,EAAM9yB,GAAKgoB,GAA6BjG,EACxC+Q,EAAMhmD,UAAY,SAClBgmD,EAAMpmD,KAAO,OACbomD,EAAMC,UAAW,EACjBD,EAAM7iD,aAAa,QAAS8hB,EAAUgwB,IACtC+Q,EAAMx+C,MAAMkG,MAAQ,QACpBuoB,EAAI9a,YAAY6qC,GAChB/vB,EAAI9a,YAAYtd,SAASqgB,eAAe,MACxC,MAAMgoC,EAAcroD,SAAS4D,cAAc,SAC3CykD,EAAYhzB,GAAK,GAAGgoB,GAA6BjG,UACjDiR,EAAYlmD,UAAY,SACxBkmD,EAAYtmD,KAAO,OACnBsmD,EAAY/iD,aAAa,QAAS8hB,EAAUgwB,IAC5C,MAAM7sC,EAAIvK,SAAS4D,cAAc,KACjC2G,EAAEpI,UAAY,SACdoI,EAAEwvC,QAAU,YAlKhB,SAA6BuO,EAAShjC,GACpCiC,KAAKghC,YAAYpmD,UAAY,SAC7B,MAAMW,EAAMwlD,EACZ/gC,KAAKihC,QAAQtpC,UAAY,GAAGpc,iCAC5BoC,OAAO6C,KAAKud,GAASyR,SAASr1B,IAC5B,MAAMuZ,EAASjb,SAAS4D,cAAc,KACtCqX,EAAOoa,GAAK,eAAe3zB,IAC3BuZ,EAAO9Y,UAAY,SACnB8Y,EAAO8+B,QAAU,WACf0O,UAAU,gBACVnjC,EAAQ5jB,GAAG,MAEbuZ,EAAOlW,YAAcugB,EAAQ5jB,GAAG,GAChC6lB,KAAKihC,QAAQpkB,SAAS,GAAG9mB,YAAYrC,MAEvCsM,KAAKmhC,cAAc/+C,MAAMqV,QAAU,QACnCuI,KAAKohC,QAAQh/C,MAAMqV,QAAU,QAC7BuI,KAAKihC,QAAQI,QACbrhC,KAAKshC,SAAW,EAChBthC,KAAKuhC,eAgJDC,CAAoBV,EAAYW,UAAW,CACzC,CACE,OACA,WACE5hC,EAAUgwB,GAAUtkC,EAAE,WAAgCskC,WAAgBtyC,MACtEi2C,KACAxzB,KAAK0hC,cACL1hC,KAAKof,eAGT,CACE,SACA,WACEpf,KAAK0hC,mBAKb1+C,EAAExF,YAAc,OAChBqzB,EAAI9a,YAAY/S,GAChB,MAAMmrC,EAAQ11C,SAAS4D,cAAc,SAIrC,OAHA8xC,EAAM3wC,YAAckxC,GAAamB,GAAQzB,KACzCD,EAAM/rC,MAAMyW,WAAa,MACzBgY,EAAI9a,YAAYo4B,GACTtd,EAET,GAAkC,WAA9B6d,GAAamB,GAAQr1C,KAAmB,CAC1C,MAAMmnD,EAAYlpD,SAAS4D,cAAc,QACzCslD,EAAU/mD,UAAY,SACtB,MAAMgmD,EAAQnoD,SAAS4D,cAAc,SACrCukD,EAAM9yB,GAAK+hB,EACX+Q,EAAMx+C,MAAMkG,MAAQ,OACpBs4C,EAAM7iD,aAAa,QAAS8hB,EAAUgwB,IACtC8R,EAAU5rC,YAAY6qC,GAQtB,IAAI1nD,GAAQ0nD,EAAO,CAAErmC,MAAM,EAAMnQ,SAAU,QAAS4P,QAPrC,WACb6F,EAAUhnB,KAAKmD,cAAc8xB,IAAMj1B,KAAK8gB,cACxC45B,KACAC,KACAxzB,KAAKof,gBAIP,MAAM+O,EAAQ11C,SAAS4D,cAAc,SAIrC,GAHA8xC,EAAM3wC,YAAckxC,GAAamB,GAAQzB,KACzCD,EAAM/rC,MAAMyW,WAAa,MACzB8oC,EAAU5rC,YAAYo4B,GAClB0B,EAAOP,SAAS,SAAU,CAC5B,MAAMtsC,EAAIvK,SAAS4D,cAAc,KACjC2G,EAAEpI,UAAY,SACdoI,EAAEwvC,QAAU,WACV5C,GAAM,EAAGC,EAAO9uC,QAAQ,SAAU,KAAK,IAEzCiC,EAAExF,YAAc,aAChBmkD,EAAU5rC,YAAY/S,GAIxB,OAFA6tB,EAAI9a,YAAY4rC,GAChB9L,KAAkBp8C,OACXo3B,EAET,GAAkC,aAA9B6d,GAAamB,GAAQr1C,KAAqB,CAC5C,MAAM07C,EAAOz9C,SAAS4D,cAAc,QACpC65C,EAAKt7C,UAAY,SACjBs7C,EAAK14C,YAAc,GAAGkxC,GAAamB,GAAQ1B,SAC3C+H,EAAK9zC,MAAMyW,WAAa,MACxBgY,EAAI9a,YAAYmgC,GAChB,MAAM0K,EAAQnoD,SAAS4D,cAAc,SACrCukD,EAAM9yB,GAAKgoB,GAA6BjG,EACxC+Q,EAAMhmD,UAAY,SAClBgmD,EAAMpmD,KAAO,SACbomD,EAAMrjD,MAAQsiB,EAAUgwB,GACxB+Q,EAAMv6C,IAAMqoC,GAAamB,GAAQxpC,IACjCu6C,EAAMr6C,IAAMmoC,GAAamB,GAAQtpC,IACjCq6C,EAAMniC,QAAU,WACV5lB,KAAK0E,MAAQ1E,KAAK0N,KAAKvL,QAAQwqB,IAAI,QACvC3F,EAAUgwB,GAAUh3C,KAAK0E,MACzBi2C,KACA/F,MAEF5c,EAAI9a,YAAY6qC,GAChB/vB,EAAI9a,YAAYtd,SAASqgB,eAAe,MACxC,MAAMq1B,EAAQ11C,SAAS4D,cAAc,SAIrC,OAHA8xC,EAAM3wC,YAAckxC,GAAamB,GAAQzB,KACzCD,EAAM/rC,MAAMyW,WAAa,MACzBgY,EAAI9a,YAAYo4B,GACTtd,EAET,OAAOA,EA4UT,SAAS+wB,GAAUpiD,GACjB,GAA2B,IAAvBqgB,EAAU6T,UAA4C,IAA1B7T,EAAU8T,YAAmB,CAC3D,MAAMkuB,EAAiB56C,SAASsE,EAAE,cAAcnJ,MAAMmG,OAAQ,IAC9DyX,KAAK8hC,QAAUD,EACfriD,IACAwgB,KAAK8hC,QAAUD,OAEfriD,IAuBJ,SAASuiD,KAEPpgC,EAAgBkD,SAAWA,SAE3BA,SAAWR,GAEX1C,EAAgBqgB,eAAiBhiB,KAAKgiB,eACtChiB,KAAKgiB,eAAiB,WACpBrgB,EAAgBqgB,iBAChBha,GAAY,EACZ3G,EAAyB6e,KAAKC,MAC9B7e,EAAyB4e,KAAKC,OAGhCxe,EAAgBkV,QAAU,GAC1BlV,EAAgBkV,QAAQllB,KAAOqO,KAAK6W,QAAQllB,KAC5CgQ,EAAgBkV,QAAQmrB,QAAU,IAAIpmD,SACpC,UAAUokB,KAAK6W,QAAQllB,KAAK/O,WAAW5B,MAAM,QAAQ6C,KAAK,kBAD1B,GAGlCmc,KAAK6W,QAAQllB,KAAO,SAAUswC,EAAMl8B,EAAM9I,GACxC0E,EAAgBkV,QAAQmrB,QAAQC,EAAMl8B,EAAM9I,IAG9C0E,EAAgBkV,QAAQqrB,OAASliC,KAAK6W,QAAQqrB,OAC9CvgC,EAAgBkV,QAAQsrB,UAAY,IAAIvmD,SACtC,UAAUokB,KAAK6W,QAAQqrB,OACpBt/C,WACA5B,MAAM,SACN6C,KAAK,mBAJ0B,GAMpCmc,KAAK6W,QAAQqrB,OAAS,WACpBvgC,EAAgBkV,QAAQsrB,YA9H5B,WACE,GAA4B,UAAxBniC,KAAK6W,QAAQ5Z,OAAoB,CACnC,IAAImlC,EAAa,EAEa,IAA5BviC,EAAUwc,eACgB,IAA1Bxc,EAAU+X,aAC0B,OAApCrsB,EAAE,gCAEF62C,EAAa72C,EAAE,8BAA8BpF,aAAe,GAE9D6Z,KAAK6W,QAAQwrB,IAAIjgD,MAAMsC,IAAM,GAAGhC,KAAK2D,IACnCY,SAAS+Y,KAAK6W,QAAQwrB,IAAIjgD,MAAMsC,IAAK,IACrC6G,EAAE,QAAQpF,aACRoF,EAAE,UAAUpF,aACZ6Z,KAAK6W,QAAQyrB,GAAGn8C,aAChBi8C,EACA,SA+GJG,IAGF5gC,EAAgB6gC,gBAAkBxiC,KAAKwiC,gBACvCxiC,KAAKwiC,gBAAkB,WACrBZ,GAAUjgC,EAAgB6gC,kBAG5B7gC,EAAgB8gC,cAAgBziC,KAAKyiC,cACrCziC,KAAKyiC,cAAgB,WACnBb,GAAUjgC,EAAgB8gC,gBAI5Bl3C,EAAE,aAAazN,oBAAoB,QAASkiB,KAAK0iC,aAAa,GAC9Dn3C,EAAE,aAAahS,iBACb,SACA,WACEqoD,GAAU5hC,KAAK0iC,gBAEjB,GAGF/gC,EAAgBisB,gBAAkB5tB,KAAK4tB,gBACvC5tB,KAAK4tB,gBAAkB,WACrBjsB,EAAgBisB,kBArHlBlsB,EAAuB,GACvB/jB,OAAO6C,KAAKwf,KAAKwQ,iBAAiBhB,SAASr1B,IACJ,OAAjCoR,EAAE,UAAUpR,KAAKu4C,cACnBhxB,EAAqBvnB,GAAKoR,EAAE,UAAUpR,KAAKu4C,YAC3CnnC,EAAE,UAAUpR,KAAKu4C,YAAc,WACxB1yB,KAAKo/B,YACRp/B,KAAKq/B,WAAWxmD,MAChBmnB,KAAK6W,QAAQye,QAAU,EACvBt1B,KAAK6W,QAAQllB,KACX9Y,MACA,WACE,OAAO27C,GAAc,IAAK,GAAGr6C,OAE/B,SAEF6lB,KAAK6W,QAAQ0e,eAwGnBv1B,KAAKgiB,kBAGPrgB,EAAgBghC,aAAe3iC,KAAK2iC,aAKpC3iC,KAAK2iC,aAAe,SAAUh2B,KAEzB9M,EAAU0rB,cACXvrB,KAAKykB,YAAY9X,GAAMyG,UAAYpT,KAAKqT,UACtB,IAAlBrT,KAAKsP,UAEL3N,EAAgBghC,aAAah2B,IAIjChL,EAAgBihC,mBAAqB5iC,KAAK4iC,mBAM1C5iC,KAAK4iC,mBAAqB,SAAUC,GAClClhC,EAAgBihC,mBAAmBC,GAh3EvC,SAAqBA,GACnB,GAAiC,IAA7BhjC,EAAUqoB,eAAsB,CAClC,MAAO4a,EAAUC,GA9DrB,SAA6BF,GAC3B5sB,KAGwB1qB,EAAE,iBAAiBsxB,SAAS,GAAGllB,UAAU23B,SAC/D,aAEmB1nB,GAAiBi7B,EACjCl7B,GAAgBk7B,EAGrB,IAAI50B,EAAQ,EACZ,GACEtG,KAAkBS,IAClBR,KAAmBS,GAEnB,IAAK,IAAIluB,EAAI6lB,KAAKykB,YAAYrqC,OAAS,EAAGD,GAAK,IAAKA,EAClD,GAAI6lB,KAAKykB,YAAYtqC,GAAGw0B,OAAS,EAAG,CAClC,MAAMgjB,EAAkBplB,GAAWvM,KAAKykB,YAAYtqC,GAAGuE,MAAMA,KAC7D6tB,GAAWolB,GAAiBhjB,QAAU,EACtCtH,IAAqB,EACrB4G,EACE1B,GAAWolB,GAAiBljB,UAC5BzO,KAAKkP,eACHxsB,KAAK6D,IACH,EACAgmB,GAAWolB,GAAiBhjB,OAC1B,EACApC,GAAWolB,GAAiBjjB,MAEpCT,EAAQjO,KAAKmP,oBAAoB5C,GAAWolB,GAAkB1jB,GAC9DA,EAAQvrB,KAAKoL,KAAKmgB,GAClB,MAKN,MAAMkX,EAAwB3d,GAO9B,OANAwa,KAEAmC,KACIgB,IAA0B3d,IAC5Bwa,KAEK,CAAC9Z,GAAelI,KAAKuR,UAAWtD,GAkBH+0B,CAAoBH,GAChDI,EAAgBx9B,GACpBs9B,GAAiBD,EAAW9iC,KAAKuR,YAE7B2xB,EAAqB7+B,GAA6By+B,EAAW9iC,KAAKuR,UAAa,KAErFhmB,EAAE,kBAAkBnJ,MAAM+gD,UAAY,OACtC53C,EAAE,kBAAkBnJ,MAAM0vB,OAAS,MACnCvmB,EAAE,kBAAkBwK,YAAYtd,SAAS4D,cAAc,QAAQzB,UAC7D,OACF,MAAMi2B,EAAMp4B,SAAS4D,cAAc,OACnCw0B,EAAIzuB,MAAMy8B,SAAW,QACrBhO,EAAIzuB,MAAMuW,UAAY,SACtBkY,EAAIrzB,YAAc,wCAAwC6mB,GACxDy+B,OACII,sBACN33C,EAAE,kBAAkBwK,YAAY8a,GAChC,MAAMuyB,EAAO3qD,SAAS4D,cAAc,OACpC+mD,EAAKhhD,MAAMy8B,SAAW,QACtBukB,EAAKhhD,MAAMuW,UAAY,SACvByqC,EAAK5lD,YAAc,gBAAgBylD,yBACnC13C,EAAE,kBAAkBwK,YAAYqtC,IA01EhCC,CAAYR,IAGdlhC,EAAgB2hC,kBAAoBtjC,KAAKsjC,kBAIzCtjC,KAAKsjC,kBAAoB,SAAUC,GACjC5hC,EAAgB2hC,kBAAkBC,GA11EtC,WAEE,GAEwE,QADrEh4C,EAAE,gBAAgB3Q,UAAUC,MAAM,aACjC0Q,EAAE,gBAAgBsxB,SAAS,GAAGz6B,MAAMqB,WAAW5I,MAAM,WAEvD,IAAK,IAAIV,EAAI,EAAGA,EAAIoR,EAAE,gBAAgBqlB,WAAWx2B,OAAQD,IACL,cAA9CoR,EAAE,gBAAgBqlB,WAAWz2B,GAAGS,YAClC2Q,EAAE,gBAAgBsxB,SAAS1iC,GAAGu4C,YAAc,WAC1CxD,KACAlvB,KAAK6W,QAAQye,QAAU,EACvBt1B,KAAK6W,QAAQllB,KACXpG,EAAE,gBACF,mDAAmDgd,WACnD,QAEFvI,KAAK6W,QAAQ0e,UAEfhqC,EAAE,gBAAgBsxB,SAAS1iC,GAAG04C,WAAa,WACzC7yB,KAAK6W,QAAQ2sB,WAAa,IAw0EhCC,IAGF9hC,EAAgByd,WAAapf,KAAKof,WAClCpf,KAAKof,WAAa,gBAEwB,IAA9ByW,KAAmBprC,aACiB,IAApCorC,KAAmBprC,OAAOC,QAElCiX,EAAgByd,aAvXtB,WACE,MAAMqR,EAAQh4C,SAAS4D,cAAc,OACrCo0C,EAAM71C,UAAY,QAEE,UAAhBolB,KAAKmd,QACPsT,EAAMjzC,YAAc,0BA7ExB,SAAqBizC,GACnB,MAAM8F,EAAO99C,SAAS+9C,yBACtBD,EAAKxgC,YAAY06B,GAEjB9yC,OAAO6C,KAAKq/C,IAAcrwB,SAASye,IACjC,GAAc,cAAVA,GACF,GAAiC,IAA7B7pB,GAAkBhqB,QAAgBylB,EAAUuE,kBAAoB,IAClEmyB,EAAKxgC,YAAYgqC,GAAiB9R,EAAO4R,GAAa5R,KAClDpuB,EAAU2rB,OAAOyC,IACnB,IAAK,IAAIyV,EAAQ,EAAGA,EAAQt/B,GAAkBhqB,OAAQspD,IACpDnN,EAAKxgC,YAAYiqC,GAAiB57B,GAAkBs/B,UAI1DnN,EAAKxgC,YAAYgqC,GAAiB9R,EAAO4R,GAAa5R,KAClDpuB,EAAU2rB,OAAOyC,KAGL,iBAAVA,EACFtwC,OAAO6C,KAAKs/C,IAA0BtwB,SAASm0B,IAC7C,MAAMC,EAAiB7D,GACrB4D,EACA7D,GAAyB6D,IAE3BC,EAAexhD,MAAM2vB,SAAW,OAChC6xB,EAAexhD,MAAM6U,QAAU,MAC/Bs/B,EAAKxgC,YAAY6tC,GACb/jC,EAAU2rB,OAAOmY,IACnBhmD,OAAO6C,KAAKkuC,IAAclf,SAAS9b,IAC7Bg7B,GAAah7B,GAAQu6B,QAAU0V,GACjCpN,EAAKxgC,YAAYiqC,GAAiBtsC,UAK1C/V,OAAO6C,KAAKkuC,IAAclf,SAAS9b,IAC7Bg7B,GAAah7B,GAAQu6B,QAAUA,GACjCsI,EAAKxgC,YAAYiqC,GAAiBtsC,WAO9C,MAAMmwC,EAASprD,SAAS4D,cAAc,OACtCwnD,EAAOjpD,UAAY,UACnB,MAAMkpD,EAAYrrD,SAAS4D,cAAc,KACzCynD,EAAUlpD,UAAY,SACtBkpD,EAAUtR,QAAU,WAClB0B,GAAWnM,KAEb+b,EAAUtmD,YAAc,kBACxBqmD,EAAO9tC,YAAY+tC,GACnBvN,EAAKxgC,YAAY8tC,GAEjBt4C,EAAE,QAAQqlB,WAAW,GAAG+d,aACtB4H,EACAhrC,EAAE,QAAQqlB,WAAW,GAAGA,WACtBrlB,EAAE,QAAQqlB,WAAW,GAAGA,WAAWx2B,OAAS,IAoB9C2pD,CAAYtT,IACa,UAAhBzwB,KAAKmd,OACVtd,EAAUud,QACZqT,EAAMjzC,YAAc,4BACpBk5C,GAAajG,IAEU,QAAhBzwB,KAAKmd,SACdsT,EAAMjzC,YAAc,kBAtdxB,SAAqBizC,GACnB,MAAMuT,EAAOvrD,SAAS4D,cAAc,OACpC2nD,EAAKppD,UAAY,aAEjB,MAAMs7C,EAAOz9C,SAAS4D,cAAc,QAmBpC,GAlBA65C,EAAK9zC,MAAM+U,OAAS,UACpB++B,EAAK9zC,MAAMqV,QAAU,eACrBy+B,EAAK9zC,MAAMmG,OAAS,OACpB2tC,EAAK9zC,MAAMkG,MAAQ,OACnB4tC,EAAK9zC,MAAMsU,aAAe,MAC1Bw/B,EAAK9zC,MAAMuW,UAAY,SACvBu9B,EAAK9zC,MAAM4U,gBAAkB,UAC7Bk/B,EAAK9zC,MAAM2F,MAAQ,QACnBmuC,EAAK9zC,MAAM2vB,SAAW,OACtBmkB,EAAK9zC,MAAM6vB,cAAgB,SAC3BikB,EAAK14C,YAAcqiB,EAAU2rB,OAAO0B,QAAU,IAAM,IACpDgJ,EAAK1D,QAAU,WACbwD,GAAa,WACbh2B,KAAKof,cAEPqR,EAAM16B,YAAYmgC,GAClB8N,EAAKjuC,YAAY06B,GAEb5wB,EAAU2rB,OAAO0B,QAAS,CAC5B,MAAM+W,EAAcxrD,SAAS4D,cAAc,OAC3C4nD,EAAYtsC,UAxkSO,siBAykSnBqsC,EAAKjuC,YAAYkuC,GACjB,MAAMC,EAAQzrD,SAAS4D,cAAc,OACrC6nD,EAAMvsC,UAjkSiB,+1EAkkSvBqsC,EAAKjuC,YAAYmuC,GAGnB,MAAMC,EAAO54C,EAAE,QAAQsxB,SAAS,GAChCsnB,EAAKxV,aAAaqV,EAAMG,EAAKtnB,SAAS,IAsbpCunB,CAAY3T,IA0WV4T,KAIJ1iC,EAAgB2b,QAAUtd,KAAKsd,QAC/B3a,EAAY,SAAU+C,EAAM4+B,GAC1B,OAAIx/B,OAAOrJ,MAAMiK,IAASA,GAAQ,EACzB/D,EAAgB2b,QAAQ5X,EAAM4+B,GAChC7+B,GAAWC,EAAO1F,KAAKuX,IAAK,IAGrC5V,EAAgB4iC,MAAQvkC,KAAKukC,MAC7BvkC,KAAKukC,MAAQ,WACX5iC,EAAgB4iC,QAGhB,IAAI9T,EAAQ,iBACQ,UAAhBzwB,KAAKke,SAAoBuS,EAAQ,gBACrCtsB,GAAQ,GAAGnE,KAAK8wB,SAAW,cAAgB,KAAKzsB,GAA4BrE,KAAKqT,YAC9D,IAAjBrT,KAAKqT,QAAgB,SAAW,eAC5Bod,IA9WV,WACE,GAAIzwB,KAAK8wB,UAAgC,IAApBjxB,EAAUsE,MAC7B1rB,SAASg4C,MAAQtsB,QACZ,GAAwB,IAApBtE,EAAUsE,MAAa,CAChC,IAEIqgC,EACAC,EACAC,EAJAC,GAAQ,EACRC,GAAQ,EAORJ,EAFAn5B,GACEA,GAA0ByiB,MAClB,KAAKprC,KAAKoL,KAAKud,GAA0B2nB,KAAOhzB,KAAKuX,QAErD,KAAK70B,KAAKoL,KAAKud,GAA0B2nB,KAAOhzB,KAAKuX,QACvDvX,KAAK8d,IAAI,uBAOJ,OANL,IACRhZ,OAAOvZ,EAAE,sBAAsB/N,aAAe,EAAI,IAAM,KACvDkF,KAAKoL,MACLkS,KAAK2d,aAAaC,OAAOI,QAAUhe,KAAK2d,aAAaC,OAAOlY,MAC3D1F,KAAKuX,QAIPzW,IACF6jC,GAAQ,EACRF,EAAU,OAGQ,cAAhBzkC,KAAKke,SACP0mB,GAAQ,EAENF,EADE7jC,EACQ,KAAKne,KAAKoL,KAAKwd,GAAsB0nB,KAAOhzB,KAAKuX,QAEjD,IACRzS,OAAOvZ,EAAE,uBAAuB/N,aAAe,EAAI,IAAM,KACxDkF,KAAKoL,MACLkS,KAAK2d,aAAaQ,SAASH,QAC1Bhe,KAAK2d,aAAaQ,SAASzY,MAC3B1F,KAAKuX,SAMb,IAAIh8B,EAAM4oB,GACY,MAAlB5oB,EAAI2L,OAAO,KACb3L,EAAMA,EAAIo3B,UAAUp3B,EAAIspD,YAAY,KAAO,IAE7CpsD,SAASg4C,MAAQ,GACf+T,GAAWG,EAAQF,EAAU,KAAOG,EAAQF,EAAU,OACpDnpD,SACC,GAAwB,IAApBskB,EAAUsE,MAAa,CAChC,IAAI5oB,EAAM,GACNupD,GAAQ,EACRz5B,KACFy5B,GAAQ,EACJz5B,GAA0ByiB,MAC5BvyC,GAAO,KAAKmH,KAAKoL,KAAKud,GAA0B2nB,KAAOhzB,KAAKuX,QACzDh8B,GAAO,KAAKmH,KAAKoL,KAAKud,GAA0B2nB,KAAOhzB,KAAKuX,SAE/DzW,IACFgkC,GAAQ,EACRvpD,GAAO,OAEW,cAAhBykB,KAAKke,QAA0Brd,IACjCtlB,GAAO,KAAKmH,KAAKoL,KAAKwd,GAAsB0nB,KAAOhzB,KAAKuX,QACxDutB,GAAQ,GAENA,IAAOvpD,GAAO,OAClB,IAAIk1C,EAAQ,iBACQ,UAAhBzwB,KAAKke,SAAoBuS,EAAQ,gBACrCl1C,GAAOk1C,EACPh4C,SAASg4C,MAAQl1C,GAsSjBwpD,GAxRJ,WACE,MAAM9S,EAAgBvvC,KAAK6D,IACzB,EACAyZ,KAAKkyB,oBACHxvC,KAAKkE,MAAMoZ,KAAK2mB,gBAAgB3mB,KAAK4mB,aAAe5mB,KAAKqgB,gBACvD,IAEDrgB,KAAKqgB,cAAgBrgB,KAAK4mB,eAGzB3D,EAAYjjB,KAAKsd,SACnB4C,KAAKC,MAAQngB,KAAKijB,WAAa,IAAQjjB,KAAKuX,KAC7C,GAEH,IAAIh8B,EAAM,GACVA,GAAO,kCACS,KAAd0nC,EAAmB,gBAAkBA,aAEvC1nC,GAAO,2BACHykB,KAAKsW,SAAW,IAClB/6B,GAAO,uCAAuC8oB,GAC5CrE,KAAKsW,2BACYjS,GAA4BrE,KAAKsW,cACpD/6B,GAAO,4BAGPA,GADE2rB,GAAyB,EACpB,6CACAA,GAAyB,EAE9B,6GAEK,uCAAuC7C,GAC5C6C,6BACyB7C,GACzB6C,uBACmB7C,GACnB6C,mCAEJ3rB,GAAO,2BACPA,GAAO,eAAe8oB,GACpB4tB,8CAEF12C,GACEskB,EAAU2oB,oBACN,oCAAoCjd,kDAAyElH,GAC3GiF,GACA,iDAEF,GAEN/d,EAAE,iBAAiBoM,UAAYpc,EAyO7BypD,IAqDJ,SAASC,KACPvV,KACAlI,KACAM,KAGAznB,EAAe1iB,OAAO6C,KAAKwf,KAAKgxB,MAAM52C,OAxzFtCmnB,EAAU9oB,SAAS4D,cAAc,SACjCklB,EAAQ/mB,KAAO,WACf+mB,EAAQuM,GAAK,QAEbr1B,SAASysD,KAAKnvC,YAAYwL,GAh7L5B,WACE,MAAMwR,EAASt6B,SAAS4D,cAAc,OACtC02B,EAAOjF,GAAK,WACZiF,EAAO3wB,MAAMmG,OAAS,OACtBwqB,EAAO3wB,MAAMkG,MAAQ,OACrByqB,EAAO3wB,MAAMgI,SAAW,WACxB2oB,EAAO3wB,MAAMqV,QAAU,OACvBsb,EAAO3wB,MAAM+iD,iBAAmB,UAChCpyB,EAAO3wB,MAAM8V,gBAAkB,+CAC/B6a,EAAO3wB,MAAMgjD,UAAY,kBACzBryB,EAAO3wB,MAAMoV,SAAW,OACxBub,EAAO3wB,MAAMijD,WACX,uDAEF,MAAMC,EAAQvyB,EAAOhd,YAAYtd,SAAS4D,cAAc,UACxDipD,EAAMljD,MAAMkG,MAAQ,OACpBg9C,EAAMljD,MAAMuW,UAAY,SACxB2sC,EAAMljD,MAAMoW,WAAa,SACzB,MAAM+sC,EAAQD,EAAMvvC,YAAYtd,SAAS4D,cAAc,UAEjDmpD,EAAW,SAAUz/B,EAAMhe,GAC/B,MAAM09C,EAAKhtD,SAAS4D,cAAc,MAIlC,OAHAopD,EAAGrjD,MAAMuW,UAAY,QACrB8sC,EAAG7qD,UAAYgnB,EAAgB7Z,EAC/B09C,EAAGjoD,YAAcuoB,EACV0/B,GAEHjrD,EAAO+qD,EAAMxvC,YAAYtd,SAAS4D,cAAc,OACtD7B,EAAK4H,MAAMu0B,WAAa,OACxBn8B,EAAKub,YACHyvC,EAAS,aAAsCxjC,IAEnCujC,EAAMxvC,YAAYtd,SAAS4D,cAAc,OACjD0Z,YAAYyvC,EAAS,eAAgB1jC,IAChCyjC,EAAMxvC,YAAYtd,SAAS4D,cAAc,OACjD0Z,YAAYyvC,EAAS,iBAAkB1jC,IAC7ByjC,EAAMxvC,YAAYtd,SAAS4D,cAAc,OACjD0Z,YAAYyvC,EAAS,YAAa1jC,IAEvCvW,EAAE,WAAWwK,YAAYgd,GAEzBp1B,OAAO6C,KAAKwf,KAAK2N,SAAS6B,SAASr1B,IACjCo4B,GAA2Bp4B,MA8rR7BurD,GAziRF,WACE,MAAMhyB,EAAWj7B,SAAS4D,cAAc,OACxCq3B,EAAS5F,GAAK,aACd4F,EAAStxB,MAAMgI,SAAW,WAC1BspB,EAAStxB,MAAMqV,QAAU,OACzBic,EAAStxB,MAAMmG,OAAS,MACxBmrB,EAAStxB,MAAM2vB,SAAW,OAC1B2B,EAAStxB,MAAMu0B,WAAa,OAC5BjD,EAAStxB,MAAM+iD,iBAAmB,QAGlC,MAAMQ,EAAeh0B,GAAY,eAAgB,cAAe,CAC9D,CAAE7D,GAAI,qBAAsB/lB,MAAOqa,GACnC,CAAE0L,GAAI,kBAAmB/lB,MAAOoa,KAElCuR,EAAS3d,YAAY4vC,GAGrB,MAAMC,EAAgBj0B,GAAY,gBAAiB,gBAAiB,CAClE,CAAE7D,GAAI,sBAAuB/lB,MAAOqa,GACpC,CAAE0L,GAAI,mBAAoB/lB,MAAOka,KAEnCyR,EAAS3d,YAAY6vC,GACrB,MAAMC,EAAqBptD,SAAS4D,cAAc,OAClDwpD,EAAmB/3B,GAAK,uBACxB4F,EAAS3d,YAAY8vC,GAErBt6C,EAAE,WAAWwK,YAAY2d,GA+gRzBoyB,GA/mGF,WACE,MAAMC,EAAattD,SAAS4D,cAAc,OAC1C0pD,EAAWj4B,GAAK,eAChBi4B,EAAW3jD,MAAMkG,MAAQ,OACzBy9C,EAAW3jD,MAAM+iD,iBAAmB,QACpCY,EAAW3jD,MAAMuW,UAAY,SAC7BotC,EAAW3jD,MAAMu0B,WAAa,OAC9BovB,EAAW3jD,MAAMqV,QAAU,OAC3BsuC,EAAW3jD,MAAMyU,OAAS,KAC1BkvC,EAAWlT,WAAa,WACtB7yB,KAAK6W,QAAQ1lB,QAGf,MAAMwtB,EAAclmC,SAAS4D,cAAc,OAC3CsiC,EAAY5oB,YA/Dd,WACE,MAAMiwC,EAASvtD,SAAS4D,cAAc,OACtC2pD,EAAO5jD,MAAMy8B,SAAW,QACxBmnB,EAAO5jD,MAAM20B,aAAe,MAC5B,MAAM0Z,EAAQh4C,SAAS4D,cAAc,OACrCo0C,EAAM71C,UAAY,OAClB61C,EAAMruC,MAAM20B,aAAe,MAC3B0Z,EAAMjzC,YAAc,SACpBwoD,EAAOjwC,YAAY06B,GAEnB,MAAMwV,EAAa,SAAUl+C,EAAOge,GAClC,MAAM8K,EAAMp4B,SAAS4D,cAAc,OACnCw0B,EAAIzuB,MAAM6vB,cAAgB,SAC1B,MAAMikB,EAAOz9C,SAAS4D,cAAc,QAQpC,OAPA65C,EAAKt7C,UAAYinB,EAAgB9Z,EACjCmuC,EAAK9zC,MAAMqV,QAAU,eACrBy+B,EAAK9zC,MAAMmG,OAAS,OACpB2tC,EAAK9zC,MAAMkG,MAAQ,OACnB4tC,EAAK9zC,MAAM4vB,YAAc,MACzBnB,EAAI9a,YAAYmgC,GAChBrlB,EAAI9a,YAAYtd,SAASqgB,eAAeiN,IACjC8K,GAsBT,OAnBAm1B,EAAOjwC,YACLkwC,EAAWnkC,EAAY,iDAEzBkkC,EAAOjwC,YACLkwC,EAAWlkC,EAAa,wCAE1BikC,EAAOjwC,YACLkwC,EAAWjkC,EAAc,0CAE3BgkC,EAAOjwC,YACLkwC,EAAWhkC,EAAc,0CAE3B+jC,EAAOjwC,YACLkwC,EAAW/jC,EAAW,0CAExB8jC,EAAOjwC,YACLkwC,EAAW9jC,EAAc,8CAE3B6jC,EAAOjwC,YAAYkwC,EAAW7jC,EAAY,4BACnC4jC,EAoBiBE,IACxBH,EAAWrT,YAAc,WACvB1yB,KAAK6W,QAAQllB,KAAK9Y,KAAMimC,OAAOH,EAAYhnB,WAAY,UAGzD,MAAMwuC,EAAgB,SAAUr4B,EAAI/lB,GAClC,MAAMmuC,EAAOz9C,SAAS4D,cAAc,QAMpC,OALA65C,EAAKpoB,GAAKA,EACVooB,EAAKt7C,UAAYgnB,EAAgB7Z,EACjCmuC,EAAK9zC,MAAMkG,MAAQ,qBACnB4tC,EAAK9zC,MAAMqV,QAAU,eACrBy+B,EAAK14C,YAAc,IACZ04C,GAET6P,EAAWhwC,YAAYowC,EAAc,mBAAoBrkC,IACzDikC,EAAWhwC,YAAYowC,EAAc,oBAAqBpkC,IAC1DgkC,EAAWhwC,YAAYowC,EAAc,qBAAsBnkC,IAC3D+jC,EAAWhwC,YAAYowC,EAAc,qBAAsBlkC,IAC3D8jC,EAAWhwC,YAAYowC,EAAc,kBAAmBjkC,IACxD6jC,EAAWhwC,YAAYowC,EAAc,qBAAsBhkC,IAC3D4jC,EAAWhwC,YAAYowC,EAAc,mBAAoB/jC,IAEzD7W,EAAE,YAAY+N,WAAWq1B,aACvBoX,EACAx6C,EAAE,YAAY+N,WAAWsX,WAAW,IA0kGtCw1B,GAvyFF,WACE,MAAMC,EAAc5tD,SAAS4D,cAAc,OAC3CgqD,EAAYv4B,GAAK,gBACjBu4B,EAAYjkD,MAAMkG,MAAQ,OAC1B+9C,EAAYjkD,MAAMmG,OAAS,OAC3B89C,EAAYjkD,MAAM4U,gBAAkB,QACpCqvC,EAAYjkD,MAAMqV,QAAU,OAC5B4uC,EAAYjkD,MAAMyU,OAAS,aAC3BwvC,EAAYjkD,MAAMgI,SAAW,WAC7BmB,EAAE,WAAWwK,YAAYswC,GA+xFzBC,GAnkGF,WACE,MAAMz1B,EAAMp4B,SAAS4D,cAAc,OACnCw0B,EAAI/C,GAAK,sBACT+C,EAAIzuB,MAAMuW,UAAY,SACtB,MAAM3V,EAAIvK,SAAS4D,cAAc,KACjC2G,EAAEpI,UAAY,SACdoI,EAAEwvC,QAAU,WAC0B,SAAhCjnC,EAAE,YAAYnJ,MAAMqV,SACtBlM,EAAE,YAAYnJ,MAAMqV,QAAU,OAC9BlM,EAAE,kBAAkBnJ,MAAMqV,QAAU,OACpClM,EAAE,gBAAgBnJ,MAAMqV,QAAU,OAClClM,EAAE,iBAAiBnJ,MAAMqV,QAAU,SAEnClM,EAAE,YAAYnJ,MAAMqV,QAAU,OACc,IAAxClM,EAAE,kBAAkBsxB,SAASziC,SAC/BmR,EAAE,kBAAkBnJ,MAAMqV,QAAU,SACI,IAAtClM,EAAE,gBAAgBsxB,SAASziC,SAC7BmR,EAAE,gBAAgBnJ,MAAMqV,QAAU,SACO,IAAvClM,EAAE,iBAAiBsxB,SAASziC,SAC9BmR,EAAE,iBAAiBnJ,MAAMqV,QAAU,WAGzCzU,EAAExF,YAAc,qBAChBqzB,EAAI9a,YAAY/S,GAChB,MAAMP,EAAIhK,SAAS4D,cAAc,KACjCoG,EAAE7H,UAAY,SACd6H,EAAE+vC,QAAU,WAC0B,SAAhCjnC,EAAE,YAAYnJ,MAAMqV,QACtBlM,EAAE,YAAYnJ,MAAMqV,QAAU,OAC3BlM,EAAE,YAAYnJ,MAAMqV,QAAU,QAErChV,EAAEjF,YAAc,sBAChBqzB,EAAI9a,YAAYtT,GAChB8I,EAAE,SAASojC,aAAa9d,EAAKtlB,EAAE,SAASqlB,WAAW,IAmiGnD21B,GArhKF,WACE,MAAMle,EAAU5vC,SAAS4D,cAAc,QACvCgsC,EAAQva,GAAK,YACbua,EAAQh4B,IAAM,gBACdg4B,EAAQ0F,KAAO,uDACft1C,SAAS+tD,qBAAqB,QAAQ,GAAGzwC,YAAYsyB,GAihKrDoe,GACA9oD,OAAO6C,KAAKgiB,GAAagN,SAASr1B,KAlgGpC,SAA6BwkC,EAAa5Y,EAAM8Y,GAC9C,MAAMiN,EAAUrzC,SAAS4D,cAAc,OACvCyvC,EAAQhe,GAAK6Q,EACb,MAAMyP,EAAO31C,SAAS4D,cAAc,OACpC+xC,EAAKhsC,MAAMy8B,SAAWA,EACtBuP,EAAKhsC,MAAM20B,aAAe,MAC1B,MAAMlG,EAAMp4B,SAAS4D,cAAc,OACnCw0B,EAAIzuB,MAAMuW,UAAY,OACtBkY,EAAIrzB,YAAcuoB,EAClBqoB,EAAKr4B,YAAY8a,GACjBib,EAAQ/1B,YAAYq4B,GACpB3rB,EAAsBkc,GAAemN,EAw/FnC4a,CACElkC,EAAYroB,GAAG,GACfqoB,EAAYroB,GAAG,GACfqoB,EAAYroB,GAAG,OA93FrB,WACE,MAAMwiD,EAAUlkD,SAAS4D,cAAc,KACvCsgD,EAAQ7uB,GAAK,6BACb6uB,EAAQn/C,YAAc,iBACtBm/C,EAAQ/hD,UAAY,SACpB+hD,EAAQnK,QAAU,WAChB8B,MAEFqI,EAAQ9J,WAAa,WACnB7yB,KAAK6W,QAAQ2sB,WAAa,GAE5B7G,EAAQjK,YAAc,WACpB1yB,KAAK6W,QAAQye,QAAU,EACvBt1B,KAAK6W,QAAQllB,KACX9Y,MACA,WACE,OAAO27C,GAAc,KAAM,YAE7B,QAEFx0B,KAAK6W,QAAQ0e,UAEfhqC,EAAE,oBAAoBsxB,SAAS,GAAG8pB,OAAOhK,GACzC,MAAME,EAAcpkD,SAAS4D,cAAc,KAC3CwgD,EAAY/uB,GAAK,2BACjB+uB,EAAYr/C,YAAc,qBAC1Bq/C,EAAYjiD,UAAY,SACxBiiD,EAAYrK,QAAU,WACa,OAA7BzoB,GAAsB,KACxB/J,KAAKyR,UAAU1H,GAAsB,IAAIwqB,GAAK,IAElDsI,EAAYhK,WAAa,WACvB7yB,KAAK6W,QAAQ2sB,WAAa,GAE5B3G,EAAYnK,YAAc,WACxB1yB,KAAK6W,QAAQye,QAAU,EACvBt1B,KAAK6W,QAAQllB,KACX9Y,MACA,WACE,OAAO27C,GAAc,KAAM,gBAE7B,QAEFx0B,KAAK6W,QAAQ0e,UAEfhqC,EAAE,oBAAoBsxB,SAAS,GAAG8pB,OAAO9J,GAo1FzC+J,GA7zFAr7C,EAAE,YAAYnJ,MAAMqV,QAAU,OAC9BlM,EAAE,aAAanJ,MAAM0tB,QAAU,MAE/BvkB,EAAE,YAAYnJ,MAAMqV,QAAU,OAC9BlM,EAAE,YAAYnJ,MAAM,aAAe,OAqInCzE,OAAO6C,KAAKwf,KAAK2N,SAAS6B,SAASr1B,IACjC,MAAMs2B,EAAKzQ,KAAK2N,QAAQxzB,GACiB,OAArCoR,EAAE,UAAUklB,EAAG3C,MAAM4kB,cACvBlxB,EAAmBrnB,GAAKoR,EAAE,UAAUklB,EAAG3C,MAAM4kB,YAC7CnnC,EAAE,UAAUklB,EAAG3C,MAAM4kB,YAAc,WACjC1yB,KAAK6W,QAAQye,QAAU,EACvBt1B,KAAK6W,QAAQllB,KACX9Y,MACA,WACE,OAAO27C,GAAc,IAAK,GAAGr6C,OAE/B,SAEF6lB,KAAK6W,QAAQ0e,cAUfv1B,KAAK6mC,aACPvmC,EAAoB/U,EAAE,SAASmnC,YAC/BnnC,EAAE,SAASmnC,YAAc,WACvB1yB,KAAK6W,QAAQye,QAAU,EACvBt1B,KAAK6W,QAAQllB,KACX9Y,MACA,WACE,OAAO27C,GAAc,IAAK,UAE5B,QAEFx0B,KAAK6W,QAAQ0e,WAkFjB30B,EAAgBZ,KAAKY,cACrBZ,KAAKY,cAAgB,WACnBA,IA3EEZ,KAAK2N,QAAQmM,KAAKzL,iBACpB9iB,EAAE,gBAAgBmnC,YAAc,WAC9B1yB,KAAK6W,QAAQye,QAAU,EACvBt1B,KAAK6W,QAAQllB,KACX9Y,MACA,WACE,OAAO27C,GAAc,KAAM,sBAE7B,QAEFx0B,KAAK6W,QAAQ0e,UAEf5xC,MAAMs+C,KAAK12C,EAAE,cAAcsxB,UAAUrN,SAASs3B,IAC5C,MAAMC,EAASD,EAAMh5B,GAAG5P,OAAO,GAC/B4oC,EAAMpU,YAAc,WAClB1yB,KAAK6W,QAAQye,QAAU,EACvBt1B,KAAK6W,QAAQllB,KACX9Y,MACA,WACE,OAAO27C,GAAc,IAAK,CAAC,GAAGuS,EAAO,KAAM,GAAGA,EAAO,SAEvD,QAEF/mC,KAAK6W,QAAQ0e,cAsDjBF,KAhDJ,WACE,GAAIr1B,KAAK2N,QAAQF,OAAOY,eAAgB,CACtC,IAAK,IAAIl0B,EAAI,EAAGA,EAAI,GAAIA,GAAK,EAC3BoR,EAAE,YAAYpR,KAAKu4C,YAAc,WAC/B1yB,KAAK6W,QAAQye,QAAU,EACvBt1B,KAAK6W,QAAQllB,KACX9Y,MACA,WACE,OAAO27C,GAAc,MAAOr6C,KAE9B,QAEF6lB,KAAK6W,QAAQ0e,UAGjB,IAAK,IAAIp7C,EAAI,EAAGA,EAAI,EAAGA,GAAK,EAC1BoR,EAAE,aAAapR,KAAKu4C,YAAc,WAChC1yB,KAAK6W,QAAQye,QAAU,EACvBt1B,KAAK6W,QAAQllB,KACX9Y,MACA,WACE,OAAO27C,GAAc,MAAO,CAC1Br6C,EACA6lB,KAAK2N,QAAQF,OAAOC,SAAS8I,KAAKr8B,OAGtC,QAEF6lB,KAAK6W,QAAQ0e,WAqBjByR,GACAtR,MAEF11B,KAAKY,gBAy/ELrV,EAAE,wBAAwBmnC,YAAc,WACtC9vB,EAAsB,GAExBrX,EAAE,wBAAwBsnC,WAAa,WACrCjwB,EAAsB,EACtB5C,KAAK6W,QAAQ1lB,OACbxT,OAAO6C,KAAKwf,KAAKyR,WAAWjC,SAASr1B,IACnC2oB,EAA0B3oB,GAAK,MA+DnC4nD,KACArM,KACA11B,KAAKgiB,iBAELkS,KACAxxB,EAAoB1C,KAAK8wB,SAErB9wB,KAAKgd,MAAMiqB,OACbjnC,KAAKknC,MACH,0CAGFlnC,KAAKmnC,OACH,yCACA,GACA,GACA,EACA,GAGJnnC,KAAKonC,IAAI,eA2EX,MAAMC,GAAK,CACT5tD,KA1DF,WACEk2C,IAAiB,EACjB,IAAI2X,GAAU,EACVtnC,KAAKivB,UAAYnqB,OAxgUF,WAygUjBwiC,EAAUC,QACR,4JAGAD,IACFrC,KACAjlC,KAAKwnC,aAAa,OAAQzqB,IAC1B/c,KAAKwnC,aAAa,QAAS3W,IAC3B7wB,KAAKwnC,aAAa,QAASloB,IAC3BqQ,IAAiB,IA8CnB8X,KA/BF,SAAclsD,GACZ,MAAMszC,EAAOrzC,KAAKC,MAAMF,GACxBm0C,UAEsC,IAA3Bb,EAAKE,oBACd3qB,GAAoByqB,EAAKE,mBAC3BmF,GAAWrF,EAAKG,UACK,YAAjBH,EAAKI,UACHjvB,KAAKgd,MAAMiqB,OACbjnC,KAAKknC,MACH,iGAGFlnC,KAAKmnC,OACH,gGACA,GACA,GACA,EACA,KAcNtY,KAAMA,IAGR7uB,KAAK0nC,YAAY,gBAAiBL,KA1kUlC,IAxgHS","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","CycliusDateAtBeginLoop","CenturyDateAtBeginLoop","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CacheAverageCookiesFromClicks","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","CMDrawHook","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","reduce","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","MissingAchievements","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoopHook","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","calcSum","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","achievs","values","parentElement","achievsCrate","AchievementsById","mouseDown","setOnCrate","tags","neuromancy","sesame","descFunc","tagsStr","CrateTooltipLockedAchievements","AddMissingAchievements","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":";AAAS,MACC,IAAIA,EAAsB,CAE9BC,IACA,SAAUC,IAchB,SAAWC,EAAQC,GAElB,aAEuC,iBAAnBF,EAAOG,QAc3BD,EAAQD,GAZPD,EAAOG,QAAUF,EAAOG,SACvBF,EAASD,GACT,SAAUI,GACT,IAAKA,EAAID,SACR,MAAM,IAAIE,MAAM,wCAEjB,OAAOJ,EAAQG,IAZnB,CAoBqB,oBAAXE,OAAyBA,OAASC,MAAM,SAAUD,GAK5D,aAGA,IAwgDME,EAt7BAC,EAzXAC,EAvNFC,EAFAC,IAEAD,EAAM,CAGTE,aAAc,EAEdC,UAAY,GAEZC,WAAa,GAGbC,SAAW,gBACY,IAAXV,GAA0BA,EAAOH,UAC3CG,EAAOH,SAASc,iBAAiB,mBAAoBN,EAAIO,IAAIC,MAAM,IAKrEC,kBAAoB,SAAUC,EAAUC,GAEvC,KADAA,EAAWA,EAAWX,EAAIY,KAAKD,GAAYhB,EAAOH,UAEjD,MAAM,IAAIE,MAAM,qBAQjB,IALA,IAAImB,EAAOF,EAASG,iBAAiBJ,GAGjCK,EAAa,IAAIC,OAAO,WAAahB,EAAIO,IAAIU,YAAc,6BAA8B,KAEpFC,EAAI,EAAGA,EAAIL,EAAKM,OAAQD,GAAK,EAAG,CAUxC,IAAIE,EAAUC,EARd,KAAIR,EAAKK,GAAGjB,SAAWY,EAAKK,GAAGjB,mBAAmBD,EAAIO,YAIjCe,IAAjBT,EAAKK,GAAGK,MAAoD,SAA9BV,EAAKK,GAAGK,KAAKC,gBAA4BxB,EAAIyB,wBAOzB,QAApDL,EAAWpB,EAAI0B,YAAYb,EAAKK,GAAI,aACpCL,EAAKK,GAAGS,YAAcN,EAAIR,EAAKK,GAAGS,UAAUC,MAAMb,KAClD,CACD,IAAIc,EAAYhB,EAAKK,GAEjBY,EAAU,GACG,OAAbV,EACHU,EAAUV,EAEAC,IACVU,QAAQC,KAAK,sFAAwFhC,EAAIiC,SACrGZ,EAAE,KACLS,EAAUT,EAAE,KAId,IAAIa,EAAO,KACX,GAAIJ,EAAQK,OACX,IACCD,EAAOlC,EAAIoC,gBAAgBN,GAC1B,MAAOO,GACRN,QAAQC,KAAKK,EAAI,KAAOP,GAI1B,IACC,IAAI9B,EAAIO,IAAIsB,EAAWK,GACtB,MAAOG,GACRN,QAAQC,KAAKK,OAOjBD,gBAAkB,SAAUE,GAC3B,IAAIJ,EAAO,KAEX,IACCA,EAAOK,KAAKC,MAAMF,GAEjB,MAAOG,GACR,IAAKzC,EAAIO,IAAImC,UACZ,MAAM,IAAIhD,MAAM,4CAA8C+C,GAG9D,IACCP,EAAO,IAAKS,SAAU,eAAiBL,EAAM,kDAAtC,GACN,MAAOM,GACR,MAAM,IAAIlD,MAAM,uCAAyCkD,IAI5D,OAAOV,GAIRW,aAAe,WAEd,IADA,IAAIC,EAAO,GACF5B,EAAI,EAAGA,EAAIlB,EAAIG,UAAUgB,OAAQD,GAAK,EAE1ClB,EAAIG,UAAUe,IAAMlB,EAAIG,UAAUe,GAAG6B,eACxCD,EAAKE,KAAKhD,EAAIG,UAAUe,IAG1B,OAAO4B,GAIRG,SAAW,SAAUC,GACpB,IAAIC,EAAKxD,EAAOH,SAAS4D,cAAcF,GAEvC,OADAlD,EAAIqD,QAAQF,EAAI,OAAO,GAChBA,GAIRvC,KAAO,SAAU0C,GAChB,IAAKA,EACJ,OAAO,KAGR,GAA8B,iBAAnBA,EAA6B,CAEvC,IAAIC,EAAMD,EACNH,EAAK,KACT,IACCA,EAAKxD,EAAOH,SAASgE,cAAcD,GAClC,MAAOlB,GAER,OADAN,QAAQC,KAAKK,GACN,KAKR,OAHKc,GACJpB,QAAQC,KAAK,sCAAuCuB,GAE9CJ,EAGR,OAAInD,EAAIyD,OAAOH,GAEPA,GAGRvB,QAAQC,KAAK,qCAAsCsB,EAAgBA,GAC5D,OAKRG,OAAS,SAAUC,GAClB,MAAoB,iBAATC,KACHD,aAAeC,KAEhBD,GAAsB,iBAARA,GAA4C,iBAAjBA,EAAIE,UAAiD,iBAAjBF,EAAIG,UAIzFA,SAAW,SAAUjD,GACpB,SAAIA,IAAQA,EAAKiD,WACTjD,EAAKiD,SAASrC,eAMvBsC,eAAiB,SAAUlD,GAC1B,KAAOA,EAAKmD,YACXnD,EAAKoD,YAAYpD,EAAKmD,aAKxBE,YAAc,SAAUd,GACvB,OAAOA,GAA2B,UAArBnD,EAAI6D,SAASV,IAA6C,SAA1BA,EAAG5B,KAAKC,eAItD0C,SAAW,SAAUf,GACpB,IAAKA,EACJ,OAAO,EAER,IAAIgB,EAAInE,EAAI6D,SAASV,GACrB,MACQ,WAANgB,GACM,UAANA,GAAiB,CAAC,SAAU,SAAU,SAASC,QAAQjB,EAAG5B,KAAKC,gBAAkB,GAKpF6C,cAAgB,SAAUlB,GACzB,OAAQnD,EAAI6D,SAASV,IACpB,IAAK,QAAS,OAASA,EAAGmB,OAA6B,KAApBnB,EAAGmB,MAAMnC,OAC5C,IAAK,SAAU,MAAkC,KAA1BgB,EAAGoB,YAAYpC,OAEvC,OAAO,MAKRqC,wBAA0B,WACzB,IAAIC,GAAY,EAEhB,IACC,IAAIvC,EAAOwC,OAAOC,eAAe,GAAI,UAAW,CAC/CC,IAAK,WAAcH,GAAY,KAEhC9E,EAAOW,iBAAiB,cAAe,KAAM4B,GAC7CvC,EAAOkF,oBAAoB,cAAe,KAAM3C,GAC/C,MAAOG,IAET,OAAOoC,EAXkB,GAe1BhD,sBACK1B,EAAMJ,EAAOH,SAAS4D,cAAc,YACpCrD,EAAI+E,eACP/E,EAAI+E,aAAa,OAAQ,SACK,SAA1B/E,EAAIwB,KAAKC,iBAQfuD,SAAW,gBAOX1B,QAAU,WACT,IAAI2B,EAAMC,UAAU,GAEpB,GAAyB,IAArBA,UAAU9D,OAAc,CAE3B,IAAI+D,EAAOF,EAAIG,eAAenF,EAAI+E,UAAYC,EAAIhF,EAAI+E,UAAaC,EAAIhF,EAAI+E,UAAY,GAEnFT,EAAQW,UAAU,GAGtB,OADAC,EAHIE,EAAOH,UAAU,IAGRX,GACN,EAED,GAAyB,IAArBW,UAAU9D,QAAwC,iBAAjB8D,UAAU,GAAiB,CAElEC,EAAOF,EAAIG,eAAenF,EAAI+E,UAAYC,EAAIhF,EAAI+E,UAAaC,EAAIhF,EAAI+E,UAAY,GAAvF,IACIM,EAAMJ,UAAU,GAEpB,IAAK,IAAIG,KAAQC,EACZA,EAAIF,eAAeC,KACtBF,EAAKE,GAAQC,EAAID,IAGnB,OAAO,EAGR,MAAM,IAAI1F,MAAM,sBAOjB4F,WAAa,WACZ,IAAIN,EAAMC,UAAU,GACpB,IAAKD,EAAIG,eAAenF,EAAI+E,UAC3B,OAAO,EAER,IAAK,IAAI7D,EAAI,EAAGA,EAAI+D,UAAU9D,OAAQD,GAAK,EAAG,CAC7C,IAAIkE,EAAOH,UAAU/D,UACd8D,EAAIhF,EAAI+E,UAAUK,GAE1B,OAAO,GAIRG,QAAU,SAAUP,EAAKI,EAAMI,GAC9B,IAAKR,EAAIG,eAAenF,EAAI+E,UAAW,CAEtC,QAAmBzD,IAAfkE,EAGH,OAFAR,EAAIhF,EAAI+E,UAAY,GAKtB,IAAIG,EAAOF,EAAIhF,EAAI+E,UAKnB,OAHKG,EAAKC,eAAeC,SAAwB9D,IAAfkE,IACjCN,EAAKE,GAAQI,GAEPN,EAAKE,IAIb1D,YAAc,SAAUyB,EAAIsC,GAC3B,IAAIC,EAAW,QAAUD,EAEzB,OADgBtC,EAAGwC,aAAaD,IAKjCE,YAAc,SAAUzC,EAAIsC,EAAMnB,GACjC,IAAIoB,EAAW,QAAUD,EACzBtC,EAAG2B,aAAaY,EAAUpB,IAI3BuB,qBAAuB,GAGvBC,iBAAmB,SAAUC,EAAW5C,EAAI6C,EAAMC,GAC5CjG,EAAI6F,qBAAqBV,eAAeY,KAC5C/F,EAAI6F,qBAAqBE,GAAa,IAEvC/F,EAAI6F,qBAAqBE,GAAW/C,KAAK,CAACG,EAAI6C,EAAMC,IACpD9C,EAAG7C,iBAAiB0F,EAAMC,GAAM,IAIjCC,kBAAoB,SAAUH,GAC7B,GAAI/F,EAAI6F,qBAAqBV,eAAeY,GAAY,CACvD,IAAK,IAAI7E,EAAI,EAAGA,EAAIlB,EAAI6F,qBAAqBE,GAAW5E,OAAQD,GAAK,EAAG,CACvE,IAAIiF,EAAMnG,EAAI6F,qBAAqBE,GAAW7E,GAC9CiF,EAAI,GAAGtB,oBAAoBsB,EAAI,GAAIA,EAAI,IAAI,UAErCnG,EAAI6F,qBAAqBE,KAKlCK,eAAiB,SAAU/D,GACtBA,EAAE+D,gBAAkB/D,EAAE+D,iBAC1B/D,EAAEgE,aAAc,GAIjBC,cAAgB,SAAUC,GAErBA,EAAOC,aACVxG,EAAIyG,gBAAkBF,EACtBvG,EAAIyG,gBAAgBD,eAKtBE,cAAgB,WAEX1G,EAAIyG,kBACPzG,EAAIyG,gBAAgBE,iBACpB3G,EAAIyG,gBAAkB,OAKxBG,aAAe,SAAUzD,EAAI0D,EAAWC,EAASC,GAChD,GAAK5D,EAAL,CAIA,IAAI6D,EAAK,KAaT,MAXqB,mBAAVC,MACVD,EAAK,IAAIC,MAAMJ,EAAW,CACzBC,QAASA,EACTC,WAAYA,KAIbC,EAAKrH,EAAOH,SAAS0H,YAAY,UAC9BC,UAAUN,EAAWC,EAASC,KAG7BC,IAKLhH,EAAIqD,QAAQ2D,EAAI,YAAY,GAE5B7D,EAAGiE,cAAcJ,IACV,KAIRK,kBAAoB,SAAUlE,EAAI0D,EAAWC,EAASC,GAChD5D,GAGDnD,EAAIiE,YAAYd,IACnBnD,EAAI4G,aAAazD,EAAI0D,EAAWC,EAASC,IAK3CO,SAAW,SAAUN,GACpB,IAAIO,EAAO,CACVC,EAAG,MACHC,GAAI,QACJC,GAAI,UAEL,MAAuB,iBAAZV,EAAGW,KACNX,EAAGW,UACerG,IAAf0F,EAAGY,SAAyBL,EAAKpC,eAAe6B,EAAGY,SACtDL,EAAKP,EAAGY,SAET,MAIRC,QAAU,SAAUvF,GACnB,OAAKA,EAGEA,EAAIwF,QAAQ,aAAc,IAAIC,MAAM,OAFnC,IAOTC,SAAW,SAAUjI,EAAK4B,GACzB,QAAKA,SAGiBL,IAAlBvB,EAAIkI,UACAlI,EAAIkI,UAAUC,SAASvG,IAGvB,IAAM,IAAM5B,EAAI4B,UAAUmG,QAAQ,OAAQ,KAAO,KAAK1D,QAAQ,IAAMzC,EAAY,OAKzFwG,SAAW,SAAUpI,EAAK4B,GACzB,IAAIyG,EAAapI,EAAI6H,QAAQlG,GAE7B,QAAsBL,IAAlBvB,EAAIkI,UAOR,IAAS/G,EAAI,EAAGA,EAAIkH,EAAWjH,OAAQD,GAAK,EACtClB,EAAIgI,SAASjI,EAAKqI,EAAWlH,MACjCnB,EAAI4B,YAAc5B,EAAI4B,UAAY,IAAM,IAAMyG,EAAWlH,SAR1D,IAAK,IAAIA,EAAI,EAAGA,EAAIkH,EAAWjH,OAAQD,GAAK,EAC3CnB,EAAIkI,UAAUI,IAAID,EAAWlH,KAchCoH,YAAc,SAAUvI,EAAK4B,GAC5B,IAAIyG,EAAapI,EAAI6H,QAAQlG,GAE7B,QAAsBL,IAAlBvB,EAAIkI,UAOR,IAAS/G,EAAI,EAAGA,EAAIkH,EAAWjH,OAAQD,GAAK,EAAG,CAC9C,IAAIqH,EAAO,IAAIvH,OACd,QAAUoH,EAAWlH,GAArB,YACSkH,EAAWlH,GADpB,aAESkH,EAAWlH,GAAK,SACzB,KAEDnB,EAAI4B,UAAY5B,EAAI4B,UAAUmG,QAAQS,EAAM,WAb5C,IAAK,IAAIrH,EAAI,EAAGA,EAAIkH,EAAWjH,OAAQD,GAAK,EAC3CnB,EAAIkI,UAAUO,OAAOJ,EAAWlH,KAiBnCuH,aAAe,SAAU1I,GAKxB,OAJgBJ,EAAO+I,iBAAmB/I,EAAO+I,iBAAiB3I,GAAOA,EAAI4I,eAKrE,IAUTC,SAAW,SAAU7I,EAAK8I,EAAQC,EAAWC,GAE5C,IAAIC,EAAWF,EAAY,YAAc,GACrCG,EAAY,KAEhB,IAAK,IAAI7D,KAAQyD,EAChB,GAAIA,EAAO1D,eAAeC,GAAO,CAChC,IAAI8D,EAAS,KAEQ,OAAjBL,EAAOzD,IAGL6D,IAEJA,EAAYjJ,EAAIuF,QAAQxF,EAAK,cAE1BkJ,GAAaA,EAAU9D,eAAeC,KAEzC8D,EAASD,EAAU7D,MAMhB2D,IACEE,IAEJA,EAAYjJ,EAAIuF,QAAQxF,EAAK,YAAa,KAEtCkJ,EAAU9D,eAAeC,KAE7B6D,EAAU7D,GAAQrF,EAAIoJ,MAAM/D,KAG9B8D,EAASL,EAAOzD,IAGF,OAAX8D,GACHnJ,EAAIoJ,MAAMC,YAAYhE,EAAM8D,EAAQF,KAOxCK,SAAW,SAAUC,EAAGC,EAAGC,GAC1B,MAAO,MACL,IAAMC,KAAKC,MAAMJ,GAAGK,SAAS,KAAKC,QAAQ,IAC1C,IAAMH,KAAKC,MAAMH,GAAGI,SAAS,KAAKC,QAAQ,IAC1C,IAAMH,KAAKC,MAAMF,GAAGG,SAAS,KAAKC,QAAQ,IAC1CC,eAIHC,UAAY,SAAUR,EAAGC,EAAGC,EAAGO,GAC9B,MAAO,MACL,IAAMN,KAAKC,MAAMJ,GAAGK,SAAS,KAAKC,QAAQ,IAC1C,IAAMH,KAAKC,MAAMH,GAAGI,SAAS,KAAKC,QAAQ,IAC1C,IAAMH,KAAKC,MAAMF,GAAGG,SAAS,KAAKC,QAAQ,IAC1C,IAAMH,KAAKC,MAAU,IAAJK,GAASJ,SAAS,KAAKC,QAAQ,IAChDC,eAIHG,SAAW,SAAUV,EAAGC,EAAGC,GAC1B,MAAO,OACNC,KAAKC,MAAMJ,GAAK,IAChBG,KAAKC,MAAMH,GAAK,IAChBE,KAAKC,MAAMF,GACZ,KAIDS,UAAY,SAAUX,EAAGC,EAAGC,EAAGO,GAC9B,MAAO,QACNN,KAAKC,MAAMJ,GAAK,IAChBG,KAAKC,MAAMH,GAAK,IAChBE,KAAKC,MAAMF,GAAK,IACfC,KAAKC,MAA4C,KAArCK,QAA4B,EAAIA,IAAY,IAC1D,KAIDG,gBAmBKpK,EAjBJ,WAKC,IAJA,IAAIqK,EAAU,kBACVC,EAAW,CAAC,GAAI,WAAY,QAAS,MAAO,QAC5CC,EAAS1K,EAAOH,SAAS4D,cAAc,OAElClC,EAAI,EAAGA,EAAIkJ,EAASjJ,OAAQD,GAAK,EAAG,CAC5C,IAAIoJ,EAAUF,EAASlJ,GAAKiJ,EACxBI,EAASD,EAAU,2CAGvB,GADAD,EAAOlB,MAAMqB,WAAaD,EACtBF,EAAOlB,MAAMqB,WAChB,OAAOF,EAGT,OAAOH,EAGOM,GAER,WACN,OAAO3K,EAAW,IAAM4K,MAAMC,UAAUC,KAAKC,KAAK5F,UAAW,MAAQ,MAMvE6F,gBAAkB,SAAU/K,EAAKuE,GAChCtE,EAAI4I,SAAS7I,EAAK,CAACgL,gBAAkBzG,GAAS,OAI/C0G,aAAe,SAAUjL,EAAKuE,GAC7BtE,EAAI4I,SAAS7I,EAAK,CAACkL,aAAc3G,GAAS,UAI3C4G,cAAgB,SAAU7I,EAAG8I,GAC5B,IAAIC,EAAE,EAAGC,EAAE,EACPC,EAAOjJ,EAAEkJ,wBAGb,GAFAH,EAAIE,EAAKE,KACTH,EAAIC,EAAKG,KACJN,EAAoB,CACxB,IAAIO,EAAU1L,EAAI2L,aAClBP,GAAKM,EAAQ,GACbL,GAAKK,EAAQ,GAEd,MAAO,CAACN,EAAGC,IAIZO,eAAiB,SAAUvJ,GAC1B,MAAO,CAACA,EAAEwJ,YAAaxJ,EAAEyJ,eAK1BC,iBAAmB,SAAU1J,GAC5B,IAAI+I,EAAI,EAAGC,EAAI,EASf,YARgC,IAArBhJ,EAAE2J,gBAAkC3J,EAAE2J,eAAe7K,QAE/DiK,EAAI/I,EAAE2J,eAAe,GAAGC,QACxBZ,EAAIhJ,EAAE2J,eAAe,GAAGE,SACO,iBAAd7J,EAAE4J,UACnBb,EAAI/I,EAAE4J,QACNZ,EAAIhJ,EAAE6J,SAEA,CAAEd,EAAGA,EAAGC,EAAGA,IAKnBc,iBAAmB,SAAU9J,GAC5B,IACI+J,GADS/J,EAAEkE,QAAUlE,EAAEgK,YACHd,wBAIpBU,EAAU,EAAGC,EAAU,EAY3B,YAXgC,IAArB7J,EAAE2J,gBAAkC3J,EAAE2J,eAAe7K,QAE/D8K,EAAU5J,EAAE2J,eAAe,GAAGC,QAC9BC,EAAU7J,EAAE2J,eAAe,GAAGE,SACC,iBAAd7J,EAAE4J,UACnBA,EAAU5J,EAAE4J,QACZC,EAAU7J,EAAE6J,SAKN,CAAEd,EAFLa,EAAUG,EAAWZ,KAEVH,EADXa,EAAUE,EAAWX,MAK1BE,WAAa,WACZ,IAAIW,EAAM3M,EAAOH,SAAS+M,gBAC1B,MAAO,EACL5M,EAAO6M,aAAeF,EAAIG,aAAeH,EAAII,YAAc,IAC3D/M,EAAOgN,aAAeL,EAAIM,YAAcN,EAAIO,WAAa,KAK5DC,YAAc,WACb,IAAIR,EAAM3M,EAAOH,SAAS+M,gBAC1B,MAAO,CACL5M,EAAOoN,YAAcT,EAAIU,YACzBrN,EAAOsN,aAAeX,EAAIY,eAW7BC,QAAU,SAAU7D,EAAGC,EAAGC,GACzBF,GAAK,IACLC,GAAK,IACLC,GAAK,IACL,IAAIrF,EAAIsF,KAAK2D,IAAI3D,KAAK2D,IAAI9D,EAAEC,GAAGC,GAC3B6D,EAAI5D,KAAK6D,IAAI7D,KAAK6D,IAAIhE,EAAEC,GAAGC,GAC3BnI,EAAIgM,EAAIlJ,EACZ,GAAU,IAAN9C,EAAW,MAAO,CAAE,KAAM,EAAG,IAAMgM,GACvC,IAAIE,EAAIjE,IAAInF,EAAI,GAAGqF,EAAED,GAAGlI,EAAKkI,IAAIpF,EAAI,GAAGmF,EAAEE,GAAGnI,EAAI,GAAGkI,EAAED,GAAGjI,EACzD,MAAO,CACN,IAAU,IAAJkM,EAAM,EAAEA,GACPlM,EAAEgM,EAAT,IACA,IAAMA,IAWRG,QAAU,SAAUD,EAAGE,EAAGJ,GACzB,IAAIK,EAAWL,EAAI,IAAX,IAER,GAAU,OAANE,EACH,MAAO,CAAEG,EAAGA,EAAGA,GAGhBH,GAAK,GACLE,GAAK,IAEL,IAAIvM,EAAIuI,KAAKkE,MAAMJ,GAEflM,EAAIqM,GAAK,EAAID,GACbtJ,EAAIuJ,GAAK,EAAID,GAFTvM,EAAE,EAAIqM,EAAErM,EAAI,GAAGqM,EAAErM,KAGzB,OAAQA,GACP,KAAK,EACL,KAAK,EAAG,MAAO,CAACwM,EAAEvJ,EAAE9C,GACpB,KAAK,EAAG,MAAO,CAAC8C,EAAEuJ,EAAErM,GACpB,KAAK,EAAG,MAAO,CAACA,EAAEqM,EAAEvJ,GACpB,KAAK,EAAG,MAAO,CAAC9C,EAAE8C,EAAEuJ,GACpB,KAAK,EAAG,MAAO,CAACvJ,EAAE9C,EAAEqM,GACpB,KAAK,EAAG,MAAO,CAACA,EAAErM,EAAE8C,KAKtByJ,iBAAmB,SAAUtL,GAC5B,IAKIjB,EALAwM,EAAM,CACTC,KAAM,KACNC,OAAQ,MAKT,GAAI1M,EAAIiB,EAAIV,MAAM,4BAA6B,CAG9C,GAAoB,IAAhBP,EAAE,GAAGF,OAER0M,EAAIE,OAAS,OACbF,EAAIC,KAAO,CACVE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1BoE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1BoE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1BoE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAAM,UAG3B,GAAoB,IAAhBvI,EAAE,GAAGF,OAEf0M,EAAIE,OAAS,MACbF,EAAIC,KAAO,CACVE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1BoE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1BoE,SAAS3M,EAAE,GAAGuI,OAAO,EAAE,GAAG,IAC1B,UAGK,IAAoB,IAAhBvI,EAAE,GAAGF,OAWf,OAAO,EATP0M,EAAIE,OAAS,MACbF,EAAIC,KAAO,CACVE,SAAS3M,EAAE,GAAG4M,OAAO,GAAK5M,EAAE,GAAG4M,OAAO,GAAG,IACzCD,SAAS3M,EAAE,GAAG4M,OAAO,GAAK5M,EAAE,GAAG4M,OAAO,GAAG,IACzCD,SAAS3M,EAAE,GAAG4M,OAAO,GAAK5M,EAAE,GAAG4M,OAAO,GAAG,IACzC,MAOF,OAAOJ,EAGR,GAAIxM,EAAIiB,EAAIV,MAAM,6BAA8B,CAG/C,IAEIsM,EAAIC,EAAIC,EAAIC,EAFZC,EAAMjN,EAAE,GAAG0G,MAAM,KACjBwG,EAAK,kCAET,GACCD,EAAInN,QAAU,IACb+M,EAAKI,EAAI,GAAG1M,MAAM2M,MAClBJ,EAAKG,EAAI,GAAG1M,MAAM2M,MAClBH,EAAKE,EAAI,GAAG1M,MAAM2M,IAiBnB,OAfAV,EAAIE,OAAS,MACbF,EAAIC,KAAO,CACVU,WAAWN,EAAG,KAAO,EACrBM,WAAWL,EAAG,KAAO,EACrBK,WAAWJ,EAAG,KAAO,EACrB,MAIAE,EAAInN,QAAU,IACbkN,EAAKC,EAAI,GAAG1M,MAAM2M,MAEnBV,EAAIE,OAAS,OACbF,EAAIC,KAAK,GAAKU,WAAWH,EAAG,KAAO,GAE7BR,EAIT,OAAO,GAIRY,kBAAoB,SAAUC,GAC7B,IAAIC,EAAO,GAEU,iBAAVD,EAEVA,EAAM5G,QAAQ,iDAAiD,SAAUpE,GACxEiL,EAAK3L,KAAKU,MAEDgH,MAAMkE,QAAQF,KACxBC,EAAOD,GAOR,IAFA,IAAIG,EAAS,GAEJ3N,EAAI,EAAGA,EAAIyN,EAAKxN,OAAQD,IAAK,CACrC,IAAI4N,EAAQ9O,EAAI4N,iBAAiBe,EAAKzN,IAClC4N,GACHD,EAAO7L,KAAK8L,GAId,OAAOD,GAIRE,wBAA0B,SAAUF,GACnC,IAAK,IAAI3N,EAAI,EAAGA,EAAI2N,EAAO1N,OAAQD,IAAK,CACvC,IAAI6I,EAAI8E,EAAO3N,GAAG4M,KAAK,GACvB,GAAU,OAAN/D,GAAcA,EAAI,EACrB,OAAO,EAGT,OAAO,GAIRiF,cAAgB,SAAUjB,GACzB,OAAQA,EAAOvM,eACf,IAAK,OACL,IAAK,OACJ,OAAO,EAER,OAAO,GAQRyN,sBAAwB,SAAUC,GACjC,IAAIC,EAAMxP,EAAOyP,kBAAoB,EACrCF,EAAOG,OAASF,EAChBD,EAAOI,QAAUH,EACPD,EAAOK,WAAW,MACxBC,MAAML,EAAKA,IAIhBM,sBAAwB,SAAUX,EAAOY,EAAcC,EAAWC,GAEjE,IAAIC,EAAOpG,KAAKC,MAAM1J,EAAIO,IAAIuP,iBAAiB3O,QAC3C4O,EAAS/P,EAAIO,IAAIyP,eACjBC,EAAWjQ,EAAIO,IAAI2P,iBACnBC,EAAWnQ,EAAIO,IAAI6P,iBAEnBC,EAASV,GAAiC,EAATI,EACjCO,EAAmB,EAATP,EAEVb,EAASlP,EAAIiD,SAAS,UACtBsN,EAAMrB,EAAOK,WAAW,MAE5BL,EAAOG,MAAQgB,EACfnB,EAAOI,OAASgB,EACZV,GACH5P,EAAIiP,sBAAsBC,GAI3BqB,EAAIC,UAAYP,EAChBM,EAAIE,SAAS,EAAG,EAAGJ,EAAQC,GAG3BC,EAAIC,UAAYL,EAChB,IAAK,IAAI/E,EAAI,EAAGA,EAAIiF,EAAQjF,GAAc,EAAT2E,EAChCQ,EAAIE,SAASrF,EAAG,EAAG2E,EAAQA,GAC3BQ,EAAIE,SAASrF,EAAI2E,EAAQA,EAAQA,EAAQA,GAGtCjB,IAEHyB,EAAIC,UAAY1B,EAChByB,EAAIE,SAAS,EAAG,EAAGJ,EAAQC,IAG5B,IAAII,EAAQ,KACZ,OAAQhB,GACP,IAAK,OACJgB,EAAQ,EACRH,EAAII,UAAU,EAAG,EAAGd,EAAK,EAAGS,GAC5B,MACD,IAAK,QACJI,EAAQL,EAASR,EACjBU,EAAII,UAAUN,EAAUR,EAAK,EAAI,EAAGA,EAAK,EAAGS,GAG9C,GAAc,OAAVI,EAAgB,CACnBH,EAAIK,UAAY,EAChB,IAAK,IAAI1P,EAAI,EAAGA,EAAIlB,EAAIO,IAAIuP,iBAAiB3O,OAAQD,GAAK,EACzDqP,EAAIM,YACJN,EAAIO,YAAc9Q,EAAIO,IAAIuP,iBAAiB5O,GAC3CqP,EAAIQ,OAAO,GAAML,EAAQxP,EAAG,GAC5BqP,EAAIS,OAAO,GAAMN,EAAQxP,EAAGoP,GAC5BC,EAAIU,SAIN,MAAO,CACN/B,OAAQA,EACRG,MAAOgB,EACPf,OAAQgB,IAMVY,wBAA0B,SAAUpC,EAAOqC,EAAU9B,GACpD,IAAI+B,EAkBJ,OAfCA,EADGD,GAAY9B,EACN,CACR,MAAQ,CAAC7D,KAAO,QAAS6F,MAAQ,QAAQF,GACzCrC,EAAQ,MACRA,EAAQ,IAAMO,EAAQ,KACtB,kBAAoBA,EAAQ,GAAK,KACjC,sBAGQ,CACR,WACAP,EAAQ,MACRA,EAAQ,SAIH9O,EAAIkK,eAAeoH,MAAM1R,KAAMwR,IAIvCG,eAAiB,WAEhB,GAAKvR,EAAIwR,QAAWxR,EAAIwR,OAAOC,MAA/B,CAIA,IAEIC,EAAIC,EAFJC,EAAU5R,EAAIwR,OAAOC,MAIrBG,EAAQC,OAGXH,EAAK1R,EAAIkL,cAAc0G,EAAQ7O,eAAe,GAC9C4O,EAAK,CAAC,EAAG,KAETD,EAAK1R,EAAIkL,cAAc0G,EAAQ7O,eAC/B4O,EAAK3R,EAAI2L,cAGV,IAII5B,EAAGP,EAAGsI,EAJNC,EAAK/R,EAAI4L,eAAegG,EAAQ7O,eAChCiP,EAAKhS,EAAI8M,cACTmF,EAAKjS,EAAIkS,cAAcN,GACvBO,EAAK,CAACF,EAAGG,QAASH,EAAGI,SAEzB,OAAQT,EAAQT,SAAS3P,eACxB,IAAK,OAAQuI,EAAE,EAAGP,EAAE,EAAGsI,GAAG,EAAG,MAC7B,IAAK,QAAQ/H,EAAE,EAAGP,EAAE,EAAGsI,EAAE,EAAG,MAC5B,IAAK,MAAQ/H,EAAE,EAAGP,EAAE,EAAGsI,GAAG,EAAG,MAC7B,QAAa/H,EAAE,EAAGP,EAAE,EAAGsI,EAAE,EAE1B,IAAIQ,GAAKP,EAAGvI,GAAG2I,EAAG3I,IAAI,EAGtB,GAAKoI,EAAQW,cAMRC,EAAK,EACPb,EAAG5H,GAAG2H,EAAG3H,GAAGoI,EAAGpI,GAAKiI,EAAGjI,KACrB4H,EAAG5H,GAAG2H,EAAG3H,GAAGgI,EAAGhI,GAAG,EAAIiI,EAAGjI,GAAG,GAAK2H,EAAG3H,GAAGgI,EAAGhI,GAAGoI,EAAGpI,IAAM,EAAI2H,EAAG3H,GAAGgI,EAAGhI,GAAGoI,EAAGpI,GAC3E2H,EAAG3H,IACH4H,EAAGnI,GAAGkI,EAAGlI,GAAGuI,EAAGvI,GAAG2I,EAAG3I,GAAG8I,EAAEA,EAAER,EAAIE,EAAGxI,IACjCmI,EAAGnI,GAAGkI,EAAGlI,GAAGuI,EAAGvI,GAAG,EAAIwI,EAAGxI,GAAG,GAAKkI,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,GAAK,EAAIJ,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,EAAIJ,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,EAC/FJ,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,GAAK,EAAIJ,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,EAAIJ,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,QAXhE,IAAIU,EAAK,CACRd,EAAG3H,GACH2H,EAAGlI,GAAGuI,EAAGvI,GAAG8I,EAAEA,EAAER,GAalB,IAAI1G,EAAIoH,EAAGzI,GACPsB,EAAImH,EAAGhJ,GACPiJ,EAAgBb,EAAQC,MAAQ,QAAU,WAC1Ca,GACFF,EAAG,GAAKL,EAAG,GAAKT,EAAG,IAAMc,EAAG,GAAKd,EAAG,GAAKK,EAAG,KAC5CS,EAAG,GAAKL,EAAG,GAAKT,EAAG,GAAKK,EAAG,GAE7B/R,EAAI2S,cAAcf,EAASxG,EAAGC,EAAGoH,EAAeC,KAIjDC,cAAgB,SAAUf,EAASxG,EAAGC,EAAGoH,EAAeC,GACvD,IAAIE,EAAUF,EAAiB,EAAId,EAAQiB,WAE3C7S,EAAIwR,OAAOsB,KAAK3J,MAAMgI,SAAWsB,EACjCzS,EAAIwR,OAAOsB,KAAK3J,MAAMqC,KAAOJ,EAAI,KACjCpL,EAAIwR,OAAOsB,KAAK3J,MAAMsC,IAAMJ,EAAI,KAEhCrL,EAAIgL,aACHhL,EAAIwR,OAAOuB,KACXnB,EAAQoB,OACP,IAAIhT,EAAIH,UAAU,EAAG+S,EAAShB,EAAQiB,WAAY,EAAGjB,EAAQqB,aAC7D,OAIHf,cAAgB,SAAUN,GACzB,IAAIsB,EAAI,EAAItB,EAAQuB,mBAAqBvB,EAAQvC,MAC7C9B,EAAI,EAAIqE,EAAQuB,mBAAqBvB,EAAQtC,OAE7C8D,EAAc,EAAIxB,EAAQuB,mBAAqB,EAAInT,EAAIqT,kBAAkBzB,GAAWA,EAAQ0B,WAE5FtT,EAAIuT,iBAAiB3B,KACxBsB,GAAKE,GAEFxB,EAAQ4B,oBACXN,GAAKE,GAGN,IAAIK,EAAMzT,EAAI0T,eAAe9B,EAASsB,GAElCO,EAAInE,SACP/B,GAAKkG,EAAInE,OAASsC,EAAQ+B,SAEvB/B,EAAQgC,cACXrG,GAAK,EAAIqE,EAAQuB,mBAAqBvB,EAAQ+B,QAAU/B,EAAQiC,cAGjE,IAAIC,EAAKZ,EAAK,EAAItB,EAAQ+B,QACtBI,EAAKxG,EAAK,EAAIqE,EAAQ+B,QAE1B,MAAO,CACNK,SAAUd,EACVe,SAAU1G,EACV2G,QAASJ,EACTK,QAASJ,EACT3B,QAAS0B,EAAM,EAAIlC,EAAQwC,YAC3B/B,QAAS0B,EAAM,EAAInC,EAAQwC,YAC3BC,QAASZ,IAKXC,eAAiB,SAAU9B,EAASvC,GACnC,IAAIiF,EAAO,EAAGC,EAAO,EAAGC,EAAQ,EAAGC,EAAQ,EAAGnF,EAAS,EACnDoF,EAAc9C,EAAQ+C,SAAW/C,EAAQ+C,SAASxT,OAAS,EAiB/D,OAfIuT,IAEHH,GADAD,EAAO1C,EAAQgD,aACD,EAAInL,KAAKoL,KAAKH,EAAcJ,GAAQ,EAGlDE,EAAQ/K,KAAK6D,IAAI,EAAG7D,KAAKkE,OAAO0B,GAAUiF,EAAO,GAAK1C,EAAQkD,gBAAmBR,IACjFG,EAAQ7C,EAAQmD,cAAgBtL,KAAK2D,IAAIwE,EAAQmD,cAAeP,GAASA,GAGtED,IACHjF,EACCiF,EAAOE,GACNF,EAAO,GAAK3C,EAAQkD,gBAGhB,CACNR,KAAMA,EACNC,KAAMA,EACNC,MAAOA,EACPC,MAAOA,EACPpF,MAAOA,EACPC,OAAQA,IAKV+D,kBAAoB,SAAUzB,GAC7B,OAAOnI,KAAK6D,IACXsE,EAAQ+B,QAAU,EACjB,EAAI/B,EAAQoD,mBAAqBpD,EAAQqD,iBAAoBrD,EAAQuB,qBAKxE+B,eAAiB,SAAUtD,GAC1B,OAAQA,EAAQuD,KAAKlH,OAAO,GAAGzM,eAC9B,IAAK,IAAK,MAAO,IAElB,MAAO,KAIR+R,iBAAmB,SAAU3B,GAC5B,GAAIA,EAAQuD,KAAKhU,OAAS,EACzB,OAAQyQ,EAAQuD,KAAKlH,OAAO,GAAGzM,eAC9B,IAAK,IAAK,MAAO,IACjB,IAAK,IAAK,MAAO,IAGnB,OAAO,MAKR4T,gBAAkB,SAAUxD,EAASxM,GACpC,GAAKwM,EAAQxM,GAAb,CAGA,IAAIiQ,EAAW,KAEf,GAA6B,iBAAlBzD,EAAQxM,GAElB,IACCiQ,EAAW,IAAI1S,SAAUiP,EAAQxM,IAChC,MAAO/C,GACRN,QAAQuT,MAAMjT,QAIfgT,EAAWzD,EAAQxM,GAGhBiQ,GACHA,EAASxK,KAAK+G,KAOhB2D,cAAgB,SAAUC,GAEzB,IADA,IAAI1S,EAAO9C,EAAI6C,eACN3B,EAAI,EAAGA,EAAI4B,EAAK3B,OAAQD,GAAK,EACrC4B,EAAK5B,GAAGuU,QAAQD,IAKlBE,kBAAoB,CACnBC,MAAO,YACPC,MAAO,aAERC,iBAAmB,CAClBF,MAAO,UACPC,MAAO,YAIRE,eAAiB,KACjBrP,gBAAkB,KAGlBsP,gBAAkB,SAAU1T,IACyB,IAAhD,CAAC,MAAO,UAAU+B,QAAQpE,EAAIsH,SAASjF,KACtCrC,EAAIwR,QAAUxR,EAAIwR,OAAOC,OAC5BzR,EAAIwR,OAAOC,MAAMuE,WAMpBC,eAAiB,SAAU5T,GAC1BrC,EAAIuR,kBAIL2E,eAAiB,SAAU7T,GAC1BrC,EAAIuR,kBAIL4E,eAAiB,SAAU9T,GAEtBrC,EAAIwR,QAAUxR,EAAIwR,OAAOC,OAC5BzR,EAAIwR,OAAOC,MAAMuE,WAKnBI,oBAAsB,SAAU/T,GAC/B,IAAIkE,EAASlE,EAAEkE,QAAUlE,EAAEgK,WAEvB9F,EAAOtG,SAAWsG,EAAOtG,mBAAmBD,EAAIO,IAC/CgG,EAAOtG,QAAQoW,cAAgB9P,EAAO+P,UACzC/P,EAAOtG,QAAQsW,OAENvW,EAAIuF,QAAQgB,EAAQ,OAChBvG,EAAIuF,QAAQgB,EAAQ,YAGjCvG,EAAIwW,sBAAsBnU,EAAGkE,EAAQvG,EAAIuF,QAAQgB,EAAQ,WAAY,SAIlEvG,EAAIwR,QAAUxR,EAAIwR,OAAOC,OAC5BzR,EAAIwR,OAAOC,MAAMuE,WAMpBS,mBAAqB,SAAUpU,GAC9B,IAAIkE,EAASlE,EAAEkE,QAAUlE,EAAEgK,WAEvBrM,EAAIuF,QAAQgB,EAAQ,YACvBvG,EAAIwW,sBAAsBnU,EAAGkE,EAAQvG,EAAIuF,QAAQgB,EAAQ,WAAY,UAKvEiQ,sBAAwB,SAAUnU,EAAGkE,EAAQmQ,EAAaC,GACzD,IAAI/E,EAAU5R,EAAIuF,QAAQgB,EAAQ,YAElCvG,EAAIoG,eAAe/D,GACnBrC,EAAIsG,cAAcC,GAElB,IAAIqQ,EAAqB,SAAUtK,EAAKuK,GACvC7W,EAAI8F,iBAAiB,OAAQwG,EAAKtM,EAAI0V,kBAAkBiB,GACvD3W,EAAI8W,sBAAsBzU,EAAGkE,EAAQmQ,EAAaC,EAAaE,IAChE7W,EAAI8F,iBAAiB,OAAQwG,EAAKtM,EAAI6V,iBAAiBc,GACtD3W,EAAI+W,qBAAqB1U,EAAGkE,EAAQmQ,EAAaC,KAKnD,GAFAC,EAAmBjX,EAAOH,SAAU,CAAC,EAAG,IAEpCG,EAAOqX,QAAUrX,EAAOsX,aAAc,CACzC,IAAI3L,EAAO3L,EAAOsX,aAAa1L,wBAC3B2L,EAAM,EAAE5L,EAAKE,MAAOF,EAAKG,KAC7BmL,EAAmBjX,EAAOqX,OAAOrX,OAAOH,SAAU0X,GAGnD,IAAIC,EAAMnX,EAAI+L,iBAAiB1J,GAC3B+U,EAAMpX,EAAImM,iBAAiB9J,GAM/B,OALArC,EAAI8V,eAAiB,CACpB1K,EAAG+L,EAAI/L,EAAIgM,EAAIhM,EACfC,EAAG8L,EAAI9L,EAAI+L,EAAI/L,GAGRqL,GACR,IAAK,MAEkC,MAAlC1W,EAAIuT,iBAAiB3B,IAA2C,IAAvBA,EAAQyF,SAAShK,GAC7DuE,EAAQ0F,SAAS,KAAM,KAAM,IAAK,MAEnCtX,EAAIuX,OAAO3F,EAASvP,EAAG,EAAG,GAC1B,MAED,IAAK,MACJrC,EAAIwX,OAAO5F,EAASvP,EAAG,GACvB,MAED,IAAK,OACJrC,EAAIyX,QAAQ7F,EAASvP,EAAG,GAGzBuP,EAAQ6D,QAAQ,UAIjBqB,sBAAwB,SAAUzU,EAAGkE,EAAQmQ,EAAaC,EAAaE,GACtE,OAAO,SAAUxU,GAChB,IAAIuP,EAAU5R,EAAIuF,QAAQgB,EAAQ,YAClC,OAAQmQ,GACR,IAAK,MACJ1W,EAAIuX,OAAO3F,EAASvP,EAAGwU,EAAO,GAAIA,EAAO,IACzC,MAED,IAAK,MACJ7W,EAAIwX,OAAO5F,EAASvP,EAAGwU,EAAO,IAC9B,MAED,IAAK,OACJ7W,EAAIyX,QAAQ7F,EAASvP,EAAGwU,EAAO,IAGhCjF,EAAQ6D,QAAQ,WAKlBsB,qBAAuB,SAAU1U,EAAGkE,EAAQmQ,EAAaC,GACxD,OAAO,SAAUtU,GAChB,IAAIuP,EAAU5R,EAAIuF,QAAQgB,EAAQ,YAClCvG,EAAIkG,kBAAkB,QACtBlG,EAAI0G,gBAKJkL,EAAQ6D,QAAQ,SAChB7D,EAAQ6D,QAAQ,YAKlBiC,qBAAuB,SAAUrV,GAChC,IAAIkE,EAASlE,EAAEsV,cACX/F,EAAU5R,EAAIuF,QAAQgB,EAAQ,YAC9BuI,EAAQ9O,EAAIuF,QAAQgB,EAAQ,SAGK,QAAjCqL,EAAQ7D,OAAOvM,gBAClBoQ,EAAQgG,WAAW9I,EAAMf,QACpB/N,EAAIgP,cAAc4C,EAAQiG,eAC9B/I,EAAMhB,KAAK,GAAK,IAKI,OAAlBgB,EAAMhB,KAAK,MACmB,IAA7B8D,EAAQkG,kBAA2D,SAA7BlG,EAAQkG,kBAA+BlG,EAAQmG,2BACxFjJ,EAAMhB,KAAK,GAAK,GAIlB8D,EAAQoG,SAAS1G,MAAMM,EAAS9C,EAAMhB,MAEtC8D,EAAQ6D,QAAQ,SAChB7D,EAAQ6D,QAAQ,UAEZ7D,EAAQqG,oBACXrG,EAAQsG,QAKVX,OAAS,SAAU3F,EAASvP,EAAG8V,EAAMC,GACpC,IAAIC,EAAarY,EAAI+L,iBAAiB1J,GAClC+I,EAAI+M,EAAOE,EAAWjN,EAAIpL,EAAI8V,eAAe1K,EAAIwG,EAAQ+B,QAAU/B,EAAQuB,mBAC3E9H,EAAI+M,EAAOC,EAAWhN,EAAIrL,EAAI8V,eAAezK,EAAIuG,EAAQ+B,QAAU/B,EAAQuB,mBAE3EmF,EAAOlN,GAAK,KAAOwG,EAAQvC,MAAQ,IACnCkJ,EAAO,IAAOlN,GAAK,KAAOuG,EAAQtC,OAAS,IAE/C,OAAQtP,EAAIkV,eAAetD,IAC3B,IAAK,IAAKA,EAAQ0F,SAASgB,EAAMC,EAAM,KAAM,MAAO,MACpD,IAAK,IAAK3G,EAAQ0F,SAASgB,EAAM,KAAMC,EAAM,QAK9Cf,OAAS,SAAU5F,EAASvP,EAAG+V,GAC9B,IAEIG,EAAO,KADHH,EADSpY,EAAI+L,iBAAiB1J,GACZgJ,EAAIrL,EAAI8V,eAAezK,EAAIuG,EAAQ+B,QAAU/B,EAAQuB,qBACxD,KAAOvB,EAAQtC,OAAS,IAE/C,OAAQtP,EAAIuT,iBAAiB3B,IAC7B,IAAK,IAAKA,EAAQ0F,SAAS,KAAMiB,EAAM,KAAM,MAAO,MACpD,IAAK,IAAK3G,EAAQ0F,SAAS,KAAM,KAAMiB,EAAM,QAK9Cd,QAAU,SAAU7F,EAASvP,EAAG+V,GAC/B,IAEIG,EAAO,GADHH,EADSpY,EAAI+L,iBAAiB1J,GACZgJ,EAAIrL,EAAI8V,eAAezK,EAAIuG,EAAQ+B,QAAU/B,EAAQuB,qBACxD,GAAOvB,EAAQtC,OAAS,IAE/C,GAAIiJ,EAAO,EAAK,CAEf,IAAIC,EAAM5G,EAAQiG,YACmB,QAAjCjG,EAAQ7D,OAAOvM,eAA4BxB,EAAIgP,cAAcwJ,IAChE5G,EAAQgG,WAAmB,QAARY,EAAgB,OAAS,QAI9C5G,EAAQ0F,SAAS,KAAM,KAAM,KAAMiB,IAIpCE,gBAAkB,WAEjB,IAAI5K,EAAM,CACT9N,IAAK,KACL2Y,KAAM,MAGHxJ,EAASlP,EAAIiD,SAAS,UACtBsN,EAAMrB,EAAOK,WAAW,MAsC5B,OAHA1B,EAAI9N,IAAMmP,EACVrB,EAAI6K,KAlCW,SAAUrJ,EAAOC,EAAQ/N,GACvC2N,EAAOG,MAAQA,EACfH,EAAOI,OAASA,EAEhBiB,EAAII,UAAU,EAAG,EAAGzB,EAAOG,MAAOH,EAAOI,QAEzC,IAAIqJ,EAAQpI,EAAIqI,qBAAqB,EAAG,EAAG1J,EAAOG,MAAO,GACzDsJ,EAAME,aAAa,EAAO,QAC1BF,EAAME,aAAa,EAAI,EAAG,QAC1BF,EAAME,aAAa,EAAI,EAAG,QAC1BF,EAAME,aAAa,GAAO,QAC1BF,EAAME,aAAa,EAAI,EAAG,QAC1BF,EAAME,aAAa,EAAI,EAAG,QAC1BF,EAAME,aAAa,EAAO,QAE1BtI,EAAIC,UAAYmI,EAChBpI,EAAIE,SAAS,EAAG,EAAGvB,EAAOG,MAAOH,EAAOI,QAExC,IAAIwJ,EAAQvI,EAAIqI,qBAAqB,EAAG,EAAG,EAAG1J,EAAOI,QACrD,OAAQ/N,EAAKC,eACb,IAAK,IACJsX,EAAMD,aAAa,EAAG,uBACtBC,EAAMD,aAAa,EAAG,uBACtB,MACD,IAAK,IACJC,EAAMD,aAAa,EAAG,iBACtBC,EAAMD,aAAa,EAAG,iBAGvBtI,EAAIC,UAAYsI,EAChBvI,EAAIE,SAAS,EAAG,EAAGvB,EAAOG,MAAOH,EAAOI,SAMlCzB,GAIRkL,qBAAuB,WAEtB,IAAIlL,EAAM,CACT9N,IAAK,KACL2Y,KAAM,MAGHxJ,EAASlP,EAAIiD,SAAS,UACtBsN,EAAMrB,EAAOK,WAAW,MAmB5B,OAHA1B,EAAI9N,IAAMmP,EACVrB,EAAI6K,KAfW,SAAUrJ,EAAOC,EAAQ0J,EAAQC,GAC/C/J,EAAOG,MAAQA,EACfH,EAAOI,OAASA,EAEhBiB,EAAII,UAAU,EAAG,EAAGzB,EAAOG,MAAOH,EAAOI,QAEzC,IAAI4J,EAAO3I,EAAIqI,qBAAqB,EAAG,EAAG,EAAG1J,EAAOI,QACpD4J,EAAKL,aAAa,EAAGG,GACrBE,EAAKL,aAAa,EAAGI,GAErB1I,EAAIC,UAAY0I,EAChB3I,EAAIE,SAAS,EAAG,EAAGvB,EAAOG,MAAOH,EAAOI,SAMlCzB,GAIRsL,sBAAwB,WAEvB,IAAItL,EAAM,CACT9N,IAAK,KACL2Y,KAAM,MAGHxJ,EAASlP,EAAIiD,SAAS,UACtBsN,EAAMrB,EAAOK,WAAW,MAoC5B,OAHA1B,EAAI9N,IAAMmP,EACVrB,EAAI6K,KAhCW,SAAUrJ,EAAOC,EAAQR,GACvCI,EAAOG,MAAQA,EACfH,EAAOI,OAASA,EAEhBiB,EAAII,UAAU,EAAG,EAAGzB,EAAOG,MAAOH,EAAOI,QAEzC,IAAIS,EAASb,EAAOG,MAAQ,EACxBY,EAAWjQ,EAAIO,IAAI2P,iBACnBC,EAAWnQ,EAAIO,IAAI6P,iBAMvB,GAHAG,EAAIC,UAAYP,EAChBM,EAAIE,SAAS,EAAG,EAAGvB,EAAOG,MAAOH,EAAOI,QAEpCS,EAAS,EACZ,IAAK,IAAI1E,EAAI,EAAGA,EAAI6D,EAAOI,OAAQjE,GAAc,EAAT0E,EAEvCQ,EAAIC,UAAYL,EAChBI,EAAIE,SAAS,EAAGpF,EAAG0E,EAAQA,GAC3BQ,EAAIE,SAASV,EAAQ1E,EAAI0E,EAAQA,EAAQA,GAI3C,IAAImJ,EAAO3I,EAAIqI,qBAAqB,EAAG,EAAG,EAAG1J,EAAOI,QACpD4J,EAAKL,aAAa,EAAG/J,GACrBoK,EAAKL,aAAa,EAAG,iBAErBtI,EAAIC,UAAY0I,EAChB3I,EAAIE,SAAS,EAAG,EAAGvB,EAAOG,MAAOH,EAAOI,SAMlCzB,GAIRhO,WACKA,EAAY,SAAUuZ,EAASxG,EAASyG,EAAMC,EAAQxK,EAAOyK,GAChE3Z,KAAKwZ,QAAUA,EACfxZ,KAAKgT,QAAUA,EACfhT,KAAKyZ,KAAOA,EACZzZ,KAAK0Z,OAASA,EACd1Z,KAAKkP,MAAQA,EACblP,KAAK2Z,QAAUA,GAGhB1Z,EAAU8K,UAAUhB,SAAW,WAC9B,IAAIgF,EAAO,CACVlF,KAAKC,MAAM9J,KAAKwZ,SAAW,KAC3B3P,KAAKC,MAAM9J,KAAKgT,SAAW,KAC3BnJ,KAAKC,MAAM9J,KAAKyZ,MAAQ,KACxB5P,KAAKC,MAAM9J,KAAK0Z,QAAU,KAC1B1Z,KAAKkP,OAKN,OAHIlP,KAAK2Z,OACR5K,EAAK3L,KAAK,SAEJ2L,EAAK/D,KAAK,MAGX/K,GAIR2Z,MAAQ,CACPC,WAAa,EACbC,WAAa,EACbC,aAAe,GAIhBC,SAAW,CACV7L,OAAQ,CAAC,OAAQ,MAAO,MAAO,OAAQ,MAAO,QAC9C8L,gBAAiB,CAAC,OAAQ,SAC1B1E,KAAM,CAAC,MAAO,MAAO,KAAM,MAC3BhE,SAAU,CAAC,OAAQ,QAAS,MAAO,UACnC2I,aAAc,CAAC,QAAQ,GAAM,GAC7BhC,iBAAkB,CAAC,QAAQ,GAAM,IAIlCiC,eAAiB,CAEhBC,aAAgB,iBAChBC,aAAgB,UAChBC,mBAAsB,aACtBC,SAAY,cACZC,WAAc,qBACdC,WAAc,qBACdC,OAAU,MAIXrY,QAAU,iCAUV1B,IAAM,SAAUwC,EAAeb,GAE9B,IAAIqY,EAAO3a,KAurBX,SAAS4a,EAAWC,EAAQnW,GAC3B,GAAsB,iBAAXmW,EACV,MAAM,IAAI/a,MAAM,kCAAoC+a,GAIrD,GAAIza,EAAI4Z,SAASzU,eAAesV,KACV,iBAAVnW,IACVA,EAAQA,EAAM9C,gBAE8B,IAAzCxB,EAAI4Z,SAASa,GAAQrW,QAAQE,IAChC,MAAM,IAAI5E,MAAM,WAAc+a,EAAS,wBAA2BnW,GAKpE,GAAItE,EAAI+Z,eAAe5U,eAAesV,GAAS,CAC9C,IAAIC,EAASD,EACTE,EAAS3a,EAAI+Z,eAAeU,GAChC,IAAIE,EAMH,MAAM,IAAIjb,MAAM,WAAc+a,EAAS,mBAJvC1Y,QAAQC,KAAK,iDAAuDhC,EAAIiC,QAASyY,EAAQC,GACzFF,EAASE,EAOX,IAAIC,EAAS,QAAUH,EAEvB,GAA4B,mBAAjBF,EAAKK,GAEf,OADAL,EAAKK,GAAQtW,IACN,EAED,GAAImW,KAAUF,EAEpB,OADAA,EAAKE,GAAUnW,GACR,EAGR,MAAM,IAAI5E,MAAM,sCAAwC+a,GAIzD,SAASI,EAAWJ,GACnB,GAAsB,iBAAXA,EACV,MAAM,IAAI/a,MAAM,kCAAoC+a,GAIrD,GAAIza,EAAI+Z,eAAe5U,eAAesV,GAAS,CAC9C,IAAIC,EAASD,EACTE,EAAS3a,EAAI+Z,eAAeU,GAChC,IAAIE,EAMH,MAAM,IAAIjb,MAAM,WAAc+a,EAAS,mBAJvC1Y,QAAQC,KAAK,iDAAuDhC,EAAIiC,QAASyY,EAAQC,GACzFF,EAASE,EAOX,IAAIG,EAAS,QAAUL,EAEvB,GAA4B,mBAAjBF,EAAKO,GACf,OAAOP,EAAKO,GAAQxW,OAEd,GAAImW,KAAUF,EACpB,OAAOA,EAAKE,GAGb,MAAM,IAAI/a,MAAM,sCAAwC+a,GAWzD,SAASM,IAKRR,EAAKS,8BAEAhb,EAAIwR,SACRxR,EAAIwR,OAAS,CACZC,MAAO,KACPqB,KAAO9S,EAAIiD,SAAS,OACpBgY,IAAMjb,EAAIiD,SAAS,OACnB8P,KAAO/S,EAAIiD,SAAS,OACpBiY,KAAOlb,EAAIiD,SAAS,OACpBkY,IAAMnb,EAAIiD,SAAS,OACnBmY,KAAOpb,EAAIiD,SAAS,OACpBoY,KAAOrb,EAAIiD,SAAS,OACpBqY,UAAYtb,EAAIyY,kBAChB8C,MAAQvb,EAAIiD,SAAS,OACrBuY,QAAUxb,EAAIiD,SAAS,OACvBwY,QAAUzb,EAAIiD,SAAS,OACvByY,QAAU1b,EAAIiD,SAAS,OACvB0Y,QAAU3b,EAAIiD,SAAS,OACvB2Y,IAAM5b,EAAIiD,SAAS,OACnB4Y,KAAO7b,EAAIiD,SAAS,OACpB6Y,KAAO9b,EAAIiD,SAAS,OACpB8Y,QAAU/b,EAAI+Y,uBACdiD,QAAUhc,EAAIiD,SAAS,OACvBgZ,SAAWjc,EAAIiD,SAAS,OACxBiZ,SAAWlc,EAAIiD,SAAS,OACxBkZ,SAAWnc,EAAIiD,SAAS,OACxBmZ,KAAOpc,EAAIiD,SAAS,OACpBoZ,MAAQrc,EAAIiD,SAAS,OACrBqZ,MAAQtc,EAAIiD,SAAS,OACrBsZ,SAAWvc,EAAImZ,wBACfqD,SAAWxc,EAAIiD,SAAS,OACxBwZ,UAAYzc,EAAIiD,SAAS,OACzByZ,UAAY1c,EAAIiD,SAAS,OACzB0Z,UAAY3c,EAAIiD,SAAS,OACzBwQ,IAAMzT,EAAIiD,SAAS,OACnB2Z,IAAM5c,EAAIiD,SAAS,OACnB4Z,KAAO7c,EAAIiD,SAAS,SAGrBjD,EAAIwR,OAAO2J,IAAI2B,YAAY9c,EAAIwR,OAAO8J,UAAUvb,KAChDC,EAAIwR,OAAO4J,KAAK0B,YAAY9c,EAAIwR,OAAO2J,KACvCnb,EAAIwR,OAAO+J,MAAMuB,YAAY9c,EAAIwR,OAAOgK,SACxCxb,EAAIwR,OAAO+J,MAAMuB,YAAY9c,EAAIwR,OAAOiK,SACxCzb,EAAIwR,OAAO+J,MAAMuB,YAAY9c,EAAIwR,OAAOkK,SACxC1b,EAAIwR,OAAO+J,MAAMuB,YAAY9c,EAAIwR,OAAOmK,SACxC3b,EAAIwR,OAAO4J,KAAK0B,YAAY9c,EAAIwR,OAAO+J,OACvCvb,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAO4J,MACtCpb,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAO6J,MAEtCrb,EAAIwR,OAAOoK,IAAIkB,YAAY9c,EAAIwR,OAAOuK,QAAQhc,KAC9CC,EAAIwR,OAAOqK,KAAKiB,YAAY9c,EAAIwR,OAAOoK,KACvC5b,EAAIwR,OAAOqK,KAAKiB,YAAY9c,EAAIwR,OAAO2K,UACvCnc,EAAIwR,OAAO2K,SAASW,YAAY9c,EAAIwR,OAAO0K,UAC3Clc,EAAIwR,OAAO0K,SAASY,YAAY9c,EAAIwR,OAAOyK,UAC3Cjc,EAAIwR,OAAOyK,SAASa,YAAY9c,EAAIwR,OAAOwK,SAC3Chc,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAOqK,MACtC7b,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAOsK,MAEtC9b,EAAIwR,OAAO4K,KAAKU,YAAY9c,EAAIwR,OAAO+K,SAASxc,KAChDC,EAAIwR,OAAO6K,MAAMS,YAAY9c,EAAIwR,OAAO4K,MACxCpc,EAAIwR,OAAO6K,MAAMS,YAAY9c,EAAIwR,OAAOmL,WACxC3c,EAAIwR,OAAOmL,UAAUG,YAAY9c,EAAIwR,OAAOkL,WAC5C1c,EAAIwR,OAAOkL,UAAUI,YAAY9c,EAAIwR,OAAOiL,WAC5Czc,EAAIwR,OAAOiL,UAAUK,YAAY9c,EAAIwR,OAAOgL,UAC5Cxc,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAO6K,OACtCrc,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAO8K,OAEtCtc,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAOiC,KAEtCzT,EAAIwR,OAAOoL,IAAIE,YAAY9c,EAAIwR,OAAOqL,MACtC7c,EAAIwR,OAAOyJ,IAAI6B,YAAY9c,EAAIwR,OAAOoL,KAEtC5c,EAAIwR,OAAO0J,KAAK4B,YAAY9c,EAAIwR,OAAOyJ,KACvCjb,EAAIwR,OAAOsB,KAAKgK,YAAY9c,EAAIwR,OAAOuB,MACvC/S,EAAIwR,OAAOsB,KAAKgK,YAAY9c,EAAIwR,OAAO0J,MAEvClb,EAAIwR,OAAOsB,KAAKxS,iBAAiB,aAAcN,EAAIyW,qBAClDzW,EAAIwE,yBAA0B,CAACuY,SAAS,KAG1C,IAoSKC,EACAC,EArSDC,EAAIld,EAAIwR,OAER2L,IAAkBnd,EAAIuT,iBAAiBgH,GACvC6C,EAAqB7C,EAAK/G,kBAC1B6J,EAAard,EAAIkS,cAAcqI,GAC/B+C,EAAkB,EAAI/C,EAAKvF,mBAAqBuF,EAAKtF,iBAAmB,EAAIsF,EAAKgD,UACjFC,EAAiBxd,EAAIqT,kBAAkBkH,GACvCkD,EAAehU,KAAK2D,IACvBmN,EAAKkD,aACLhU,KAAKC,MAAM6Q,EAAK5G,QAAUlK,KAAKiU,KAIhCR,EAAEpK,KAAKnR,UAAY,sBACnBub,EAAEpK,KAAK3J,MAAMwU,MAAQ,OACrBT,EAAEpK,KAAK3J,MAAMkG,MAAQgO,EAAWjL,QAAU,KAC1C8K,EAAEpK,KAAK3J,MAAMmG,OAAS+N,EAAWhL,QAAU,KAC3C6K,EAAEpK,KAAK3J,MAAMyU,OAASrD,EAAKqD,OAG3BV,EAAEjC,IAAItZ,UAAY,iBAClBub,EAAEjC,IAAI9R,MAAMkG,MAAQgO,EAAWnJ,QAAU,KACzCgJ,EAAEjC,IAAI9R,MAAMmG,OAAS+N,EAAWlJ,QAAU,KAC1C+I,EAAEjC,IAAI9R,MAAMgI,SAAW,WAGvB+L,EAAEnK,KAAKpR,UAAY,wBACnBub,EAAEnK,KAAK5J,MAAMgI,SAAW,WACxB+L,EAAEnK,KAAK5J,MAAMqC,KAAO,IACpB0R,EAAEnK,KAAK5J,MAAMsC,IAAM,IACnByR,EAAEnK,KAAK5J,MAAMkG,MAAQ,OACrB6N,EAAEnK,KAAK5J,MAAMmG,OAAS,OACtBtP,EAAI8K,gBAAgBoS,EAAEnK,KAAM0K,EAAe,MAG3CP,EAAEhC,KAAKvZ,UAAY,wBACnBub,EAAEhC,KAAK/R,MAAMgI,SAAW,WACxB+L,EAAEhC,KAAK/R,MAAM0U,OAAStD,EAAKnG,YAAc,WACzC8I,EAAEhC,KAAK/R,MAAM2U,YAAcvD,EAAKuD,YAChCZ,EAAEhC,KAAK/R,MAAMqB,WAAa+P,EAAKwD,gBAC/B/d,EAAI8K,gBAAgBoS,EAAEhC,KAAMuC,EAAe,MAK3CP,EAAE7B,KAAKlS,MAAMqB,WAAa,mBAC1B0S,EAAEpB,KAAK3S,MAAMqB,WAAa,mBAC1B0S,EAAEZ,MAAMnT,MAAMqB,WAAa,mBAE3B0S,EAAE7B,KAAKlS,MAAM6U,QACbd,EAAEpB,KAAK3S,MAAM6U,QACbd,EAAEZ,MAAMnT,MAAM6U,QACb,IAGDd,EAAE/B,IAAIhS,MAAMgI,SAAW,WACvB+L,EAAE/B,IAAIhS,MAAMkG,MAAQkL,EAAKlL,MAAQ,KACjC6N,EAAE/B,IAAIhS,MAAMmG,OAASiL,EAAKjL,OAAS,KAGnC4N,EAAE5B,UAAU5C,KAAK6B,EAAKlL,MAAOkL,EAAKjL,OAAQtP,EAAIkV,eAAeqF,IAG7D2C,EAAE9B,KAAKjS,MAAMgI,SAAW,WACxB+L,EAAE9B,KAAKjS,MAAMqC,KAAO+O,EAAK5G,QAAU,KACnCuJ,EAAE9B,KAAKjS,MAAMsC,IAAM8O,EAAK5G,QAAU,KAClCuJ,EAAE9B,KAAKjS,MAAM0U,OAAStD,EAAKpH,mBAAqB,WAChD+J,EAAE9B,KAAKjS,MAAM2U,YAAcvD,EAAK0D,mBAGhCf,EAAE7B,KAAKlS,MAAMgI,SAAW,WACxB+L,EAAE7B,KAAKlS,MAAMqC,KAAO,MACpB0R,EAAE7B,KAAKlS,MAAMsC,IAAM,MACnByR,EAAE7B,KAAKlS,MAAMkG,MAASkL,EAAK5G,QAAU,EAAI4G,EAAKpH,mBAAqBoH,EAAKlL,MAAQmO,EAAkB,KAClGN,EAAE7B,KAAKlS,MAAMmG,OAAU,EAAIiL,EAAKpH,mBAAqB,EAAIoH,EAAK5G,QAAU4G,EAAKjL,OAAU,KACvF4N,EAAE7B,KAAKlS,MAAM+U,OAjEG,YAkEhBle,EAAIqD,QAAQ6Z,EAAE7B,KAAM,CACnB8C,SAAU5D,EACV6D,QAAS,QAIVlB,EAAE3B,MAAMpS,MAAMgI,SAAW,WACzB+L,EAAE3B,MAAMpS,MAAMqC,KACd0R,EAAE3B,MAAMpS,MAAMsC,IACb,IACDyR,EAAE3B,MAAMpS,MAAMkG,MACd6N,EAAE3B,MAAMpS,MAAMmG,OACbgO,EAAiB,KAGlBJ,EAAE1B,QAAQrS,MAAMgI,SAChB+L,EAAEzB,QAAQtS,MAAMgI,SACf,WACD+L,EAAE1B,QAAQrS,MAAMqB,WAChB0S,EAAEzB,QAAQtS,MAAMqB,WACf+P,EAAK8D,mBACNnB,EAAE1B,QAAQrS,MAAMkG,MAChB6N,EAAEzB,QAAQtS,MAAMmG,OACd,EAAIiL,EAAKvF,mBAAqBuF,EAAKtF,iBAAoB,KACzDiI,EAAE1B,QAAQrS,MAAMmG,OAChB4N,EAAEzB,QAAQtS,MAAMkG,MACfiO,EAAiB,KAClBJ,EAAE1B,QAAQrS,MAAMqC,KAChB0R,EAAEzB,QAAQtS,MAAMsC,IACdhC,KAAKkE,MAAM2P,EAAiB,GAAK7T,KAAKkE,MAAM4M,EAAKtF,iBAAmB,GAAKsF,EAAKvF,mBAAsB,KACtGkI,EAAE1B,QAAQrS,MAAMsC,IAChByR,EAAEzB,QAAQtS,MAAMqC,KACf,IAGD0R,EAAExB,QAAQvS,MAAMgI,SAChB+L,EAAEvB,QAAQxS,MAAMgI,SACf,WACD+L,EAAExB,QAAQvS,MAAMqB,WAChB0S,EAAEvB,QAAQxS,MAAMqB,WACf+P,EAAK+D,aACNpB,EAAExB,QAAQvS,MAAMmG,OAChB4N,EAAEvB,QAAQxS,MAAMkG,MACdiO,EAAiB,EAAI/C,EAAKvF,mBAAsB,KAClDkI,EAAExB,QAAQvS,MAAMkG,MAChB6N,EAAEvB,QAAQxS,MAAMmG,OACfiL,EAAKtF,iBAAmB,KACzBiI,EAAExB,QAAQvS,MAAMqC,KAChB0R,EAAEvB,QAAQxS,MAAMsC,IACdhC,KAAKkE,MAAM2P,EAAiB,GAAK7T,KAAKkE,MAAM4M,EAAKtF,iBAAmB,GAAM,KAC5EiI,EAAExB,QAAQvS,MAAMsC,IAChByR,EAAEvB,QAAQxS,MAAMqC,KACf+O,EAAKvF,mBAAqB,KAI3BkI,EAAEtB,IAAIzS,MAAMoV,SAAW,SACvBrB,EAAEtB,IAAIzS,MAAMkG,MAAQkL,EAAKjH,WAAa,KACtC4J,EAAEtB,IAAIzS,MAAMmG,OAASiL,EAAKjL,OAAS,KAGnC4N,EAAEnB,QAAQrD,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQ,OAAQ,QAGrD4N,EAAErB,KAAK1S,MAAMqV,QAAUrB,EAAgB,QAAU,OACjDD,EAAErB,KAAK1S,MAAMgI,SAAW,WACxB+L,EAAErB,KAAK1S,MAAMqC,KAAQ+O,EAAK5G,QAAU4G,EAAKlL,MAAQ,EAAIkL,EAAKpH,mBAAqB,EAAIqK,EAAkB,KACrGN,EAAErB,KAAK1S,MAAMsC,IAAM8O,EAAK5G,QAAU,KAClCuJ,EAAErB,KAAK1S,MAAM0U,OAAStD,EAAKpH,mBAAqB,WAChD+J,EAAErB,KAAK1S,MAAM2U,YAAcvD,EAAK0D,mBAGhCf,EAAEpB,KAAK3S,MAAMqV,QAAUrB,EAAgB,QAAU,OACjDD,EAAEpB,KAAK3S,MAAMgI,SAAW,WACxB+L,EAAEpB,KAAK3S,MAAMqC,KAAQ+O,EAAK5G,QAAU4G,EAAKlL,MAAQ,EAAIkL,EAAKpH,mBAAqBqK,EAAkB,KACjGN,EAAEpB,KAAK3S,MAAMsC,IAAM,MACnByR,EAAEpB,KAAK3S,MAAMkG,MACVkL,EAAKjH,WAAa,EAAIkK,EAAiB,EAAIjD,EAAKpH,oBAChDiK,EAAqB,EAAI3T,KAAK6D,IAAI,EAAGiN,EAAK5G,QAAU6J,IAClD,KACLN,EAAEpB,KAAK3S,MAAMmG,OAAU,EAAIiL,EAAKpH,mBAAqB,EAAIoH,EAAK5G,QAAU4G,EAAKjL,OAAU,KACvF4N,EAAEpB,KAAK3S,MAAM+U,OAAS,UACtBle,EAAIqD,QAAQ6Z,EAAEpB,KAAM,CACnBqC,SAAU5D,EACV6D,QAAS,QAIVlB,EAAEjB,SAAS9S,MAAM0U,OACjBX,EAAEf,SAAShT,MAAM0U,OAChBtD,EAAKvF,mBAAqB,YAAcuF,EAAK8D,mBAG9CnB,EAAEf,SAAShT,MAAMgI,SAAW,WAC5B+L,EAAEf,SAAShT,MAAMqC,OAAS,EAAI+O,EAAKvF,mBAAqBuF,EAAKtF,kBAAoB,KACjFiI,EAAEf,SAAShT,MAAMsC,IAAM,IAGvByR,EAAEhB,SAAS/S,MAAM0U,OAAStD,EAAKtF,iBAAmB,YAAcsF,EAAK+D,aAGrEpB,EAAElB,QAAQ7S,MAAMkG,MAAQkL,EAAKjH,WAAa,KAC1C4J,EAAElB,QAAQ7S,MAAMmG,OAAStP,EAAIO,IAAIke,iBAAmB,KAIpDvB,EAAEd,KAAKjT,MAAMoV,SAAW,SACxBrB,EAAEd,KAAKjT,MAAMkG,MAAQkL,EAAKjH,WAAa,KACvC4J,EAAEd,KAAKjT,MAAMmG,OAASiL,EAAKjL,OAAS,KAGpC4N,EAAEX,SAAS7D,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQ,QAG9C4N,EAAEb,MAAMlT,MAAMqV,QAAUpB,EAAqB,QAAU,OACvDF,EAAEb,MAAMlT,MAAMgI,SAAW,WACzB+L,EAAEb,MAAMlT,MAAMqC,KACX+O,EAAK5G,QAAU4G,EAAKlL,MAAQ,EAAIkL,EAAKpH,mBAAqBqK,GAC1DL,EAAiB5C,EAAKjH,WAAa,EAAIkK,EAAiB,EAAIjD,EAAKpH,mBAAsB,GACrF,KACL+J,EAAEb,MAAMlT,MAAMsC,IAAM8O,EAAK5G,QAAU,KACnCuJ,EAAEb,MAAMlT,MAAM0U,OAAStD,EAAKpH,mBAAqB,WACjD+J,EAAEb,MAAMlT,MAAM2U,YAAcvD,EAAK0D,mBAGjCf,EAAEZ,MAAMnT,MAAMqV,QAAUpB,EAAqB,QAAU,OACvDF,EAAEZ,MAAMnT,MAAMgI,SAAW,WACzB+L,EAAEZ,MAAMnT,MAAMqC,KACX+O,EAAK5G,QAAU4G,EAAKlL,MAAQ,EAAIkL,EAAKpH,mBAAqBqK,GAC1DL,EAAiB5C,EAAKjH,WAAa,EAAIkK,EAAiB,EAAIjD,EAAKpH,mBAAsB,GACrF,KACL+J,EAAEZ,MAAMnT,MAAMsC,IAAM,MACpByR,EAAEZ,MAAMnT,MAAMkG,MACXkL,EAAKjH,WAAa,EAAIkK,EAAiB,EAAIjD,EAAKpH,mBACjD1J,KAAK6D,IAAI,EAAGiN,EAAK5G,QAAU6J,GACxB,KACLN,EAAEZ,MAAMnT,MAAMmG,OAAU,EAAIiL,EAAKpH,mBAAqB,EAAIoH,EAAK5G,QAAU4G,EAAKjL,OAAU,KACxF4N,EAAEZ,MAAMnT,MAAM+U,OAAS,UACvBle,EAAIqD,QAAQ6Z,EAAEZ,MAAO,CACpB6B,SAAU5D,EACV6D,QAAS,SAIVlB,EAAET,UAAUtT,MAAM0U,OAClBX,EAAEP,UAAUxT,MAAM0U,OACjBtD,EAAKvF,mBAAqB,YAAcuF,EAAK8D,mBAG9CnB,EAAEP,UAAUxT,MAAMgI,SAAW,WAC7B+L,EAAEP,UAAUxT,MAAMqC,OAAS,EAAI+O,EAAKvF,mBAAqBuF,EAAKtF,kBAAoB,KAClFiI,EAAEP,UAAUxT,MAAMsC,IAAM,IAGxByR,EAAER,UAAUvT,MAAM0U,OAAStD,EAAKtF,iBAAmB,YAAcsF,EAAK+D,aAGtEpB,EAAEV,SAASrT,MAAMkG,MAAQkL,EAAKjH,WAAa,KAC3C4J,EAAEV,SAASrT,MAAMmG,OAAStP,EAAIO,IAAIke,iBAAmB,KAIrDvB,EAAEzJ,IAAI9R,UAAY,kBAClBub,EAAEzJ,IAAItK,MAAMqV,QAAUnB,EAAWhJ,QAAQE,KAAO,QAAU,OAC1D2I,EAAEzJ,IAAItK,MAAMgI,SAAW,WACvB+L,EAAEzJ,IAAItK,MAAMqC,KAAO+O,EAAK5G,QAAU,KAClCuJ,EAAEzJ,IAAItK,MAAMsC,IAAO,EAAI8O,EAAKpH,mBAAqB,EAAIoH,EAAK5G,QAAU4G,EAAKjL,OAAU,KAInF4N,EAAEzJ,IAAIiL,UAAY,GAKlB,IAHA,IAAIC,EAAa3e,EAAIyP,sBAAsB,iBAEvCmP,EAAK,EACAtV,EAAI,EAAGA,EAAI+T,EAAWhJ,QAAQE,KAAMjL,IAC5C,IAAK,IAAIwI,EAAI,EAAGA,EAAIuL,EAAWhJ,QAAQC,MAAQsK,EAAKrE,EAAK5F,SAASxT,OAAQ2Q,IAAK8M,IAAM,CACpF,IAAIC,EAActE,EAAK5F,SAASiK,GAC5BE,EAAiB9e,EAAIiK,UAAUqH,MAAM,KAAMuN,EAAY/Q,MAEvDiR,EAAK/e,EAAIiD,SAAS,OACtB8b,EAAG5V,MAAMkG,MAASgO,EAAWhJ,QAAQG,MAAQ,EAAI+F,EAAKpH,mBAAsB,KAC5E4L,EAAG5V,MAAMmG,OAAU+N,EAAWhJ,QAAQI,MAAQ,EAAI8F,EAAKpH,mBAAsB,KAC7E4L,EAAG5V,MAAM4U,gBAAkBe,EAE3B,IAAIE,EAAKhf,EAAIiD,SAAS,OACtB+b,EAAGrd,UAAY,yBACfqd,EAAG7V,MAAMqV,QAAU,QACnBQ,EAAG7V,MAAMgI,SAAW,WACpB6N,EAAG7V,MAAMqC,MACP6R,EAAWhJ,QAAQC,MAAQ,EAAI,EAC/B7K,KAAKC,MAAYoI,IAAMuL,EAAWrJ,SAAWqJ,EAAWhJ,QAAQG,QAAU6I,EAAWhJ,QAAQC,KAAO,IAAzF,IAAiG,IACzG,KACL0K,EAAG7V,MAAMsC,IAAOnC,GAAK+T,EAAWhJ,QAAQI,MAAQ8F,EAAKzF,gBAAmB,KACxEkK,EAAG7V,MAAM0U,OAAStD,EAAKpH,mBAAqB,WAC5C6L,EAAG7V,MAAM2U,YAAcvD,EAAK0D,mBAC5Be,EAAG7V,MAAM+U,OAAS,UACU,OAAxBW,EAAY/Q,KAAK,IAAe+Q,EAAY/Q,KAAK,GAAK,IACzDkR,EAAG7V,MAAM8V,gBAAkB,QAAWN,EAAWzP,OAAOgQ,YAAc,KACtEF,EAAG7V,MAAMgW,iBAAmB,SAC5BH,EAAG7V,MAAMiW,mBAAqB,iBAE/Bpf,EAAIqD,QAAQ2b,EAAI,CACfb,SAAU5D,EACV6D,QAAS,iBACTtP,MAAO+P,IAERG,EAAG1e,iBAAiB,QAASN,EAAI0X,sBAAsB,GACvDsH,EAAGlC,YAAYiC,GACf7B,EAAEzJ,IAAIqJ,YAAYkC,GAYpB9B,EAAEN,IAAIjb,UAAY,oBAClBub,EAAEN,IAAIzT,MAAMqV,QAAUjE,EAAK3G,YAAc,QAAU,OACnDsJ,EAAEN,IAAIzT,MAAMgI,SAAW,WACvB+L,EAAEN,IAAIzT,MAAMqC,KAAO+O,EAAK5G,QAAU,KAClCuJ,EAAEN,IAAIzT,MAAMkW,OAAS9E,EAAK5G,QAAU,KACpCuJ,EAAEN,IAAIzT,MAAMwK,QAAU,SACtBuJ,EAAEN,IAAIzT,MAAMmW,SAAYjC,EAAWrJ,SAAW,EAAIuG,EAAKpH,mBAAqB,GAAkB,KAC9F+J,EAAEN,IAAIzT,MAAMoV,SAAW,SACvBrB,EAAEN,IAAIzT,MAAMmG,OAASiL,EAAK1G,aAAe,KACzCqJ,EAAEN,IAAIzT,MAAMoW,WAAa,SACzBrC,EAAEN,IAAIzT,MAAM0U,OAAStD,EAAKpH,mBAAqB,WAd1C8J,GADAD,EAAczC,EAAK0D,mBAAmBlW,MAAM,QAClB5G,OAAS,EAAI6b,EAAY,GAAKA,EAAY,GAAK,IAAMA,EAAY,GAAK,IAAMA,EAAY,GAAK,IAAMA,EAAY,GAC7IE,EAAEN,IAAIzT,MAAM2U,YAAcb,EAe3BC,EAAEN,IAAIzT,MAAM2F,MAAQyL,EAAKiF,YACzBtC,EAAEN,IAAIzT,MAAMsW,KAAO,kBACnBvC,EAAEN,IAAIzT,MAAMuW,UAAY,SACxBxC,EAAEN,IAAIzT,MAAM+U,OAAS,UACrBhB,EAAEN,IAAI+C,YAAc,WACnBpF,EAAKrC,QAENgF,EAAEL,KAAK1T,MAAMyW,WAAarF,EAAK1G,aAAe,KAC9CqJ,EAAEL,KAAK6B,UAAY,GACnBxB,EAAEL,KAAKC,YAAYnd,EAAOH,SAASqgB,eAAetF,EAAKuF,YAGvDC,IACAC,IACAC,IAIIjgB,EAAIwR,OAAOC,OAASzR,EAAIwR,OAAOC,QAAU8I,GAC5Cva,EAAIsI,YAAYtI,EAAIwR,OAAOC,MAAM1O,cAAe/C,EAAIO,IAAI2f,iBAIzDlgB,EAAIwR,OAAOC,MAAQ8I,EAIfA,EAAK4F,YAAcxgB,EAAOH,SAAS4gB,KACtCpgB,EAAIuR,iBAEJvR,EAAI2S,cAAc4H,EAAM,EAAG,EAAG,YAAY,GAGvC2C,EAAEpK,KAAKuN,aAAe9F,EAAK4F,WAC9B5F,EAAK4F,UAAUrD,YAAYI,EAAEpK,MAG9B9S,EAAImI,SAASoS,EAAKxX,cAAe/C,EAAIO,IAAI2f,iBAI1C,SAASH,IAER,IAAIO,EAAWtgB,EAAIkV,eAAeqF,GAC9BnP,EAAI3B,KAAKC,MAAO6Q,EAAKlD,SAAS9J,EAAI,KAAQgN,EAAKlL,MAAQ,IACvDhE,EAAI5B,KAAKC,OAAO,EAAI6Q,EAAKlD,SAASiJ,GAAY,MAAQ/F,EAAKjL,OAAS,IACpEgO,EAAkB,EAAI/C,EAAKvF,mBAAqBuF,EAAKtF,iBAAmB,EAAIsF,EAAKgD,UACjFrG,GAAOzN,KAAKkE,MAAM2P,EAAiB,GAKvC,OAJAtd,EAAIwR,OAAO+J,MAAMpS,MAAMqC,KAAQJ,EAAI8L,EAAO,KAC1ClX,EAAIwR,OAAO+J,MAAMpS,MAAMsC,IAAOJ,EAAI6L,EAAO,KAGjClX,EAAIuT,iBAAiBgH,IAC7B,IAAK,IACJ,IAAIgG,EAAOvgB,EAAIwN,QAAQ+M,EAAKlD,SAAS9J,EAAG,IAAKgN,EAAKlD,SAAShK,GACvDmT,EAAOxgB,EAAIwN,QAAQ+M,EAAKlD,SAAS9J,EAAG,EAAGgN,EAAKlD,SAAShK,GACrD2L,EAAS,OACZvP,KAAKC,MAAM6W,EAAK,IAAM,IACtB9W,KAAKC,MAAM6W,EAAK,IAAM,IACtB9W,KAAKC,MAAM6W,EAAK,IAAM,IACnBtH,EAAS,OACZxP,KAAKC,MAAM8W,EAAK,IAAM,IACtB/W,KAAKC,MAAM8W,EAAK,IAAM,IACtB/W,KAAKC,MAAM8W,EAAK,IAAM,IACvBxgB,EAAIwR,OAAOuK,QAAQrD,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQ0J,EAAQC,GAC9D,MACD,IAAK,IACJ,IAAIwH,EAAMzgB,EAAIwN,QAAQ+M,EAAKlD,SAAS9J,EAAGgN,EAAKlD,SAAS5J,EAAG,KACpDuL,EAAS,OACZvP,KAAKC,MAAM+W,EAAI,IAAM,IACrBhX,KAAKC,MAAM+W,EAAI,IAAM,IACrBhX,KAAKC,MAAM+W,EAAI,IAAM,IAClBxH,EAAS,OACbjZ,EAAIwR,OAAOuK,QAAQrD,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQ0J,EAAQC,GAK/DjZ,EAAIwR,OAAO+K,SAAS7D,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQiL,EAAKmG,eAI7D,SAASV,IACR,IAAIW,EAAa3gB,EAAIuT,iBAAiBgH,GACtC,GAAIoG,EAAY,CAEf,IAAItV,EAAI5B,KAAKC,OAAO,EAAI6Q,EAAKlD,SAASsJ,GAAc,MAAQpG,EAAKjL,OAAS,IAC1EtP,EAAIwR,OAAO2K,SAAShT,MAAMsC,IAAOJ,GAAK,EAAIkP,EAAKvF,mBAAqBuF,EAAKtF,kBAAoBxL,KAAKkE,MAAM3N,EAAIO,IAAIke,iBAAmB,GAAM,KAI1Ize,EAAIwR,OAAO+K,SAAS7D,KAAK6B,EAAKjH,WAAYiH,EAAKjL,OAAQiL,EAAKmG,eAI7D,SAAST,IACR,IAAI5U,EAAI5B,KAAKC,OAAO,EAAI6Q,EAAKlD,SAAStN,IAAMwQ,EAAKjL,OAAS,IAC1DtP,EAAIwR,OAAOmL,UAAUxT,MAAMsC,IAAOJ,GAAK,EAAIkP,EAAKvF,mBAAqBuF,EAAKtF,kBAAoBxL,KAAKkE,MAAM3N,EAAIO,IAAIke,iBAAmB,GAAM,KAI3I,SAASmC,IACR,OAAO5gB,EAAIwR,QAAUxR,EAAIwR,OAAOC,QAAU8I,EAgG3C,GAx1CKrY,IACJA,EAAO,IAGRtC,KAAKyX,SAAW,CACf/N,EAAG,IACHC,EAAG,IACHC,EAAG,IACH+D,EAAG,EACHE,EAAG,EACHJ,EAAG,IACHtD,EAAG,GAKJnK,KAAKmO,OAAS,OACdnO,KAAK0E,WAAQhD,EACb1B,KAAKihB,WAAQvf,EACb1B,KAAKkhB,cAAWxf,EAChB1B,KAAKmhB,aAAUzf,EACf1B,KAAKohB,kBAAe1f,EACpB1B,KAAKqhB,kBAAe3f,EACpB1B,KAAKshB,oBAAiB5f,EACtB1B,KAAKia,gBAAkB,OACvBja,KAAKuhB,YAAc,GACnBvhB,KAAKwhB,eAAiB,EACtBxhB,KAAKyhB,UAAW,EAChBzhB,KAAK0hB,MAAO,EACZ1hB,KAAK2hB,WAAY,EACjB3hB,KAAK4hB,YAAa,EAIlB5hB,KAAKyP,MAAQ,IACbzP,KAAK0P,OAAS,IACd1P,KAAKuV,KAAO,MACZvV,KAAKka,aAAe,OACpBla,KAAKuR,SAAW,SAChBvR,KAAK2S,eAAgB,EACrB3S,KAAKyW,aAAc,EACnBzW,KAAK6hB,aAAc,EACnB7hB,KAAKyU,QAAU,GACfzU,KAAKgV,YAAc,GACnBhV,KAAKkY,iBAAmB,OACxBlY,KAAKmV,cAAgB,GACrBnV,KAAKkV,eAAiB,EACtBlV,KAAKqY,oBAAqB,EAC1BrY,KAAK0T,WAAa,GAClB1T,KAAK2d,UAAY,EACjB3d,KAAKgU,aAAc,EACnBhU,KAAKkgB,UAAY,QACjBlgB,KAAK4f,YAAc,gBACnB5f,KAAKiU,aAAe,GACpBjU,KAAK+T,QAAU,GACf/T,KAAKme,gBAAkB,sBACvBne,KAAKwU,YAAc,EACnBxU,KAAKke,YAAc,sBACnBle,KAAK6d,aAAe,EACpB7d,KAAKuT,mBAAqB,EAC1BvT,KAAKqe,mBAAqB,sBAC1Bre,KAAKoT,QAAS,EACdpT,KAAKiT,WAAa,GAClBjT,KAAKqT,YAAc,kBACnBrT,KAAK0e,aAAe,mBACpB1e,KAAKoV,mBAAqB,EAC1BpV,KAAKye,mBAAqB,sBAC1Bze,KAAKqV,iBAAmB,EACxBrV,KAAKge,OAAS,IACdhe,KAAKugB,eAAY7e,EAIjB1B,KAAK8hB,KAAO,EACZ9hB,KAAK+hB,KAAO,IACZ/hB,KAAKgiB,KAAO,EACZhiB,KAAKiiB,KAAO,IACZjiB,KAAKkiB,KAAO,EACZliB,KAAKmiB,KAAO,EAOZniB,KAAK6a,OAAS,WACb,IAAKxV,UAAU9D,OACd,MAAM,IAAIzB,MAAM,uBAGjB,GAAyB,IAArBuF,UAAU9D,QAAwC,iBAAjB8D,UAAU,GAAiB,CAE/D,IACC,OAAO4V,EAAU5V,UAAU,IAC1B,MAAO5C,GACRN,QAAQC,KAAKK,GAEd,OAAO,EAED,GAAI4C,UAAU9D,QAAU,GAA6B,iBAAjB8D,UAAU,GAAiB,CAErE,IACC,IAAKuV,EAAUvV,UAAU,GAAIA,UAAU,IACtC,OAAO,EAEP,MAAO5C,GAER,OADAN,QAAQC,KAAKK,IACN,EAIR,OAFAzC,KAAKoiB,SACLpiB,KAAKqiB,eACE,EAED,GAAyB,IAArBhd,UAAU9D,QAAwC,iBAAjB8D,UAAU,GAAiB,CAEtE,IAAI/C,EAAO+C,UAAU,GACjBid,GAAU,EACd,IAAK,IAAIC,KAAOjgB,EACf,GAAIA,EAAKiD,eAAegd,GACvB,IACM3H,EAAU2H,EAAKjgB,EAAKigB,MACxBD,GAAU,GAEV,MAAO7f,GACRN,QAAQC,KAAKK,GACb6f,GAAU,EAMb,OAFAtiB,KAAKoiB,SACLpiB,KAAKqiB,cACEC,EAGR,MAAM,IAAIxiB,MAAM,sBAOjBE,KAAKwiB,QAAU,SAAU3c,EAAMnB,GAC9B,GAAoB,iBAATmB,EACV,MAAM,IAAI/F,MAAM,mCAAqC+F,GAGtD,QAAcnE,IAAVgD,EAEH,OAAK1E,KAAKyX,SAASlS,eAAeM,EAAKjE,eAIhC5B,KAAKyX,SAAS5R,EAAKjE,gBAHzBO,QAAQC,KAAK,4BAA8ByD,IACpC,GAMR,IAAI4c,GAAM,EACV,OAAQ5c,EAAKjE,eACZ,IAAK,IAAK6gB,EAAMziB,KAAKoY,SAAS1T,EAAO,KAAM,KAAM,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAKoY,SAAS,KAAM1T,EAAO,KAAM,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAKoY,SAAS,KAAM,KAAM1T,EAAO,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAK0X,SAAShT,EAAO,KAAM,KAAM,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAK0X,SAAS,KAAMhT,EAAO,KAAM,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAK0X,SAAS,KAAM,KAAMhT,EAAO,MAAO,MACxD,IAAK,IAAK+d,EAAMziB,KAAK0X,SAAS,KAAM,KAAM,KAAMhT,GAAQ,MACxD,QAEC,OADAvC,QAAQC,KAAK,4BAA8ByD,IACpC,EAET,QAAI4c,IACHziB,KAAKoiB,UACE,IAcVpiB,KAAK6V,QAAU,SAAUD,GAExB,IADA,IAAI8M,EAAMtiB,EAAI6H,QAAQ2N,GACbtU,EAAI,EAAGA,EAAIohB,EAAInhB,OAAQD,GAAK,EAAG,CACvC,IAAI8F,EAAKsb,EAAIphB,GAAGM,cAGZ+gB,EAAe,KACnB,OAAQvb,GACP,IAAK,QAASub,EAAe,UAAW,MACxC,IAAK,SAAUA,EAAe,WAE3BA,GACHviB,EAAIoV,gBAAgBxV,KAAM2iB,GAI3BviB,EAAIqH,kBAAkBzH,KAAKohB,aAAcha,GAAI,GAAM,KAUrDpH,KAAK0X,SAAW,SAAU/J,EAAGE,EAAGJ,EAAGtD,EAAGyP,GAMrC,QALUlY,IAANiM,IAAmBA,EAAI,WACjBjM,IAANmM,IAAmBA,EAAI,WACjBnM,IAAN+L,IAAmBA,EAAI,WACjB/L,IAANyI,IAAmBA,EAAI,MAEjB,OAANwD,EAAY,CACf,GAAIiV,MAAMjV,GAAM,OAAO,EACvB3N,KAAKyX,SAAS9J,EAAI9D,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAKG,IAE7C,GAAU,OAANE,EAAY,CACf,GAAI+U,MAAM/U,GAAM,OAAO,EACvB7N,KAAKyX,SAAS5J,EAAIhE,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAKxN,KAAK+hB,KAAMlU,GAAI7N,KAAK8hB,MAEjE,GAAU,OAANrU,EAAY,CACf,GAAImV,MAAMnV,GAAM,OAAO,EACvBzN,KAAKyX,SAAShK,EAAI5D,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAKxN,KAAKiiB,KAAMxU,GAAIzN,KAAKgiB,MAEjE,GAAU,OAAN7X,EAAY,CACf,GAAIyY,MAAMzY,GAAM,OAAO,EACvBnK,KAAKyX,SAAStN,EAAInK,KAAK4T,kBACtB/J,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,EAAGxN,KAAKmiB,KAAMhY,GAAInK,KAAKkiB,MAC5C,EAGF,IAAIrB,EAAMzgB,EAAIwN,QACb5N,KAAKyX,SAAS9J,EACd3N,KAAKyX,SAAS5J,EACd7N,KAAKyX,SAAShK,GAOf,OALAzN,KAAKyX,SAAS/N,EAAImX,EAAI,GACtB7gB,KAAKyX,SAAS9N,EAAIkX,EAAI,GACtB7gB,KAAKyX,SAAS7N,EAAIiX,EAAI,GAEtB7gB,KAAKqiB,YAAYzI,IACV,GASR5Z,KAAKoY,SAAW,SAAU1O,EAAGC,EAAGC,EAAGO,EAAGyP,GAMrC,QALUlY,IAANgI,IAAmBA,EAAI,WACjBhI,IAANiI,IAAmBA,EAAI,WACjBjI,IAANkI,IAAmBA,EAAI,WACjBlI,IAANyI,IAAmBA,EAAI,MAEjB,OAANT,EAAY,CACf,GAAIkZ,MAAMlZ,GAAM,OAAO,EACvBA,EAAIG,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAK9D,IAE/B,GAAU,OAANC,EAAY,CACf,GAAIiZ,MAAMjZ,GAAM,OAAO,EACvBA,EAAIE,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAK7D,IAE/B,GAAU,OAANC,EAAY,CACf,GAAIgZ,MAAMhZ,GAAM,OAAO,EACvBA,EAAIC,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAK5D,IAE/B,GAAU,OAANO,EAAY,CACf,GAAIyY,MAAMzY,GAAM,OAAO,EACvBnK,KAAKyX,SAAStN,EAAInK,KAAK4T,kBACtB/J,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,EAAGxN,KAAKmiB,KAAMhY,GAAInK,KAAKkiB,MAC5C,EAGF,IAAIW,EAAMziB,EAAImN,QACT,OAAJ7D,EAAW1J,KAAKyX,SAAS/N,EAAIA,EACzB,OAAJC,EAAW3J,KAAKyX,SAAS9N,EAAIA,EACzB,OAAJC,EAAW5J,KAAKyX,SAAS7N,EAAIA,GAEf,OAAXiZ,EAAI,KACP7iB,KAAKyX,SAAS9J,EAAI9D,KAAK6D,IAAI,EAAG7D,KAAK2D,IAAI,IAAKqV,EAAI,MAElC,IAAXA,EAAI,KACP7iB,KAAKyX,SAAS5J,EAAIhE,KAAK6D,IAAI,EAAG1N,KAAK8hB,KAAMjY,KAAK2D,IAAI,IAAKxN,KAAK+hB,KAAMc,EAAI,MAEvE7iB,KAAKyX,SAAShK,EAAI5D,KAAK6D,IAAI,EAAG1N,KAAKgiB,KAAMnY,KAAK2D,IAAI,IAAKxN,KAAKiiB,KAAMY,EAAI,KAGtE,IAAIhC,EAAMzgB,EAAIwN,QAAQ5N,KAAKyX,SAAS9J,EAAG3N,KAAKyX,SAAS5J,EAAG7N,KAAKyX,SAAShK,GAMtE,OALAzN,KAAKyX,SAAS/N,EAAImX,EAAI,GACtB7gB,KAAKyX,SAAS9N,EAAIkX,EAAI,GACtB7gB,KAAKyX,SAAS7N,EAAIiX,EAAI,GAEtB7gB,KAAKqiB,YAAYzI,IACV,GAMR5Z,KAAK8iB,QAAU,SAAUnV,EAAGE,EAAGJ,EAAGmM,GAEjC,OADAzX,QAAQC,KAAK,4DAA8DhC,EAAIiC,SACxErC,KAAK0X,SAAS/J,EAAGE,EAAGJ,EAAG,KAAMmM,IAMrC5Z,KAAK+iB,QAAU,SAAUrZ,EAAGC,EAAGC,EAAGgQ,GAEjC,OADAzX,QAAQC,KAAK,4DAA8DhC,EAAIiC,SACxErC,KAAKoY,SAAS1O,EAAGC,EAAGC,EAAG,KAAMgQ,IAIrC5Z,KAAKgjB,WAAa,SAAUtgB,EAAKkX,GAChC,IAAK5Z,KAAKyhB,UAA2B,KAAf/e,EAAIH,OAIzB,OAFAvC,KAAKijB,oBAAoB,MACzBjjB,KAAKkjB,qBAAqB,KACnB,EAGR,IAAIhU,EAAQ9O,EAAI4N,iBAAiBtL,GACjC,QAAKwM,IAG6B,QAA9BlP,KAAKmO,OAAOvM,gBACf5B,KAAKgY,WAAW9I,EAAMf,QACjB/N,EAAIgP,cAAcpP,KAAKiY,eAC3B/I,EAAMhB,KAAK,GAAK,IAGlBlO,KAAKoY,SACJlJ,EAAMhB,KAAK,GACXgB,EAAMhB,KAAK,GACXgB,EAAMhB,KAAK,GACXgB,EAAMhB,KAAK,GACX0L,IAEM,IAIR5Z,KAAK+J,SAAW,SAAUoE,GAIzB,YAHezM,IAAXyM,IACHA,EAASnO,KAAKiY,aAEP9J,EAAOvM,eACd,IAAK,MAAO,OAAO5B,KAAK8gB,cACxB,IAAK,OAAQ,OAAO9gB,KAAKmjB,eACzB,IAAK,MAAO,OAAOnjB,KAAKojB,cACxB,IAAK,OAAQ,OAAOpjB,KAAKqjB,eAE1B,OAAO,GAIRrjB,KAAK8gB,YAAc,WAClB,OAAO1gB,EAAIqJ,SACVzJ,KAAKyX,SAAS/N,EACd1J,KAAKyX,SAAS9N,EACd3J,KAAKyX,SAAS7N,IAKhB5J,KAAKmjB,aAAe,WACnB,OAAO/iB,EAAI8J,UACVlK,KAAKyX,SAAS/N,EACd1J,KAAKyX,SAAS9N,EACd3J,KAAKyX,SAAS7N,EACd5J,KAAKyX,SAAStN,IAKhBnK,KAAKojB,YAAc,WAClB,OAAOhjB,EAAIgK,SACVpK,KAAKyX,SAAS/N,EACd1J,KAAKyX,SAAS9N,EACd3J,KAAKyX,SAAS7N,IAKhB5J,KAAKqjB,aAAe,WACnB,OAAOjjB,EAAIiK,UACVrK,KAAKyX,SAAS/N,EACd1J,KAAKyX,SAAS9N,EACd3J,KAAKyX,SAAS7N,EACd5J,KAAKyX,SAAStN,IAKhBnK,KAAKsjB,YAAc,WAClB,MACC,KAAQtjB,KAAKyX,SAAS/N,EACtB,KAAQ1J,KAAKyX,SAAS9N,EACtB,KAAQ3J,KAAKyX,SAAS7N,GAKxB5J,KAAKujB,SAAW,WACf,OAAOnjB,EAAIyP,sBAAsB7P,KAAKqjB,gBAAgB/T,QAIvDtP,KAAKsf,UAAY,WAChB,OAAOtf,KAAKujB,WAAWjE,aAIxBtf,KAAKwjB,aAAe,WACnB,OAAOpjB,EAAIO,IAAIiK,WAAW5K,KAAKqjB,iBAIhCrjB,KAAKyjB,QAAU,WACd,OAAOzjB,KAAKsjB,cAAgB,OAI7BtjB,KAAKsY,KAAO,WACP0I,MAmVJ5gB,EAAIsI,YAAYiS,EAAKxX,cAAe/C,EAAIO,IAAI2f,iBAC5ClgB,EAAIwR,OAAOsB,KAAKuN,WAAWrc,YAAYhE,EAAIwR,OAAOsB,aAC3C9S,EAAIwR,OAAOC,QA/UnB7R,KAAK2W,KAAO,WACXwE,KAIDnb,KAAKoiB,OAAS,WACTpB,KACH7F,KAKFnb,KAAKiY,UAAY,WAChB,OAAOjY,KAAK0jB,gBAIb1jB,KAAKgY,WAAa,SAAU7J,GAC3BnO,KAAK0jB,eAAiBvV,EAAOvM,eAI9B5B,KAAK4T,gBAAkB,WACtB,MAA0B,SAAtB5T,KAAKka,aAEuB,QAA9Bla,KAAKmO,OAAOvM,eACZxB,EAAIgP,cAAcpP,KAAKiY,mBACRvW,IAAf1B,KAAKihB,YACiBvf,IAAtB1B,KAAKqhB,aAIArhB,KAAKka,cAIbla,KAAK2jB,kBAAoB,SAAUjhB,GAC7B1C,KAAKgjB,WAAWtgB,IAEpB1C,KAAKqiB,eAKPriB,KAAK4jB,kBAAoB,SAAUlhB,GAC7B1C,KAAK0X,SAAS,KAAM,KAAM,KAAM9I,WAAWlM,KAE/C1C,KAAKqiB,eAKPriB,KAAKqiB,YAAc,SAAUzI,GAC5B,IAAIiK,EAAW7jB,KAAK+J,WAChB6O,EAAM5Y,KAAKiY,YAaf,GAVA7X,EAAI4F,YAAYhG,KAAKmD,cAAe,gBAAiB0gB,GAE/CjK,EAAQxZ,EAAIwZ,MAAMC,aAAe7Z,KAAKohB,eAC/B,QAARxI,GAAyB,SAARA,IACf5Y,KAAK2hB,YAAakC,EAAWA,EAASjiB,eACtC5B,KAAK0hB,OAAQmC,EAAWA,EAAS3b,QAAQ,KAAM,MAErDlI,KAAKkjB,qBAAqBW,MAGrBjK,EAAQxZ,EAAIwZ,MAAME,aAAe9Z,KAAKqhB,aAAc,CACzD,IAAIyC,EAAWja,KAAKC,MAAwB,IAAlB9J,KAAKyX,SAAStN,GAAW,IACnDnK,KAAK+jB,qBAAqBD,GAGrBlK,EAAQxZ,EAAIwZ,MAAMG,eAAiB/Z,KAAKshB,kBAI5ClhB,EAAIiE,YAAYrE,KAAKshB,iBACpBlhB,EAAIkE,SAAStE,KAAKshB,kBAAoBlhB,EAAIqE,cAAczE,KAAKshB,kBAEjDthB,KAAKia,gBAGnBja,KAAKijB,oBAAoBjjB,KAAKqjB,iBAG3BrC,MACHb,IACAC,IACAC,MAKFrgB,KAAKijB,oBAAsB,SAAU/T,GACpC,GAAKlP,KAAKshB,eAAV,CAIA,IAAI/P,EAAW,KACX9B,EAAQ,MAEXrP,EAAIiE,YAAYrE,KAAKshB,iBACpBlhB,EAAIkE,SAAStE,KAAKshB,kBAAoBlhB,EAAIqE,cAAczE,KAAKshB,mBAE9D/P,EAAWvR,KAAKia,gBAChBxK,EAAQzP,KAAKuhB,aAGd,IAAIyC,EAAc,GAElB,GAAK9U,EASE,CAEN8U,EAAY5gB,KAAK,CAChB6gB,MAAO7jB,EAAIkR,wBACVpC,EACAqC,EACA9B,EAAQA,EAAQrP,EAAIO,IAAIuP,iBAAiB3O,OAAS,MAEnDgQ,SAAU,WACV2S,KAAM,OACNC,OAAQ5S,EAAW,WAAa,SAChC6S,OAAQ,gBAIT,IAAIC,EAAUjkB,EAAIyP,sBACjB,gBACA0B,EAAW,CAAC3F,KAAO,QAAS6F,MAAQ,QAAQF,GAAY,KACxD9B,GACA,GAEDuU,EAAY5gB,KAAK,CAChB6gB,MAAO,QAAWI,EAAQ/U,OAAOgQ,YAAc,KAC/C/N,UAAWA,GAAY,QAAU,OACjC2S,KAAMG,EAAQ5U,MAAQ,MAAQ4U,EAAQ3U,OAAS,KAC/CyU,OAAQ5S,EAAW,WAAa,SAChC6S,OAAQ,qBAjCTJ,EAAY5gB,KAAK,CAChB6gB,MAAO,OACP1S,SAAU,WACV2S,KAAM,OACNC,OAAQ,YACRC,OAAQ,gBAuCV,IAPA,IAAIE,EAAK,CACRL,MAAO,GACP1S,SAAU,GACV2S,KAAM,GACNC,OAAQ,GACRC,OAAQ,IAEA9iB,EAAI,EAAGA,EAAI0iB,EAAYziB,OAAQD,GAAK,EAC5CgjB,EAAGL,MAAM7gB,KAAK4gB,EAAY1iB,GAAG2iB,OAC7BK,EAAG/S,SAASnO,KAAK4gB,EAAY1iB,GAAGiQ,UAChC+S,EAAGJ,KAAK9gB,KAAK4gB,EAAY1iB,GAAG4iB,MAC5BI,EAAGH,OAAO/gB,KAAK4gB,EAAY1iB,GAAG6iB,QAC9BG,EAAGF,OAAOhhB,KAAK4gB,EAAY1iB,GAAG8iB,QAI/B,IAAIG,EAAM,CACTC,mBAAoBF,EAAGL,MAAMjZ,KAAK,MAClCyZ,sBAAuBH,EAAG/S,SAASvG,KAAK,MACxC0Z,kBAAmBJ,EAAGJ,KAAKlZ,KAAK,MAChC2Z,oBAAqBL,EAAGH,OAAOnZ,KAAK,MACpC4Z,oBAAqBN,EAAGF,OAAOpZ,KAAK,OAErC5K,EAAI4I,SAAShJ,KAAKshB,eAAgBiD,EAAKvkB,KAAK4hB,YAI5C,IAAI7N,EAAU,CACbnI,KAAM,KACN6F,MAAO,MAEJF,IACHwC,EAAQxC,GAAavR,KAAKuhB,YAAcvhB,KAAKwhB,eAAkB,MAG5D+C,EAAM,CACTM,eAAgB9Q,EAAQnI,KACxBkZ,gBAAiB/Q,EAAQtC,OAE1BrR,EAAI4I,SAAShJ,KAAKshB,eAAgBiD,EAAKvkB,KAAK4hB,YAAY,KAIzD5hB,KAAKkjB,qBAAuB,SAAUxgB,GACjC1C,KAAKohB,eACgC,UAApChhB,EAAI6D,SAASjE,KAAKohB,cACrBphB,KAAKohB,aAAa1c,MAAQhC,EAE1B1C,KAAKohB,aAAatC,UAAYpc,IAMjC1C,KAAK+jB,qBAAuB,SAAUrhB,GACjC1C,KAAKqhB,eACgC,UAApCjhB,EAAI6D,SAASjE,KAAKqhB,cACrBrhB,KAAKqhB,aAAa3c,MAAQhC,EAE1B1C,KAAKqhB,aAAavC,UAAYpc,IAMjC1C,KAAKob,4BAA8B,WAClC,IAAIpb,KAAK+kB,yBAAT,CACA/kB,KAAK+kB,0BAA2B,EAEhC,IAAI5kB,EAAMH,KAAKmD,cACf,EAAG,CAGF,IAAI6hB,EAAY5kB,EAAIyI,aAAa1I,GAC7B6kB,EAAUzT,UAAiD,UAArCyT,EAAUzT,SAAS3P,gBAC5C5B,KAAKiS,OAAQ,GAGV9R,IAAQH,KAAKmD,gBAMX/C,EAAIuF,QAAQxF,EAAK,uBACrBA,EAAIO,iBAAiB,SAAUN,EAAImW,gBAAgB,GACnDnW,EAAIqD,QAAQtD,EAAK,qBAAqB,YAG/BA,EAAMA,EAAIsgB,aAAqC,SAAtBrgB,EAAI6D,SAAS9D,MAIjDH,KAAKoW,QAAU,WACVpW,KAAK6hB,aACR7hB,KAAKsY,QAKPtY,KAAKilB,aAAe,SAAUnhB,GAC7B9D,KAAKyU,QAAU3Q,EACf9D,KAAK+U,SAAW3U,EAAIyO,kBAAkB/K,GACtC9D,KAAKmY,wBAA0B/X,EAAI+O,wBAAwBnP,KAAK+U,WAuqB7D3U,EAAIO,IAAIukB,QAEX,IAAK,IAAI3C,KAAOniB,EAAIO,IAAIukB,QACvB,GAAI9kB,EAAIO,IAAIukB,QAAQ3f,eAAegd,GAClC,IACC3H,EAAU2H,EAAKniB,EAAIO,IAAIukB,QAAQ3C,IAC9B,MAAO9f,GACRN,QAAQC,KAAKK,GASjB,IAAI0iB,EAAa,GAEb7iB,EAAK8iB,SACmB,iBAAhB9iB,EAAK8iB,OACfD,EAAa7iB,EAAK8iB,OAAOjd,MAAM,OACrB2C,MAAMkE,QAAQ1M,EAAK8iB,QAC7BD,EAAa7iB,EAAK8iB,OAAOC,QAEzBljB,QAAQC,KAAK,+BAKwB,IAAnC+iB,EAAW3gB,QAAQ,YACtB2gB,EAAW/hB,KAAK,WAKjB,IAAK,IAAI9B,EAAI6jB,EAAW5jB,OAAS,EAAGD,GAAK,EAAGA,GAAK,EAAG,CACnD,IAAIgkB,EAAOH,EAAW7jB,GACtB,GAAKgkB,EAGL,GAAKllB,EAAIO,IAAI4kB,QAAQhgB,eAAe+f,IAIpC,IAAK,IAAI/C,KAAOniB,EAAIO,IAAI4kB,QAAQD,GAC/B,GAAIllB,EAAIO,IAAI4kB,QAAQD,GAAM/f,eAAegd,GACxC,IACC3H,EAAU2H,EAAKniB,EAAIO,IAAI4kB,QAAQD,GAAM/C,IACpC,MAAO9f,GACRN,QAAQC,KAAKK,SARfN,QAAQC,KAAK,qBAAsBkjB,GAgBrC,IAAIE,EAAgB,CAEnB,UAED,IAAK,IAAIjD,KAAOjgB,EACf,GAAIA,EAAKiD,eAAegd,KACa,IAAhCiD,EAAchhB,QAAQ+d,GACzB,IACC3H,EAAU2H,EAAKjgB,EAAKigB,IACnB,MAAO9f,GACRN,QAAQC,KAAKK,GAoBjB,QAPuBf,IAAnB1B,KAAKugB,UACRvgB,KAAKugB,UAAYxgB,EAAOH,SAAS4gB,KAGjCxgB,KAAKugB,UAAYngB,EAAIY,KAAKhB,KAAKugB,YAG3BvgB,KAAKugB,UACT,MAAM,IAAIzgB,MAAM,+DAOjB,GAFAE,KAAKmD,cAAgB/C,EAAIY,KAAKmC,IAEzBnD,KAAKmD,cAAe,CAExB,GAA6B,iBAAlBA,GAA8B,qBAAqBsiB,KAAKtiB,GAGlE,MAAM,IAAIrD,MAAM,OADCqD,EACsB,2CADtBA,EACkF,gCAGpG,MAAM,IAAIrD,MAAM,4DAGjB,GAAIE,KAAKmD,cAAc9C,SAAWL,KAAKmD,cAAc9C,mBAAmBD,EAAIO,IAC3E,MAAM,IAAIb,MAAM,kDAajB,GARAE,KAAKmD,cAAc9C,QAAUL,KAC7BI,EAAImI,SAASvI,KAAKmD,cAAe/C,EAAIO,IAAIoB,WAGzC3B,EAAIG,UAAU6C,KAAKpD,MAIfI,EAAIkE,SAAStE,KAAKmD,iBAEyB,WAA1CnD,KAAKmD,cAAcxB,KAAKC,gBAG3B5B,KAAKmD,cAAcxB,KAAO,UAGvBvB,EAAIqE,cAAczE,KAAKmD,gBAAgB,CAK1C/C,EAAI8D,eAAelE,KAAKmD,eAGxBnD,KAAKmD,cAAc+Z,YAAYnd,EAAOH,SAASqgB,eAAe,MAG9D,IAAI+E,EAAY5kB,EAAIyI,aAAa7I,KAAKmD,gBACnByL,WAAWoW,EAAU,eAAiB,GACtChlB,KAAKuhB,aACvBnhB,EAAI4I,SAAShJ,KAAKmD,cAAe,CAChCuiB,YAAa1lB,KAAKuhB,YAAc,MAC9BvhB,KAAK4hB,YAsCX,QAhC0BlgB,IAAtB1B,KAAKohB,aACJhhB,EAAIiE,YAAYrE,KAAKmD,iBAExBnD,KAAKohB,aAAephB,KAAKmD,eAKM,OAAtBnD,KAAKohB,eAIfphB,KAAKohB,aAAehhB,EAAIY,KAAKhB,KAAKohB,eAI/BphB,KAAKqhB,eACRrhB,KAAKqhB,aAAejhB,EAAIY,KAAKhB,KAAKqhB,oBAIP3f,IAAxB1B,KAAKshB,eACRthB,KAAKshB,eAAiBthB,KAAKmD,cAEO,OAAxBnD,KAAKshB,iBAIfthB,KAAKshB,eAAiBlhB,EAAIY,KAAKhB,KAAKshB,iBAIjCthB,KAAKohB,cAAgBhhB,EAAIiE,YAAYrE,KAAKohB,cAAe,CAI5D,IAAIuE,EAAyB,CAC5BxE,QAASnhB,KAAKohB,aAAawE,SAE5B5lB,KAAKohB,aAAawE,QAAU,KAE5B5lB,KAAKohB,aAAa1gB,iBAAiB,WA3RpC,SAAyB0G,GACC,UAArBhH,EAAIsH,SAASN,KACZuT,EAAKyG,cACRzG,EAAKgJ,kBAAkBhJ,EAAKyG,aAAa1c,OAE1CiW,EAAKvE,cAsRwD,GAC9DpW,KAAKohB,aAAa1gB,iBAAiB,UAxQpC,SAAwB0G,GACvB,IAAIhH,EAAIuF,QAAQyB,EAAI,YAApB,CAIA,IAAIye,EAASlL,EAAKyG,aAAa1c,MAE/BiW,EAAKgJ,kBAAkBhJ,EAAKyG,aAAa1c,OAEzCtE,EAAIoV,gBAAgBmF,EAAM,YAEtBA,EAAKyG,aAAa1c,QAAUmhB,GAE/BzlB,EAAIqH,kBAAkBkT,EAAKyG,aAAc,UAAU,GAAM,OA2PE,GAC5DphB,KAAKohB,aAAa1gB,iBAAiB,SAlOpC,SAAuB0G,GAClBhH,EAAIuF,QAAQyB,EAAI,cAIhBuT,EAAKyG,cACRzG,EAAKqI,WAAWrI,EAAKyG,aAAa1c,MAAOtE,EAAIwZ,MAAMC,YAGpDzZ,EAAIoV,gBAAgBmF,EAAM,eAyNgC,GAEtDgL,EAAuBxE,SAC1BnhB,KAAKohB,aAAa1gB,iBAAiB,QAASilB,EAAuBxE,SAAS,GAG7EnhB,KAAKohB,aAAalc,aAAa,eAAgB,OAC/ClF,KAAKohB,aAAalc,aAAa,cAAe,OAC9ClF,KAAKohB,aAAalc,aAAa,iBAAkB,OACjDlF,KAAKohB,aAAalc,aAAa,cAAc,GAI1ClF,KAAKqhB,cAAgBjhB,EAAIiE,YAAYrE,KAAKqhB,gBAC7CrhB,KAAKqhB,aAAa3gB,iBAAiB,WAjSpC,SAAyB0G,GACC,UAArBhH,EAAIsH,SAASN,KACZuT,EAAK0G,cACR1G,EAAKiJ,kBAAkBjJ,EAAK0G,aAAa3c,OAE1CiW,EAAKvE,cA4RwD,GAC9DpW,KAAKqhB,aAAa3gB,iBAAiB,UAtQpC,SAAwB0G,GACvB,IAAIhH,EAAIuF,QAAQyB,EAAI,YAApB,CAIA,IAAIye,EAASlL,EAAK0G,aAAa3c,MAE/BiW,EAAKiJ,kBAAkBjJ,EAAK0G,aAAa3c,OAEzCtE,EAAIoV,gBAAgBmF,EAAM,YAG1Bva,EAAIqH,kBAAkBkT,EAAKyG,aAAc,UAAU,GAAM,GAErDzG,EAAK0G,aAAa3c,QAAUmhB,GAE/BzlB,EAAIqH,kBAAkBkT,EAAK0G,aAAc,UAAU,GAAM,OAsPE,GAC5DrhB,KAAKqhB,aAAa3gB,iBAAiB,SAlOpC,SAAuB0G,GAClBhH,EAAIuF,QAAQyB,EAAI,cAIhBuT,EAAK0G,cACR1G,EAAKjD,SAAS,KAAM,KAAM,KAAM9I,WAAW+L,EAAK0G,aAAa3c,OAAQtE,EAAIwZ,MAAME,YAGhF1Z,EAAIoV,gBAAgBmF,EAAM,WAG1Bva,EAAIqH,kBAAkBkT,EAAKyG,aAAc,SAAS,GAAM,OAsNE,GAE1DphB,KAAKqhB,aAAanc,aAAa,eAAgB,OAC/ClF,KAAKqhB,aAAanc,aAAa,cAAe,OAC9ClF,KAAKqhB,aAAanc,aAAa,iBAAkB,OACjDlF,KAAKqhB,aAAanc,aAAa,cAAc,IAK9C,IAAI4gB,EAAY,cAEGpkB,IAAf1B,KAAK0E,MACRohB,EAAY9lB,KAAK0E,MACP1E,KAAKohB,mBAA4C1f,IAA5B1B,KAAKohB,aAAa1c,QACjDohB,EAAY9lB,KAAKohB,aAAa1c,OAK/B,IAAIqhB,OAAYrkB,EAYhB,QAVmBA,IAAf1B,KAAKihB,MACR8E,EAAa,GAAG/lB,KAAKihB,MACXjhB,KAAKqhB,mBAA4C3f,IAA5B1B,KAAKqhB,aAAa3c,QACjDqhB,EAAY/lB,KAAKqhB,aAAa3c,OAK/B1E,KAAK0jB,eAAiB,KAElB,CAAC,OAAQ,OAAOlf,QAAQxE,KAAKmO,OAAOvM,gBAAkB,EAAG,CAE5D,IAAIsN,EAAQ9O,EAAI4N,iBAAiB8X,GACjC9lB,KAAK0jB,eAAiBxU,EAAQA,EAAMf,OAAS,WAG7CnO,KAAK0jB,eAAiB1jB,KAAKmO,OAAOvM,cAKnC5B,KAAK2jB,kBAAkBmC,QAOLpkB,IAAdqkB,GACH/lB,KAAK4jB,kBAAkBmC,MAkBtBplB,IAAIoB,UAAY,UAIpB3B,EAAIO,IAAI2f,gBAAkB,iBAK1BlgB,EAAIO,IAAImC,WAAY,EAIpB1C,EAAIO,IAAI4kB,QAAU,GAGlBnlB,EAAIO,IAAI4kB,QAAiB,QAAI,GAE7BnlB,EAAIO,IAAI4kB,QAAe,MAAI,CAC1BpH,gBAAiB,sBACjBE,mBAAoB,sBACpBuB,YAAa,iBAEdxf,EAAIO,IAAI4kB,QAAc,KAAI,CACzBpH,gBAAiB,mBACjBE,mBAAoB,sBACpBuB,YAAa,uBAGdxf,EAAIO,IAAI4kB,QAAe,MAAI,CAAE9V,MAAM,IAAKC,OAAO,IAAKqE,QAAQ,GAAIL,WAAW,GAAIsB,YAAY,GAC3F5U,EAAIO,IAAI4kB,QAAgB,OAAI,CAAE9V,MAAM,IAAKC,OAAO,IAAKqE,QAAQ,GAAIL,WAAW,GAAIsB,YAAY,IAC5F5U,EAAIO,IAAI4kB,QAAe,MAAI,CAAE9V,MAAM,IAAKC,OAAO,IAAKqE,QAAQ,GAAIL,WAAW,GAAIsB,YAAY,IAE3F5U,EAAIO,IAAI4kB,QAAc,KAAI,CAAE/Q,YAAY,EAAGjB,mBAAmB,EAAG6B,mBAAmB,GACpFhV,EAAIO,IAAI4kB,QAAe,MAAI,CAAE/Q,YAAY,EAAGjB,mBAAmB,EAAG6B,mBAAmB,GAIrFhV,EAAIO,IAAIke,iBAAmB,EAG3Bze,EAAIO,IAAIyP,eAAiB,EACzBhQ,EAAIO,IAAI2P,iBAAmB,UAC3BlQ,EAAIO,IAAI6P,iBAAmB,UAG3BpQ,EAAIO,IAAIuP,iBAAmB,CAAC,wBAAyB,yBAIrD9P,EAAIO,IAAIC,KAAO,WACd,IAAIR,EAAIE,YAgBR,IAXAP,EAAOH,SAASc,iBAAiB,YAAaN,EAAIoW,qBAAqB,GACvEzW,EAAOH,SAASc,iBAAiB,QAASN,EAAI+V,iBAAiB,GAC/DpW,EAAOW,iBAAiB,SAAUN,EAAIiW,gBAAgB,GACtDtW,EAAOW,iBAAiB,SAAUN,EAAIkW,gBAAgB,GAGtDlW,EAAIO,IAAIqlB,UAER5lB,EAAIE,aAAc,EAGXF,EAAII,WAAWe,QACVnB,EAAII,WAAWylB,OAC1B5f,IAMFjG,EAAIO,IAAIqlB,QAAU,SAAUjlB,GAC3B,IAAIuhB,GAAU,EAEd,IACCliB,EAAIS,kBAAkB,iBAAkBE,GACvC,MAAO0B,GACR6f,GAAU,EACVngB,QAAQC,KAAKK,GAId,GAAIrC,EAAIO,IAAIU,YACX,IACCjB,EAAIS,kBAEF,SAAWT,EAAIO,IAAIU,YAAnB,YACYjB,EAAIO,IAAIU,YAErBN,GAEA,MAAO0B,IAGV,OAAO6f,GAMRliB,EAAIO,IAAIulB,MAAQ,SAAU7f,GACzB,MAAoB,mBAATA,GACVlE,QAAQC,KAAK,mCACN,IAGJhC,EAAIE,YACP+F,IAEAjG,EAAII,WAAW4C,KAAKiD,IAEd,IASRjG,EAAIO,IAAIkV,QAAU,SAAUD,GAC3B,IAAIuQ,EAAa,WAChB/lB,EAAIuV,cAAcC,IAGfxV,EAAIE,YACP6lB,IAEA/lB,EAAIO,IAAIulB,MAAMC,IAMhB/lB,EAAIO,IAAI2X,KAAO,WACVlY,EAAIwR,QAAUxR,EAAIwR,OAAOC,OAC5BzR,EAAIwR,OAAOC,MAAMyG,QAMnBlY,EAAIO,IAAIoe,WAAa,SAAU7P,GAK9B,OAJKA,IACJA,EAAQ,iBAEK9O,EAAIyP,sBAAsBX,GACzBI,OAAOgQ,aAKvBlf,EAAIO,IAAIiK,WAAa,SAAUsE,GAC9B,IAAI8U,EAAc,GAGlBA,EAAY5gB,KAAKhD,EAAIkR,wBAAwBpC,IAG7C,IAAImV,EAAUjkB,EAAIyP,wBAOlB,OANAmU,EAAY5gB,KAAK,CAChB,QAAWihB,EAAQ/U,OAAOgQ,YAAc,KACxC,WACA,UACCtU,KAAK,MAEAgZ,EAAYhZ,KAAK,OAYzB5K,EAAIO,IAAIukB,QAAU,GAUlB9kB,EAAIO,IAAIU,YAAc,UAMtBjB,EAAIO,IAAIylB,mBAAqB,WAE5B,OADAjkB,QAAQuT,MAAM,qGAAuGtV,EAAIiC,UAClH,GAIRjC,EAAIK,WAGGL,EAAIO,KAaX,YAP8B,IAAnBZ,EAAOM,UACjBN,EAAOM,QAAUN,EAAOsmB,QAAUhmB,GAM5BA,OAUOimB,EAA2B,GAG/B,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqB9kB,IAAjB+kB,EACH,OAAOA,EAAa9mB,QAGrB,IAAIH,EAAS8mB,EAAyBE,GAAY,CAGjD7mB,QAAS,IAOV,OAHAL,EAAoBknB,GAAUvb,KAAKzL,EAAOG,QAASH,EAAQA,EAAOG,QAAS4mB,GAGpE/mB,EAAOG,QAOd4mB,EAAoBhiB,EAAK/E,IACxB,IAAI0b,EAAS1b,GAAUA,EAAOknB,WAC7B,IAAOlnB,EAAiB,QACxB,IAAM,EAEP,OADA+mB,EAAoBI,EAAEzL,EAAQ,CAAE/Q,EAAG+Q,IAC5BA,GAORqL,EAAoBI,EAAI,CAAChnB,EAASinB,KACjC,IAAI,IAAIC,KAAOD,EACXL,EAAoBO,EAAEF,EAAYC,KAASN,EAAoBO,EAAEnnB,EAASknB,IAC5E/hB,OAAOC,eAAepF,EAASknB,EAAK,CAAEE,YAAY,EAAM/hB,IAAK4hB,EAAWC,MAQ3EN,EAAoBO,EAAI,CAAC1hB,EAAKI,IAAUV,OAAOiG,UAAUxF,eAAe0F,KAAK7F,EAAKI,GAM7F,MACA,aA+CA,IAAIwhB,EAAY,GAUhB,SAASC,IACHD,EAAUE,iBAAmBC,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAIF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAIAC,EAIAC,EAMAC,EAjCAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GA4BtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file From 37bff7df1e9e4bd59c51f349136e2eac40ddea0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Sun, 4 Apr 2021 20:13:44 +0200 Subject: [PATCH 28/30] Fixed #707 --- CookieMonster.js | 2 +- dist/CookieMonster.js | 2 +- dist/CookieMonster.js.map | 2 +- src/Main/VariablesAndData.js | 4 ++-- src/Sim/SimulationEvents/GodChange.js | 7 ++++++- 5 files changed, 11 insertions(+), 6 deletions(-) diff --git a/CookieMonster.js b/CookieMonster.js index eda6870a..5feb9611 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x,M,T=[],S=[],P=[],B={};const E="CMText",N="CMBack",O="Blue",F="Green",W="Yellow",L="Orange",A="Red",j="Purple",D="Gray",H="Pink",U="Brown",$=[D,O,F,W,L,A,j,H,U],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],I={};let z,V,_=0,Q=-1,X=[],q=1,Y=1,K=1;const J=[10,15,30,60,300,600,900,1800],Z=[1,5,10,15,30],ee={Frenzy:W,"Dragon Harvest":U,"Elder frenzy":F,Clot:A,"Click frenzy":O,Dragonflight:H};let te,oe,ne,ie,ae,re,le,se={},ce="",de=[];function pe(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return B.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${pe(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function me(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=F):(n=ue(t),o=t>300?A:t>60?L:W),{text:n,color:o}}let he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Me,Te,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=0,pt=1,ut=1,mt=1,ht=0,gt=0,ft=0,Ct=0,yt={},bt={},kt={},Gt=0,vt=0,wt=[0,null],xt=0,Mt=0,Tt={},St={},Pt={},Bt={},Et={},Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,$t=0,Rt=[],It=0,zt=0,Vt={},_t={},Qt=0,Xt=0,qt=[],Yt={},Kt=0,Jt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Zt=[],eo=[],to=[];function oo(e){let t=0;return Game.dragonAuras[$e].name!==e&&Game.dragonAuras[Re].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[$e].name&&"Reality Bending"!==Game.dragonAuras[Re].name||(t+=.1),t}function no(){let e=.25;return e*=1+oo("Earth Shatterer"),e}function io(e,t){return void 0===Qe[e]?void 0===t?1:t:Qe[e]}function ao(e){const t=eo[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ro(e){if(Game.hasGod){void 0===Zt.Temple.minigame&&(Zt.Temple.minigame=Game.Objects.Temple.minigame);const t=Zt.Temple.minigame.gods[e];if(Ie===t.id)return 1;if(ze===t.id)return 2;if(Ve===t.id)return 3}return!1}function lo(e,t){let o=t;if(ao("Season savings")&&(o*=.99),ao("Santa's dominion")&&(o*=.99),ao("Faberge egg")&&(o*=.99),ao("Divine discount")&&(o*=.99),ao("Fortune #100")&&(o*=.99),o*=1-.02*oo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&ao(e.fortune.name)&&(o*=.93),o*=io("buildingCost"),Zt.Temple.minigameLoaded){const e=ro("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function so(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function co(){let t=Game.buyBulk;if(1===Game.buyMode?Y=t:t=Y,1===t?t=yt:10===t?t=bt:100===t&&(t=kt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(yt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=pe(so(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(yt).map((e=>{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;e$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.ppe.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?q=i:i=q,1===i&&(i=yt),10===i&&(i=bt),100===i&&(i=kt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=pe(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=E+i[o].color,n=e.PPDisplayTime?ue(Math.round(i[o].pp)):pe(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=me((Game.Objects[o].bulkPrice-(Game.cookies+mo()))/uo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=E+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&ao(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(ao(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&ao(e.fortune.name)&&(t*=1.07),e.grandma&&ao(e.grandma.name)&&(t*=1+.01*Zt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&ao(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function wo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;ao("Thousand fingers")&&(t+=.1),ao("Million fingers")&&(t*=5),ao("Billion fingers")&&(t*=10),ao("Trillion fingers")&&(t*=20),ao("Quadrillion fingers")&&(t*=20),ao("Quintillion fingers")&&(t*=20),ao("Sextillion fingers")&&(t*=20),ao("Septillion fingers")&&(t*=20),ao("Octillion fingers")&&(t*=20),ao("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Zt).forEach((e=>{"Cursor"!==Zt[e].name&&(n+=Zt[e].amount)})),t*=n,o*=vo(e),o*=Game.magicCpS("Cursor"),o*=io("cursorCps"),Game.ComputeCps(.1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{ao(Game.GrandmaSynergies[e])&&(o*=2)})),ao("Bingo center/Research facility")&&(o*=4),ao("Ritual rolling pins")&&(o*=2),ao("Naughty list")&&(o*=2),ao("Elderwort biscuits")&&(o*=1.02),o*=io("grandmaCps"),ao("Cat ladies"))for(let e=0;e{"Grandma"!==Zt[e].name&&(i+=Zt[e].amount)})),o*=1+.01*oo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=vo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function xo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Zt).forEach((t=>{Zt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(ao("Starlove")&&(e=3),Game.hasGod){const t=ro("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Mo(){Ae=Game.UpgradesOwned,je=Game.pledges,De=Game.AchievementsOwned,He=Game.heavenlyPower,Ue=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e],go(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ie=t.minigame.slot[0],ze=t.minigame.slot[1],Ve=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Zt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=eo[e];void 0===o&&(eo[e]=xo(e),o=eo[e]),o.bought=t.bought,eo[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=to[e];void 0===o&&(to[e]=Go(e),o=to[e]),o.won=t.won,to[e]=o})),ko(),$e=Ye,Re=Ke}function To(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function So(e){e.appendChild(To("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(To("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(To("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(To("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ne){e.appendChild(To("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Po(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Eo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function No(){if(Mo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ne?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(So(l("CMTooltipBorder")),1===Game.buyMode?K=t:t=K,1===Game.buyBulk?t=yt:10===Game.buyBulk?t=bt:100===Game.buyBulk&&(t=kt),te=Game.Objects[ie].bulkPrice,oe=t[ie].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=pe(oe,2);const o=Math.round(oe/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=E+t[ie].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ue(t[ie].pp):l("CMTooltipPP").textContent=pe(t[ie].pp,2),l("CMTooltipPP").className=E+t[ie].color;const n=me((te-(Game.cookies+mo()))/uo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ie[1]][ie[0]][0]-1].mature,o=t.plantsById[t.plot[ie[1]][ie[0]][0]-1].name;l("CMTooltipBorder").appendChild(To("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${pe(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${pe(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${pe(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${pe(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ne?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(To("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=ho(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==ee[Game.buffs[t].name]?ee[Game.buffs[t].name]:j,a.lastChild.children[1].className=N+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),le!==n&&(le=n,yo())}}(),fo(),No(),function(){if(1===e.TooltipWrink&&1===_){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===X[t]||void 0===X[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),Q=t,X[t]=1}}else X[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[Q],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[Q].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Zt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=pe(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,pe(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Fo(){he.addLatest(Game.computedMouseCps)}class Wo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Lo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Kt;Game.cpsSucked>0&&(o+=Gt),It=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ge,i=Math.max(0,Game.cookies-ve)/n,a=Math.max(0,Gt-we)/n,r=Math.max(0,wt[0]-xe)/n,l=Math.max(0,o-Ct)/n,s=(Game.cookieClicks-Me)/n;for(let e=0;e0&&(n=A),n}function jo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=D;else{t[n].color=Ao(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+mo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||qt.push([t[n].pp,o])}))}function Ho(){!function(){Xt=1/0,qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Do(yt,1),Do(bt,10),Do(kt,100),qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;qt[t][1]>Game.cookies&&(t+=1,qt.length!==t+1););Xt=qt[e.PPExcludeTop][t],jo(yt,1),jo(bt,10),jo(kt,100)}(),Object.keys(Tt).forEach((e=>{Game.cookiesPs?Tt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+mo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Tt[e].bonus:Tt[e].pp=Game.Upgrades[e].getPrice()/Tt[e].bonus,Number.isNaN(Tt[e].pp)&&(Tt[e].pp=1/0),Tt[e].color=Ao(Tt[e],Game.Upgrades[e].getPrice())}))}function Uo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Qe=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ue)*He*function(){let e=0;if(ao("Heavenly chip secret")&&(e+=.05),ao("Heavenly cookie stand")&&(e+=.2),ao("Heavenly bakery")&&(e+=.25),ao("Heavenly confectionery")&&(e+=.25),ao("Heavenly key")&&(e+=.25),e*=1+.05*oo("Dragon God"),ao("Lucky digit")&&(e*=1.01),ao("Lucky number")&&(e*=1.01),ao("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ro("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=io("cps"),ao("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];ao(o.name)&&("function"==typeof o.power?e*=1+.01*eo[o.name].power(eo[o.name]):e*=1+.01*o.power)})),ao("Specialized chocolate chips")&&(e*=1.01),ao("Designer cocoa beans")&&(e*=1.02),ao("Underworld ovens")&&(e*=1.03),ao("Exotic nuts")&&(e*=1.04),ao("Arcane sugar")&&(e*=1.05),ao("Increased merriness")&&(e*=1.15),ao("Improved jolliness")&&(e*=1.15),ao("A lump of coal")&&(e*=1.01),ao("An itchy sweater")&&(e*=1.01),ao("Santa's dominion")&&(e*=1.2),ao("Fortune #100")&&(e*=1.01),ao("Fortune #101")&&(e*=1.07),ao("Dragon scale")&&(e*=1.03);let o=1;if(ro){let t=ro("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ro("ages"),1===t?e*=1+.15*Math.sin(w/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(w/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(w/1e3/86400*Math.PI*2)),t=ro("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ro("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ro("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}ao("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=De/25;let i=1;if(ao("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*oo("Breath of Milk"),ro){const e=ro("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=io("milk");let a=1;ao("Kitten helpers")&&(a*=1+.1*n*i),ao("Kitten workers")&&(a*=1+.125*n*i),ao("Kitten engineers")&&(a*=1+.15*n*i),ao("Kitten overseers")&&(a*=1+.175*n*i),ao("Kitten managers")&&(a*=1+.2*n*i),ao("Kitten accountants")&&(a*=1+.2*n*i),ao("Kitten specialists")&&(a*=1+.2*n*i),ao("Kitten experts")&&(a*=1+.2*n*i),ao("Kitten consultants")&&(a*=1+.2*n*i),ao("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),ao("Kitten marketeers")&&(a*=1+.15*n*i),ao("Kitten analysts")&&(a*=1+.125*n*i),ao("Kitten executives")&&(a*=1+.115*n*i),ao("Kitten angels")&&(a*=1+.1*n*i),ao("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Zt).forEach((e=>{const t=Zt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&ao("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Xe+=t.amount*a})),ao('"egg"')&&(Xe+=9),e*=a;let r=1;if(ao("Chicken egg")&&(r*=1.01),ao("Duck egg")&&(r*=1.01),ao("Turkey egg")&&(r*=1.01),ao("Quail egg")&&(r*=1.01),ao("Robin egg")&&(r*=1.01),ao("Ostrich egg")&&(r*=1.01),ao("Cassowary egg")&&(r*=1.01),ao("Salmon roe")&&(r*=1.01),ao("Frogspawn")&&(r*=1.01),ao("Shark egg")&&(r*=1.01),ao("Turtle egg")&&(r*=1.01),ao("Ant larva")&&(r*=1.01),ao("Century egg")){let e=10*Math.floor((x-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),gt=1+.1*(1-(1-e/100)**3),r*=gt}e*=r,ao("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+oo("Radiant Appetite");const l=Xe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&$o(Game.CpsAchievements[e].name)})),qe=l;const{n:s}=Game.shimmerTypes.golden,c=oo("Dragon's Fortune");for(let t=0;t{ao(e[o])&&(t+=.1)}))}e*=t}if(ao("Shimmering veil [off]")){let t=.5;ao("Reinforced membrane")&&(t+=.1),e*=1+t}ao("Magic shenanigans")&&(e*=1e3),ao("Occult obstruction")&&(e*=0),Xe=Game.runModHookOnValue("cps",Xe),e*=Bo(),Xe*=e}const Io=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],zo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Vo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],_o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Qo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Xo(e){return to[e]?to[e].won:0}function qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{ao(Game.GrandmaSynergies[t])&&(e+=1)})),!Xo("Elder")&&e>=7&&$o("Elder"),!Xo("Veteran")&&e>=14&&$o("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount,i=Math.min(Zt[e].amount,i),Xo("Mathematician")||Zt[e].amount=1&&$o("One with everything"),1===o&&$o("Mathematician"),1===n&&$o("Base 10"),i>=100&&$o("Centennial"),i>=150&&$o("Centennial and a half"),i>=200&&$o("Bicentennial"),i>=250&&$o("Bicentennial and a half"),i>=300&&$o("Tricentennial"),i>=350&&$o("Tricentennial and a half"),i>=400&&$o("Quadricentennial"),i>=450&&$o("Quadricentennial and a half"),i>=500&&$o("Quincentennial"),i>=550&&$o("Quincentennial and a half"),i>=600&&$o("Sexcentennial"),t>=100&&$o("Builder"),t>=500&&$o("Architect"),t>=1e3&&$o("Engineer"),t>=2e3&&$o("Lord of Constructs"),t>=4e3&&$o("Grand design"),t>=8e3&&$o("Ecumenopolis"),Ae>=20&&$o("Enhancer"),Ae>=50&&$o("Augmenter"),Ae>=100&&$o("Upgrader"),Ae>=200&&$o("Lord of Progress"),Ae>=300&&$o("The full picture"),Ae>=400&&$o("When there's nothing left to add"),t>=4e3&&Ae>=300&&$o("Polymath"),t>=8e3&&Ae>=400&&$o("Renaissance baker"),Zt.Cursor.amount+Zt.Grandma.amount>=777&&$o("The elder scrolls");let a=!0;Object.keys(zo).forEach((e=>{ao(zo[e])||(a=!1)})),a&&$o("Spooky cookies");let r=!0;if(Object.keys(Vo).forEach((e=>{ao(Vo[e])||(r=!1)})),r&&$o("Let it snow"),ao("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{ao(e[o].name)&&(t+=1)})),t>=e.length&&$o("O Fortuna")}}function Yo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Mo(),Zt[e].amount+=t;const o=Zt[e];"Cursor"===e?(o.amount>=1&&$o("Click"),o.amount>=2&&$o("Double-click"),o.amount>=50&&$o("Mouse wheel"),o.amount>=100&&$o("Of Mice and Men"),o.amount>=200&&$o("The Digital"),o.amount>=300&&$o("Extreme polydactyly"),o.amount>=400&&$o("Dr. T"),o.amount>=500&&$o("Thumbs, phalanges, metacarpals"),o.amount>=600&&$o("With her finger and her thumb"),o.amount>=700&&$o("Gotta hand it to you"),o.amount>=800&&$o("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&$o(Game.Objects[o.name].tieredAchievs[e].name)}));const n=De;return Ro(),qo(),n!==De&&Ro(),Xe-Game.cookiesPs}(o,e),1!==e&&(Fe=1)})),t}function Ko(){Object.keys(Game.Objects).forEach((e=>{yt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),bt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),kt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Jo(){yt=Yo(1),bt=Yo(10),kt=Yo(100),Tt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Mo(),"Shimmering veil [on]"===eo[e].name?eo["Shimmering veil [off]"].bought=0:"Golden switch [on]"===eo[e].name?eo["Golden switch [off]"].bought=0:eo[e].bought=(eo[e].bought+1)%2,Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ae+=1),"Elder Pledge"===e?(je+=1,je>0&&$o("Elder nap"),je>=5&&$o("Elder slumber")):"Elder Covenant"===e?$o("Elder calm"):"Prism heart biscuits"===e?$o("Lovely cookies"):"Heavenly key"===e&&$o("Wholesome");const t=De;Ro(),qo(),t!==De&&Ro();const o=function(){let e=0;ao("Thousand fingers")&&(e+=.1),ao("Million fingers")&&(e*=5),ao("Billion fingers")&&(e*=10),ao("Trillion fingers")&&(e*=20),ao("Quadrillion fingers")&&(e*=20),ao("Quintillion fingers")&&(e*=20),ao("Sextillion fingers")&&(e*=20),ao("Septillion fingers")&&(e*=20),ao("Octillion fingers")&&(e*=20),ao("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount})),t-=Zt.Cursor.amount,e*=t,ao("Plastic mouse")&&(e+=.01*Xe),ao("Iron mouse")&&(e+=.01*Xe),ao("Titanium mouse")&&(e+=.01*Xe),ao("Adamantium mouse")&&(e+=.01*Xe),ao("Unobtainium mouse")&&(e+=.01*Xe),ao("Eludium mouse")&&(e+=.01*Xe),ao("Wishalloy mouse")&&(e+=.01*Xe),ao("Fantasteel mouse")&&(e+=.01*Xe),ao("Nevercrack mouse")&&(e+=.01*Xe),ao("Armythril mouse")&&(e+=.01*Xe),ao("Technobsidian mouse")&&(e+=.01*Xe),ao("Plasmarble mouse")&&(e+=.01*Xe),ao("Miraculite mouse")&&(e+=.01*Xe),ao("Fortune #104")&&(e+=.01*Xe);let o=1;if(ao("Santa's helpers")&&(o*=1.1),ao("Cookie egg")&&(o*=1.1),ao("Halo gloves")&&(o*=1.1),ao("Dragon claw")&&(o*=1.03),ao("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,ao("Luminous gloves")?20:10)),o*=io("click"),Zt.Temple.minigameLoaded&&ro){const e=ro("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*oo("Dragon Cursor");let n=o*Game.ComputeCps(1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Xe-Game.cookiesPs,o]:[Xe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Tt[t]={bonus:Game.cookiesPs-Te},1===e.CalcWrink?Tt[t].bonus-=Se:2===e.CalcWrink&&(Tt[t].bonus-=Pe),Number.isFinite(Tt[t].bonus)||(Tt[t].bonus=0)):(Tt[t]={},o[0]&&(Tt[t].bonus=o[0]),o[1]&&(Tt[t].bonusMouse=o[1]))}))}function Zo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ft=Zo(7,e,ut),Nt=2*Ft[1]/ut,Ot=Ft[2]/60/60/6/pt,At=Zo(6,e,mt),Wt=2*At[1]/mt,Lt=At[2]/60/60/6/pt,Ht=Zo(7,7*e,ut),jt=2*Ht[1]/ut,Dt=Ht[2]/60/60/6/pt,Rt=Zo(6,7*e,mt),Ut=2*Rt[1]/mt,$t=Rt[2]/60/60/6/pt}function tn(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ne,i=Math.max(0,o-Oe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Bt+=e:"cookie"===o.pool?Et+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Pt+=e)}}))}function nn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ft=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ft*=2)}}function an(){et=900*dt/.15,et*=pt;const e=Bo();e>0?et/=e:et=0,tt=ut*(.15*et)+13,ot=mt*(.15*et)+13,nt=7*et,it=ut*(.15*nt)+13,at=mt*(.15*nt)+13,rt=2*et,lt=.15*rt,st=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountst&&(st=2*Game.Objects[e].price,ct=e)}))}function rn(){let e=1,t=1,o=1;ao("Green yeast digestives")&&(o*=1.01),ao("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ut=o*e,mt=o*t,pt=1,0===Game.shimmerTypes.golden.n&&(pt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function ln(){Gt=0,vt=0,wt=[0,null];for(let e=0;ewt[0]&&(wt=[t,e]))}}function sn(){ko(),ln(),an(),rn(),en(),on(),nn(),ge=new Wo(J[J.length-1]),fe=new Wo(J[J.length-1]),Ce=new Wo(J[J.length-1]),ye=new Wo(J[J.length-1]),be=new Wo(Z[Z.length-1]),ke=new Wo(5),he=new Wo(20*Z[Z.length-1]),tn(),Lo(),Jo(),Ko(),Ho()}const cn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},dn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function pn(){1===e.BotBar?(l("CMBotBar").style.display="",fo()):l("CMBotBar").style.display="none",yo()}function un(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),fo(),co(),po()}function mn(){1===e.Favicon&&y>0?Vt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class hn{constructor(e,t){this.type=e,this.group=t}}class gn extends hn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class fn extends hn{constructor(e,t,o){super(e,t),this.desc=o}}class Cn extends hn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class yn extends hn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const bn={CPSMode:new gn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new gn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new gn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new gn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){_e=!0})),Scale:new gn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){un()})),ScaleDecimals:new gn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){un()})),ScaleSeparator:new gn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){un()})),ScaleCutoff:new yn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new gn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new gn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=V:Game.sayTime=B.sayTime})),PPDisplayTime:new gn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new gn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){co()})),PPOnlyConsiderBuyable:new gn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new gn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new gn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new yn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new fn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new fn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new fn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new fn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new fn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new fn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new fn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new fn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new fn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new gn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){pn()})),TimerBar:new gn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){bo()})),TimerBarPos:new gn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),yo()})),TimerBarOverlay:new gn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new gn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",po()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",po()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new gn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new gn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){co()})),SortUpgrades:new gn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){po()})),DragonAuraInfo:new gn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new gn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new gn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(se).forEach((e=>{se[e].style.display="block",se[e].style.left=Yt[e].l.style.left,se[e].style.top=Yt[e].l.style.top})):Object.keys(se).forEach((e=>se[e].style.display="none"))})),Favicon:new gn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){mn()})),WrinklerButtons:new gn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new gn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new gn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new gn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new gn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new gn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new gn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new gn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new gn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new yn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new gn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new gn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Eo()})),TooltipGrim:new gn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new gn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new gn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new gn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new gn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new gn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new gn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new gn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new gn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new gn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new yn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new gn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new gn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new gn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new gn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){dn(e.GCNotification)})),GCFlash:new gn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new fn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new gn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new Cn("vol","NotificationGC",[],"Volume"),GCSoundURL:new gn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new gn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){dn(e.FortuneNotification)})),FortuneFlash:new gn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new fn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new gn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new Cn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new gn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new gn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){dn(e.SeaNotification)})),SeaFlash:new gn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new fn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new gn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new Cn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new gn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new gn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new fn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new gn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new Cn("vol","NotificationGard",[],"Volume"),GardSoundURL:new gn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new gn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){dn(e.MagicNotification)})),MagicFlash:new gn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new fn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new gn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new Cn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new gn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new gn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){dn(e.WrinklerNotification)})),WrinklerFlash:new gn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new fn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new gn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new Cn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new gn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new gn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){dn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new gn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new fn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new gn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new Cn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new gn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new gn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new gn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function kn(){return JSON.stringify({favouriteSettings:de,settings:e,version:"2.031.6"})}function Gn(){if(Je!==Game.dragonLevel||_e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Upgrades).forEach((e=>{eo[e]=xo(e)})),to=[],Object.keys(Game.Achievements).forEach((e=>{to[e]=Go(e)})),Mo()}let xn=!1;function Mn(t,o,n){(1===e[o]||n)&&3===t&&!1===xn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Mn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Mn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Mn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Tn(t,o,n,i){if((1===e[o]||i)&&!1===xn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Sn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===xn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Pn(){if(re!==Game.OnAscend&&(re=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(pn(),bo()),Co()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(wn(),sn(),r=Object.keys(Game.mods).length),_e&&(Jo(),Game.Has("Golden switch [off]")?(Mo(),eo["Golden switch [off]"].bought=0,Ro(),dt=Xe):dt=Game.cookiesPs,rn(),an(),on(),en(),Gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Jt[e][t]=vn(e,t)}(),nn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Mo();let t=2;5!==$e&&18!==$e||(t-=1),5!==Re&&18!==Re||(t-=1),$e=5,Re=18;for(let e=0;e{Zt[t].amount>0&&(e=t)})),Zt[e].amount-=1,Le-=1}return Object.keys(Zt).forEach((t=>{const o=Zt[t];e+=so(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Kt=e}(),_e=0);const t=Game.auraMult("Fierce Hoarder")>0;!We&&t?(We=!0,Fe=1):We&&!t&&(We=!1,Fe=1),Fe&&(Ko(),Fe=0),function(){ln(),Ho(),function(){xt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Zt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Mt=e,xt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Lo(),tn();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Qt=ue(e/uo())}(),G=0,Yt={},Object.keys(Game.shimmers).forEach((e=>{Yt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Vt=Game.shimmers[e],G+=1)})),Object.keys(se).forEach((e=>{void 0===Yt[e]&&(se[e].parentNode.removeChild(se[e]),delete se[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===se[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},se[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),mn(),b=G,0===G&&(Vt=0)):1===e.GCTimer&&y&&Object.keys(se).forEach((e=>{se[e].style.opacity=Yt[e].l.style.opacity,se[e].style.transform=Yt[e].l.style.transform,se[e].textContent=Math.ceil(Yt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Mn(3,"FortuneFlash",!1),Tn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Sn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(_t=Game.shimmers[e])})),Mn(3,"SeaFlash",!1),Tn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Sn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Mn(3,"WrinklerMaxFlash",!1):Mn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Tn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Tn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Sn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Sn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Bn(){let t="";for(let o=0;o<$.length;o++)t+=`.CMText${$[o]} { color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBack${$[o]} { background-color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBorder${$[o]} { border: 1px solid ${e[`Colour${$[o]}`]}; }\n`;l("CMCSS").textContent=t,co()}function En(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${kn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Nn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t,void 0!==e.Colors&&delete e.Colors,void 0!==e.Colours&&delete e.Colours;let o=!1;Object.keys(cn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=cn[t]):"Header"===t&&Object.keys(cn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=cn[t][n])}))})),o&&En(),Pn(),Object.keys(cn).forEach((e=>{"Header"!==e&&void 0!==bn[e].func&&bn[e].func()}))}else Nn(cn);Game.UpdateMenu(),Bn()}function On(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Fn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Uo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${pe(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${me((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(pe(Game.Objects[o].bulkPrice)).join(pe((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ne=t,ie=o,No(),l("tooltip").innerHTML}function Wn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(S[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Ln(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),En()}function Rn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){$n(o),Game.UpdateMenu()},n.appendChild(i),n}function In(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(I[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function zn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Vn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Rn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+mo(){Game.HasUnlocked(Qo[e])||c.push(Qo[e])})),0!==c.length&&e.appendChild(In("basic","Rare plant drops left to unlock",zn(c))),e}())),o.appendChild(Rn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?Ct:0)));t.appendChild(In("withTooltip","Prestige level (cur / max)",document.createTextNode(`${pe(Game.prestige)} / ${pe(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&Ct?Ct:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(pe(n)));const a=document.createElement("small");a.textContent=` (${ue(n/zt,1)})`,i.appendChild(a),t.appendChild(In("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(In("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${pe(Game.heavenlyChips)} / ${pe(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(In("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(pe(ht,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(In("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(pe(e)))),t.appendChild(In("basic","Time till target (cur, current 5 second average)",document.createTextNode(ue(e/ht)))))}const l=function(e){let t=Game.cookiesPs;Mo(),0===eo["Heavenly key"].bought&&(eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ro(),t=Xe,Mo()),It>=1e6&&$o("Sacrifice"),It>=1e9&&$o("Oblivion"),It>=1e12&&$o("From scratch"),It>=1e15&&$o("Nihilism"),It>=1e18&&$o("Dematerialize"),It>=1e21&&$o("Nil zero zilch"),It>=1e24&&$o("Transcendence"),It>=1e27&&$o("Obliterate"),It>=1e30&&$o("Negative void"),It>=1e33&&$o("To crumbs, you say?"),It>=1e36&&$o("You get nothing"),It>=1e39&&$o("Humble rebeginnings"),It>=1e42&&$o("The end of the world"),It>=1e45&&$o("Oh, you're back"),It>=1e48&&$o("Lazarus"),It>=1e51&&$o("Smurf account"),It>=1e54&&$o("If at first you don't succeed"),eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ue=e;const o=De;Ro(),qo(),o!==De&&Ro();const n=Xe-t;return Ue=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(pe(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(In("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Rn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${pe(Gt)} / ${pe(vt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){On()},e.appendChild(t),o.appendChild(In("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${pe(wt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},n.appendChild(i),o.appendChild(In("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==wt[1]?wt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(n.push(zo[e]),o=!0)}));const i=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(i.push(Vo[e]),o=!0)}));const a=[];Object.keys(_o).forEach((e=>{Game.Has(_o[e])||(a.push(_o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Rn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(In("basic","Halloween cookies left to buy",zn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(In("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${pe((1-e)*o*100)}% / ${pe((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(In("basic","Christmas cookies left to buy",zn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(In("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${pe((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(In("basic","Valentine cookies left to buy",zn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(In("basic","Normal easter eggs left to unlock",zn(r))),t.appendChild(In("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[0])}% / ${pe(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(In("basic","Rare easter eggs left to unlock",zn(l))),t.appendChild(In("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[1])}% / ${pe(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(In("basic","Reindeer reward",document.createTextNode(pe(ft)))),s&&t.appendChild(In("withTooltip","Chocolate egg cookies",document.createTextNode(pe(Ct)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(In("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(gt-1))/100+"%")))}return t}()),o.appendChild(Rn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(In("basic",`Average cookies per second (past ${J[e.AvgCPSHist]<60?`${J[e.AvgCPSHist]} seconds`:J[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(pe(uo(),3)))),o.appendChild(In("basic",`Average cookie clicks per second (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(St,1)))),o.appendChild(In("basic",`Cookies from clicking (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(he.calcSum(St*Z[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Io).forEach((t=>{Game.Has(Io[t])||e.push(Io[t])})),0!==e.length&&o.appendChild(In("basic","Fortune Upgrades Left to Buy",zn(e)))}if(e.ShowMissedGC&&o.appendChild(In("basic","Missed golden cookies",document.createTextNode(pe(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(In("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Et){const t=Et.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Et,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const _n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Qn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Xn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){$n(t),Game.UpdateMenu()},n.appendChild(i),n}function qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return de.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){de.includes(e)?de=de.filter((function(t){return t!==e})):de.push(e)}(e),En(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(I.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===bn[t].type){const n=document.createElement("a");bn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Hn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===bn[t].label.length?(e[t]=0,bn[t].toggle&&(l(Hn+t).className="option off")):l(Hn+t).className="option",void 0!==bn[t].func&&bn[t].func(),l(Hn+t).innerHTML=bn[t].label[e[t]],En()}(t)},n.textContent=bn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=bn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===bn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=bn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Un(t)},r.onchange=function(){Un(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Tn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Hn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,En(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=bn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===bn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new jn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Bn(),En(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=bn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Mn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Dn().init(),o}if("numscale"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="number",i.value=e[t],i.min=bn[t].min,i.max=bn[t].max,i.oninput=function(){e[t]=this.value,En(),un()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=bn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Yn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Kn(){B.Beautify=Beautify,Beautify=pe,B.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){B.CalculateGains(),_e=1,w=Date.now(),x=Date.now()},B.tooltip={},B.tooltip.draw=Game.tooltip.draw,B.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){B.tooltip.drawMod(e,t,o)},B.tooltip.update=Game.tooltip.update,B.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){B.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},B.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Yn(B.UpdateWrinklers)},B.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Yn(B.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Yn(Game.ClickCookie)}),!1),B.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){B.RebuildUpgrades(),P=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(P[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},B.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Zt[Game.ObjectsById[e].name].name;Zt[o].amount-=1,Le-=1,t=Zt[o].basePrice*Game.priceIncrease**Math.max(0,Zt[o].amount-1-Zt[o].free),t=Game.modifyBuildingPrice(Zt[o],t),t=Math.ceil(t);break}const o=De;return Ro(),qo(),o!==De&&Ro(),[Xe-Game.cookiesPs,t]}(t),n=ue(o/(e+Game.cookiesPs)),i=pe(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${pe(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},B.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){B.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},B.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Dn().picker&&void 0!==Dn().picker.owner||(B.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(_n).forEach((t=>{if("Favourite"===t){if(0!==de.length&&e.FavouriteSettings>0&&(o.appendChild(Xn(t,_n[t])),e.Header[t]))for(let e=0;e{const n=Xn(t,Qn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))}))})):Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Nn(cn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Vn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){$n("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},B.sayTime=Game.sayTime,V=function(e,t){return Number.isNaN(e)||e<=0?B.sayTime(e,t):ue(e/Game.fps,1)},B.Logic=Game.Logic,Game.Logic=function(){B.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ce=`${Game.OnAscend?"Ascending! ":""}${pe(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ce;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Vt?Vt.wrath?`[W${Math.ceil(Vt.life/Game.fps)}]`:`[G${Math.ceil(Vt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(_t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ce;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Vt&&(t=!0,Vt.wrath?e+=`[W${Math.ceil(Vt.life/Game.fps)}]`:e+=`[G${Math.ceil(Vt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(_t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${pe(Game.prestige)}.
(CpS +${pe(Game.prestige)}%)`,n+='
'),n+=Oe<1?"Ascending now would grant you no prestige.":Oe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${pe(Oe)} prestige levels (+${pe(Oe)}% CpS)
and ${pe(Oe)} heavenly chips to spend.`,n+='
',n+=`You need ${pe(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Qt} to reach the next level and you were making ${pe(ht,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Jn(){wn(),an(),sn(),r=Object.keys(Game.mods).length,M=document.createElement("style"),M.type="text/css",M.id="CMCSS",document.head.appendChild(M),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=E+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",W)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",O)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",O)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",O)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{go(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=ho("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:D},{id:"CMTimerBarGCBar",color:j}]);e.appendChild(t);const o=ho("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:D},{id:"CMTimerBarRenBar",color:L}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=N+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(O,"Better than the best PP of a building option")),e.appendChild(o(F,"Same as the best PP building option")),e.appendChild(o(W,"Within the top 10 of PP for buildings")),e.appendChild(o(L,"Within the top 20 of PP for buildings")),e.appendChild(o(A,"Within the top 30 of PP for buildings")),e.appendChild(o(j,"Outside of the top 30 of PP for buildings")),e.appendChild(o(D,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=E+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",O)),e.appendChild(o("CMUpgradeBarGreen",F)),e.appendChild(o("CMUpgradeBarYellow",W)),e.appendChild(o("CMUpgradeBarOrange",L)),e.appendChild(o("CMUpgradeBarRed",A)),e.appendChild(o("CMUpgradeBarPurple",j)),e.appendChild(o("CMUpgradeBarGray",D)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),I[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){On()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(T[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Wn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),An()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){_=1},l("backgroundLeftCanvas").onmouseout=function(){_=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{X[e]=0}))},Kn(),An(),Game.CalculateGains(),Nn(),z=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Zn={init:function(){xn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Jn(),Game.registerHook("draw",Oo),Game.registerHook("logic",Pn),Game.registerHook("click",Fo),xn=!1)},load:function(e){const t=JSON.parse(e);wn(),void 0!==t.favouriteSettings&&(de=t.favouriteSettings),Nn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:kn};Game.registerMod("CookieMonster",Zn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x=[],M=[],T=[],S={},P=Date.now(),B=Date.now();const E="CMText",N="CMBack",O="Blue",F="Green",W="Yellow",L="Orange",A="Red",j="Purple",D="Gray",H="Pink",U="Brown",$=[D,O,F,W,L,A,j,H,U],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],I={};let z,V,_=0,Q=-1,X=[],q=1,Y=1,K=1;const J=[10,15,30,60,300,600,900,1800],Z=[1,5,10,15,30],ee={Frenzy:W,"Dragon Harvest":U,"Elder frenzy":F,Clot:A,"Click frenzy":O,Dragonflight:H};let te,oe,ne,ie,ae,re,le,se={},ce="",de=[];function pe(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${pe(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function me(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=F):(n=ue(t),o=t>300?A:t>60?L:W),{text:n,color:o}}let he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Me,Te,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=0,pt=1,ut=1,mt=1,ht=0,gt=0,ft=0,Ct=0,yt={},bt={},kt={},Gt=0,vt=0,wt=[0,null],xt=0,Mt=0,Tt={},St={},Pt={},Bt={},Et={},Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,$t=0,Rt=[],It=0,zt=0,Vt={},_t={},Qt=0,Xt=0,qt=[],Yt={},Kt=0,Jt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Zt=[],eo=[],to=[];function oo(e){let t=0;return Game.dragonAuras[$e].name!==e&&Game.dragonAuras[Re].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[$e].name&&"Reality Bending"!==Game.dragonAuras[Re].name||(t+=.1),t}function no(){let e=.25;return e*=1+oo("Earth Shatterer"),e}function io(e,t){return void 0===Qe[e]?void 0===t?1:t:Qe[e]}function ao(e){const t=eo[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ro(e){if(Game.hasGod){void 0===Zt.Temple.minigame&&(Zt.Temple.minigame=Game.Objects.Temple.minigame);const t=Zt.Temple.minigame.gods[e];if(Ie===t.id)return 1;if(ze===t.id)return 2;if(Ve===t.id)return 3}return!1}function lo(e,t){let o=t;if(ao("Season savings")&&(o*=.99),ao("Santa's dominion")&&(o*=.99),ao("Faberge egg")&&(o*=.99),ao("Divine discount")&&(o*=.99),ao("Fortune #100")&&(o*=.99),o*=1-.02*oo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&ao(e.fortune.name)&&(o*=.93),o*=io("buildingCost"),Zt.Temple.minigameLoaded){const e=ro("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function so(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function co(){let t=Game.buyBulk;if(1===Game.buyMode?Y=t:t=Y,1===t?t=yt:10===t?t=bt:100===t&&(t=kt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(yt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=pe(so(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(yt).map((e=>{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;e$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.ppe.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?q=i:i=q,1===i&&(i=yt),10===i&&(i=bt),100===i&&(i=kt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=pe(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=E+i[o].color,n=e.PPDisplayTime?ue(Math.round(i[o].pp)):pe(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=me((Game.Objects[o].bulkPrice-(Game.cookies+mo()))/uo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=E+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&ao(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(ao(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&ao(e.fortune.name)&&(t*=1.07),e.grandma&&ao(e.grandma.name)&&(t*=1+.01*Zt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&ao(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function wo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;ao("Thousand fingers")&&(t+=.1),ao("Million fingers")&&(t*=5),ao("Billion fingers")&&(t*=10),ao("Trillion fingers")&&(t*=20),ao("Quadrillion fingers")&&(t*=20),ao("Quintillion fingers")&&(t*=20),ao("Sextillion fingers")&&(t*=20),ao("Septillion fingers")&&(t*=20),ao("Octillion fingers")&&(t*=20),ao("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Zt).forEach((e=>{"Cursor"!==Zt[e].name&&(n+=Zt[e].amount)})),t*=n,o*=vo(e),o*=Game.magicCpS("Cursor"),o*=io("cursorCps"),Game.ComputeCps(.1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{ao(Game.GrandmaSynergies[e])&&(o*=2)})),ao("Bingo center/Research facility")&&(o*=4),ao("Ritual rolling pins")&&(o*=2),ao("Naughty list")&&(o*=2),ao("Elderwort biscuits")&&(o*=1.02),o*=io("grandmaCps"),ao("Cat ladies"))for(let e=0;e{"Grandma"!==Zt[e].name&&(i+=Zt[e].amount)})),o*=1+.01*oo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=vo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function xo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Zt).forEach((t=>{Zt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(ao("Starlove")&&(e=3),Game.hasGod){const t=ro("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Mo(){Ae=Game.UpgradesOwned,je=Game.pledges,De=Game.AchievementsOwned,He=Game.heavenlyPower,Ue=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e],go(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ie=t.minigame.slot[0],ze=t.minigame.slot[1],Ve=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Zt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=eo[e];void 0===o&&(eo[e]=xo(e),o=eo[e]),o.bought=t.bought,eo[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=to[e];void 0===o&&(to[e]=Go(e),o=to[e]),o.won=t.won,to[e]=o})),ko(),$e=Ye,Re=Ke}function To(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function So(e){e.appendChild(To("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(To("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(To("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(To("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ne){e.appendChild(To("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Po(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Eo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function No(){if(Mo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ne?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(So(l("CMTooltipBorder")),1===Game.buyMode?K=t:t=K,1===Game.buyBulk?t=yt:10===Game.buyBulk?t=bt:100===Game.buyBulk&&(t=kt),te=Game.Objects[ie].bulkPrice,oe=t[ie].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=pe(oe,2);const o=Math.round(oe/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=E+t[ie].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ue(t[ie].pp):l("CMTooltipPP").textContent=pe(t[ie].pp,2),l("CMTooltipPP").className=E+t[ie].color;const n=me((te-(Game.cookies+mo()))/uo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ie[1]][ie[0]][0]-1].mature,o=t.plantsById[t.plot[ie[1]][ie[0]][0]-1].name;l("CMTooltipBorder").appendChild(To("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${pe(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${pe(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${pe(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${pe(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ne?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(To("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=ho(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==ee[Game.buffs[t].name]?ee[Game.buffs[t].name]:j,a.lastChild.children[1].className=N+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),le!==n&&(le=n,yo())}}(),fo(),No(),function(){if(1===e.TooltipWrink&&1===_){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===X[t]||void 0===X[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),Q=t,X[t]=1}}else X[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[Q],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[Q].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Zt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=pe(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,pe(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Fo(){he.addLatest(Game.computedMouseCps)}class Wo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Lo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Kt;Game.cpsSucked>0&&(o+=Gt),It=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ge,i=Math.max(0,Game.cookies-ve)/n,a=Math.max(0,Gt-we)/n,r=Math.max(0,wt[0]-xe)/n,l=Math.max(0,o-Ct)/n,s=(Game.cookieClicks-Me)/n;for(let e=0;e0&&(n=A),n}function jo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=D;else{t[n].color=Ao(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+mo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||qt.push([t[n].pp,o])}))}function Ho(){!function(){Xt=1/0,qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Do(yt,1),Do(bt,10),Do(kt,100),qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;qt[t][1]>Game.cookies&&(t+=1,qt.length!==t+1););Xt=qt[e.PPExcludeTop][t],jo(yt,1),jo(bt,10),jo(kt,100)}(),Object.keys(Tt).forEach((e=>{Game.cookiesPs?Tt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+mo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Tt[e].bonus:Tt[e].pp=Game.Upgrades[e].getPrice()/Tt[e].bonus,Number.isNaN(Tt[e].pp)&&(Tt[e].pp=1/0),Tt[e].color=Ao(Tt[e],Game.Upgrades[e].getPrice())}))}function Uo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Qe=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ue)*He*function(){let e=0;if(ao("Heavenly chip secret")&&(e+=.05),ao("Heavenly cookie stand")&&(e+=.2),ao("Heavenly bakery")&&(e+=.25),ao("Heavenly confectionery")&&(e+=.25),ao("Heavenly key")&&(e+=.25),e*=1+.05*oo("Dragon God"),ao("Lucky digit")&&(e*=1.01),ao("Lucky number")&&(e*=1.01),ao("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ro("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=io("cps"),ao("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];ao(o.name)&&("function"==typeof o.power?e*=1+.01*eo[o.name].power(eo[o.name]):e*=1+.01*o.power)})),ao("Specialized chocolate chips")&&(e*=1.01),ao("Designer cocoa beans")&&(e*=1.02),ao("Underworld ovens")&&(e*=1.03),ao("Exotic nuts")&&(e*=1.04),ao("Arcane sugar")&&(e*=1.05),ao("Increased merriness")&&(e*=1.15),ao("Improved jolliness")&&(e*=1.15),ao("A lump of coal")&&(e*=1.01),ao("An itchy sweater")&&(e*=1.01),ao("Santa's dominion")&&(e*=1.2),ao("Fortune #100")&&(e*=1.01),ao("Fortune #101")&&(e*=1.07),ao("Dragon scale")&&(e*=1.03);let o=1;if(ro){let t=ro("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ro("ages"),1===t?e*=1+.15*Math.sin(P/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(P/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(P/1e3/86400*Math.PI*2)),t=ro("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ro("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ro("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}ao("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=De/25;let i=1;if(ao("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*oo("Breath of Milk"),ro){const e=ro("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=io("milk");let a=1;ao("Kitten helpers")&&(a*=1+.1*n*i),ao("Kitten workers")&&(a*=1+.125*n*i),ao("Kitten engineers")&&(a*=1+.15*n*i),ao("Kitten overseers")&&(a*=1+.175*n*i),ao("Kitten managers")&&(a*=1+.2*n*i),ao("Kitten accountants")&&(a*=1+.2*n*i),ao("Kitten specialists")&&(a*=1+.2*n*i),ao("Kitten experts")&&(a*=1+.2*n*i),ao("Kitten consultants")&&(a*=1+.2*n*i),ao("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),ao("Kitten marketeers")&&(a*=1+.15*n*i),ao("Kitten analysts")&&(a*=1+.125*n*i),ao("Kitten executives")&&(a*=1+.115*n*i),ao("Kitten angels")&&(a*=1+.1*n*i),ao("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Zt).forEach((e=>{const t=Zt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&ao("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Xe+=t.amount*a})),ao('"egg"')&&(Xe+=9),e*=a;let r=1;if(ao("Chicken egg")&&(r*=1.01),ao("Duck egg")&&(r*=1.01),ao("Turkey egg")&&(r*=1.01),ao("Quail egg")&&(r*=1.01),ao("Robin egg")&&(r*=1.01),ao("Ostrich egg")&&(r*=1.01),ao("Cassowary egg")&&(r*=1.01),ao("Salmon roe")&&(r*=1.01),ao("Frogspawn")&&(r*=1.01),ao("Shark egg")&&(r*=1.01),ao("Turtle egg")&&(r*=1.01),ao("Ant larva")&&(r*=1.01),ao("Century egg")){let e=10*Math.floor((B-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),gt=1+.1*(1-(1-e/100)**3),r*=gt}e*=r,ao("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+oo("Radiant Appetite");const l=Xe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&$o(Game.CpsAchievements[e].name)})),qe=l;const{n:s}=Game.shimmerTypes.golden,c=oo("Dragon's Fortune");for(let t=0;t{ao(e[o])&&(t+=.1)}))}e*=t}if(ao("Shimmering veil [off]")){let t=.5;ao("Reinforced membrane")&&(t+=.1),e*=1+t}ao("Magic shenanigans")&&(e*=1e3),ao("Occult obstruction")&&(e*=0),Xe=Game.runModHookOnValue("cps",Xe),e*=Bo(),Xe*=e}const Io=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],zo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Vo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],_o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Qo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Xo(e){return to[e]?to[e].won:0}function qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{ao(Game.GrandmaSynergies[t])&&(e+=1)})),!Xo("Elder")&&e>=7&&$o("Elder"),!Xo("Veteran")&&e>=14&&$o("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount,i=Math.min(Zt[e].amount,i),Xo("Mathematician")||Zt[e].amount=1&&$o("One with everything"),1===o&&$o("Mathematician"),1===n&&$o("Base 10"),i>=100&&$o("Centennial"),i>=150&&$o("Centennial and a half"),i>=200&&$o("Bicentennial"),i>=250&&$o("Bicentennial and a half"),i>=300&&$o("Tricentennial"),i>=350&&$o("Tricentennial and a half"),i>=400&&$o("Quadricentennial"),i>=450&&$o("Quadricentennial and a half"),i>=500&&$o("Quincentennial"),i>=550&&$o("Quincentennial and a half"),i>=600&&$o("Sexcentennial"),t>=100&&$o("Builder"),t>=500&&$o("Architect"),t>=1e3&&$o("Engineer"),t>=2e3&&$o("Lord of Constructs"),t>=4e3&&$o("Grand design"),t>=8e3&&$o("Ecumenopolis"),Ae>=20&&$o("Enhancer"),Ae>=50&&$o("Augmenter"),Ae>=100&&$o("Upgrader"),Ae>=200&&$o("Lord of Progress"),Ae>=300&&$o("The full picture"),Ae>=400&&$o("When there's nothing left to add"),t>=4e3&&Ae>=300&&$o("Polymath"),t>=8e3&&Ae>=400&&$o("Renaissance baker"),Zt.Cursor.amount+Zt.Grandma.amount>=777&&$o("The elder scrolls");let a=!0;Object.keys(zo).forEach((e=>{ao(zo[e])||(a=!1)})),a&&$o("Spooky cookies");let r=!0;if(Object.keys(Vo).forEach((e=>{ao(Vo[e])||(r=!1)})),r&&$o("Let it snow"),ao("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{ao(e[o].name)&&(t+=1)})),t>=e.length&&$o("O Fortuna")}}function Yo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Mo(),Zt[e].amount+=t;const o=Zt[e];"Cursor"===e?(o.amount>=1&&$o("Click"),o.amount>=2&&$o("Double-click"),o.amount>=50&&$o("Mouse wheel"),o.amount>=100&&$o("Of Mice and Men"),o.amount>=200&&$o("The Digital"),o.amount>=300&&$o("Extreme polydactyly"),o.amount>=400&&$o("Dr. T"),o.amount>=500&&$o("Thumbs, phalanges, metacarpals"),o.amount>=600&&$o("With her finger and her thumb"),o.amount>=700&&$o("Gotta hand it to you"),o.amount>=800&&$o("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&$o(Game.Objects[o.name].tieredAchievs[e].name)}));const n=De;return Ro(),qo(),n!==De&&Ro(),Xe-Game.cookiesPs}(o,e),1!==e&&(Fe=1)})),t}function Ko(){Object.keys(Game.Objects).forEach((e=>{yt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),bt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),kt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Jo(){yt=Yo(1),bt=Yo(10),kt=Yo(100),Tt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Mo(),"Shimmering veil [on]"===eo[e].name?eo["Shimmering veil [off]"].bought=0:"Golden switch [on]"===eo[e].name?eo["Golden switch [off]"].bought=0:eo[e].bought=(eo[e].bought+1)%2,Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ae+=1),"Elder Pledge"===e?(je+=1,je>0&&$o("Elder nap"),je>=5&&$o("Elder slumber")):"Elder Covenant"===e?$o("Elder calm"):"Prism heart biscuits"===e?$o("Lovely cookies"):"Heavenly key"===e&&$o("Wholesome");const t=De;Ro(),qo(),t!==De&&Ro();const o=function(){let e=0;ao("Thousand fingers")&&(e+=.1),ao("Million fingers")&&(e*=5),ao("Billion fingers")&&(e*=10),ao("Trillion fingers")&&(e*=20),ao("Quadrillion fingers")&&(e*=20),ao("Quintillion fingers")&&(e*=20),ao("Sextillion fingers")&&(e*=20),ao("Septillion fingers")&&(e*=20),ao("Octillion fingers")&&(e*=20),ao("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount})),t-=Zt.Cursor.amount,e*=t,ao("Plastic mouse")&&(e+=.01*Xe),ao("Iron mouse")&&(e+=.01*Xe),ao("Titanium mouse")&&(e+=.01*Xe),ao("Adamantium mouse")&&(e+=.01*Xe),ao("Unobtainium mouse")&&(e+=.01*Xe),ao("Eludium mouse")&&(e+=.01*Xe),ao("Wishalloy mouse")&&(e+=.01*Xe),ao("Fantasteel mouse")&&(e+=.01*Xe),ao("Nevercrack mouse")&&(e+=.01*Xe),ao("Armythril mouse")&&(e+=.01*Xe),ao("Technobsidian mouse")&&(e+=.01*Xe),ao("Plasmarble mouse")&&(e+=.01*Xe),ao("Miraculite mouse")&&(e+=.01*Xe),ao("Fortune #104")&&(e+=.01*Xe);let o=1;if(ao("Santa's helpers")&&(o*=1.1),ao("Cookie egg")&&(o*=1.1),ao("Halo gloves")&&(o*=1.1),ao("Dragon claw")&&(o*=1.03),ao("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,ao("Luminous gloves")?20:10)),o*=io("click"),Zt.Temple.minigameLoaded&&ro){const e=ro("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*oo("Dragon Cursor");let n=o*Game.ComputeCps(1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Xe-Game.cookiesPs,o]:[Xe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Tt[t]={bonus:Game.cookiesPs-Te},1===e.CalcWrink?Tt[t].bonus-=Se:2===e.CalcWrink&&(Tt[t].bonus-=Pe),Number.isFinite(Tt[t].bonus)||(Tt[t].bonus=0)):(Tt[t]={},o[0]&&(Tt[t].bonus=o[0]),o[1]&&(Tt[t].bonusMouse=o[1]))}))}function Zo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ft=Zo(7,e,ut),Nt=2*Ft[1]/ut,Ot=Ft[2]/60/60/6/pt,At=Zo(6,e,mt),Wt=2*At[1]/mt,Lt=At[2]/60/60/6/pt,Ht=Zo(7,7*e,ut),jt=2*Ht[1]/ut,Dt=Ht[2]/60/60/6/pt,Rt=Zo(6,7*e,mt),Ut=2*Rt[1]/mt,$t=Rt[2]/60/60/6/pt}function tn(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ne,i=Math.max(0,o-Oe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Bt+=e:"cookie"===o.pool?Et+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Pt+=e)}}))}function nn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ft=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ft*=2)}}function an(){et=900*dt/.15,et*=pt;const e=Bo();e>0?et/=e:et=0,tt=ut*(.15*et)+13,ot=mt*(.15*et)+13,nt=7*et,it=ut*(.15*nt)+13,at=mt*(.15*nt)+13,rt=2*et,lt=.15*rt,st=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountst&&(st=2*Game.Objects[e].price,ct=e)}))}function rn(){let e=1,t=1,o=1;ao("Green yeast digestives")&&(o*=1.01),ao("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ut=o*e,mt=o*t,pt=1,0===Game.shimmerTypes.golden.n&&(pt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function ln(){Gt=0,vt=0,wt=[0,null];for(let e=0;ewt[0]&&(wt=[t,e]))}}function sn(){ko(),ln(),an(),rn(),en(),on(),nn(),ge=new Wo(J[J.length-1]),fe=new Wo(J[J.length-1]),Ce=new Wo(J[J.length-1]),ye=new Wo(J[J.length-1]),be=new Wo(Z[Z.length-1]),ke=new Wo(5),he=new Wo(20*Z[Z.length-1]),tn(),Lo(),Jo(),Ko(),Ho()}const cn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},dn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function pn(){1===e.BotBar?(l("CMBotBar").style.display="",fo()):l("CMBotBar").style.display="none",yo()}function un(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),fo(),co(),po()}function mn(){1===e.Favicon&&y>0?Vt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class hn{constructor(e,t){this.type=e,this.group=t}}class gn extends hn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class fn extends hn{constructor(e,t,o){super(e,t),this.desc=o}}class Cn extends hn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class yn extends hn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const bn={CPSMode:new gn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new gn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new gn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new gn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){_e=!0})),Scale:new gn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){un()})),ScaleDecimals:new gn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){un()})),ScaleSeparator:new gn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){un()})),ScaleCutoff:new yn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new gn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new gn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=V:Game.sayTime=S.sayTime})),PPDisplayTime:new gn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new gn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){co()})),PPOnlyConsiderBuyable:new gn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new gn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new gn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new yn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new fn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new fn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new fn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new fn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new fn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new fn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new fn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new fn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new fn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new gn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){pn()})),TimerBar:new gn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){bo()})),TimerBarPos:new gn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),yo()})),TimerBarOverlay:new gn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new gn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",po()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",po()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new gn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new gn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){co()})),SortUpgrades:new gn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){po()})),DragonAuraInfo:new gn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new gn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new gn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(se).forEach((e=>{se[e].style.display="block",se[e].style.left=Yt[e].l.style.left,se[e].style.top=Yt[e].l.style.top})):Object.keys(se).forEach((e=>se[e].style.display="none"))})),Favicon:new gn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){mn()})),WrinklerButtons:new gn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new gn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new gn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new gn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new gn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new gn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new gn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new gn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new gn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new yn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new gn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new gn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Eo()})),TooltipGrim:new gn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new gn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new gn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new gn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new gn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new gn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new gn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new gn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new gn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new gn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new yn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new gn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new gn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new gn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new gn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){dn(e.GCNotification)})),GCFlash:new gn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new fn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new gn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new Cn("vol","NotificationGC",[],"Volume"),GCSoundURL:new gn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new gn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){dn(e.FortuneNotification)})),FortuneFlash:new gn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new fn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new gn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new Cn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new gn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new gn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){dn(e.SeaNotification)})),SeaFlash:new gn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new fn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new gn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new Cn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new gn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new gn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new fn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new gn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new Cn("vol","NotificationGard",[],"Volume"),GardSoundURL:new gn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new gn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){dn(e.MagicNotification)})),MagicFlash:new gn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new fn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new gn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new Cn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new gn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new gn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){dn(e.WrinklerNotification)})),WrinklerFlash:new gn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new fn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new gn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new Cn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new gn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new gn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){dn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new gn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new fn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new gn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new Cn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new gn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new gn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new gn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function kn(){return JSON.stringify({favouriteSettings:de,settings:e,version:"2.031.6"})}function Gn(){if(Je!==Game.dragonLevel||_e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Upgrades).forEach((e=>{eo[e]=xo(e)})),to=[],Object.keys(Game.Achievements).forEach((e=>{to[e]=Go(e)})),Mo()}let xn=!1;function Mn(t,o,n){(1===e[o]||n)&&3===t&&!1===xn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Mn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Mn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Mn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Tn(t,o,n,i){if((1===e[o]||i)&&!1===xn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Sn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===xn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Pn(){if(re!==Game.OnAscend&&(re=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(pn(),bo()),Co()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(wn(),sn(),r=Object.keys(Game.mods).length),_e&&(Jo(),Game.Has("Golden switch [off]")?(Mo(),eo["Golden switch [off]"].bought=0,Ro(),dt=Xe):dt=Game.cookiesPs,rn(),an(),on(),en(),Gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Jt[e][t]=vn(e,t)}(),nn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Mo();let t=2;5!==$e&&18!==$e||(t-=1),5!==Re&&18!==Re||(t-=1),$e=5,Re=18;for(let e=0;e{Zt[t].amount>0&&(e=t)})),Zt[e].amount-=1,Le-=1}return Object.keys(Zt).forEach((t=>{const o=Zt[t];e+=so(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Kt=e}(),_e=0);const t=Game.auraMult("Fierce Hoarder")>0;!We&&t?(We=!0,Fe=1):We&&!t&&(We=!1,Fe=1),Fe&&(Ko(),Fe=0),function(){ln(),Ho(),function(){xt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Zt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Mt=e,xt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Lo(),tn();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Qt=ue(e/uo())}(),G=0,Yt={},Object.keys(Game.shimmers).forEach((e=>{Yt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Vt=Game.shimmers[e],G+=1)})),Object.keys(se).forEach((e=>{void 0===Yt[e]&&(se[e].parentNode.removeChild(se[e]),delete se[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===se[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},se[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),mn(),b=G,0===G&&(Vt=0)):1===e.GCTimer&&y&&Object.keys(se).forEach((e=>{se[e].style.opacity=Yt[e].l.style.opacity,se[e].style.transform=Yt[e].l.style.transform,se[e].textContent=Math.ceil(Yt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Mn(3,"FortuneFlash",!1),Tn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Sn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(_t=Game.shimmers[e])})),Mn(3,"SeaFlash",!1),Tn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Sn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Mn(3,"WrinklerMaxFlash",!1):Mn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Tn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Tn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Sn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Sn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Bn(){let t="";for(let o=0;o<$.length;o++)t+=`.CMText${$[o]} { color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBack${$[o]} { background-color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBorder${$[o]} { border: 1px solid ${e[`Colour${$[o]}`]}; }\n`;l("CMCSS").textContent=t,co()}function En(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${kn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Nn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t,void 0!==e.Colors&&delete e.Colors,void 0!==e.Colours&&delete e.Colours;let o=!1;Object.keys(cn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=cn[t]):"Header"===t&&Object.keys(cn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=cn[t][n])}))})),o&&En(),Pn(),Object.keys(cn).forEach((e=>{"Header"!==e&&void 0!==bn[e].func&&bn[e].func()}))}else Nn(cn);Game.UpdateMenu(),Bn()}function On(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Fn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Uo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${pe(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${me((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(pe(Game.Objects[o].bulkPrice)).join(pe((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ne=t,ie=o,No(),l("tooltip").innerHTML}function Wn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(M[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Ln(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),En()}function Rn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){$n(o),Game.UpdateMenu()},n.appendChild(i),n}function In(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(I[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function zn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Vn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Rn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+mo(){Game.HasUnlocked(Qo[e])||c.push(Qo[e])})),0!==c.length&&e.appendChild(In("basic","Rare plant drops left to unlock",zn(c))),e}())),o.appendChild(Rn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?Ct:0)));t.appendChild(In("withTooltip","Prestige level (cur / max)",document.createTextNode(`${pe(Game.prestige)} / ${pe(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&Ct?Ct:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(pe(n)));const a=document.createElement("small");a.textContent=` (${ue(n/zt,1)})`,i.appendChild(a),t.appendChild(In("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(In("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${pe(Game.heavenlyChips)} / ${pe(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(In("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(pe(ht,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(In("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(pe(e)))),t.appendChild(In("basic","Time till target (cur, current 5 second average)",document.createTextNode(ue(e/ht)))))}const l=function(e){let t=Game.cookiesPs;Mo(),0===eo["Heavenly key"].bought&&(eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ro(),t=Xe,Mo()),It>=1e6&&$o("Sacrifice"),It>=1e9&&$o("Oblivion"),It>=1e12&&$o("From scratch"),It>=1e15&&$o("Nihilism"),It>=1e18&&$o("Dematerialize"),It>=1e21&&$o("Nil zero zilch"),It>=1e24&&$o("Transcendence"),It>=1e27&&$o("Obliterate"),It>=1e30&&$o("Negative void"),It>=1e33&&$o("To crumbs, you say?"),It>=1e36&&$o("You get nothing"),It>=1e39&&$o("Humble rebeginnings"),It>=1e42&&$o("The end of the world"),It>=1e45&&$o("Oh, you're back"),It>=1e48&&$o("Lazarus"),It>=1e51&&$o("Smurf account"),It>=1e54&&$o("If at first you don't succeed"),eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ue=e;const o=De;Ro(),qo(),o!==De&&Ro();const n=Xe-t;return Ue=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(pe(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(In("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Rn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${pe(Gt)} / ${pe(vt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){On()},e.appendChild(t),o.appendChild(In("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${pe(wt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},n.appendChild(i),o.appendChild(In("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==wt[1]?wt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(n.push(zo[e]),o=!0)}));const i=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(i.push(Vo[e]),o=!0)}));const a=[];Object.keys(_o).forEach((e=>{Game.Has(_o[e])||(a.push(_o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Rn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(In("basic","Halloween cookies left to buy",zn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(In("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${pe((1-e)*o*100)}% / ${pe((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(In("basic","Christmas cookies left to buy",zn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(In("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${pe((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(In("basic","Valentine cookies left to buy",zn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(In("basic","Normal easter eggs left to unlock",zn(r))),t.appendChild(In("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[0])}% / ${pe(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(In("basic","Rare easter eggs left to unlock",zn(l))),t.appendChild(In("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[1])}% / ${pe(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(In("basic","Reindeer reward",document.createTextNode(pe(ft)))),s&&t.appendChild(In("withTooltip","Chocolate egg cookies",document.createTextNode(pe(Ct)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(In("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(gt-1))/100+"%")))}return t}()),o.appendChild(Rn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(In("basic",`Average cookies per second (past ${J[e.AvgCPSHist]<60?`${J[e.AvgCPSHist]} seconds`:J[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(pe(uo(),3)))),o.appendChild(In("basic",`Average cookie clicks per second (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(St,1)))),o.appendChild(In("basic",`Cookies from clicking (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(he.calcSum(St*Z[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Io).forEach((t=>{Game.Has(Io[t])||e.push(Io[t])})),0!==e.length&&o.appendChild(In("basic","Fortune Upgrades Left to Buy",zn(e)))}if(e.ShowMissedGC&&o.appendChild(In("basic","Missed golden cookies",document.createTextNode(pe(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(In("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Et){const t=Et.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Et,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const _n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Qn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Xn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){$n(t),Game.UpdateMenu()},n.appendChild(i),n}function qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return de.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){de.includes(e)?de=de.filter((function(t){return t!==e})):de.push(e)}(e),En(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(I.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===bn[t].type){const n=document.createElement("a");bn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Hn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===bn[t].label.length?(e[t]=0,bn[t].toggle&&(l(Hn+t).className="option off")):l(Hn+t).className="option",void 0!==bn[t].func&&bn[t].func(),l(Hn+t).innerHTML=bn[t].label[e[t]],En()}(t)},n.textContent=bn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=bn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===bn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=bn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Un(t)},r.onchange=function(){Un(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Tn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Hn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,En(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=bn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===bn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new jn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Bn(),En(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=bn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Mn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Dn().init(),o}if("numscale"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="number",i.value=e[t],i.min=bn[t].min,i.max=bn[t].max,i.oninput=function(){e[t]=this.value,En(),un()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=bn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Yn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Kn(){S.Beautify=Beautify,Beautify=pe,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),_e=1,P=Date.now(),B=Date.now()},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Yn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Yn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Yn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),T=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Zt[Game.ObjectsById[e].name].name;Zt[o].amount-=1,Le-=1,t=Zt[o].basePrice*Game.priceIncrease**Math.max(0,Zt[o].amount-1-Zt[o].free),t=Game.modifyBuildingPrice(Zt[o],t),t=Math.ceil(t);break}const o=De;return Ro(),qo(),o!==De&&Ro(),[Xe-Game.cookiesPs,t]}(t),n=ue(o/(e+Game.cookiesPs)),i=pe(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${pe(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Dn().picker&&void 0!==Dn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(_n).forEach((t=>{if("Favourite"===t){if(0!==de.length&&e.FavouriteSettings>0&&(o.appendChild(Xn(t,_n[t])),e.Header[t]))for(let e=0;e{const n=Xn(t,Qn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))}))})):Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Nn(cn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Vn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){$n("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,V=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ue(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ce=`${Game.OnAscend?"Ascending! ":""}${pe(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ce;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Vt?Vt.wrath?`[W${Math.ceil(Vt.life/Game.fps)}]`:`[G${Math.ceil(Vt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(_t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ce;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Vt&&(t=!0,Vt.wrath?e+=`[W${Math.ceil(Vt.life/Game.fps)}]`:e+=`[G${Math.ceil(Vt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(_t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${pe(Game.prestige)}.
(CpS +${pe(Game.prestige)}%)`,n+='
'),n+=Oe<1?"Ascending now would grant you no prestige.":Oe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${pe(Oe)} prestige levels (+${pe(Oe)}% CpS)
and ${pe(Oe)} heavenly chips to spend.`,n+='
',n+=`You need ${pe(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Qt} to reach the next level and you were making ${pe(ht,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Jn(){wn(),an(),sn(),r=Object.keys(Game.mods).length,w=document.createElement("style"),w.type="text/css",w.id="CMCSS",document.head.appendChild(w),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=E+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",W)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",O)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",O)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",O)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{go(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=ho("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:D},{id:"CMTimerBarGCBar",color:j}]);e.appendChild(t);const o=ho("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:D},{id:"CMTimerBarRenBar",color:L}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=N+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(O,"Better than the best PP of a building option")),e.appendChild(o(F,"Same as the best PP building option")),e.appendChild(o(W,"Within the top 10 of PP for buildings")),e.appendChild(o(L,"Within the top 20 of PP for buildings")),e.appendChild(o(A,"Within the top 30 of PP for buildings")),e.appendChild(o(j,"Outside of the top 30 of PP for buildings")),e.appendChild(o(D,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=E+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",O)),e.appendChild(o("CMUpgradeBarGreen",F)),e.appendChild(o("CMUpgradeBarYellow",W)),e.appendChild(o("CMUpgradeBarOrange",L)),e.appendChild(o("CMUpgradeBarRed",A)),e.appendChild(o("CMUpgradeBarPurple",j)),e.appendChild(o("CMUpgradeBarGray",D)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),I[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){On()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Wn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),An()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){_=1},l("backgroundLeftCanvas").onmouseout=function(){_=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{X[e]=0}))},Kn(),An(),Game.CalculateGains(),Nn(),z=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Zn={init:function(){xn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Jn(),Game.registerHook("draw",Oo),Game.registerHook("logic",Pn),Game.registerHook("click",Fo),xn=!1)},load:function(e){const t=JSON.parse(e);wn(),void 0!==t.favouriteSettings&&(de=t.favouriteSettings),Nn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:kn};Game.registerMod("CookieMonster",Zn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index eda6870a..5feb9611 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x,M,T=[],S=[],P=[],B={};const E="CMText",N="CMBack",O="Blue",F="Green",W="Yellow",L="Orange",A="Red",j="Purple",D="Gray",H="Pink",U="Brown",$=[D,O,F,W,L,A,j,H,U],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],I={};let z,V,_=0,Q=-1,X=[],q=1,Y=1,K=1;const J=[10,15,30,60,300,600,900,1800],Z=[1,5,10,15,30],ee={Frenzy:W,"Dragon Harvest":U,"Elder frenzy":F,Clot:A,"Click frenzy":O,Dragonflight:H};let te,oe,ne,ie,ae,re,le,se={},ce="",de=[];function pe(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return B.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${pe(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function me(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=F):(n=ue(t),o=t>300?A:t>60?L:W),{text:n,color:o}}let he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Me,Te,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=0,pt=1,ut=1,mt=1,ht=0,gt=0,ft=0,Ct=0,yt={},bt={},kt={},Gt=0,vt=0,wt=[0,null],xt=0,Mt=0,Tt={},St={},Pt={},Bt={},Et={},Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,$t=0,Rt=[],It=0,zt=0,Vt={},_t={},Qt=0,Xt=0,qt=[],Yt={},Kt=0,Jt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Zt=[],eo=[],to=[];function oo(e){let t=0;return Game.dragonAuras[$e].name!==e&&Game.dragonAuras[Re].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[$e].name&&"Reality Bending"!==Game.dragonAuras[Re].name||(t+=.1),t}function no(){let e=.25;return e*=1+oo("Earth Shatterer"),e}function io(e,t){return void 0===Qe[e]?void 0===t?1:t:Qe[e]}function ao(e){const t=eo[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ro(e){if(Game.hasGod){void 0===Zt.Temple.minigame&&(Zt.Temple.minigame=Game.Objects.Temple.minigame);const t=Zt.Temple.minigame.gods[e];if(Ie===t.id)return 1;if(ze===t.id)return 2;if(Ve===t.id)return 3}return!1}function lo(e,t){let o=t;if(ao("Season savings")&&(o*=.99),ao("Santa's dominion")&&(o*=.99),ao("Faberge egg")&&(o*=.99),ao("Divine discount")&&(o*=.99),ao("Fortune #100")&&(o*=.99),o*=1-.02*oo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&ao(e.fortune.name)&&(o*=.93),o*=io("buildingCost"),Zt.Temple.minigameLoaded){const e=ro("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function so(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function co(){let t=Game.buyBulk;if(1===Game.buyMode?Y=t:t=Y,1===t?t=yt:10===t?t=bt:100===t&&(t=kt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(yt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=pe(so(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(yt).map((e=>{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;e$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.ppe.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?q=i:i=q,1===i&&(i=yt),10===i&&(i=bt),100===i&&(i=kt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=pe(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=E+i[o].color,n=e.PPDisplayTime?ue(Math.round(i[o].pp)):pe(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=me((Game.Objects[o].bulkPrice-(Game.cookies+mo()))/uo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=E+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&ao(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(ao(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&ao(e.fortune.name)&&(t*=1.07),e.grandma&&ao(e.grandma.name)&&(t*=1+.01*Zt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&ao(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function wo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;ao("Thousand fingers")&&(t+=.1),ao("Million fingers")&&(t*=5),ao("Billion fingers")&&(t*=10),ao("Trillion fingers")&&(t*=20),ao("Quadrillion fingers")&&(t*=20),ao("Quintillion fingers")&&(t*=20),ao("Sextillion fingers")&&(t*=20),ao("Septillion fingers")&&(t*=20),ao("Octillion fingers")&&(t*=20),ao("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Zt).forEach((e=>{"Cursor"!==Zt[e].name&&(n+=Zt[e].amount)})),t*=n,o*=vo(e),o*=Game.magicCpS("Cursor"),o*=io("cursorCps"),Game.ComputeCps(.1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{ao(Game.GrandmaSynergies[e])&&(o*=2)})),ao("Bingo center/Research facility")&&(o*=4),ao("Ritual rolling pins")&&(o*=2),ao("Naughty list")&&(o*=2),ao("Elderwort biscuits")&&(o*=1.02),o*=io("grandmaCps"),ao("Cat ladies"))for(let e=0;e{"Grandma"!==Zt[e].name&&(i+=Zt[e].amount)})),o*=1+.01*oo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=vo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function xo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Zt).forEach((t=>{Zt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(ao("Starlove")&&(e=3),Game.hasGod){const t=ro("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Mo(){Ae=Game.UpgradesOwned,je=Game.pledges,De=Game.AchievementsOwned,He=Game.heavenlyPower,Ue=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e],go(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ie=t.minigame.slot[0],ze=t.minigame.slot[1],Ve=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Zt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=eo[e];void 0===o&&(eo[e]=xo(e),o=eo[e]),o.bought=t.bought,eo[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=to[e];void 0===o&&(to[e]=Go(e),o=to[e]),o.won=t.won,to[e]=o})),ko(),$e=Ye,Re=Ke}function To(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function So(e){e.appendChild(To("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(To("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(To("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(To("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ne){e.appendChild(To("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Po(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Eo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function No(){if(Mo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ne?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(So(l("CMTooltipBorder")),1===Game.buyMode?K=t:t=K,1===Game.buyBulk?t=yt:10===Game.buyBulk?t=bt:100===Game.buyBulk&&(t=kt),te=Game.Objects[ie].bulkPrice,oe=t[ie].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=pe(oe,2);const o=Math.round(oe/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=E+t[ie].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ue(t[ie].pp):l("CMTooltipPP").textContent=pe(t[ie].pp,2),l("CMTooltipPP").className=E+t[ie].color;const n=me((te-(Game.cookies+mo()))/uo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ie[1]][ie[0]][0]-1].mature,o=t.plantsById[t.plot[ie[1]][ie[0]][0]-1].name;l("CMTooltipBorder").appendChild(To("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${pe(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${pe(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${pe(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${pe(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ne?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(To("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=ho(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==ee[Game.buffs[t].name]?ee[Game.buffs[t].name]:j,a.lastChild.children[1].className=N+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),le!==n&&(le=n,yo())}}(),fo(),No(),function(){if(1===e.TooltipWrink&&1===_){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===X[t]||void 0===X[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),Q=t,X[t]=1}}else X[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[Q],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[Q].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Zt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=pe(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,pe(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Fo(){he.addLatest(Game.computedMouseCps)}class Wo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Lo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Kt;Game.cpsSucked>0&&(o+=Gt),It=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ge,i=Math.max(0,Game.cookies-ve)/n,a=Math.max(0,Gt-we)/n,r=Math.max(0,wt[0]-xe)/n,l=Math.max(0,o-Ct)/n,s=(Game.cookieClicks-Me)/n;for(let e=0;e0&&(n=A),n}function jo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=D;else{t[n].color=Ao(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+mo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||qt.push([t[n].pp,o])}))}function Ho(){!function(){Xt=1/0,qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Do(yt,1),Do(bt,10),Do(kt,100),qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;qt[t][1]>Game.cookies&&(t+=1,qt.length!==t+1););Xt=qt[e.PPExcludeTop][t],jo(yt,1),jo(bt,10),jo(kt,100)}(),Object.keys(Tt).forEach((e=>{Game.cookiesPs?Tt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+mo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Tt[e].bonus:Tt[e].pp=Game.Upgrades[e].getPrice()/Tt[e].bonus,Number.isNaN(Tt[e].pp)&&(Tt[e].pp=1/0),Tt[e].color=Ao(Tt[e],Game.Upgrades[e].getPrice())}))}function Uo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Qe=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ue)*He*function(){let e=0;if(ao("Heavenly chip secret")&&(e+=.05),ao("Heavenly cookie stand")&&(e+=.2),ao("Heavenly bakery")&&(e+=.25),ao("Heavenly confectionery")&&(e+=.25),ao("Heavenly key")&&(e+=.25),e*=1+.05*oo("Dragon God"),ao("Lucky digit")&&(e*=1.01),ao("Lucky number")&&(e*=1.01),ao("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ro("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=io("cps"),ao("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];ao(o.name)&&("function"==typeof o.power?e*=1+.01*eo[o.name].power(eo[o.name]):e*=1+.01*o.power)})),ao("Specialized chocolate chips")&&(e*=1.01),ao("Designer cocoa beans")&&(e*=1.02),ao("Underworld ovens")&&(e*=1.03),ao("Exotic nuts")&&(e*=1.04),ao("Arcane sugar")&&(e*=1.05),ao("Increased merriness")&&(e*=1.15),ao("Improved jolliness")&&(e*=1.15),ao("A lump of coal")&&(e*=1.01),ao("An itchy sweater")&&(e*=1.01),ao("Santa's dominion")&&(e*=1.2),ao("Fortune #100")&&(e*=1.01),ao("Fortune #101")&&(e*=1.07),ao("Dragon scale")&&(e*=1.03);let o=1;if(ro){let t=ro("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ro("ages"),1===t?e*=1+.15*Math.sin(w/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(w/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(w/1e3/86400*Math.PI*2)),t=ro("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ro("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ro("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}ao("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=De/25;let i=1;if(ao("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*oo("Breath of Milk"),ro){const e=ro("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=io("milk");let a=1;ao("Kitten helpers")&&(a*=1+.1*n*i),ao("Kitten workers")&&(a*=1+.125*n*i),ao("Kitten engineers")&&(a*=1+.15*n*i),ao("Kitten overseers")&&(a*=1+.175*n*i),ao("Kitten managers")&&(a*=1+.2*n*i),ao("Kitten accountants")&&(a*=1+.2*n*i),ao("Kitten specialists")&&(a*=1+.2*n*i),ao("Kitten experts")&&(a*=1+.2*n*i),ao("Kitten consultants")&&(a*=1+.2*n*i),ao("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),ao("Kitten marketeers")&&(a*=1+.15*n*i),ao("Kitten analysts")&&(a*=1+.125*n*i),ao("Kitten executives")&&(a*=1+.115*n*i),ao("Kitten angels")&&(a*=1+.1*n*i),ao("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Zt).forEach((e=>{const t=Zt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&ao("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Xe+=t.amount*a})),ao('"egg"')&&(Xe+=9),e*=a;let r=1;if(ao("Chicken egg")&&(r*=1.01),ao("Duck egg")&&(r*=1.01),ao("Turkey egg")&&(r*=1.01),ao("Quail egg")&&(r*=1.01),ao("Robin egg")&&(r*=1.01),ao("Ostrich egg")&&(r*=1.01),ao("Cassowary egg")&&(r*=1.01),ao("Salmon roe")&&(r*=1.01),ao("Frogspawn")&&(r*=1.01),ao("Shark egg")&&(r*=1.01),ao("Turtle egg")&&(r*=1.01),ao("Ant larva")&&(r*=1.01),ao("Century egg")){let e=10*Math.floor((x-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),gt=1+.1*(1-(1-e/100)**3),r*=gt}e*=r,ao("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+oo("Radiant Appetite");const l=Xe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&$o(Game.CpsAchievements[e].name)})),qe=l;const{n:s}=Game.shimmerTypes.golden,c=oo("Dragon's Fortune");for(let t=0;t{ao(e[o])&&(t+=.1)}))}e*=t}if(ao("Shimmering veil [off]")){let t=.5;ao("Reinforced membrane")&&(t+=.1),e*=1+t}ao("Magic shenanigans")&&(e*=1e3),ao("Occult obstruction")&&(e*=0),Xe=Game.runModHookOnValue("cps",Xe),e*=Bo(),Xe*=e}const Io=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],zo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Vo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],_o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Qo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Xo(e){return to[e]?to[e].won:0}function qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{ao(Game.GrandmaSynergies[t])&&(e+=1)})),!Xo("Elder")&&e>=7&&$o("Elder"),!Xo("Veteran")&&e>=14&&$o("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount,i=Math.min(Zt[e].amount,i),Xo("Mathematician")||Zt[e].amount=1&&$o("One with everything"),1===o&&$o("Mathematician"),1===n&&$o("Base 10"),i>=100&&$o("Centennial"),i>=150&&$o("Centennial and a half"),i>=200&&$o("Bicentennial"),i>=250&&$o("Bicentennial and a half"),i>=300&&$o("Tricentennial"),i>=350&&$o("Tricentennial and a half"),i>=400&&$o("Quadricentennial"),i>=450&&$o("Quadricentennial and a half"),i>=500&&$o("Quincentennial"),i>=550&&$o("Quincentennial and a half"),i>=600&&$o("Sexcentennial"),t>=100&&$o("Builder"),t>=500&&$o("Architect"),t>=1e3&&$o("Engineer"),t>=2e3&&$o("Lord of Constructs"),t>=4e3&&$o("Grand design"),t>=8e3&&$o("Ecumenopolis"),Ae>=20&&$o("Enhancer"),Ae>=50&&$o("Augmenter"),Ae>=100&&$o("Upgrader"),Ae>=200&&$o("Lord of Progress"),Ae>=300&&$o("The full picture"),Ae>=400&&$o("When there's nothing left to add"),t>=4e3&&Ae>=300&&$o("Polymath"),t>=8e3&&Ae>=400&&$o("Renaissance baker"),Zt.Cursor.amount+Zt.Grandma.amount>=777&&$o("The elder scrolls");let a=!0;Object.keys(zo).forEach((e=>{ao(zo[e])||(a=!1)})),a&&$o("Spooky cookies");let r=!0;if(Object.keys(Vo).forEach((e=>{ao(Vo[e])||(r=!1)})),r&&$o("Let it snow"),ao("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{ao(e[o].name)&&(t+=1)})),t>=e.length&&$o("O Fortuna")}}function Yo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Mo(),Zt[e].amount+=t;const o=Zt[e];"Cursor"===e?(o.amount>=1&&$o("Click"),o.amount>=2&&$o("Double-click"),o.amount>=50&&$o("Mouse wheel"),o.amount>=100&&$o("Of Mice and Men"),o.amount>=200&&$o("The Digital"),o.amount>=300&&$o("Extreme polydactyly"),o.amount>=400&&$o("Dr. T"),o.amount>=500&&$o("Thumbs, phalanges, metacarpals"),o.amount>=600&&$o("With her finger and her thumb"),o.amount>=700&&$o("Gotta hand it to you"),o.amount>=800&&$o("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&$o(Game.Objects[o.name].tieredAchievs[e].name)}));const n=De;return Ro(),qo(),n!==De&&Ro(),Xe-Game.cookiesPs}(o,e),1!==e&&(Fe=1)})),t}function Ko(){Object.keys(Game.Objects).forEach((e=>{yt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),bt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),kt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Jo(){yt=Yo(1),bt=Yo(10),kt=Yo(100),Tt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Mo(),"Shimmering veil [on]"===eo[e].name?eo["Shimmering veil [off]"].bought=0:"Golden switch [on]"===eo[e].name?eo["Golden switch [off]"].bought=0:eo[e].bought=(eo[e].bought+1)%2,Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ae+=1),"Elder Pledge"===e?(je+=1,je>0&&$o("Elder nap"),je>=5&&$o("Elder slumber")):"Elder Covenant"===e?$o("Elder calm"):"Prism heart biscuits"===e?$o("Lovely cookies"):"Heavenly key"===e&&$o("Wholesome");const t=De;Ro(),qo(),t!==De&&Ro();const o=function(){let e=0;ao("Thousand fingers")&&(e+=.1),ao("Million fingers")&&(e*=5),ao("Billion fingers")&&(e*=10),ao("Trillion fingers")&&(e*=20),ao("Quadrillion fingers")&&(e*=20),ao("Quintillion fingers")&&(e*=20),ao("Sextillion fingers")&&(e*=20),ao("Septillion fingers")&&(e*=20),ao("Octillion fingers")&&(e*=20),ao("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount})),t-=Zt.Cursor.amount,e*=t,ao("Plastic mouse")&&(e+=.01*Xe),ao("Iron mouse")&&(e+=.01*Xe),ao("Titanium mouse")&&(e+=.01*Xe),ao("Adamantium mouse")&&(e+=.01*Xe),ao("Unobtainium mouse")&&(e+=.01*Xe),ao("Eludium mouse")&&(e+=.01*Xe),ao("Wishalloy mouse")&&(e+=.01*Xe),ao("Fantasteel mouse")&&(e+=.01*Xe),ao("Nevercrack mouse")&&(e+=.01*Xe),ao("Armythril mouse")&&(e+=.01*Xe),ao("Technobsidian mouse")&&(e+=.01*Xe),ao("Plasmarble mouse")&&(e+=.01*Xe),ao("Miraculite mouse")&&(e+=.01*Xe),ao("Fortune #104")&&(e+=.01*Xe);let o=1;if(ao("Santa's helpers")&&(o*=1.1),ao("Cookie egg")&&(o*=1.1),ao("Halo gloves")&&(o*=1.1),ao("Dragon claw")&&(o*=1.03),ao("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,ao("Luminous gloves")?20:10)),o*=io("click"),Zt.Temple.minigameLoaded&&ro){const e=ro("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*oo("Dragon Cursor");let n=o*Game.ComputeCps(1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Xe-Game.cookiesPs,o]:[Xe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Tt[t]={bonus:Game.cookiesPs-Te},1===e.CalcWrink?Tt[t].bonus-=Se:2===e.CalcWrink&&(Tt[t].bonus-=Pe),Number.isFinite(Tt[t].bonus)||(Tt[t].bonus=0)):(Tt[t]={},o[0]&&(Tt[t].bonus=o[0]),o[1]&&(Tt[t].bonusMouse=o[1]))}))}function Zo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ft=Zo(7,e,ut),Nt=2*Ft[1]/ut,Ot=Ft[2]/60/60/6/pt,At=Zo(6,e,mt),Wt=2*At[1]/mt,Lt=At[2]/60/60/6/pt,Ht=Zo(7,7*e,ut),jt=2*Ht[1]/ut,Dt=Ht[2]/60/60/6/pt,Rt=Zo(6,7*e,mt),Ut=2*Rt[1]/mt,$t=Rt[2]/60/60/6/pt}function tn(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ne,i=Math.max(0,o-Oe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Bt+=e:"cookie"===o.pool?Et+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Pt+=e)}}))}function nn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ft=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ft*=2)}}function an(){et=900*dt/.15,et*=pt;const e=Bo();e>0?et/=e:et=0,tt=ut*(.15*et)+13,ot=mt*(.15*et)+13,nt=7*et,it=ut*(.15*nt)+13,at=mt*(.15*nt)+13,rt=2*et,lt=.15*rt,st=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountst&&(st=2*Game.Objects[e].price,ct=e)}))}function rn(){let e=1,t=1,o=1;ao("Green yeast digestives")&&(o*=1.01),ao("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ut=o*e,mt=o*t,pt=1,0===Game.shimmerTypes.golden.n&&(pt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function ln(){Gt=0,vt=0,wt=[0,null];for(let e=0;ewt[0]&&(wt=[t,e]))}}function sn(){ko(),ln(),an(),rn(),en(),on(),nn(),ge=new Wo(J[J.length-1]),fe=new Wo(J[J.length-1]),Ce=new Wo(J[J.length-1]),ye=new Wo(J[J.length-1]),be=new Wo(Z[Z.length-1]),ke=new Wo(5),he=new Wo(20*Z[Z.length-1]),tn(),Lo(),Jo(),Ko(),Ho()}const cn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},dn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function pn(){1===e.BotBar?(l("CMBotBar").style.display="",fo()):l("CMBotBar").style.display="none",yo()}function un(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),fo(),co(),po()}function mn(){1===e.Favicon&&y>0?Vt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class hn{constructor(e,t){this.type=e,this.group=t}}class gn extends hn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class fn extends hn{constructor(e,t,o){super(e,t),this.desc=o}}class Cn extends hn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class yn extends hn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const bn={CPSMode:new gn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new gn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new gn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new gn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){_e=!0})),Scale:new gn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){un()})),ScaleDecimals:new gn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){un()})),ScaleSeparator:new gn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){un()})),ScaleCutoff:new yn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new gn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new gn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=V:Game.sayTime=B.sayTime})),PPDisplayTime:new gn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new gn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){co()})),PPOnlyConsiderBuyable:new gn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new gn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new gn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new yn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new fn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new fn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new fn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new fn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new fn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new fn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new fn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new fn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new fn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new gn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){pn()})),TimerBar:new gn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){bo()})),TimerBarPos:new gn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),yo()})),TimerBarOverlay:new gn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new gn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",po()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",po()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new gn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new gn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){co()})),SortUpgrades:new gn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){po()})),DragonAuraInfo:new gn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new gn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new gn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(se).forEach((e=>{se[e].style.display="block",se[e].style.left=Yt[e].l.style.left,se[e].style.top=Yt[e].l.style.top})):Object.keys(se).forEach((e=>se[e].style.display="none"))})),Favicon:new gn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){mn()})),WrinklerButtons:new gn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new gn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new gn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new gn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new gn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new gn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new gn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new gn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new gn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new yn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new gn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new gn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Eo()})),TooltipGrim:new gn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new gn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new gn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new gn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new gn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new gn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new gn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new gn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new gn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new gn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new yn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new gn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new gn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new gn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new gn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){dn(e.GCNotification)})),GCFlash:new gn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new fn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new gn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new Cn("vol","NotificationGC",[],"Volume"),GCSoundURL:new gn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new gn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){dn(e.FortuneNotification)})),FortuneFlash:new gn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new fn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new gn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new Cn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new gn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new gn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){dn(e.SeaNotification)})),SeaFlash:new gn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new fn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new gn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new Cn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new gn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new gn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new fn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new gn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new Cn("vol","NotificationGard",[],"Volume"),GardSoundURL:new gn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new gn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){dn(e.MagicNotification)})),MagicFlash:new gn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new fn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new gn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new Cn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new gn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new gn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){dn(e.WrinklerNotification)})),WrinklerFlash:new gn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new fn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new gn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new Cn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new gn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new gn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){dn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new gn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new fn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new gn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new Cn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new gn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new gn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new gn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function kn(){return JSON.stringify({favouriteSettings:de,settings:e,version:"2.031.6"})}function Gn(){if(Je!==Game.dragonLevel||_e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Upgrades).forEach((e=>{eo[e]=xo(e)})),to=[],Object.keys(Game.Achievements).forEach((e=>{to[e]=Go(e)})),Mo()}let xn=!1;function Mn(t,o,n){(1===e[o]||n)&&3===t&&!1===xn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Mn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Mn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Mn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Tn(t,o,n,i){if((1===e[o]||i)&&!1===xn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Sn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===xn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Pn(){if(re!==Game.OnAscend&&(re=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(pn(),bo()),Co()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(wn(),sn(),r=Object.keys(Game.mods).length),_e&&(Jo(),Game.Has("Golden switch [off]")?(Mo(),eo["Golden switch [off]"].bought=0,Ro(),dt=Xe):dt=Game.cookiesPs,rn(),an(),on(),en(),Gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Jt[e][t]=vn(e,t)}(),nn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Mo();let t=2;5!==$e&&18!==$e||(t-=1),5!==Re&&18!==Re||(t-=1),$e=5,Re=18;for(let e=0;e{Zt[t].amount>0&&(e=t)})),Zt[e].amount-=1,Le-=1}return Object.keys(Zt).forEach((t=>{const o=Zt[t];e+=so(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Kt=e}(),_e=0);const t=Game.auraMult("Fierce Hoarder")>0;!We&&t?(We=!0,Fe=1):We&&!t&&(We=!1,Fe=1),Fe&&(Ko(),Fe=0),function(){ln(),Ho(),function(){xt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Zt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Mt=e,xt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Lo(),tn();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Qt=ue(e/uo())}(),G=0,Yt={},Object.keys(Game.shimmers).forEach((e=>{Yt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Vt=Game.shimmers[e],G+=1)})),Object.keys(se).forEach((e=>{void 0===Yt[e]&&(se[e].parentNode.removeChild(se[e]),delete se[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===se[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},se[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),mn(),b=G,0===G&&(Vt=0)):1===e.GCTimer&&y&&Object.keys(se).forEach((e=>{se[e].style.opacity=Yt[e].l.style.opacity,se[e].style.transform=Yt[e].l.style.transform,se[e].textContent=Math.ceil(Yt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Mn(3,"FortuneFlash",!1),Tn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Sn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(_t=Game.shimmers[e])})),Mn(3,"SeaFlash",!1),Tn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Sn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Mn(3,"WrinklerMaxFlash",!1):Mn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Tn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Tn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Sn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Sn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Bn(){let t="";for(let o=0;o<$.length;o++)t+=`.CMText${$[o]} { color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBack${$[o]} { background-color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBorder${$[o]} { border: 1px solid ${e[`Colour${$[o]}`]}; }\n`;l("CMCSS").textContent=t,co()}function En(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${kn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Nn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t,void 0!==e.Colors&&delete e.Colors,void 0!==e.Colours&&delete e.Colours;let o=!1;Object.keys(cn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=cn[t]):"Header"===t&&Object.keys(cn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=cn[t][n])}))})),o&&En(),Pn(),Object.keys(cn).forEach((e=>{"Header"!==e&&void 0!==bn[e].func&&bn[e].func()}))}else Nn(cn);Game.UpdateMenu(),Bn()}function On(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Fn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Uo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${pe(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${me((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(pe(Game.Objects[o].bulkPrice)).join(pe((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ne=t,ie=o,No(),l("tooltip").innerHTML}function Wn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(S[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Ln(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),En()}function Rn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){$n(o),Game.UpdateMenu()},n.appendChild(i),n}function In(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(I[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function zn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Vn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Rn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+mo(){Game.HasUnlocked(Qo[e])||c.push(Qo[e])})),0!==c.length&&e.appendChild(In("basic","Rare plant drops left to unlock",zn(c))),e}())),o.appendChild(Rn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?Ct:0)));t.appendChild(In("withTooltip","Prestige level (cur / max)",document.createTextNode(`${pe(Game.prestige)} / ${pe(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&Ct?Ct:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(pe(n)));const a=document.createElement("small");a.textContent=` (${ue(n/zt,1)})`,i.appendChild(a),t.appendChild(In("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(In("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${pe(Game.heavenlyChips)} / ${pe(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(In("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(pe(ht,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(In("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(pe(e)))),t.appendChild(In("basic","Time till target (cur, current 5 second average)",document.createTextNode(ue(e/ht)))))}const l=function(e){let t=Game.cookiesPs;Mo(),0===eo["Heavenly key"].bought&&(eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ro(),t=Xe,Mo()),It>=1e6&&$o("Sacrifice"),It>=1e9&&$o("Oblivion"),It>=1e12&&$o("From scratch"),It>=1e15&&$o("Nihilism"),It>=1e18&&$o("Dematerialize"),It>=1e21&&$o("Nil zero zilch"),It>=1e24&&$o("Transcendence"),It>=1e27&&$o("Obliterate"),It>=1e30&&$o("Negative void"),It>=1e33&&$o("To crumbs, you say?"),It>=1e36&&$o("You get nothing"),It>=1e39&&$o("Humble rebeginnings"),It>=1e42&&$o("The end of the world"),It>=1e45&&$o("Oh, you're back"),It>=1e48&&$o("Lazarus"),It>=1e51&&$o("Smurf account"),It>=1e54&&$o("If at first you don't succeed"),eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ue=e;const o=De;Ro(),qo(),o!==De&&Ro();const n=Xe-t;return Ue=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(pe(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(In("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Rn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${pe(Gt)} / ${pe(vt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){On()},e.appendChild(t),o.appendChild(In("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${pe(wt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},n.appendChild(i),o.appendChild(In("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==wt[1]?wt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(n.push(zo[e]),o=!0)}));const i=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(i.push(Vo[e]),o=!0)}));const a=[];Object.keys(_o).forEach((e=>{Game.Has(_o[e])||(a.push(_o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Rn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(In("basic","Halloween cookies left to buy",zn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(In("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${pe((1-e)*o*100)}% / ${pe((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(In("basic","Christmas cookies left to buy",zn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(In("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${pe((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(In("basic","Valentine cookies left to buy",zn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(In("basic","Normal easter eggs left to unlock",zn(r))),t.appendChild(In("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[0])}% / ${pe(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(In("basic","Rare easter eggs left to unlock",zn(l))),t.appendChild(In("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[1])}% / ${pe(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(In("basic","Reindeer reward",document.createTextNode(pe(ft)))),s&&t.appendChild(In("withTooltip","Chocolate egg cookies",document.createTextNode(pe(Ct)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(In("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(gt-1))/100+"%")))}return t}()),o.appendChild(Rn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(In("basic",`Average cookies per second (past ${J[e.AvgCPSHist]<60?`${J[e.AvgCPSHist]} seconds`:J[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(pe(uo(),3)))),o.appendChild(In("basic",`Average cookie clicks per second (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(St,1)))),o.appendChild(In("basic",`Cookies from clicking (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(he.calcSum(St*Z[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Io).forEach((t=>{Game.Has(Io[t])||e.push(Io[t])})),0!==e.length&&o.appendChild(In("basic","Fortune Upgrades Left to Buy",zn(e)))}if(e.ShowMissedGC&&o.appendChild(In("basic","Missed golden cookies",document.createTextNode(pe(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(In("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Et){const t=Et.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Et,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const _n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Qn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Xn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){$n(t),Game.UpdateMenu()},n.appendChild(i),n}function qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return de.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){de.includes(e)?de=de.filter((function(t){return t!==e})):de.push(e)}(e),En(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(I.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===bn[t].type){const n=document.createElement("a");bn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Hn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===bn[t].label.length?(e[t]=0,bn[t].toggle&&(l(Hn+t).className="option off")):l(Hn+t).className="option",void 0!==bn[t].func&&bn[t].func(),l(Hn+t).innerHTML=bn[t].label[e[t]],En()}(t)},n.textContent=bn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=bn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===bn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=bn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Un(t)},r.onchange=function(){Un(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Tn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Hn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,En(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=bn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===bn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new jn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Bn(),En(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=bn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Mn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Dn().init(),o}if("numscale"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="number",i.value=e[t],i.min=bn[t].min,i.max=bn[t].max,i.oninput=function(){e[t]=this.value,En(),un()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=bn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Yn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Kn(){B.Beautify=Beautify,Beautify=pe,B.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){B.CalculateGains(),_e=1,w=Date.now(),x=Date.now()},B.tooltip={},B.tooltip.draw=Game.tooltip.draw,B.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){B.tooltip.drawMod(e,t,o)},B.tooltip.update=Game.tooltip.update,B.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){B.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},B.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Yn(B.UpdateWrinklers)},B.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Yn(B.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Yn(Game.ClickCookie)}),!1),B.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){B.RebuildUpgrades(),P=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(P[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},B.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Zt[Game.ObjectsById[e].name].name;Zt[o].amount-=1,Le-=1,t=Zt[o].basePrice*Game.priceIncrease**Math.max(0,Zt[o].amount-1-Zt[o].free),t=Game.modifyBuildingPrice(Zt[o],t),t=Math.ceil(t);break}const o=De;return Ro(),qo(),o!==De&&Ro(),[Xe-Game.cookiesPs,t]}(t),n=ue(o/(e+Game.cookiesPs)),i=pe(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${pe(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},B.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){B.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},B.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Dn().picker&&void 0!==Dn().picker.owner||(B.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(_n).forEach((t=>{if("Favourite"===t){if(0!==de.length&&e.FavouriteSettings>0&&(o.appendChild(Xn(t,_n[t])),e.Header[t]))for(let e=0;e{const n=Xn(t,Qn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))}))})):Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Nn(cn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Vn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){$n("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},B.sayTime=Game.sayTime,V=function(e,t){return Number.isNaN(e)||e<=0?B.sayTime(e,t):ue(e/Game.fps,1)},B.Logic=Game.Logic,Game.Logic=function(){B.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ce=`${Game.OnAscend?"Ascending! ":""}${pe(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ce;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Vt?Vt.wrath?`[W${Math.ceil(Vt.life/Game.fps)}]`:`[G${Math.ceil(Vt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(_t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ce;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Vt&&(t=!0,Vt.wrath?e+=`[W${Math.ceil(Vt.life/Game.fps)}]`:e+=`[G${Math.ceil(Vt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(_t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${pe(Game.prestige)}.
(CpS +${pe(Game.prestige)}%)`,n+='
'),n+=Oe<1?"Ascending now would grant you no prestige.":Oe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${pe(Oe)} prestige levels (+${pe(Oe)}% CpS)
and ${pe(Oe)} heavenly chips to spend.`,n+='
',n+=`You need ${pe(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Qt} to reach the next level and you were making ${pe(ht,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Jn(){wn(),an(),sn(),r=Object.keys(Game.mods).length,M=document.createElement("style"),M.type="text/css",M.id="CMCSS",document.head.appendChild(M),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=E+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",W)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",O)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",O)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",O)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{go(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=ho("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:D},{id:"CMTimerBarGCBar",color:j}]);e.appendChild(t);const o=ho("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:D},{id:"CMTimerBarRenBar",color:L}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=N+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(O,"Better than the best PP of a building option")),e.appendChild(o(F,"Same as the best PP building option")),e.appendChild(o(W,"Within the top 10 of PP for buildings")),e.appendChild(o(L,"Within the top 20 of PP for buildings")),e.appendChild(o(A,"Within the top 30 of PP for buildings")),e.appendChild(o(j,"Outside of the top 30 of PP for buildings")),e.appendChild(o(D,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=E+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",O)),e.appendChild(o("CMUpgradeBarGreen",F)),e.appendChild(o("CMUpgradeBarYellow",W)),e.appendChild(o("CMUpgradeBarOrange",L)),e.appendChild(o("CMUpgradeBarRed",A)),e.appendChild(o("CMUpgradeBarPurple",j)),e.appendChild(o("CMUpgradeBarGray",D)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),I[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){On()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(T[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Wn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),An()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){_=1},l("backgroundLeftCanvas").onmouseout=function(){_=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{X[e]=0}))},Kn(),An(),Game.CalculateGains(),Nn(),z=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Zn={init:function(){xn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Jn(),Game.registerHook("draw",Oo),Game.registerHook("logic",Pn),Game.registerHook("click",Fo),xn=!1)},load:function(e){const t=JSON.parse(e);wn(),void 0!==t.favouriteSettings&&(de=t.favouriteSettings),Nn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:kn};Game.registerMod("CookieMonster",Zn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x=[],M=[],T=[],S={},P=Date.now(),B=Date.now();const E="CMText",N="CMBack",O="Blue",F="Green",W="Yellow",L="Orange",A="Red",j="Purple",D="Gray",H="Pink",U="Brown",$=[D,O,F,W,L,A,j,H,U],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],I={};let z,V,_=0,Q=-1,X=[],q=1,Y=1,K=1;const J=[10,15,30,60,300,600,900,1800],Z=[1,5,10,15,30],ee={Frenzy:W,"Dragon Harvest":U,"Elder frenzy":F,Clot:A,"Click frenzy":O,Dragonflight:H};let te,oe,ne,ie,ae,re,le,se={},ce="",de=[];function pe(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${pe(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function me(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=F):(n=ue(t),o=t>300?A:t>60?L:W),{text:n,color:o}}let he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Me,Te,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=0,pt=1,ut=1,mt=1,ht=0,gt=0,ft=0,Ct=0,yt={},bt={},kt={},Gt=0,vt=0,wt=[0,null],xt=0,Mt=0,Tt={},St={},Pt={},Bt={},Et={},Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,$t=0,Rt=[],It=0,zt=0,Vt={},_t={},Qt=0,Xt=0,qt=[],Yt={},Kt=0,Jt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Zt=[],eo=[],to=[];function oo(e){let t=0;return Game.dragonAuras[$e].name!==e&&Game.dragonAuras[Re].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[$e].name&&"Reality Bending"!==Game.dragonAuras[Re].name||(t+=.1),t}function no(){let e=.25;return e*=1+oo("Earth Shatterer"),e}function io(e,t){return void 0===Qe[e]?void 0===t?1:t:Qe[e]}function ao(e){const t=eo[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ro(e){if(Game.hasGod){void 0===Zt.Temple.minigame&&(Zt.Temple.minigame=Game.Objects.Temple.minigame);const t=Zt.Temple.minigame.gods[e];if(Ie===t.id)return 1;if(ze===t.id)return 2;if(Ve===t.id)return 3}return!1}function lo(e,t){let o=t;if(ao("Season savings")&&(o*=.99),ao("Santa's dominion")&&(o*=.99),ao("Faberge egg")&&(o*=.99),ao("Divine discount")&&(o*=.99),ao("Fortune #100")&&(o*=.99),o*=1-.02*oo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&ao(e.fortune.name)&&(o*=.93),o*=io("buildingCost"),Zt.Temple.minigameLoaded){const e=ro("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function so(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function co(){let t=Game.buyBulk;if(1===Game.buyMode?Y=t:t=Y,1===t?t=yt:10===t?t=bt:100===t&&(t=kt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(yt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=pe(so(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(yt).map((e=>{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;e$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.ppe.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?q=i:i=q,1===i&&(i=yt),10===i&&(i=bt),100===i&&(i=kt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=pe(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=E+i[o].color,n=e.PPDisplayTime?ue(Math.round(i[o].pp)):pe(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=me((Game.Objects[o].bulkPrice-(Game.cookies+mo()))/uo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=E+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&ao(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(ao(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&ao(e.fortune.name)&&(t*=1.07),e.grandma&&ao(e.grandma.name)&&(t*=1+.01*Zt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&ao(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function wo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;ao("Thousand fingers")&&(t+=.1),ao("Million fingers")&&(t*=5),ao("Billion fingers")&&(t*=10),ao("Trillion fingers")&&(t*=20),ao("Quadrillion fingers")&&(t*=20),ao("Quintillion fingers")&&(t*=20),ao("Sextillion fingers")&&(t*=20),ao("Septillion fingers")&&(t*=20),ao("Octillion fingers")&&(t*=20),ao("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Zt).forEach((e=>{"Cursor"!==Zt[e].name&&(n+=Zt[e].amount)})),t*=n,o*=vo(e),o*=Game.magicCpS("Cursor"),o*=io("cursorCps"),Game.ComputeCps(.1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{ao(Game.GrandmaSynergies[e])&&(o*=2)})),ao("Bingo center/Research facility")&&(o*=4),ao("Ritual rolling pins")&&(o*=2),ao("Naughty list")&&(o*=2),ao("Elderwort biscuits")&&(o*=1.02),o*=io("grandmaCps"),ao("Cat ladies"))for(let e=0;e{"Grandma"!==Zt[e].name&&(i+=Zt[e].amount)})),o*=1+.01*oo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=vo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function xo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Zt).forEach((t=>{Zt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(ao("Starlove")&&(e=3),Game.hasGod){const t=ro("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Mo(){Ae=Game.UpgradesOwned,je=Game.pledges,De=Game.AchievementsOwned,He=Game.heavenlyPower,Ue=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e],go(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ie=t.minigame.slot[0],ze=t.minigame.slot[1],Ve=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Zt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=eo[e];void 0===o&&(eo[e]=xo(e),o=eo[e]),o.bought=t.bought,eo[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=to[e];void 0===o&&(to[e]=Go(e),o=to[e]),o.won=t.won,to[e]=o})),ko(),$e=Ye,Re=Ke}function To(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function So(e){e.appendChild(To("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(To("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(To("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(To("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ne){e.appendChild(To("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Po(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Eo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function No(){if(Mo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ne?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(So(l("CMTooltipBorder")),1===Game.buyMode?K=t:t=K,1===Game.buyBulk?t=yt:10===Game.buyBulk?t=bt:100===Game.buyBulk&&(t=kt),te=Game.Objects[ie].bulkPrice,oe=t[ie].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=pe(oe,2);const o=Math.round(oe/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=E+t[ie].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ue(t[ie].pp):l("CMTooltipPP").textContent=pe(t[ie].pp,2),l("CMTooltipPP").className=E+t[ie].color;const n=me((te-(Game.cookies+mo()))/uo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ie[1]][ie[0]][0]-1].mature,o=t.plantsById[t.plot[ie[1]][ie[0]][0]-1].name;l("CMTooltipBorder").appendChild(To("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${pe(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${pe(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${pe(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${pe(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ne?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(To("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=ho(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==ee[Game.buffs[t].name]?ee[Game.buffs[t].name]:j,a.lastChild.children[1].className=N+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),le!==n&&(le=n,yo())}}(),fo(),No(),function(){if(1===e.TooltipWrink&&1===_){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===X[t]||void 0===X[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),Q=t,X[t]=1}}else X[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[Q],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[Q].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Zt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=pe(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,pe(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Fo(){he.addLatest(Game.computedMouseCps)}class Wo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Lo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Kt;Game.cpsSucked>0&&(o+=Gt),It=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ge,i=Math.max(0,Game.cookies-ve)/n,a=Math.max(0,Gt-we)/n,r=Math.max(0,wt[0]-xe)/n,l=Math.max(0,o-Ct)/n,s=(Game.cookieClicks-Me)/n;for(let e=0;e0&&(n=A),n}function jo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=D;else{t[n].color=Ao(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+mo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||qt.push([t[n].pp,o])}))}function Ho(){!function(){Xt=1/0,qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Do(yt,1),Do(bt,10),Do(kt,100),qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;qt[t][1]>Game.cookies&&(t+=1,qt.length!==t+1););Xt=qt[e.PPExcludeTop][t],jo(yt,1),jo(bt,10),jo(kt,100)}(),Object.keys(Tt).forEach((e=>{Game.cookiesPs?Tt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+mo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Tt[e].bonus:Tt[e].pp=Game.Upgrades[e].getPrice()/Tt[e].bonus,Number.isNaN(Tt[e].pp)&&(Tt[e].pp=1/0),Tt[e].color=Ao(Tt[e],Game.Upgrades[e].getPrice())}))}function Uo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Qe=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ue)*He*function(){let e=0;if(ao("Heavenly chip secret")&&(e+=.05),ao("Heavenly cookie stand")&&(e+=.2),ao("Heavenly bakery")&&(e+=.25),ao("Heavenly confectionery")&&(e+=.25),ao("Heavenly key")&&(e+=.25),e*=1+.05*oo("Dragon God"),ao("Lucky digit")&&(e*=1.01),ao("Lucky number")&&(e*=1.01),ao("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ro("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=io("cps"),ao("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];ao(o.name)&&("function"==typeof o.power?e*=1+.01*eo[o.name].power(eo[o.name]):e*=1+.01*o.power)})),ao("Specialized chocolate chips")&&(e*=1.01),ao("Designer cocoa beans")&&(e*=1.02),ao("Underworld ovens")&&(e*=1.03),ao("Exotic nuts")&&(e*=1.04),ao("Arcane sugar")&&(e*=1.05),ao("Increased merriness")&&(e*=1.15),ao("Improved jolliness")&&(e*=1.15),ao("A lump of coal")&&(e*=1.01),ao("An itchy sweater")&&(e*=1.01),ao("Santa's dominion")&&(e*=1.2),ao("Fortune #100")&&(e*=1.01),ao("Fortune #101")&&(e*=1.07),ao("Dragon scale")&&(e*=1.03);let o=1;if(ro){let t=ro("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ro("ages"),1===t?e*=1+.15*Math.sin(P/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(P/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(P/1e3/86400*Math.PI*2)),t=ro("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ro("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ro("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}ao("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=De/25;let i=1;if(ao("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*oo("Breath of Milk"),ro){const e=ro("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=io("milk");let a=1;ao("Kitten helpers")&&(a*=1+.1*n*i),ao("Kitten workers")&&(a*=1+.125*n*i),ao("Kitten engineers")&&(a*=1+.15*n*i),ao("Kitten overseers")&&(a*=1+.175*n*i),ao("Kitten managers")&&(a*=1+.2*n*i),ao("Kitten accountants")&&(a*=1+.2*n*i),ao("Kitten specialists")&&(a*=1+.2*n*i),ao("Kitten experts")&&(a*=1+.2*n*i),ao("Kitten consultants")&&(a*=1+.2*n*i),ao("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),ao("Kitten marketeers")&&(a*=1+.15*n*i),ao("Kitten analysts")&&(a*=1+.125*n*i),ao("Kitten executives")&&(a*=1+.115*n*i),ao("Kitten angels")&&(a*=1+.1*n*i),ao("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Zt).forEach((e=>{const t=Zt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&ao("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Xe+=t.amount*a})),ao('"egg"')&&(Xe+=9),e*=a;let r=1;if(ao("Chicken egg")&&(r*=1.01),ao("Duck egg")&&(r*=1.01),ao("Turkey egg")&&(r*=1.01),ao("Quail egg")&&(r*=1.01),ao("Robin egg")&&(r*=1.01),ao("Ostrich egg")&&(r*=1.01),ao("Cassowary egg")&&(r*=1.01),ao("Salmon roe")&&(r*=1.01),ao("Frogspawn")&&(r*=1.01),ao("Shark egg")&&(r*=1.01),ao("Turtle egg")&&(r*=1.01),ao("Ant larva")&&(r*=1.01),ao("Century egg")){let e=10*Math.floor((B-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),gt=1+.1*(1-(1-e/100)**3),r*=gt}e*=r,ao("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+oo("Radiant Appetite");const l=Xe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&$o(Game.CpsAchievements[e].name)})),qe=l;const{n:s}=Game.shimmerTypes.golden,c=oo("Dragon's Fortune");for(let t=0;t{ao(e[o])&&(t+=.1)}))}e*=t}if(ao("Shimmering veil [off]")){let t=.5;ao("Reinforced membrane")&&(t+=.1),e*=1+t}ao("Magic shenanigans")&&(e*=1e3),ao("Occult obstruction")&&(e*=0),Xe=Game.runModHookOnValue("cps",Xe),e*=Bo(),Xe*=e}const Io=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],zo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Vo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],_o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Qo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Xo(e){return to[e]?to[e].won:0}function qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{ao(Game.GrandmaSynergies[t])&&(e+=1)})),!Xo("Elder")&&e>=7&&$o("Elder"),!Xo("Veteran")&&e>=14&&$o("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount,i=Math.min(Zt[e].amount,i),Xo("Mathematician")||Zt[e].amount=1&&$o("One with everything"),1===o&&$o("Mathematician"),1===n&&$o("Base 10"),i>=100&&$o("Centennial"),i>=150&&$o("Centennial and a half"),i>=200&&$o("Bicentennial"),i>=250&&$o("Bicentennial and a half"),i>=300&&$o("Tricentennial"),i>=350&&$o("Tricentennial and a half"),i>=400&&$o("Quadricentennial"),i>=450&&$o("Quadricentennial and a half"),i>=500&&$o("Quincentennial"),i>=550&&$o("Quincentennial and a half"),i>=600&&$o("Sexcentennial"),t>=100&&$o("Builder"),t>=500&&$o("Architect"),t>=1e3&&$o("Engineer"),t>=2e3&&$o("Lord of Constructs"),t>=4e3&&$o("Grand design"),t>=8e3&&$o("Ecumenopolis"),Ae>=20&&$o("Enhancer"),Ae>=50&&$o("Augmenter"),Ae>=100&&$o("Upgrader"),Ae>=200&&$o("Lord of Progress"),Ae>=300&&$o("The full picture"),Ae>=400&&$o("When there's nothing left to add"),t>=4e3&&Ae>=300&&$o("Polymath"),t>=8e3&&Ae>=400&&$o("Renaissance baker"),Zt.Cursor.amount+Zt.Grandma.amount>=777&&$o("The elder scrolls");let a=!0;Object.keys(zo).forEach((e=>{ao(zo[e])||(a=!1)})),a&&$o("Spooky cookies");let r=!0;if(Object.keys(Vo).forEach((e=>{ao(Vo[e])||(r=!1)})),r&&$o("Let it snow"),ao("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{ao(e[o].name)&&(t+=1)})),t>=e.length&&$o("O Fortuna")}}function Yo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Mo(),Zt[e].amount+=t;const o=Zt[e];"Cursor"===e?(o.amount>=1&&$o("Click"),o.amount>=2&&$o("Double-click"),o.amount>=50&&$o("Mouse wheel"),o.amount>=100&&$o("Of Mice and Men"),o.amount>=200&&$o("The Digital"),o.amount>=300&&$o("Extreme polydactyly"),o.amount>=400&&$o("Dr. T"),o.amount>=500&&$o("Thumbs, phalanges, metacarpals"),o.amount>=600&&$o("With her finger and her thumb"),o.amount>=700&&$o("Gotta hand it to you"),o.amount>=800&&$o("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&$o(Game.Objects[o.name].tieredAchievs[e].name)}));const n=De;return Ro(),qo(),n!==De&&Ro(),Xe-Game.cookiesPs}(o,e),1!==e&&(Fe=1)})),t}function Ko(){Object.keys(Game.Objects).forEach((e=>{yt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),bt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),kt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Jo(){yt=Yo(1),bt=Yo(10),kt=Yo(100),Tt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Mo(),"Shimmering veil [on]"===eo[e].name?eo["Shimmering veil [off]"].bought=0:"Golden switch [on]"===eo[e].name?eo["Golden switch [off]"].bought=0:eo[e].bought=(eo[e].bought+1)%2,Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ae+=1),"Elder Pledge"===e?(je+=1,je>0&&$o("Elder nap"),je>=5&&$o("Elder slumber")):"Elder Covenant"===e?$o("Elder calm"):"Prism heart biscuits"===e?$o("Lovely cookies"):"Heavenly key"===e&&$o("Wholesome");const t=De;Ro(),qo(),t!==De&&Ro();const o=function(){let e=0;ao("Thousand fingers")&&(e+=.1),ao("Million fingers")&&(e*=5),ao("Billion fingers")&&(e*=10),ao("Trillion fingers")&&(e*=20),ao("Quadrillion fingers")&&(e*=20),ao("Quintillion fingers")&&(e*=20),ao("Sextillion fingers")&&(e*=20),ao("Septillion fingers")&&(e*=20),ao("Octillion fingers")&&(e*=20),ao("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount})),t-=Zt.Cursor.amount,e*=t,ao("Plastic mouse")&&(e+=.01*Xe),ao("Iron mouse")&&(e+=.01*Xe),ao("Titanium mouse")&&(e+=.01*Xe),ao("Adamantium mouse")&&(e+=.01*Xe),ao("Unobtainium mouse")&&(e+=.01*Xe),ao("Eludium mouse")&&(e+=.01*Xe),ao("Wishalloy mouse")&&(e+=.01*Xe),ao("Fantasteel mouse")&&(e+=.01*Xe),ao("Nevercrack mouse")&&(e+=.01*Xe),ao("Armythril mouse")&&(e+=.01*Xe),ao("Technobsidian mouse")&&(e+=.01*Xe),ao("Plasmarble mouse")&&(e+=.01*Xe),ao("Miraculite mouse")&&(e+=.01*Xe),ao("Fortune #104")&&(e+=.01*Xe);let o=1;if(ao("Santa's helpers")&&(o*=1.1),ao("Cookie egg")&&(o*=1.1),ao("Halo gloves")&&(o*=1.1),ao("Dragon claw")&&(o*=1.03),ao("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,ao("Luminous gloves")?20:10)),o*=io("click"),Zt.Temple.minigameLoaded&&ro){const e=ro("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*oo("Dragon Cursor");let n=o*Game.ComputeCps(1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Xe-Game.cookiesPs,o]:[Xe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Tt[t]={bonus:Game.cookiesPs-Te},1===e.CalcWrink?Tt[t].bonus-=Se:2===e.CalcWrink&&(Tt[t].bonus-=Pe),Number.isFinite(Tt[t].bonus)||(Tt[t].bonus=0)):(Tt[t]={},o[0]&&(Tt[t].bonus=o[0]),o[1]&&(Tt[t].bonusMouse=o[1]))}))}function Zo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ft=Zo(7,e,ut),Nt=2*Ft[1]/ut,Ot=Ft[2]/60/60/6/pt,At=Zo(6,e,mt),Wt=2*At[1]/mt,Lt=At[2]/60/60/6/pt,Ht=Zo(7,7*e,ut),jt=2*Ht[1]/ut,Dt=Ht[2]/60/60/6/pt,Rt=Zo(6,7*e,mt),Ut=2*Rt[1]/mt,$t=Rt[2]/60/60/6/pt}function tn(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ne,i=Math.max(0,o-Oe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Bt+=e:"cookie"===o.pool?Et+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Pt+=e)}}))}function nn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ft=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ft*=2)}}function an(){et=900*dt/.15,et*=pt;const e=Bo();e>0?et/=e:et=0,tt=ut*(.15*et)+13,ot=mt*(.15*et)+13,nt=7*et,it=ut*(.15*nt)+13,at=mt*(.15*nt)+13,rt=2*et,lt=.15*rt,st=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountst&&(st=2*Game.Objects[e].price,ct=e)}))}function rn(){let e=1,t=1,o=1;ao("Green yeast digestives")&&(o*=1.01),ao("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ut=o*e,mt=o*t,pt=1,0===Game.shimmerTypes.golden.n&&(pt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function ln(){Gt=0,vt=0,wt=[0,null];for(let e=0;ewt[0]&&(wt=[t,e]))}}function sn(){ko(),ln(),an(),rn(),en(),on(),nn(),ge=new Wo(J[J.length-1]),fe=new Wo(J[J.length-1]),Ce=new Wo(J[J.length-1]),ye=new Wo(J[J.length-1]),be=new Wo(Z[Z.length-1]),ke=new Wo(5),he=new Wo(20*Z[Z.length-1]),tn(),Lo(),Jo(),Ko(),Ho()}const cn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},dn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function pn(){1===e.BotBar?(l("CMBotBar").style.display="",fo()):l("CMBotBar").style.display="none",yo()}function un(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),fo(),co(),po()}function mn(){1===e.Favicon&&y>0?Vt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class hn{constructor(e,t){this.type=e,this.group=t}}class gn extends hn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class fn extends hn{constructor(e,t,o){super(e,t),this.desc=o}}class Cn extends hn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class yn extends hn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const bn={CPSMode:new gn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new gn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new gn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new gn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){_e=!0})),Scale:new gn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){un()})),ScaleDecimals:new gn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){un()})),ScaleSeparator:new gn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){un()})),ScaleCutoff:new yn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new gn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new gn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=V:Game.sayTime=S.sayTime})),PPDisplayTime:new gn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new gn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){co()})),PPOnlyConsiderBuyable:new gn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new gn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new gn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new yn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new fn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new fn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new fn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new fn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new fn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new fn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new fn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new fn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new fn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new gn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){pn()})),TimerBar:new gn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){bo()})),TimerBarPos:new gn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),yo()})),TimerBarOverlay:new gn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new gn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",po()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",po()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new gn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new gn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){co()})),SortUpgrades:new gn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){po()})),DragonAuraInfo:new gn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new gn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new gn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(se).forEach((e=>{se[e].style.display="block",se[e].style.left=Yt[e].l.style.left,se[e].style.top=Yt[e].l.style.top})):Object.keys(se).forEach((e=>se[e].style.display="none"))})),Favicon:new gn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){mn()})),WrinklerButtons:new gn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new gn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new gn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new gn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new gn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new gn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new gn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new gn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new gn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new yn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new gn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new gn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Eo()})),TooltipGrim:new gn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new gn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new gn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new gn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new gn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new gn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new gn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new gn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new gn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new gn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new yn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new gn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new gn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new gn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new gn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){dn(e.GCNotification)})),GCFlash:new gn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new fn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new gn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new Cn("vol","NotificationGC",[],"Volume"),GCSoundURL:new gn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new gn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){dn(e.FortuneNotification)})),FortuneFlash:new gn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new fn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new gn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new Cn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new gn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new gn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){dn(e.SeaNotification)})),SeaFlash:new gn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new fn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new gn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new Cn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new gn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new gn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new fn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new gn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new Cn("vol","NotificationGard",[],"Volume"),GardSoundURL:new gn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new gn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){dn(e.MagicNotification)})),MagicFlash:new gn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new fn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new gn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new Cn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new gn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new gn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){dn(e.WrinklerNotification)})),WrinklerFlash:new gn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new fn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new gn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new Cn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new gn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new gn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){dn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new gn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new fn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new gn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new Cn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new gn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new gn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new gn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function kn(){return JSON.stringify({favouriteSettings:de,settings:e,version:"2.031.6"})}function Gn(){if(Je!==Game.dragonLevel||_e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Upgrades).forEach((e=>{eo[e]=xo(e)})),to=[],Object.keys(Game.Achievements).forEach((e=>{to[e]=Go(e)})),Mo()}let xn=!1;function Mn(t,o,n){(1===e[o]||n)&&3===t&&!1===xn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Mn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Mn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Mn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Tn(t,o,n,i){if((1===e[o]||i)&&!1===xn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Sn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===xn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Pn(){if(re!==Game.OnAscend&&(re=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(pn(),bo()),Co()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(wn(),sn(),r=Object.keys(Game.mods).length),_e&&(Jo(),Game.Has("Golden switch [off]")?(Mo(),eo["Golden switch [off]"].bought=0,Ro(),dt=Xe):dt=Game.cookiesPs,rn(),an(),on(),en(),Gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Jt[e][t]=vn(e,t)}(),nn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Mo();let t=2;5!==$e&&18!==$e||(t-=1),5!==Re&&18!==Re||(t-=1),$e=5,Re=18;for(let e=0;e{Zt[t].amount>0&&(e=t)})),Zt[e].amount-=1,Le-=1}return Object.keys(Zt).forEach((t=>{const o=Zt[t];e+=so(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Kt=e}(),_e=0);const t=Game.auraMult("Fierce Hoarder")>0;!We&&t?(We=!0,Fe=1):We&&!t&&(We=!1,Fe=1),Fe&&(Ko(),Fe=0),function(){ln(),Ho(),function(){xt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Zt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Mt=e,xt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Lo(),tn();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Qt=ue(e/uo())}(),G=0,Yt={},Object.keys(Game.shimmers).forEach((e=>{Yt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Vt=Game.shimmers[e],G+=1)})),Object.keys(se).forEach((e=>{void 0===Yt[e]&&(se[e].parentNode.removeChild(se[e]),delete se[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===se[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},se[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),mn(),b=G,0===G&&(Vt=0)):1===e.GCTimer&&y&&Object.keys(se).forEach((e=>{se[e].style.opacity=Yt[e].l.style.opacity,se[e].style.transform=Yt[e].l.style.transform,se[e].textContent=Math.ceil(Yt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Mn(3,"FortuneFlash",!1),Tn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Sn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(_t=Game.shimmers[e])})),Mn(3,"SeaFlash",!1),Tn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Sn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Mn(3,"WrinklerMaxFlash",!1):Mn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Tn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Tn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Sn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Sn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Bn(){let t="";for(let o=0;o<$.length;o++)t+=`.CMText${$[o]} { color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBack${$[o]} { background-color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBorder${$[o]} { border: 1px solid ${e[`Colour${$[o]}`]}; }\n`;l("CMCSS").textContent=t,co()}function En(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${kn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Nn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t,void 0!==e.Colors&&delete e.Colors,void 0!==e.Colours&&delete e.Colours;let o=!1;Object.keys(cn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=cn[t]):"Header"===t&&Object.keys(cn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=cn[t][n])}))})),o&&En(),Pn(),Object.keys(cn).forEach((e=>{"Header"!==e&&void 0!==bn[e].func&&bn[e].func()}))}else Nn(cn);Game.UpdateMenu(),Bn()}function On(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Fn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Uo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${pe(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${me((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(pe(Game.Objects[o].bulkPrice)).join(pe((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ne=t,ie=o,No(),l("tooltip").innerHTML}function Wn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(M[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Ln(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),En()}function Rn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){$n(o),Game.UpdateMenu()},n.appendChild(i),n}function In(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(I[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function zn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Vn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Rn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+mo(){Game.HasUnlocked(Qo[e])||c.push(Qo[e])})),0!==c.length&&e.appendChild(In("basic","Rare plant drops left to unlock",zn(c))),e}())),o.appendChild(Rn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?Ct:0)));t.appendChild(In("withTooltip","Prestige level (cur / max)",document.createTextNode(`${pe(Game.prestige)} / ${pe(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&Ct?Ct:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(pe(n)));const a=document.createElement("small");a.textContent=` (${ue(n/zt,1)})`,i.appendChild(a),t.appendChild(In("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(In("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${pe(Game.heavenlyChips)} / ${pe(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(In("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(pe(ht,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(In("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(pe(e)))),t.appendChild(In("basic","Time till target (cur, current 5 second average)",document.createTextNode(ue(e/ht)))))}const l=function(e){let t=Game.cookiesPs;Mo(),0===eo["Heavenly key"].bought&&(eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ro(),t=Xe,Mo()),It>=1e6&&$o("Sacrifice"),It>=1e9&&$o("Oblivion"),It>=1e12&&$o("From scratch"),It>=1e15&&$o("Nihilism"),It>=1e18&&$o("Dematerialize"),It>=1e21&&$o("Nil zero zilch"),It>=1e24&&$o("Transcendence"),It>=1e27&&$o("Obliterate"),It>=1e30&&$o("Negative void"),It>=1e33&&$o("To crumbs, you say?"),It>=1e36&&$o("You get nothing"),It>=1e39&&$o("Humble rebeginnings"),It>=1e42&&$o("The end of the world"),It>=1e45&&$o("Oh, you're back"),It>=1e48&&$o("Lazarus"),It>=1e51&&$o("Smurf account"),It>=1e54&&$o("If at first you don't succeed"),eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ue=e;const o=De;Ro(),qo(),o!==De&&Ro();const n=Xe-t;return Ue=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(pe(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(In("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Rn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${pe(Gt)} / ${pe(vt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){On()},e.appendChild(t),o.appendChild(In("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${pe(wt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},n.appendChild(i),o.appendChild(In("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==wt[1]?wt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(n.push(zo[e]),o=!0)}));const i=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(i.push(Vo[e]),o=!0)}));const a=[];Object.keys(_o).forEach((e=>{Game.Has(_o[e])||(a.push(_o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Rn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(In("basic","Halloween cookies left to buy",zn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(In("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${pe((1-e)*o*100)}% / ${pe((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(In("basic","Christmas cookies left to buy",zn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(In("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${pe((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(In("basic","Valentine cookies left to buy",zn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(In("basic","Normal easter eggs left to unlock",zn(r))),t.appendChild(In("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[0])}% / ${pe(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(In("basic","Rare easter eggs left to unlock",zn(l))),t.appendChild(In("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[1])}% / ${pe(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(In("basic","Reindeer reward",document.createTextNode(pe(ft)))),s&&t.appendChild(In("withTooltip","Chocolate egg cookies",document.createTextNode(pe(Ct)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(In("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(gt-1))/100+"%")))}return t}()),o.appendChild(Rn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(In("basic",`Average cookies per second (past ${J[e.AvgCPSHist]<60?`${J[e.AvgCPSHist]} seconds`:J[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(pe(uo(),3)))),o.appendChild(In("basic",`Average cookie clicks per second (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(St,1)))),o.appendChild(In("basic",`Cookies from clicking (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(he.calcSum(St*Z[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Io).forEach((t=>{Game.Has(Io[t])||e.push(Io[t])})),0!==e.length&&o.appendChild(In("basic","Fortune Upgrades Left to Buy",zn(e)))}if(e.ShowMissedGC&&o.appendChild(In("basic","Missed golden cookies",document.createTextNode(pe(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(In("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Et){const t=Et.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Et,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const _n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Qn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Xn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){$n(t),Game.UpdateMenu()},n.appendChild(i),n}function qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return de.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){de.includes(e)?de=de.filter((function(t){return t!==e})):de.push(e)}(e),En(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(I.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===bn[t].type){const n=document.createElement("a");bn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Hn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===bn[t].label.length?(e[t]=0,bn[t].toggle&&(l(Hn+t).className="option off")):l(Hn+t).className="option",void 0!==bn[t].func&&bn[t].func(),l(Hn+t).innerHTML=bn[t].label[e[t]],En()}(t)},n.textContent=bn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=bn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===bn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=bn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Un(t)},r.onchange=function(){Un(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Tn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Hn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,En(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=bn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===bn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new jn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Bn(),En(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=bn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Mn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Dn().init(),o}if("numscale"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="number",i.value=e[t],i.min=bn[t].min,i.max=bn[t].max,i.oninput=function(){e[t]=this.value,En(),un()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=bn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Yn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Kn(){S.Beautify=Beautify,Beautify=pe,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),_e=1,P=Date.now(),B=Date.now()},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Yn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Yn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Yn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),T=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Zt[Game.ObjectsById[e].name].name;Zt[o].amount-=1,Le-=1,t=Zt[o].basePrice*Game.priceIncrease**Math.max(0,Zt[o].amount-1-Zt[o].free),t=Game.modifyBuildingPrice(Zt[o],t),t=Math.ceil(t);break}const o=De;return Ro(),qo(),o!==De&&Ro(),[Xe-Game.cookiesPs,t]}(t),n=ue(o/(e+Game.cookiesPs)),i=pe(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${pe(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Dn().picker&&void 0!==Dn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(_n).forEach((t=>{if("Favourite"===t){if(0!==de.length&&e.FavouriteSettings>0&&(o.appendChild(Xn(t,_n[t])),e.Header[t]))for(let e=0;e{const n=Xn(t,Qn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))}))})):Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Nn(cn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Vn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){$n("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,V=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ue(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ce=`${Game.OnAscend?"Ascending! ":""}${pe(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ce;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Vt?Vt.wrath?`[W${Math.ceil(Vt.life/Game.fps)}]`:`[G${Math.ceil(Vt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(_t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ce;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Vt&&(t=!0,Vt.wrath?e+=`[W${Math.ceil(Vt.life/Game.fps)}]`:e+=`[G${Math.ceil(Vt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(_t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${pe(Game.prestige)}.
(CpS +${pe(Game.prestige)}%)`,n+='
'),n+=Oe<1?"Ascending now would grant you no prestige.":Oe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${pe(Oe)} prestige levels (+${pe(Oe)}% CpS)
and ${pe(Oe)} heavenly chips to spend.`,n+='
',n+=`You need ${pe(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Qt} to reach the next level and you were making ${pe(ht,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Jn(){wn(),an(),sn(),r=Object.keys(Game.mods).length,w=document.createElement("style"),w.type="text/css",w.id="CMCSS",document.head.appendChild(w),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=E+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",W)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",O)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",O)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",O)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{go(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=ho("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:D},{id:"CMTimerBarGCBar",color:j}]);e.appendChild(t);const o=ho("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:D},{id:"CMTimerBarRenBar",color:L}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=N+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(O,"Better than the best PP of a building option")),e.appendChild(o(F,"Same as the best PP building option")),e.appendChild(o(W,"Within the top 10 of PP for buildings")),e.appendChild(o(L,"Within the top 20 of PP for buildings")),e.appendChild(o(A,"Within the top 30 of PP for buildings")),e.appendChild(o(j,"Outside of the top 30 of PP for buildings")),e.appendChild(o(D,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=E+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",O)),e.appendChild(o("CMUpgradeBarGreen",F)),e.appendChild(o("CMUpgradeBarYellow",W)),e.appendChild(o("CMUpgradeBarOrange",L)),e.appendChild(o("CMUpgradeBarRed",A)),e.appendChild(o("CMUpgradeBarPurple",j)),e.appendChild(o("CMUpgradeBarGray",D)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),I[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){On()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Wn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),An()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){_=1},l("backgroundLeftCanvas").onmouseout=function(){_=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{X[e]=0}))},Kn(),An(),Game.CalculateGains(),Nn(),z=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Zn={init:function(){xn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Jn(),Game.registerHook("draw",Oo),Game.registerHook("logic",Pn),Game.registerHook("click",Fo),xn=!1)},load:function(e){const t=JSON.parse(e);wn(),void 0!==t.favouriteSettings&&(de=t.favouriteSettings),Nn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:kn};Game.registerMod("CookieMonster",Zn)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index e5144d21..650a96e1 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","CycliusDateAtBeginLoop","CenturyDateAtBeginLoop","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CacheAverageCookiesFromClicks","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","CMDrawHook","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","reduce","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","MissingAchievements","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoopHook","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","calcSum","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","achievs","values","parentElement","achievsCrate","AchievementsById","mouseDown","setOnCrate","tags","neuromancy","sesame","descFunc","tagsStr","CrateTooltipLockedAchievements","AddMissingAchievements","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAIF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAIAC,EAIAC,EAMAC,EAjCAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GA4BtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","CycliusDateAtBeginLoop","Date","now","CenturyDateAtBeginLoop","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CacheAverageCookiesFromClicks","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","CMDrawHook","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","reduce","CacheAvgCPS","currDate","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","MissingAchievements","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","CurrentSlot","godsById","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoopHook","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","calcSum","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","achievs","values","parentElement","achievsCrate","AchievementsById","mouseDown","setOnCrate","tags","neuromancy","sesame","descFunc","tagsStr","CrateTooltipLockedAchievements","AddMissingAchievements","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAIF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAcAC,EAjCAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAalBC,EAAyBC,KAAKC,MAI9BC,EAAyBF,KAAKC,MAWlC,MAAME,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC,EACAC,EACAC,EACAC,EACAC,EACAE,EACAC,GAUIE,EAAc,CAClB,CAAC,6BAA8B,oCAAqC,SACpE,CACE,2CACA,6EACA,SAEF,CACE,6BACA,qPACA,SAEF,CACE,8BACA,kEACA,SAEF,CACE,kCACA,2PACA,SAEF,CACE,0BACA,gLACA,SAEF,CACE,2BACA,uOACA,SAEF,CACE,4BACA,2CACA,SAEF,CACE,8BACA,uHACA,UAGEC,EAAwB,GAM9B,IAUIC,EACAC,EAXAC,EAAsB,EACtBC,GAAmB,EAOnBC,EAA4B,GAQ5BC,EAAmB,EACnBC,EAAsB,EACtBC,EAA4B,EAMhC,MAAMC,EAAc,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,MAC9CC,EAAa,CAAC,EAAG,EAAG,GAAI,GAAI,IAK5BC,GAAc,CAClBC,OAAQrB,EACRsB,iBAAkBhB,EAClBiB,eAAgBxB,EAChByB,KAAMtB,EACNuB,eAAgB3B,EAChB4B,aAAcrB,GAMhB,IAOIsB,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GAdAC,GAAW,GAKXC,GAAQ,GAcRC,GAAoB,GAiBxB,SAASC,GAA4BC,EAAKC,EAAQC,GAChD,MAAMC,EAAW9E,EAAU+E,cAAgB,EAC3C,GAAIJ,IAAQK,IACV,MAAO,WAET,QAAmB,IAARL,EACT,MAAO,IAET,GAAwB,IAApB3E,EAAUiF,MACZ,OAAOrD,EAAgBsD,SAASP,EAAKC,GAEvC,GAAIO,OAAOC,SAAST,GAAM,CACxB,GAAIA,EAAM,EACR,MAAO,IAAID,GAA4B7hB,KAAK0N,IAAIoU,MAElD,IAAIU,EAAS,GACb,GAAY,IAARV,EACF,OAAOA,EAAI5hB,WAEb,GAAI4hB,EAAM,MAASA,EAAM3E,EAAUsF,YAGjC,OAF8BD,EAA1BrF,EAAUuF,eAAyBZ,EAAIa,eAAe,MAC5Cb,EAAIa,eAAe,MAC1BH,EAET,GAAyB,IAApBrF,EAAUiF,QAAgBJ,GAAsB,IAAXA,EAExCQ,EAASV,EAAIc,cAAcX,GAAU/hB,WAAW7B,QAAQ,IAAK,SACxD,CACL,MAAMwkB,EAAcf,EAAIc,gBAAgB1iB,WAClC4iB,EAAwB9iB,KAAKkE,MACjC2e,EAAYrH,MAAMqH,EAAYloB,QAAQ,KAAO,GAAK,GAEpD6nB,GAAUV,EAAMQ,OAAO,KAA6B,EAAxBQ,IAA8BC,QACxDd,GAGuB,IAApB9E,EAAUiF,QAAgBJ,GAAsB,IAAXA,EAEpCF,GAAO,KAAQA,EAAMQ,OAAO,KAAqB,EAAhB9E,EAAO9lB,QAC1C8qB,GAAU,IAAIhF,EAAOsF,KAChBN,EAASX,GAA4BC,EAAK,EAAG,GACtB,IAApB3E,EAAUiF,QAAgBJ,GAAsB,IAAXA,EAE3CF,GAAO,KAAQA,EAAMQ,OAAO,KAAyB,EAApB7E,EAAW/lB,QAC9C8qB,GAAU,IAAI/E,EAAWqF,KACpBN,EAASX,GAA4BC,EAAK,EAAG,GACtB,IAApB3E,EAAUiF,QAAgBJ,GAAsB,IAAXA,EAG7CF,GAAO,KACPA,EAAMQ,OAAO,KAAoC,EAA/B5E,EAAsBhmB,QAExC8qB,GAAU,IAAI9E,EAAsBoF,KAC/BN,EAASX,GAA4BC,EAAK,EAAG,IACtB,IAApB3E,EAAUiF,QAAgBJ,GAAsB,IAAXA,KAE/CQ,GAAU,IAA4B,EAAxBM,GAWlB,MARe,KAAXN,IAEFlqB,QAAQ0qB,IACN,2DAA2DlB,KAE7DU,EAASzD,EAAgBsD,SAASP,EAAKC,IAErC5E,EAAUuF,iBAAgBF,EAASA,EAAOnkB,QAAQ,IAAK,MACpDmkB,EAGT,OADAlqB,QAAQ0qB,IAAI,2DAA2DlB,KAChE/C,EAAgBsD,SAASP,EAAKC,GASvC,SAASkB,GAAWC,EAAMC,GACxB,IAAIC,EAAgBF,EACpB,GAAIA,IAASf,IAAU,OAAOe,EAC9B,GAAIA,EAAO,EAAG,MAAO,uBACrBE,EAAgBpjB,KAAKoL,KAAK8X,GAC1B,MAAMthB,EAAI5B,KAAKkE,MAAMkf,EAAgB,UAC/BtG,EAAI9c,KAAKkE,MAAOkf,EAAgB,SAAY,OAC5Ctf,EAAI9D,KAAKkE,MAAOkf,EAAgB,MAAS,MACzCxrB,EAAIoI,KAAKkE,MAAOkf,EAAgB,KAAQ,IACxCpf,EAAIhE,KAAKkE,MAAMkf,EAAgB,IACrC,IAAIvqB,EAAM,GACV,GAAIskB,EAAUkG,WAAY,CACxB,GAAID,EAAgB,SAAY,MAAO,iBACvCvqB,IAAW+I,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACP/I,IAAWikB,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPjkB,IAAWiL,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPjL,IAAWjB,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPiB,IAAQmL,EAAI,GAAK,IAAM,IAAMA,MACxB,CACL,GAAIof,EAAgB,OAClB,OAAOD,EAAa,kBAAoB,SAC1CtqB,GACE+I,EAAI,EACGA,GAAKuhB,EAAoB,IAANvhB,EAAU,QAAU,SAAY,KAAtD,KACA,GACN/I,GACEikB,EAAI,EAAOA,GAAKqG,EAAoB,IAANrG,EAAU,OAAS,QAAW,KAApD,KAA+D,IACrEjkB,EAAInB,OAAS,GAAKoM,EAAI,KACxBjL,GAAUiL,GAAKqf,EAAoB,IAANrf,EAAU,QAAU,SAAY,KAAtD,OACLjL,EAAInB,OAAS,GAAKE,EAAI,KACxBiB,GAAUjB,GAAKurB,EAAoB,IAANvrB,EAAU,UAAY,WAAc,KAA1D,MACTiB,GAAOmL,GAAKmf,EAAoB,IAANnf,EAAU,UAAY,WAAc,KAEhE,OAAOnL,EAQT,SAASyqB,GAAcJ,GACrB,IAAI7d,EACAke,EAWJ,OAVIL,GAAQ,GACgBK,EAAtBpG,EAAUkG,WAAmB,iBACrB,QACZhe,EAAQka,IAERgE,EAAON,GAAWC,GACF7d,EAAZ6d,EAAO,IAAaxD,EACfwD,EAAO,GAAYzD,EACfD,GAER,CAAE+D,OAAMle,SAMjB,IAuCIme,GAoCAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GAEAC,GAEAC,GAuBAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAxIAC,GAAkB,EAClBC,GAAmB,EACnBC,GAAuB,EACvBC,GAAyB,EACzBC,GAAa,EACbC,GAAmB,EACnBC,GAAwB,EACxBC,GAAmB,EACnBC,GAAyB,EACzBC,GAA8B,EAC9BC,GAAe,EACfC,GAAqB,EACrBC,GAAe,EACfC,GAAuB,EACvBC,GAA6B,EAC7BC,GAAoC,EACpCC,GAAyB,EACzBC,GAAwB,EAExBC,GAAmB,EAEnBC,GAAe,EACfC,GAAe,EACfC,GAAkB,EAElBC,GAAgB,GAChBC,GAAiB,GACjBC,GAAkB,GAElBC,GAAsB,EACtBC,GAAuB,EACvBC,GAAwB,CAAC,EAAG,MAE5BC,GAA2B,EAC3BC,GAAyB,EAEzBC,GAAgB,GAEhBC,GAAqB,GAGrBC,GAAuB,GACvBC,GAA+B,GAC/BC,GAA8B,GAE9BC,GAAqB,EACrBC,GAAyB,EACzBC,GAAsB,GACtBC,GAA0B,EAC1BC,GAA8B,EAC9BC,GAA2B,GAC3BC,GAA2B,EAC3BC,GAA+B,EAC/BC,GAA4B,GAC5BC,GAAgC,EAChCC,GAAoC,EACpCC,GAAiC,GAEjCC,GAAyB,EACzBC,GAAwB,EAExBC,GAA4B,GAC5BC,GAAwB,GAExBC,GAA4B,EAG5BC,GAAa,EAEbC,GAAe,GAEfC,GAA0B,GAE1BC,GAAqB,EA6BrBC,GAAY,CACdC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACV9rB,EAAG,CAAC,EAAG,EAAG,GACV+rB,GAAI,CAAC,EAAG,EAAG,IAMTC,GAAa,GACbC,GAAc,GACdC,GAAkB,GAuBtB,SAASC,GAAYC,GACnB,IAAIzvB,EAAI,EAWR,OATE4iB,KAAK8M,YAAYjF,IAAenpB,OAASmuB,GACzC7M,KAAK8M,YAAYhF,IAAgBppB,OAASmuB,IAE1CzvB,EAAI,GAEqC,oBAAzC4iB,KAAK8M,YAAYjF,IAAenpB,MACU,oBAA1CshB,KAAK8M,YAAYhF,IAAgBppB,OAEjCtB,GAAK,IACAA,EAWT,SAAS2vB,KACP,IAAIC,EAAW,IAEf,OADAA,GAAY,EAAIJ,GAAY,mBACrBI,EAST,SAASC,GAAOvuB,EAAMwuB,GACpB,YAA6B,IAAlB/E,GAAQzpB,QACK,IAARwuB,EAAsB,EAAIA,EAEnC/E,GAAQzpB,GASjB,SAASyuB,GAAON,GACd,MAAMO,EAAKV,GAAYG,GACvB,OACyB,IAAvB7M,KAAKqN,eACQ,aAAZD,EAAGE,MAAmC,YAAZF,EAAGG,OAGzBH,EAAKA,EAAGI,OADN,EAYX,SAASC,GAAUZ,GACjB,GAAI7M,KAAK0N,OAAQ,MACoBnzB,IAA/BkyB,GAAWkB,OAAOC,WACpBnB,GAAWkB,OAAOC,SAAW5N,KAAK6N,QAAQF,OAAOC,UAEnD,MAAME,EAAMrB,GAAWkB,OAAOC,SAASG,KAAKlB,GAC5C,GAAI9E,KAAY+F,EAAIE,GAClB,OAAO,EAET,GAAIhG,KAAY8F,EAAIE,GAClB,OAAO,EAET,GAAI/F,KAAY6F,EAAIE,GAClB,OAAO,EAGX,OAAO,EAgBT,SAASC,GAAuBC,EAAUC,GACxC,IAAIC,EAAgBD,EAapB,GAZIhB,GAAO,oBAAmBiB,GAAiB,KAC3CjB,GAAO,sBAAqBiB,GAAiB,KAC7CjB,GAAO,iBAAgBiB,GAAiB,KACxCjB,GAAO,qBAAoBiB,GAAiB,KAC5CjB,GAAO,kBAAiBiB,GAAiB,KAE7CA,GAAiB,EAAoC,IAAhCxB,GAAY,kBAC7B5M,KAAKqO,QAAQ,wBAAuBD,GAAiB,KACrDpO,KAAKqO,QAAQ,mBAAkBD,GAAiB,KAChDpO,KAAKqO,QAAQ,mBAAkBD,GAAiB,MAChDF,EAASI,SAAWnB,GAAOe,EAASI,QAAQ5vB,QAAO0vB,GAAiB,KACxEA,GAAiBnB,GAAO,gBACpBR,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASf,GAAU,YACV,IAAXe,EAAcJ,GAAiB,IACf,IAAXI,EAAcJ,GAAiB,IACpB,IAAXI,IAAcJ,GAAiB,KAE1C,OAAOA,EAkBT,SAASK,GACPC,EACAC,EACAhlB,EACAilB,EACAC,EACAC,GAIA,MAAMC,OAA4B,IAAVD,EAAwB,EAAIA,EACpD,IAAIE,EAAWH,EACXI,EAAiBtlB,EACjBulB,EAAO,GACK,IAAZL,IAAeG,EAAWC,GACzBJ,IAAQG,EAAWhP,KAAKmP,SAC7B,IAAK,IAAIh1B,EAAI,EAAGA,EAAI60B,EAAU70B,IAAK,CACjC,IAAIg0B,EACFQ,EAAY3O,KAAKoP,eAAiB1sB,KAAK6D,IAAI,EAAG0oB,EAAiBL,GACjET,EAAQY,EACJ/O,KAAKqP,oBAAoBX,EAAOP,GAChCF,GAAuBS,EAAOP,GAClCA,EAAQzrB,KAAKoL,KAAKqgB,GAClB,MAAMnB,EAAW+B,EACbL,EAAMY,oBACNvC,KACJoB,EAAQzrB,KAAKkE,MAAMunB,EAAQnB,GACvBiC,EAAiB,IACnBC,GAAQf,EACRc,GAAkB,GAGtB,OAAOC,EAmBT,SAASK,KACP,IAAI/vB,EAASwgB,KAAKmP,QA0ClB,GAzCqB,IAAjBnP,KAAKwP,QACPtM,EAAsB1jB,EAEtBA,EAAS0jB,EAEI,IAAX1jB,EAAcA,EAASoqB,GACP,KAAXpqB,EAAeA,EAASqqB,GACb,MAAXrqB,IAAgBA,EAASsqB,IAEb,IAAjB9J,KAAKwP,QACuB,IAA1B3P,EAAU4P,YACZ9xB,OAAO6C,KAAKhB,GAAQkwB,SAASv1B,IAC3BoR,EAAE,eAAeyU,KAAK6N,QAAQ1zB,GAAG6zB,MAAM5rB,MAAM2F,MAC3C8X,EAAU,SAASrgB,EAAOrF,GAAG4N,YAGjCpK,OAAO6C,KAAKwf,KAAK6N,SAAS6B,SAASv1B,IACjCoR,EAAE,eAAeyU,KAAK6N,QAAQ1zB,GAAG6zB,MAAM5rB,MAAMutB,eAAe,aAGrC,IAAlB3P,KAAKwP,SACd7xB,OAAO6C,KAAKopB,IAAe8F,SAASv1B,IAClC,MAAMwlB,EAAIK,KAAK6N,QAAQ1zB,GACvBoR,EAAE,eAAeoU,EAAEqO,MAAM5rB,MAAM2F,MAAQ,GASvCwD,EAAE,eAAeoU,EAAEqO,MAAMrW,UAAY4M,GACnCkK,GAAa9O,EAAGA,EAAEgP,UAAWhP,EAAEkP,OAAQlP,EAAEiP,KAAM5O,KAAKmP,QAAS,OAQ9C,IAAjBnP,KAAKwP,SAAiB3P,EAAU+P,cAAe,CACjD,IAAIC,EAC4B,IAA5BhQ,EAAU+P,eACZC,EAAMlyB,OAAO6C,KAAKopB,IAAetrB,KAAKwxB,IACpC,MAAMnQ,EAAIiK,GAAckG,GAGxB,OAFAnQ,EAAEjhB,KAAOoxB,EACTnQ,EAAEqO,GAAKhO,KAAK6N,QAAQiC,GAAG9B,GAChBrO,KAGTkQ,EAAIE,MAAK,SAAU/sB,EAAGP,GACpB,OAAOggB,EAAgBplB,QAAQ2F,EAAE+E,OAC/B0a,EAAgBplB,QAAQoF,EAAEsF,OACxB,EACA0a,EAAgBplB,QAAQ2F,EAAE+E,OAAS0a,EAAgBplB,QAAQoF,EAAEsF,QAE7D/E,EAAEyI,GAAKhJ,EAAEgJ,IADR,EAGD,MAE+B,IAA5BoU,EAAU+P,gBACnBC,EAAMlyB,OAAO6C,KAAKhB,GAAQlB,KAAKwxB,IAC7B,MAAMnQ,EAAIngB,EAAOswB,GAGjB,OAFAnQ,EAAEjhB,KAAOoxB,EACTnQ,EAAEqO,GAAKhO,KAAK6N,QAAQiC,GAAG9B,GAChBrO,KAGTkQ,EAAIE,MAAK,SAAU/sB,EAAGP,GACpB,OAAOggB,EAAgBplB,QAAQ2F,EAAE+E,OAC/B0a,EAAgBplB,QAAQoF,EAAEsF,OACxB,EACA0a,EAAgBplB,QAAQ2F,EAAE+E,OAAS0a,EAAgBplB,QAAQoF,EAAEsF,QAE7D/E,EAAEyI,GAAKhJ,EAAEgJ,IADR,EAGD,MAIR,IAAK,IAAIpH,EAAI,EAAGA,EAAIwrB,EAAIz1B,OAAQiK,IAC9B2b,KAAK6N,QAAQgC,EAAIxrB,GAAG3F,MAAM6M,EAAEnJ,MAAM4tB,QAAU,GAAG3rB,EAAI,KAAKA,EAAI,QAEzD,CACL,MAAMwrB,EAAMlyB,OAAO6C,KAAKopB,IAAetrB,KAAKwxB,IAC1C,MAAMnQ,EAAIiK,GAAckG,GAGxB,OAFAnQ,EAAEjhB,KAAOoxB,EACTnQ,EAAEqO,GAAKhO,KAAK6N,QAAQiC,GAAG9B,GAChBrO,KAETkQ,EAAIE,MAAK,CAAC/sB,EAAGP,IAAMO,EAAEgrB,GAAKvrB,EAAEurB,KAC5B,IAAK,IAAI3pB,EAAI,EAAGA,EAAIwrB,EAAIz1B,OAAQiK,IAC9B2b,KAAK6N,QAAQgC,EAAIxrB,GAAG3F,MAAM6M,EAAEnJ,MAAM4tB,QAAU,GAAG3rB,EAAI,KAAKA,EAAI,KAgBlE,SAAS4rB,KAEP,GAAIpQ,EAAUqQ,YAAc,EAAG,CAC7B,IAAIC,EAAO,EACPC,EAAQ,EACRC,EAAS,EACTC,EAAS,EACTC,EAAM,EACNC,EAAS,EACTC,EAAO,EAEX9yB,OAAO6C,KAAKwf,KAAK0Q,iBAAiBhB,SAASv1B,IACzC,MAAMw2B,EAAK3Q,KAAK0Q,gBAAgBv2B,GAChC,IAAIy2B,GAAc,EAClB,IAAK,IAAIC,EAAI,EAAGA,EAAItlB,EAAE,UAAUpR,KAAK22B,WAAW12B,OAAQy2B,GAAK,EAC3D,IACuE,IAArEtlB,EAAE,UAAUpR,KAAK22B,WAAWD,GAAGj2B,UAAUyC,QAAQ0kB,GACjD,CACAxW,EAAE,UAAUpR,KAAK22B,WAAWD,GAAGj2B,UAC7BmnB,EAAgBqI,GAAcuG,EAAGjyB,MAAMqJ,MACzC6oB,GAAc,EACd,MAGJ,IAAKA,EAAa,CAChB,MAAMG,EAAMt4B,SAAS4D,cAAc,OACnC00B,EAAI3uB,MAAMkG,MAAQ,OAClByoB,EAAI3uB,MAAMmG,OAAS,OACnBwoB,EAAIn2B,UAAYmnB,EAAgBqI,GAAcuG,EAAGjyB,MAAMqJ,MACvDwD,EAAE,UAAUpR,KAAK4b,YAAYgb,GAE3B3G,GAAcuG,EAAGjyB,MAAMqJ,QAAUia,EAAYmO,GAAQ,EAChD/F,GAAcuG,EAAGjyB,MAAMqJ,QAAUka,EAAamO,GAAS,EACvDhG,GAAcuG,EAAGjyB,MAAMqJ,QAAUma,EAAcmO,GAAU,EACzDjG,GAAcuG,EAAGjyB,MAAMqJ,QAAUoa,EAAcmO,GAAU,EACzDlG,GAAcuG,EAAGjyB,MAAMqJ,QAAUqa,EAAWmO,GAAO,EACnDnG,GAAcuG,EAAGjyB,MAAMqJ,QAAUsa,EAAcmO,GAAU,EACzDpG,GAAcuG,EAAGjyB,MAAMqJ,QAAUua,IAAYmO,GAAQ,MAGhEllB,EAAE,oBAAoB/N,YAAc2yB,EACpC5kB,EAAE,qBAAqB/N,YAAc4yB,EACrC7kB,EAAE,sBAAsB/N,YAAc6yB,EACtC9kB,EAAE,sBAAsB/N,YAAc8yB,EACtC/kB,EAAE,mBAAmB/N,YAAc+yB,EACnChlB,EAAE,sBAAsB/N,YAAcgzB,EACtCjlB,EAAE,oBAAoB/N,YAAcizB,EAGtC,MAAMZ,EAAM,GAGZ,IAAK,IAAIxrB,EAAI,EAAGA,EAAI2b,KAAK0Q,gBAAgBt2B,OAAQiK,GAAK,EAAG,CACvD,MAAMsb,EAAI,GACVA,EAAEjhB,KAAOshB,KAAK0Q,gBAAgBrsB,GAAG3F,KACjCihB,EAAEwO,MAAQnO,KAAK0Q,gBAAgBrsB,GAAGsqB,UAClChP,EAAElU,GAAK2e,GAAczK,EAAEjhB,MAAM+M,GAC7BokB,EAAI5zB,KAAK0jB,GAGPE,EAAUmR,aACZnB,EAAIE,MAAK,SAAU/sB,EAAGP,GACpB,OAAOggB,EAAgBplB,QAAQ2F,EAAE+E,OAAS0a,EAAgBplB,QAAQoF,EAAEsF,OAChE,EACA0a,EAAgBplB,QAAQ2F,EAAE+E,OAAS0a,EAAgBplB,QAAQoF,EAAEsF,QAE7D/E,EAAEyI,GAAKhJ,EAAEgJ,IADR,EAGD,KAGNokB,EAAIE,MAAK,CAAC/sB,EAAGP,IAAMO,EAAEmrB,MAAQ1rB,EAAE0rB,QAGjC,MAAM8C,EAAc,SAAUC,EAAMC,GAClC,OAAOD,EAAKE,WAAW91B,GAAMA,EAAEoD,OAASyyB,EAAQzyB,QAElD,IAAK,IAAI2F,EAAI,EAAGA,EAAI2b,KAAK0Q,gBAAgBt2B,OAAQiK,GAAK,EACpDkH,EAAE,UAAUlH,KAAKjC,MAAMivB,MACrBJ,EAAYpB,EAAK7P,KAAK0Q,gBAAgBrsB,IAAM,EAYlD,SAASitB,KACP,OAAIzR,EAAU0R,QACLrK,GAEmB,IAAxBrH,EAAU2R,UACLxR,KAAKyR,WAAa,EAAIzR,KAAK0R,WAER,IAAxB7R,EAAU2R,UAEVxR,KAAKyR,WACJvH,IAA4B,EAA6B,IAAzBC,KAGJ,OAA7BF,GAAsB,IAEE,IAAxBpK,EAAU2R,WACwC,IAAlDxR,KAAK2R,UAAU1H,GAAsB,IAAIzvB,KAGvCwlB,KAAKyR,WACwB,EAA3BvH,GAAgCC,IAC/B,EAA6B,IAAzBA,KAIXnK,KAAKyR,WACJvH,GAA2BC,IACzB,EAA6B,IAAzBA,KAaX,SAASyH,KACP,OAA4B,IAAxB/R,EAAU2R,UACLzH,GAEmB,IAAxBlK,EAAU2R,UACLvH,GAAsB,GAExB,EAcT,SAAS4H,GAAY7D,EAAItvB,EAAMozB,GAC7B,MAAMC,EAAWt5B,SAAS4D,cAAc,OACxC01B,EAAS/D,GAAKA,EACd+D,EAAS3vB,MAAMmG,OAAS,OACxBwpB,EAAS3vB,MAAM4vB,OAAS,WACxBD,EAAS3vB,MAAMgI,SAAW,WAE1B,MAAM2mB,EAAMt4B,SAAS4D,cAAc,OACnC00B,EAAI3uB,MAAMkG,MAAQ,OAClByoB,EAAI3uB,MAAMmG,OAAS,OACnBwoB,EAAI3uB,MAAM4vB,OAAS,OACnBjB,EAAI3uB,MAAMgI,SAAW,WACrB2mB,EAAI3uB,MAAMqC,KAAO,MACjBssB,EAAI3uB,MAAMsC,IAAM,MAChBqsB,EAAI3uB,MAAMkI,MAAQ,MAClBymB,EAAI3uB,MAAMkW,OAAS,MAEnB,MAAM9d,EAAO/B,SAAS4D,cAAc,QACpC7B,EAAK4H,MAAMqV,QAAU,eACrBjd,EAAK4H,MAAMuW,UAAY,QACvBne,EAAK4H,MAAM6vB,SAAW,OACtBz3B,EAAK4H,MAAMkG,MAAQ,QACnB9N,EAAK4H,MAAM8vB,YAAc,MACzB13B,EAAK4H,MAAM+vB,cAAgB,WAC3B33B,EAAKgD,YAAckB,EACnBqyB,EAAIhb,YAAYvb,GAEhB,IAAK,IAAIL,EAAI,EAAGA,EAAI23B,EAAK13B,OAAQD,IAAK,CACpC,MAAMi4B,EAAW35B,SAAS4D,cAAc,QACxC+1B,EAASpE,GAAK8D,EAAK33B,GAAG6zB,GACtBoE,EAAShwB,MAAMqV,QAAU,eACzB2a,EAAShwB,MAAMmG,OAAS,OACxB6pB,EAAShwB,MAAM+vB,cAAgB,WAC/BC,EAAShwB,MAAMuW,UAAY,SACvBmZ,EAAK13B,OAAS,IAAMD,IACtBi4B,EAAShwB,MAAMiwB,qBAAuB,OACtCD,EAAShwB,MAAMkwB,wBAA0B,aAEd,IAAlBR,EAAK33B,GAAG4N,QACjBqqB,EAASx3B,UAAYmnB,EAAgB+P,EAAK33B,GAAG4N,OAE/CgpB,EAAIhb,YAAYqc,GAGlB,MAAMG,EAAQ95B,SAAS4D,cAAc,QAQrC,OAPAk2B,EAAMvE,GAAK,GAAGA,QACduE,EAAMnwB,MAAMowB,WAAa,MACzBD,EAAMnwB,MAAM+vB,cAAgB,WAC5BpB,EAAIhb,YAAYwc,GAEhBR,EAAShc,YAAYgb,GAEdgB,EAOT,SAASU,GAA2BC,GAClC,GAAsB,OAAlBnnB,EAAE,YAAsB,CAC1B,MAAM/Q,EAAO+Q,EAAE,YAAYvO,WAAWA,WAAW8zB,WAAW,GACtD6B,EAAQpnB,EAAE,YAAYvO,WAAWA,WAAW8zB,WAAW,GACvDrlB,EAAKF,EAAE,YAAYvO,WAAWA,WAAW8zB,WAAW,GACpDlL,EAAOra,EAAE,YAAYvO,WAAWA,WAAW8zB,WAAW,GAEtD32B,EAAIu4B,EACJE,EAASp4B,EAAKub,YAAYtd,SAAS4D,cAAc,OACvDu2B,EAAO7c,YACLtd,SAASqgB,eACP,IAAuB,IAApB3e,EAAEkD,QAAQ,KAAclD,EAAE04B,UAAU,EAAG14B,EAAEkD,QAAQ,MAAQlD,QAInDy4B,EAAO7c,YAAYtd,SAAS4D,cAAc,SAClDzB,UAAYknB,aAEjB8Q,EAAO7c,YAAYtd,SAASqgB,eAAe,MAC3Cte,EAAKs4B,UAAU1wB,MAAM2wB,YAAc,MACnCJ,EAAM5c,YAAYtd,SAAS4D,cAAc,OACzCs2B,EAAMG,UAAU1wB,MAAM2wB,YAAc,MACpCtnB,EAAGsK,YAAYtd,SAAS4D,cAAc,OACtCoP,EAAGqnB,UAAU1wB,MAAM2wB,YAAc,MACjCnN,EAAK7P,YAAYtd,SAAS4D,cAAc,OACxCupB,EAAKkN,UAAU1wB,MAAM2wB,YAAc,OAoEvC,SAASC,KACP,GAAyB,IAArBnT,EAAUoT,QAAgBrJ,IAAkC,IAAjB5J,KAAKwP,QAAe,CACjE,IAAI0D,EAAQ,EACZv1B,OAAO6C,KAAKopB,IAAe8F,SAASv1B,IAClC,IAmBIg5B,EAnBA3zB,EAASwgB,KAAKmP,QACG,IAAjBnP,KAAKwP,QACPvM,EAAmBzjB,EAEnBA,EAASyjB,EAEI,IAAXzjB,IAAcA,EAASoqB,IACZ,KAAXpqB,IAAeA,EAASqqB,IACb,MAAXrqB,IAAgBA,EAASsqB,IAC7BoJ,GAAS,EACT3nB,EAAE,YAAYvO,WAAWA,WAAW8zB,WAAW,GAAGA,WAChDoC,GACApC,WAAW,GAAGtzB,YAAcwiB,KAAK6N,QAAQ1zB,GAAG00B,OAC9CtjB,EAAE,YAAYvO,WAAWA,WAAW8zB,WAAW,GAAGA,WAChDoC,GACA11B,YAAc+mB,GAA4B/kB,EAAOrF,GAAGw4B,MAAO,GAC7DpnB,EAAE,YAAYvO,WAAWA,WAAW8zB,WAAW,GAAGA,WAChDoC,GACAt4B,UAAYknB,EAAgBtiB,EAAOrF,GAAG4N,MAGtCorB,EADEtT,EAAUuT,cACDzN,GAAWjjB,KAAKC,MAAMnD,EAAOrF,GAAGsR,KAC7B8Y,GAA4B7hB,KAAKC,MAAMnD,EAAOrF,GAAGsR,IAAK,GACtEF,EAAE,YAAYvO,WAAWA,WAAW8zB,WAAW,GAAGA,WAChDoC,GACA11B,YAAc21B,EAChB,MAAME,EAAarN,IAChBhG,KAAK6N,QAAQ1zB,GAAGm5B,WAAatT,KAAKuT,QAAU3B,OAC3CN,MAEJ/lB,EAAE,YAAYvO,WAAWA,WAAW8zB,WAAW,GAAGA,WAChDoC,GACAt4B,UAAYknB,EAAgBuR,EAAWtrB,MAEnB,UAApBsrB,EAAWpN,MACXjG,KAAKuT,QAAUvT,KAAK6N,QAAQ1zB,GAAGm5B,UAE/B/nB,EAAE,YAAYvO,WAAWA,WAAW8zB,WAAW,GAAGA,WAChDoC,GACA11B,YAAc,GAAG61B,EAAWpN,oBAE9B1a,EAAE,YAAYvO,WAAWA,WAAW8zB,WAAW,GAAGA,WAChDoC,GACA11B,YAAc61B,EAAWpN,SAWnC,SAASuN,KACPxT,KAAKyT,WAAWtrB,OAAOG,MAAQ0X,KAAKyT,WAAWtrB,OAAOmR,WAAWxU,YACjEkb,KAAKyT,WAAWtrB,OAAOI,OACrByX,KAAKyT,WAAWtrB,OAAOmR,WAAWvU,aACpCib,KAAK0T,eAAevrB,OAAOG,MACzB0X,KAAK0T,eAAevrB,OAAOmR,WAAWxU,YACxCkb,KAAK0T,eAAevrB,OAAOI,OACzByX,KAAK0T,eAAevrB,OAAOmR,WAAWvU,aAY1C,SAAS4uB,KAEgB,IAArB9T,EAAUoT,QACa,IAAvBpT,EAAU+T,UACgB,IAA1B/T,EAAUgU,aAEVtoB,EAAE,YAAYnJ,MAAMkW,OAAS/M,EAAE,cAAcnJ,MAAMmG,OACnDgD,EAAE,QAAQnJ,MAAMkW,OAAS,GACvB0M,OAAOzZ,EAAE,cAAcnJ,MAAMmG,OAAOxH,QAAQ,KAAM,KAAO,QAE7B,IAArB8e,EAAUoT,QACnB1nB,EAAE,YAAYnJ,MAAMkW,OAAS,MAC7B/M,EAAE,QAAQnJ,MAAMkW,OAAS,QACO,IAAvBuH,EAAU+T,UAA4C,IAA1B/T,EAAUgU,YAC/CtoB,EAAE,QAAQnJ,MAAMkW,OAAS/M,EAAE,cAAcnJ,MAAMmG,OAG/CgD,EAAE,QAAQnJ,MAAMkW,OAAS,MAGA,IAAvBuH,EAAU+T,UAA4C,IAA1B/T,EAAUgU,YACxCtoB,EAAE,eAAenJ,MAAMsC,IAAM6G,EAAE,cAAcnJ,MAAMmG,OAEnDgD,EAAE,eAAenJ,MAAMsC,IAAM,GAG/B8uB,KAMF,SAASM,KACoB,IAAvBjU,EAAU+T,SAAgBroB,EAAE,cAAcnJ,MAAMqV,QAAU,GACzDlM,EAAE,cAAcnJ,MAAMqV,QAAU,OACrCkc,KAmPF,SAASI,KACPzL,GAAkBtI,KAAKgU,WACvBzL,GAAmBvI,KAAKiU,YAS1B,SAASC,GAAgBC,GACvB,MAAMxD,EAAK3Q,KAAKoU,aAAaD,GACvBE,EAAM,GAEZ,OADAA,EAAI31B,KAAOiyB,EAAGjyB,KACP21B,EAUT,SAASC,GAAoB3D,GAC3B,IAAI4D,EAAO,EAoBX,GAnBA52B,OAAO6C,KAAKmwB,EAAG6D,gBAAgB9E,SAASv1B,KAEnC6lB,KAAKyU,MAAM9D,EAAG6D,eAAer6B,GAAGozB,MAAMmH,SACvCvH,GAAOwD,EAAG6D,eAAer6B,GAAGuE,QAE5B61B,GAAQ,MAEZ52B,OAAO6C,KAAKmwB,EAAGgE,WAAWjF,SAASv1B,IACjC,GAAIgzB,GAAOwD,EAAGgE,UAAUx6B,GAAGuE,MAAO,CAChC,MAAMk2B,EAAMjE,EAAGgE,UAAUx6B,GACrBy6B,EAAIC,aAAan2B,OAASiyB,EAAGjyB,KAC/B61B,GAAQ,EAAI,IAAOK,EAAIE,aAAajG,OAC7B+F,EAAIE,aAAap2B,OAASiyB,EAAGjyB,OACpC61B,GAAQ,EAAI,KAAQK,EAAIC,aAAahG,YAGvC8B,EAAGrC,SAAWnB,GAAOwD,EAAGrC,QAAQ5vB,QAAO61B,GAAQ,MAC/C5D,EAAGoE,SAAW5H,GAAOwD,EAAGoE,QAAQr2B,QAClC61B,GAAQ,EAAgC,IAA5B9H,GAAWuI,QAAQnG,QAAiB,GAAK8B,EAAG3C,GAAK,KACnB,iBAAjC2C,EAAG6D,eAAeS,YACR,IAAftE,EAAGuE,SAAiB/H,GAAOwD,EAAG6D,eAAeS,WAAWv2B,MAC1D,OAAQshB,KAAKC,YACX,QACEsU,GAAQ,EACR,MACF,KAAK,EACHA,GAAQ,KACR,MACF,KAAK,EACHA,GAAQ,KACR,MACF,KAAK,EACHA,GAAQ,KAKhB,OAAOA,EAiBT,SAASY,GAAoBzC,GAC3B,MAAM/B,EAAK3Q,KAAK6N,QAAQ6E,GAClB2B,EAAM,GA2FZ,MA1FgB,WAAZ1D,EAAGjyB,KACL21B,EAAIe,IAAM,SAAUhI,GAClB,IAAI9rB,EAAM,EACN6rB,GAAO,sBAAqB7rB,GAAO,IACnC6rB,GAAO,qBAAoB7rB,GAAO,GAClC6rB,GAAO,qBAAoB7rB,GAAO,IAClC6rB,GAAO,sBAAqB7rB,GAAO,IACnC6rB,GAAO,yBAAwB7rB,GAAO,IACtC6rB,GAAO,yBAAwB7rB,GAAO,IACtC6rB,GAAO,wBAAuB7rB,GAAO,IACrC6rB,GAAO,wBAAuB7rB,GAAO,IACrC6rB,GAAO,uBAAsB7rB,GAAO,IACpC6rB,GAAO,uBAAsB7rB,GAAO,IACxC,IAAIizB,EAAO,EACP/P,EAAM,EAQV,OAPA7mB,OAAO6C,KAAKisB,IAAYiD,SAASv1B,IACJ,WAAvBsyB,GAAWtyB,GAAGuE,OAAmB8lB,GAAOiI,GAAWtyB,GAAG00B,WAE5DvtB,GAAOkjB,EACP+P,GAAQD,GAAoBlH,GAC5BmH,GAAQvU,KAAKqV,SAAS,UACtBd,GAAQtH,GAAO,aAEbjN,KAAKsV,WACH,GACAnI,GAAO,2BACLA,GAAO,kCACPA,GAAO,gBACT7rB,GACEizB,GAGa,YAAZ5D,EAAGjyB,KACZ21B,EAAIe,IAAM,SAAUhI,GAClB,IAAImH,EAAO,EAYX,GAXA52B,OAAO6C,KAAKwf,KAAKuV,kBAAkB7F,SAASv1B,IACtCgzB,GAAOnN,KAAKuV,iBAAiBp7B,MAAKo6B,GAAQ,MAE5CpH,GAAO,oCAAmCoH,GAAQ,GAClDpH,GAAO,yBAAwBoH,GAAQ,GACvCpH,GAAO,kBAAiBoH,GAAQ,GAEhCpH,GAAO,wBAAuBoH,GAAQ,MAE1CA,GAAQtH,GAAO,cAEXE,GAAO,cACT,IAAK,IAAIhzB,EAAI,EAAGA,EAAI6lB,KAAKwV,eAAeC,OAAOr7B,OAAQD,IACjDgzB,GAAOnN,KAAKwV,eAAeC,OAAOt7B,GAAGuE,QAAO61B,GAAQ,MAI5DA,GAAQD,GAAoBlH,GAE5B,IAAI9rB,EAAM,EACN6rB,GAAO,cAAa7rB,GAAmC,IAA5BmrB,GAAWuI,QAAQnG,QAC9C1B,GAAO,yBACT7rB,GAAmC,IAA5BmrB,GAAWuI,QAAQnG,QACxB1B,GAAO,gBAAe7rB,GAAkC,IAA3BmrB,GAAWiJ,OAAO7G,QAEnD,IAAIrK,EAAM,EASV,OARA7mB,OAAO6C,KAAKisB,IAAYiD,SAASv1B,IACJ,YAAvBsyB,GAAWtyB,GAAGuE,OAAoB8lB,GAAOiI,GAAWtyB,GAAG00B,WAG7D0F,GAAQ,EAAqC,IAAjC3H,GAAY,mBAA4BpI,EAEpD+P,GAAQvU,KAAKqV,SAAS1E,EAAGjyB,OAEjBiyB,EAAGgF,QAAUr0B,GAAOizB,GAG9BF,EAAIe,IAAM,SAAUhI,GAClB,IAAImH,EAAO,EAGX,OAFAA,GAAQD,GAAoBlH,GAC5BmH,GAAQvU,KAAKqV,SAASjI,EAAG1uB,MAClB0uB,EAAGwI,QAAUrB,GAKxBF,EAAIsB,QAAUhF,EAAGgF,QACjBtB,EAAI31B,KAAOiyB,EAAGjyB,KACd21B,EAAIG,eAAiB7D,EAAG6D,eACxBH,EAAIM,UAAYhE,EAAGgE,UACnBN,EAAI/F,QAAUqC,EAAGrC,QACjB+F,EAAIU,QAAUpE,EAAGoE,QACjBV,EAAIuB,QAAUjF,EAAGgF,QACjBtB,EAAIrG,GAAK2C,EAAG3C,GACZqG,EAAIa,QAAUvE,EAAGuE,QACVb,EAaT,SAASwB,GAAYC,GACnB,MAAMnF,EAAK3Q,KAAK+V,SAASD,GACnBzB,EAAM,GA4BZ,OA1BAA,EAAI2B,MAAQrF,EAAGqF,MACU,mBAAd3B,EAAI2B,QACG,0BAAZrF,EAAGjyB,KACL21B,EAAI2B,MAAQ,WACV,IAAI54B,EAAI,EAIR,OAHAO,OAAO6C,KAAKisB,IAAYiD,SAASv1B,IAC3BsyB,GAAWtyB,GAAG87B,OAAS,KAAI74B,GAAK,MAE/BA,GAGTi3B,EAAI2B,MAAQ,WACV,IAAIE,EAAM,EAEV,GADI/I,GAAO,cAAa+I,EAAM,GAC1BlW,KAAK0N,OAAQ,CACf,MAAMc,EAASf,GAAU,WACV,IAAXe,EAAc0H,GAAO,IACL,IAAX1H,EAAc0H,GAAO,IACV,IAAX1H,IAAc0H,GAAO,KAEhC,OAAOA,IAIb7B,EAAI/G,KAAOqD,EAAGrD,KACd+G,EAAI31B,KAAOiyB,EAAGjyB,KACP21B,EAgBT,SAAS8B,KAEP3O,GAAmBxH,KAAKoW,cACxB3O,GAAazH,KAAKqW,QAClB3O,GAAuB1H,KAAKsW,kBAC5B3O,GAAmB3H,KAAKuW,cACxB3O,GAAc5H,KAAKwW,SAGnB74B,OAAO6C,KAAKwf,KAAK6N,SAAS6B,SAASv1B,IACjC,MAAMw2B,EAAK3Q,KAAK6N,QAAQ1zB,GACxB,IAAIk6B,EAAM5H,GAAWtyB,QACTI,IAAR85B,IAEF5H,GAAWtyB,GAAKg7B,GAAoBh7B,GACpCk6B,EAAM5H,GAAWtyB,GACjBs4B,GAA2Bt4B,IAE7Bk6B,EAAIxF,OAAS8B,EAAG9B,OAChBwF,EAAI4B,MAAQtF,EAAGsF,MACf5B,EAAIoC,aAAe9F,EAAG8F,aACtBpC,EAAI1F,UAAYgC,EAAGhC,UACnB0F,EAAIzF,KAAO+B,EAAG/B,KACV+B,EAAGpC,iBACW,WAAZoC,EAAGjyB,OACLqpB,GAAU4I,EAAG/C,SAAS8I,KAAK,GAC3B1O,GAAU2I,EAAG/C,SAAS8I,KAAK,GAC3BzO,GAAU0I,EAAG/C,SAAS8I,KAAK,IAE7BrC,EAAI9F,eAAiBoC,EAAGpC,eACxB8F,EAAIzG,SAAW+C,EAAG/C,UAEpBnB,GAAWtyB,GAAKk6B,KAIlB12B,OAAO6C,KAAKwf,KAAK+V,UAAUrG,SAASv1B,IAClC,MAAMw2B,EAAK3Q,KAAK+V,SAAS57B,GACzB,IAAIk6B,EAAM3H,GAAYvyB,QACVI,IAAR85B,IACF3H,GAAYvyB,GAAK07B,GAAY17B,GAC7Bk6B,EAAM3H,GAAYvyB,IAEpBk6B,EAAI7G,OAASmD,EAAGnD,OAChBd,GAAYvyB,GAAKk6B,KAInB12B,OAAO6C,KAAKwf,KAAKoU,cAAc1E,SAASv1B,IACtC,MAAMw2B,EAAK3Q,KAAKoU,aAAaj6B,GAC7B,IAAIk6B,EAAM1H,GAAgBxyB,QACdI,IAAR85B,IACF1H,GAAgBxyB,GAAK+5B,GAAgB/5B,GACrCk6B,EAAM1H,GAAgBxyB,IAExBk6B,EAAIsC,IAAMhG,EAAGgG,IACbhK,GAAgBxyB,GAAKk6B,KAIvBN,KACAlM,GAAgBS,GAChBR,GAAiBS,GA6BnB,SAASqO,GAAoB3Q,GAC3B,MAAM8K,EAAMt4B,SAAS4D,cAAc,OAKnC,OAJA00B,EAAI3uB,MAAMy0B,WAAa,OACvB9F,EAAI/C,GAAK,GAAG/H,SACZ8K,EAAIn2B,UAAYknB,aAChBiP,EAAIvzB,YAAcyoB,EACX8K,EAmHT,SAAS+F,GAAgCC,GACvCA,EAAQhhB,YAAY6gB,GAAoB,iBACxC,MAAMI,EAASv+B,SAAS4D,cAAc,OACtC26B,EAAO50B,MAAM60B,aAAe,MAC5BD,EAAO50B,MAAM2F,MAAQ,QACrBivB,EAAOhJ,GAAK,kBACZ+I,EAAQhhB,YAAYihB,GAEpBD,EAAQhhB,YAAY6gB,GAAoB,4BACxCG,EAAQjE,UAAU1wB,MAAMqV,QAAU,OAClC,MAAMyf,EAAQz+B,SAAS4D,cAAc,OACrC66B,EAAM90B,MAAM60B,aAAe,MAC3BC,EAAM90B,MAAM2F,MAAQ,QACpBmvB,EAAM90B,MAAMqV,QAAU,OACtByf,EAAMlJ,GAAK,0BACX+I,EAAQhhB,YAAYmhB,GAEpBH,EAAQhhB,YAAY6gB,GAAoB,mBACxC,MAAMnrB,EAAKhT,SAAS4D,cAAc,OAClCoP,EAAGrJ,MAAM60B,aAAe,MACxBxrB,EAAGuiB,GAAK,cACR+I,EAAQhhB,YAAYtK,GAEpBsrB,EAAQhhB,YAAY6gB,GAAoB,cACxC,MAAMhR,EAAOntB,SAAS4D,cAAc,OAIpC,GAHAupB,EAAKoI,GAAK,gBACV+I,EAAQhhB,YAAY6P,GAEA,MAAhB7B,GAAqB,CACvBgT,EAAQhhB,YACN6gB,GAAoB,0CAGtBG,EAAQjE,UAAU9E,GAAK,4BACvB,MAAMmJ,EAAa1+B,SAAS4D,cAAc,OAC1C86B,EAAWnJ,GAAK,sBAChB+I,EAAQhhB,YAAYohB,IA+JxB,SAASC,GACPC,EACAC,EACAC,GAEA,IAAIC,EAAQH,EACRnE,EAAQ,EACZ,KAAOsE,EAAQD,GACbC,GAAqE,KAA5D90B,KAAK6D,IAAI,MAAQixB,EAAQ90B,KAAK6D,IAAI+wB,EAAU,OAAS,IAC9DpE,GAAS,EAEX,OAAOA,EAAQlT,KAAKyX,IA0XtB,SAASC,KACP,IAAInD,EAAO,EAKX,OAJA52B,OAAO6C,KAAKwf,KAAK2X,OAAOjI,SAASv1B,SACM,IAA1B6lB,KAAK2X,MAAMx9B,GAAGy9B,UACvBrD,GAAQvU,KAAK2X,MAAMx9B,GAAGy9B,YAEnBrD,EAWT,SAASsD,KACiC,OAApCtsB,EAAE,gCAC0B,IAA1BsU,EAAUiY,aACZvsB,EAAE,8BAA8BnJ,MAAMsC,IAAM,OAC5C6G,EAAE,8BAA8BnJ,MAAM4vB,OAAS,WAC/CzmB,EAAE,8BAA8BnJ,MAAMwK,QAAU,YAEhDrB,EAAE,8BAA8BnJ,MAAMkI,MAAQ,OAC9CiB,EAAE,8BAA8BnJ,MAAM4vB,OAAS,MAC/CzmB,EAAE,8BAA8BnJ,MAAMwK,QAAU,YA0LtD,SAASmrB,KAEP,GADA5B,KACyC,SAArC5qB,EAAE,iBAAiBnJ,MAAMqV,SAAsBlM,EAAE,iBAAkB,CACrEA,EAAE,iBAAiBoM,UAAY,GAC/B,MAAMqgB,EAz6BV,WACEzsB,EAAE,WAAWvO,WAAWoF,MAAM61B,cAAgB,MAC9C,MAAMD,EAAav/B,SAAS4D,cAAc,OAM1C,OALA27B,EAAW51B,MAAM0U,OAAS,YAC1BkhB,EAAW51B,MAAMwK,QAAU,MAC3BorB,EAAW51B,MAAM4vB,OAAS,WAC1BgG,EAAWhK,GAAK,kBAChBgK,EAAWp9B,UAAYknB,aAChBkW,EAi6BcE,GACnB3sB,EAAE,iBAAiBwK,YAAYiiB,GAEX,MAAhBjU,GA9uBR,WACE,GAAsC,IAAlClE,EAAUsY,qBAA8C,IAAjBnY,KAAKwP,QAAe,CAI7D,IAAIhwB,EAaJ,GAfAs3B,GADmBvrB,EAAE,oBAIA,IAAjByU,KAAKwP,QACPrM,EAA4B3jB,EAE5BA,EAAS2jB,EAEU,IAAjBnD,KAAKmP,QAAe3vB,EAASoqB,GACP,KAAjB5J,KAAKmP,QAAgB3vB,EAASqqB,GACb,MAAjB7J,KAAKmP,UAAiB3vB,EAASsqB,IAExCjG,GAAe7D,KAAK6N,QAAQ7J,IAAasP,UACzCxP,GAAqBtkB,EAAOwkB,IAAa2O,MAEH,IAAlC9S,EAAUsY,qBAA8C,IAAjBnY,KAAKwP,QAAe,CAC7DjkB,EAAE,mBAAmB/N,YAAc+mB,GAA4BT,GAAoB,GACnF,MAAMsU,EAAW11B,KAAKC,MACnBmhB,GAAqB9D,KAAKyR,UAAa,KAEtCzM,OAAOC,SAASmT,IAA0B,IAAbA,EAC/B7sB,EAAE,mBAAmB/N,aAAe,KAAK46B,EAAW,kBAEpD7sB,EAAE,mBAAmB/N,aAAe,OAClCqiB,EAAUuF,eAAiB,IAAM,oBAGrC7Z,EAAE,mBAAmB3Q,UACnBknB,EAAgBtiB,EAAOwkB,IAAajc,MAClC8X,EAAUuT,cACZ7nB,EAAE,eAAe/N,YAAcmoB,GAAWnmB,EAAOwkB,IAAavY,IAC3DF,EAAE,eAAe/N,YAAc+mB,GAA4B/kB,EAAOwkB,IAAavY,GAAI,GACxFF,EAAE,eAAe3Q,UAAYknB,EAAgBtiB,EAAOwkB,IAAajc,MACjE,MAAMsrB,EAAarN,IAChBnC,IAAgB7D,KAAKuT,QAAU3B,OAAyBN,MAE3D/lB,EAAE,iBAAiB/N,YAAc61B,EAAWpN,KAEtB,UAApBoN,EAAWpN,MACXjG,KAAKuT,QAAU/zB,EAAOwkB,IAAamK,MAEnC5iB,EAAE,iBAAiB/N,YAAc,GAAG61B,EAAWpN,oBAC1C1a,EAAE,iBAAiB/N,YAAc61B,EAAWpN,KACnD1a,EAAE,iBAAiB3Q,UAAYknB,EAAgBuR,EAAWtrB,MAI5DwD,EAAE,6BAA6BnJ,MAAMqV,QAAU,OAC/ClM,EAAE,iBAAiBnJ,MAAM60B,aAAe,MAIxC,IAAK,MAAM98B,KAAKwD,OAAO6C,KAAKwf,KAAK6N,QAAQ7J,IAAaqU,mBACpD,IACGrY,KAAKsY,UACJtY,KAAK6N,QAAQ7J,IAAaqU,kBAAkBl+B,GAAGo+B,OAAO75B,MAExD,CACA,MAAM85B,EACJxY,KAAK6N,QAAQ7J,IAAaqU,kBAAkBl+B,GAC9CoR,EAAE,iBAAiBnJ,MAAM60B,aAAe,MACxC1rB,EAAE,6BAA6BnJ,MAAMqV,QAAU,GAC/ClM,EAAE,uBAAuB3Q,UAAY,kBAAkBopB,KACvDzY,EAAE,uBAAuB/N,YAAc+mB,GACrCiU,EAAqBtC,IAAMzJ,GAAWzI,IAAayS,aACnD,IAEFlrB,EAAE,uBAAuBnJ,MAAM2F,MAAQ,QACvC,YAGCwD,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAqqBtCghB,GACyB,MAAhB1U,GA5Tf,WAYE,GAVA+S,GADmBvrB,EAAE,oBAGrBuY,GACEsG,GAAcpK,KAAK0Q,gBAAgB1M,IAAatlB,MAAMi0B,MACxD9O,GAAe7D,KAAK+V,SAClB/V,KAAK0Q,gBAAgB1M,IAAatlB,MAClCg6B,WACFzU,GACEmG,GAAcpK,KAAK0Q,gBAAgB1M,IAAatlB,MAAMi6B,WAElB,IAAlC9Y,EAAUsY,oBAA2B,CACvC5sB,EAAE,mBAAmB/N,YAAc+mB,GAA4BT,GAAoB,GACnF,MAAMsU,EAAW11B,KAAKC,MAAOmhB,GAAqB9D,KAAKyR,UAAa,KAG7B,MAArClmB,EAAE,mBAAmB/N,aACJ,MAAhBumB,IAAuC,MAAhBA,IAOpBiB,OAAOC,SAASmT,IAA0B,IAAbA,EAC/B7sB,EAAE,mBAAmB/N,aAAe,KAAK46B,EAAW,kBAEpD7sB,EAAE,mBAAmB/N,aAAe,OAClCqiB,EAAUuF,eAAiB,IAAM,oBAGrC7Z,EAAE,mBAAmB3Q,UACnBknB,EACAsI,GAAcpK,KAAK0Q,gBAAgB1M,IAAatlB,MAAMqJ,MAEpDkc,KACF1Y,EAAE,2BAA2B/N,YAAc+mB,GAA4BN,IACvE1Y,EAAE,2BAA2BnJ,MAAMqV,QAAU,QAC7ClM,EAAE,2BAA2BqtB,gBAAgBx2B,MAAMqV,QAAU,SAGpC,IAAvBqM,IAA4BG,IAC9B1Y,EAAE,eAAe/N,YAAc,GAAG+mB,GAChCV,GAAeI,aAEjB1Y,EAAE,eAAenJ,MAAM2F,MAAQ,UAE3B8X,EAAUuT,cACZ7nB,EAAE,eAAe/N,YAAcmoB,GAC7ByE,GAAcpK,KAAK0Q,gBAAgB1M,IAAatlB,MAAM+M,IAGxDF,EAAE,eAAe/N,YAAc+mB,GAC7B6F,GAAcpK,KAAK0Q,gBAAgB1M,IAAatlB,MAAM+M,GACtD,GAEJF,EAAE,eAAe3Q,UACfknB,EACAsI,GAAcpK,KAAK0Q,gBAAgB1M,IAAatlB,MAAMqJ,SAvC1DwD,EAAE,qBAAqBnJ,MAAMqV,QAAU,OACvClM,EAAE,mBAAmBnJ,MAAMqV,QAAU,OACrClM,EAAE,uBAAuBnJ,MAAMqV,QAAU,OACzClM,EAAE,eAAenJ,MAAMqV,QAAU,QAuCnC,MAAM4b,EAAarN,IAChBnC,IAAgB7D,KAAKuT,QAAU3B,OAAyBN,MAY3D,GAVA/lB,EAAE,iBAAiB/N,YAAc61B,EAAWpN,KAEtB,UAApBoN,EAAWpN,MACXjG,KAAKuT,QAAUvT,KAAK0Q,gBAAgB1M,IAAa0U,WAEjDntB,EAAE,iBAAiB/N,YAAc,GAAG61B,EAAWpN,oBAC1C1a,EAAE,iBAAiB/N,YAAc61B,EAAWpN,KACnD1a,EAAE,iBAAiB3Q,UAAYknB,EAAgBuR,EAAWtrB,MAGX,kBAA3CiY,KAAK0Q,gBAAgB1M,IAAatlB,KAA0B,CAC9D6M,EAAE,mBAAmBunB,UAAU1wB,MAAM60B,aAAe,MACpD1rB,EAAE,mBAAmBwK,YACnB6gB,GAAoB,yCAEtB,MAAMiC,EAAYpgC,SAAS4D,cAAc,OACzCw8B,EAAUz2B,MAAM2F,MAAQ,QACxB8wB,EAAUr7B,YAAc,GAAG+mB,GAA2C,IAAfvE,KAAKuT,cAAqBhP,GAC/EoF,MAEFpe,EAAE,mBAAmBwK,YAAY8iB,SAE9BttB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAsOtCqhB,GACyB,MAAhB/U,GAzVf,WACE,GAA8B,IAA1BlE,EAAUkZ,YAAmB,CAC/B,MAAMf,EAAazsB,EAAE,mBAErBysB,EAAWjiB,YAAY6gB,GAAoB,uBAE3C,MAAMoC,EAAWvgC,SAAS4D,cAAc,OACxC28B,EAAShL,GAAK,gBACdgK,EAAWjiB,YAAYijB,GACvB,MAAMC,EApCK,KADQz+B,EAqCcwlB,KAAKkZ,iBAnC/B,CAAEjT,KAAM,SAAUle,MAAOua,GAErB,IAAT9nB,EACK,CAAEyrB,KAAM,aAAcle,MAAOka,GAEzB,IAATznB,EACK,CAAEyrB,KAAM,SAAUle,MAAOma,GAErB,IAAT1nB,EACK,CAAEyrB,KAAM,QAASle,MAAOoa,GAEpB,IAAT3nB,EACK,CAAEyrB,KAAM,cAAele,MAAOsa,GAEhC,CAAE4D,KAAM,qBAAsBle,MAAOqa,GAsB1C4W,EAASx7B,YAAcy7B,EAAWhT,KAClC+S,EAASp+B,UAAYknB,EAAgBmX,EAAWlxB,WAC3CwD,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAxC5C,IAAuBjd,EAsXjB2+B,GACyB,MAAhBpV,GA3kBf,WACE,MAAM6J,SAAEA,GAAa5N,KAAK6N,QAAQ,gBAC5BuL,EAAYxL,EAASyL,aAAazL,EAAS0L,WAAWtV,KAE5D,GAA8B,IAA1BnE,EAAU0Z,aAAqBH,GAAaxL,EAAS4L,OAAQ,CAC/D,MAAMxB,EAAazsB,EAAE,mBAGrBysB,EAAWjiB,YAAY6gB,GAAoB,cAC3C,MAAMhR,EAAOntB,SAAS4D,cAAc,OACpCupB,EAAKoI,GAAK,gBACVgK,EAAWjiB,YAAY6P,GACvB,MAAMyN,EAAarN,GACjBoR,GAA4BxJ,EAAS4J,MAAO5J,EAAS4L,OAAQJ,IAM/D,GAJAxT,EAAKpoB,YAAc61B,EAAWpN,KAC9BL,EAAKhrB,UAAYknB,EAAgBuR,EAAWtrB,MAGxCqxB,GAAaxL,EAAS4J,MAAO,CAC/BQ,EAAWjiB,YAAY6gB,GAAoB,iBAC3C,MAAM6C,EAAUhhC,SAAS4D,cAAc,OACvCo9B,EAAQzL,GAAK,mBACbgK,EAAWjiB,YAAY0jB,GACvB,MAAMC,EAAgB1T,GACpBoR,GACE10B,KAAK6D,IAAI,EAAGqnB,EAAS4J,MAAQ4B,GAC7BxL,EAAS4L,OACT5L,EAAS4J,QAGbiC,EAAQj8B,YAAck8B,EAAczT,KACpCwT,EAAQ7+B,UAAYknB,EAAgB4X,EAAc3xB,MAIpD,GAAoB,MAAhBic,GAAqB,CACvBgU,EAAWjiB,YACT6gB,GAAoB,8BAEtB,MAAM+C,EAAUlhC,SAAS4D,cAAc,OACvCs9B,EAAQ3L,GAAK,IACbgK,EAAWjiB,YAAY4jB,GACvB,MAAMC,EAASnhC,SAAS4D,cAAc,QACtCu9B,EAAOx3B,MAAM2F,MAAQ,UACrB6xB,EAAOp8B,YAAc+mB,GACnB7hB,KAAK2D,IACqC,KAAvC2Z,KAAKuT,QAAU3B,MACa,GAA7BxI,GAAkC,IAEpC,GAEFuQ,EAAQ5jB,YAAY6jB,GACpB,MAAMC,EAAYphC,SAAS4D,cAAc,QACzCw9B,EAAUr8B,YAAc,MACxBm8B,EAAQ5jB,YAAY8jB,GACpB,MAAMC,EAAOrhC,SAAS4D,cAAc,QACpCy9B,EAAK13B,MAAM2F,MAAQ,MACnB+xB,EAAKt8B,YAAc+mB,GAAyD,GAA7B6E,GAAkC,GAAI,GACrFuQ,EAAQ5jB,YAAY+jB,GAGtBvuB,EAAE,iBAAiBwK,YAAYiiB,QAC1BzsB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OA6gBtCsiB,GACyB,MAAhBhW,GA/pBf,WACE,MAAM6J,SAAEA,GAAa5N,KAAK6N,QAAQmM,KAClC,GACEna,EAAUoa,cAC2C,IAArDrM,EAASsM,KAAKlW,GAAY,IAAIA,GAAY,IAAI,GAC9C,CACA,MAAMmW,EACJvM,EAASsM,KAAKlW,GAAY,IAAIA,GAAY,IAAI,GAC9C4J,EAASwM,WAAWxM,EAASsM,KAAKlW,GAAY,IAAIA,GAAY,IAAI,GAAK,GACpEmW,OACCE,EACJzM,EAASwM,WAAWxM,EAASsM,KAAKlW,GAAY,IAAIA,GAAY,IAAI,GAAK,GACpEtlB,KACL6M,EAAE,mBAAmBwK,YACnB6gB,GAAoB,+BAEtB,MAAMgD,EAASnhC,SAAS4D,cAAc,OACtCu9B,EAAO5L,GAAK,uBACZziB,EAAE,mBAAmBwK,YAAY6jB,GACf,cAAdS,EACF9uB,EAAE,wBAAwB/N,YAAc,GACtC28B,EACI5V,GAA4B7hB,KAAK2D,IAAmB,IAAf2Z,KAAKuT,QAAiC,GAAjBvT,KAAKyR,UAAiB,KAChF,SACAlN,GAA6C,GAAjBvE,KAAKyR,UAAiB,MACjC,cAAd4I,GAA2C,oBAAdA,EACtC9uB,EAAE,wBAAwB/N,YAAc,GACtC28B,EACI5V,GAA4B7hB,KAAK2D,IAAmB,IAAf2Z,KAAKuT,QAAiC,GAAjBvT,KAAKyR,UAAiB,IAChF,SACAlN,GAA6C,GAAjBvE,KAAKyR,UAAiB,KACjC,cAAd4I,EACT9uB,EAAE,wBAAwB/N,YAAc,GACtC28B,EACI5V,GAA4B7hB,KAAK2D,IAAmB,IAAf2Z,KAAKuT,QAAiC,GAAjBvT,KAAKyR,UAAiB,KAChF,SACAlN,GAA6C,GAAjBvE,KAAKyR,UAAiB,MACjC,cAAd4I,EACT9uB,EAAE,wBAAwB/N,YAAc,GACtC28B,EACI5V,GAA4B7hB,KAAK2D,IAAmB,IAAf2Z,KAAKuT,QAAiC,GAAjBvT,KAAKyR,UAAiB,MAChF,SACAlN,GAA6C,GAAjBvE,KAAKyR,UAAiB,OACnDlmB,EAAE,iBAAiBnJ,MAAMqV,QAAU,YACrClM,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAonBtC6iB,GACyB,OAAhBvW,GAngBf,WACE,MAAM6J,SAAEA,GAAa5N,KAAK6N,QAAQmM,KAClC,GAAIna,EAAUkZ,YAAa,CACzBxtB,EAAE,mBAAmBwK,YACnB6gB,GAAoB,oCAEtB,IAAI2D,EAAY,EACZC,EAAS,EACTxa,KAAKxf,KAAK,KAAOwf,KAAKxf,KAAK,MAAKg6B,EAAS,GAC7C,IAAK,IAAIl2B,EAAI,EAAGA,EAAI,EAAGA,IACrB,IAAK,IAAID,EAAI,EAAGA,EAAI,EAAGA,IACrB,GAAIupB,EAASsM,KAAK51B,GAAGD,GAAG,IAAM,EAAG,CAC/B,MAAMo2B,EAAO7M,EAASsM,KAAK51B,GAAGD,GACxBssB,EAAK/C,EAASwM,WAAWK,EAAK,GAAK,GACnCJ,EAAY1J,EAAGjyB,KAErB,IAAIw0B,GAAQ,EACRsH,GAAU7J,EAAG+J,WAAUxH,GAAQ,GAC/BuH,EAAK,GAAK9J,EAAGgK,aAAYzH,GAAQ,GACjCA,GAAuB,cAAdmH,EACXE,GAAa73B,KAAK2D,IACD,IAAf2Z,KAAKuT,QACY,GAAjBvT,KAAKyR,UAAiB,IAGvByB,GAAuB,cAAdmH,GACI,oBAAdA,EAEAE,GAAa73B,KAAK2D,IAAmB,IAAf2Z,KAAKuT,QAAiC,GAAjBvT,KAAKyR,UAAiB,GACxDyB,GAAuB,cAAdmH,EAClBE,GAAa73B,KAAK2D,IACD,IAAf2Z,KAAKuT,QACY,GAAjBvT,KAAKyR,UAAiB,IAEfyB,GAAuB,cAAdmH,IAClBE,GAAa73B,KAAK2D,IACD,IAAf2Z,KAAKuT,QACY,GAAjBvT,KAAKyR,UAAiB,MAMhClmB,EAAE,mBAAmBwK,YACnBtd,SAASqgB,eAAeyL,GAA4BgW,UAEjDhvB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAsdtCmjB,GACyB,OAAhB7W,GAnDf,WACExY,EAAE,WAAWoM,UAAY,GACzBpM,EAAE,WAAWwK,YAAY6gB,GAAoB,YAE7C,MAAMiE,EAAiBpiC,SAAS4D,cAAc,OAC9Cw+B,EAAe7M,GAAK,mBACA,WAAhBhK,GACF6W,EAAer9B,YAAc+mB,GAA4BwF,IAChC,eAAhB/F,KACT6W,EAAer9B,YAAc+mB,GAA4B0F,GAAsB,KAGjF1e,EAAE,WAAWwK,YAAY8kB,GAwCrBC,IAEgB,QAAhB/W,IACiB,QAAhBA,KAA6C,IAApBC,GAAY,KA5c5C,WACE,GAAkC,IAA9BnE,EAAUkb,gBAAuB,CACnC,MAAM/C,EAAazsB,EAAE,mBACrB,IAAIyvB,EACuBA,EAAP,QAAhBjX,GAA+BC,GAAY,GAClCA,GAGbgU,EAAWjiB,YAAY6gB,GAAoB,0BAC3C,MAAMqE,EAAOxiC,SAAS4D,cAAc,OAEpC,GADA4+B,EAAKjN,GAAK,6BACkB,IAAxBlC,GAAUkP,GAAO,GAAU,CAC7BC,EAAKz9B,YAAc+mB,GAA4BuH,GAAUkP,GAAO,IAChE,MAAM5C,EAAW11B,KAAKC,MACnBmpB,GAAUkP,GAAO,GAAKhb,KAAKyR,UAAa,KAEvCzM,OAAOC,SAASmT,IAA0B,IAAbA,EAC/B6C,EAAKz9B,aAAe,KAAK46B,EAAW,kBAEpC6C,EAAKz9B,aAAe,OAClBqiB,EAAUuF,eAAiB,IAAM,yBAGhC6V,EAAKz9B,YAAc,mBAC1Bw6B,EAAWjiB,YAAYklB,GAEvBjD,EAAWjiB,YAAY6gB,GAAoB,0BAC3C,MAAMsE,EAAOziC,SAAS4D,cAAc,OAEpC,GADA6+B,EAAKlN,GAAK,6BACkB,IAAxBlC,GAAUkP,GAAO,GAAU,CAC7BE,EAAK19B,YAAc+mB,GAA4BuH,GAAUkP,GAAO,IAChE,MAAM5C,EAAW11B,KAAKC,MACnBmpB,GAAUkP,GAAO,GAAKhb,KAAKyR,UAAa,KAEvCzM,OAAOC,SAASmT,IAA0B,IAAbA,EAC/B8C,EAAK19B,aAAe,KAAK46B,EAAW,kBAEpC8C,EAAK19B,aAAe,OAClBqiB,EAAUuF,eAAiB,IAAM,yBAGhC8V,EAAK19B,YAAc,mBAC1Bw6B,EAAWjiB,YAAYmlB,GAEvBlD,EAAWjiB,YAAY6gB,GAAoB,0BAC3C,MAAMuE,EAAO1iC,SAAS4D,cAAc,OAEpC,GADA8+B,EAAKnN,GAAK,6BACkB,IAAxBlC,GAAUkP,GAAO,GAAU,CAC7BG,EAAK39B,YAAc+mB,GAA4BuH,GAAUkP,GAAO,IAChE,MAAM5C,EAAW11B,KAAKC,MACnBmpB,GAAUkP,GAAO,GAAKhb,KAAKyR,UAAa,KAEvCzM,OAAOC,SAASmT,IAA0B,IAAbA,EAC/B+C,EAAK39B,aAAe,KAAK46B,EAAW,kBAEpC+C,EAAK39B,aAAe,OAClBqiB,EAAUuF,eAAiB,IAAM,yBAGhC+V,EAAK39B,YAAc,mBAC1Bw6B,EAAWjiB,YAAYolB,GAEvB5vB,EAAE,iBAAiBwK,YAAYiiB,QAC1BzsB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OA+YtC2jB,GA/LN,WACE,GAAoB,MAAhBrX,IAAuC,MAAhBA,GAAqB,CACgB,OAA1DtrB,SAAS4iC,eAAe,gCAC1B9vB,EAAE,iBAAiBwK,YApuBzB,WACE,MAAMulB,EAAc7iC,SAAS4D,cAAc,OAC3Ci/B,EAAYl5B,MAAMgI,SAAW,WAC7BkxB,EAAYl5B,MAAMqV,QAAU,QAC5B6jB,EAAYl5B,MAAMqC,KAAO,OACzB62B,EAAYl5B,MAAMkW,OAAS,OAC3BgjB,EAAYtN,GAAK,6BAEjB,MAAMuN,EAAS,SACbC,EACAzzB,EACA0zB,EACAC,EACAC,GAEA,MAAMznB,EAAMzb,SAAS4D,cAAc,OACnC6X,EAAI8Z,GAAKwN,EACTtnB,EAAI9R,MAAMqV,QAAU,OACpBvD,EAAI9R,MAAMw5B,WAAa,wBACvB1nB,EAAItZ,UA7tDgB,WA6tDcmN,EAClCmM,EAAI9R,MAAMwK,QAAU,MACpBsH,EAAI9R,MAAMqB,WAAa,8BACvB,MAAMo4B,EAAWpjC,SAAS4D,cAAc,OACxC6X,EAAI6B,YAAY8lB,GAChB,MAAMC,EAAYrjC,SAAS4D,cAAc,QACzCy/B,EAAUlhC,UAAYknB,EAAgB/Z,EACtC+zB,EAAU15B,MAAMy0B,WAAa,OAC7BiF,EAAUt+B,YAAci+B,EACxBI,EAAS9lB,YAAY+lB,GACrBD,EAAS9lB,YAAYtd,SAASqgB,eAAe4iB,IAC7C,MAAMK,EAAatjC,SAAS4D,cAAc,OAC1C6X,EAAI6B,YAAYgmB,GAChB,MAAMC,EAAcvjC,SAAS4D,cAAc,QAI3C,OAHA2/B,EAAYhO,GAAK2N,EACjBI,EAAWhmB,YAAYtd,SAASqgB,eAAe,cAC/CijB,EAAWhmB,YAAYimB,GAChB9nB,GA+DT,OA5DAonB,EAAYvlB,YACVwlB,EACE,yBACAnZ,EACA,YACA,uFACA,+BAGJkZ,EAAYt+B,WAAWoF,MAAM60B,aAAe,MAC5CqE,EAAYvlB,YACVwlB,EACE,+BACArZ,EACA,YACA,gGACA,qCAGJoZ,EAAYxI,UAAU1wB,MAAM60B,aAAe,MAC3CqE,EAAYvlB,YACVwlB,EACE,2BACAlZ,EACA,YACA,oGACA,iCAGJiZ,EAAYxI,UAAU1wB,MAAM60B,aAAe,MAC3CqE,EAAYvlB,YACVwlB,EACE,iCACAlZ,EACA,YACA,6GACA,uCAGJiZ,EAAYxI,UAAU1wB,MAAM60B,aAAe,MAC3CqE,EAAYvlB,YACVwlB,EACE,2BACAlZ,EACA,YACA,qJACA,iCAGJiZ,EAAYxI,UAAU1wB,MAAM60B,aAAe,MAC3CqE,EAAYvlB,YACVwlB,EACE,wBACAnZ,EACA,YACA,2EAA2EvC,EAAUoc,8BACrF,8BAIGX,EAioB4BY,IAC/BrE,MAG4B,IAA1BhY,EAAUiY,YACZvsB,EAAE,8BAA8BnJ,MAAMkI,MAAQ,MAE9CiB,EAAE,8BAA8BnJ,MAAMsC,IAAM,GAC1C6G,EAAE,WAAWxG,iBAGjBwG,EAAE,8BAA8BnJ,MAAMkG,MACpCiD,EAAE,WAAWzG,YAAc,EADiB,KAI9C,MAAM+pB,EAAS7O,KAAKuT,QAAU3B,KAAuB/N,GAC/CsY,EAAkBtc,EAAUuc,YAActY,GAAqB,EACrE,IAAIuY,EAAa3T,GACjB,GAA8B,IAA1B7I,EAAUuc,YAAmB,CAC/B,IAAIE,EAAcxY,GAClBwY,GAAe5E,KACf2E,GAA6B,GAAdC,EAAmB,GAAM,IAc1C,GAXgC,IAA5Bzc,EAAU0c,eACR1N,EAASwN,IAA+B,MAAhBtY,IAAwC,IAAjB/D,KAAKwP,UACtDjkB,EAAE,0BAA0BnJ,MAAMqV,QAAU,GAC5ClM,EAAE,8BAA8B/N,YAAc,GAAG+mB,GAC/C8X,EAAaxN,OACTlJ,IACH0W,EAAaxN,IAAWyC,KAAW6K,QAGnC5wB,EAAE,0BAA0BnJ,MAAMqV,QAAU,OAEb,IAAlCoI,EAAU2c,oBAA2B,CACvC,MAAMC,EAAgC,EAAbJ,EAEvBxN,EAAS4N,IACQ,MAAhB1Y,IAAwC,IAAjB/D,KAAKwP,UAE7BjkB,EAAE,gCAAgCnJ,MAAMqV,QAAU,GAClDlM,EAAE,oCAAoC/N,YAAc,GAAG+mB,GACrDkY,EAAmB5N,OACflJ,IACH8W,EAAmB5N,IAAWyC,KAAW6K,QAEvC5wB,EAAE,gCAAgCnJ,MAAMqV,QAAU,YACpDlM,EAAE,gCAAgCnJ,MAAMqV,QAAU,OAEzD,GAAkC,IAA9BoI,EAAU6c,gBAAuB,CACnC,MAAMC,EAA4B,EAAbN,EAEnBxN,EAAS8N,IACQ,MAAhB5Y,IAAwC,IAAjB/D,KAAKwP,UAE7BjkB,EAAE,4BAA4BnJ,MAAMqV,QAAU,GAC9ClM,EAAE,gCAAgC/N,YAAc,GAAG+mB,GACjDoY,EAAe9N,OACXlJ,IACHgX,EAAe9N,IAAWyC,KAAW6K,QAEnC5wB,EAAE,4BAA4BnJ,MAAMqV,QAAU,YAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,OAErD,GAAwC,IAApCoI,EAAU+c,sBAA6B,CACzC,MAAMC,EAAkC,EAAbR,EAAiB,EAE1CxN,EAASgO,IACQ,MAAhB9Y,IAAwC,IAAjB/D,KAAKwP,UAE7BjkB,EAAE,kCAAkCnJ,MAAMqV,QAAU,GACpDlM,EAAE,sCAAsC/N,YAAc,GAAG+mB,GACvDsY,EAAqBhO,OACjBlJ,IACHkX,EAAqBhO,IAAWyC,KAAW6K,QAEzC5wB,EAAE,kCAAkCnJ,MAAMqV,QAAU,YACtDlM,EAAE,kCAAkCnJ,MAAMqV,QAAU,OAG3B,IAA9BoI,EAAUid,iBACV9c,KAAK6N,QAAQ,gBAAgBU,gBAG3BrF,IACA2F,EAAS3F,KACQ,MAAhBnF,IAAwC,IAAjB/D,KAAKwP,UAE7BjkB,EAAE,4BAA4BnJ,MAAMqV,QAAU,GAC9ClM,EAAE,gCAAgC/N,YAAc,GAAG+mB,GACjD2E,GAAe2F,OACXlJ,IACHuD,GAAe2F,IAAWyC,KAAW6K,QAGrC5wB,EAAE,4BAA4BnJ,MAAMqV,QAAU,OAEjDoI,EAAUoc,aAAe,GAEzBpN,EAAShP,EAAUoc,aAAe3K,OACjB,MAAhBvN,IAAwC,IAAjB/D,KAAKwP,UAE7BjkB,EAAE,yBAAyBnJ,MAAMqV,QAAU,GAE3ClM,EACE,yBACAwxB,SAAS,GAAGv/B,YAAc,2EAA2EqiB,EAAUoc,8BACjH1wB,EAAE,6BAA6B/N,YAAc,GAAG+mB,GAC9C1E,EAAUoc,aAAe3K,KAAWzC,OAChClJ,IACH9F,EAAUoc,aAAe3K,KAAWzC,IAClCyC,KAAW6K,QAGb5wB,EAAE,yBAAyBnJ,MAAMqV,QAAU,YACL,OAApClM,EAAE,+BACXA,EAAE,8BAA8B9J,SAyEhCu7B,QACgC,OAAvBzxB,EAAE,kBAE6B,OAApCA,EAAE,+BACJA,EAAE,8BAA8B9J,SA0FtC,SAASw7B,KAEP,GACEjd,KAAKkd,MAAMC,UACXnd,KAAKod,MAAQ,IAAO,GACJ,UAAhBpd,KAAKqd,QACLxd,EAAUyd,MACV,CACA,MAAM/K,EAAQ95B,SAAS4iC,eAAe,wBAClC9I,IACFA,EAAMgL,UAAYvd,KAAKwd,QACV,GAAXxd,KAAKyX,IAAYzX,KAAKyd,GAAgB,GAAXzd,KAAKyX,KAChC,IA6BN,GAvBAlI,KACAU,KAzhDF,WACE,GAA2B,IAAvBpQ,EAAU+T,SAAgB,CAE5B,MAAM8J,EAAiBnyB,EAAE,cAAczG,YAAc,IAE/C64B,EAAiBpyB,EAAE,cAAczG,YAAc,IACrD,IAAI84B,EAAiB,EAIkB,IAArC5d,KAAK6d,aAAaC,OAAOC,SACxB/d,KAAKge,IAAI,uBA+CLzyB,EAAE,gBAAgBnJ,MAAMqV,QAAU,QA7CvClM,EAAE,gBAAgBnJ,MAAMqV,QAAU,GAClClM,EAAE,sBAAsBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MAC3CD,KAAK6D,IACJ,EACAyZ,KAAK6d,aAAaC,OAAOG,QAAUje,KAAK6d,aAAaC,OAAOlY,MAE5D8X,EACA1d,KAAK6d,aAAaC,OAAOI,aAEzBre,EAAUse,iBAAmB,EAC/B5yB,EAAE,sBAAsB/N,YAAckF,KAAKoL,MACxCkS,KAAK6d,aAAaC,OAAOG,QAAUje,KAAK6d,aAAaC,OAAOlY,MAC3D5F,KAAKyX,KAENlsB,EAAE,sBAAsB/N,YAAc,GAEzCwiB,KAAK6d,aAAaC,OAAOG,UAAYje,KAAK6d,aAAaC,OAAOI,SAE9D3yB,EAAE,sBAAsBnJ,MAAMiwB,qBAAuB,OACrD9mB,EAAE,sBAAsBnJ,MAAMkwB,wBAA0B,SAExD/mB,EAAE,sBAAsBnJ,MAAMiwB,qBAAuB,GACrD9mB,EAAE,sBAAsBnJ,MAAMkwB,wBAA0B,IAE1D/mB,EAAE,mBAAmBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MACxCD,KAAK2D,IACJ2Z,KAAK6d,aAAaC,OAAOI,QAAUle,KAAK6d,aAAaC,OAAOG,QAC5Dje,KAAK6d,aAAaC,OAAOI,QAAUle,KAAK6d,aAAaC,OAAOlY,MAE5D8X,EACA1d,KAAK6d,aAAaC,OAAOI,aAEzBre,EAAUse,iBAAmB,EAC/B5yB,EAAE,mBAAmB/N,YAAckF,KAAKoL,KACtCpL,KAAK2D,IACH2Z,KAAK6d,aAAaC,OAAOI,QAAUle,KAAK6d,aAAaC,OAAOG,QAC5Dje,KAAK6d,aAAaC,OAAOI,QAAUle,KAAK6d,aAAaC,OAAOlY,MAC1D5F,KAAKyX,KAERlsB,EAAE,mBAAmB/N,YAAc,GACxC+N,EAAE,oBAAoB/N,YAAckF,KAAKoL,MACtCkS,KAAK6d,aAAaC,OAAOI,QAAUle,KAAK6d,aAAaC,OAAOlY,MAC3D5F,KAAKyX,KAETmG,GAAkB,GAKF,cAAhB5d,KAAKoe,QACkC,IAAvCpe,KAAK6d,aAAaQ,SAASN,SAE3BxyB,EAAE,iBAAiBnJ,MAAMqV,QAAU,GACnClM,EAAE,uBAAuBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MAC5CD,KAAK6D,IACJ,EACAyZ,KAAK6d,aAAaQ,SAASJ,QAAUje,KAAK6d,aAAaQ,SAASzY,MAEhE8X,EACA1d,KAAK6d,aAAaQ,SAASH,aAE3Bre,EAAUse,iBAAmB,EAC/B5yB,EAAE,uBAAuB/N,YAAckF,KAAKoL,MACzCkS,KAAK6d,aAAaQ,SAASJ,QAC1Bje,KAAK6d,aAAaQ,SAASzY,MAC3B5F,KAAKyX,KAENlsB,EAAE,uBAAuB/N,YAAc,GAC5C+N,EAAE,oBAAoBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MACzCD,KAAK2D,IACJ2Z,KAAK6d,aAAaQ,SAASH,QACzBle,KAAK6d,aAAaQ,SAASJ,QAC7Bje,KAAK6d,aAAaQ,SAASH,QAAUle,KAAK6d,aAAaQ,SAASzY,MAEhE8X,EACA1d,KAAK6d,aAAaQ,SAASH,aAE3Bre,EAAUse,iBAAmB,EAC/B5yB,EAAE,oBAAoB/N,YAAckF,KAAKoL,KACvCpL,KAAK2D,IACH2Z,KAAK6d,aAAaQ,SAASH,QACzBle,KAAK6d,aAAaQ,SAASJ,QAC7Bje,KAAK6d,aAAaQ,SAASH,QACzBle,KAAK6d,aAAaQ,SAASzY,MAC3B5F,KAAKyX,KAERlsB,EAAE,oBAAoB/N,YAAc,GACzC+N,EAAE,qBAAqB/N,YAAckF,KAAKoL,MACvCkS,KAAK6d,aAAaQ,SAASH,QAAUle,KAAK6d,aAAaQ,SAASzY,MAC/D5F,KAAKyX,KAETmG,GAAkB,GAElBryB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAIrC,MAAM6mB,EAAgB,GACtB/yB,EAAE,wBAAwBoM,UAAY,GACtCha,OAAO6C,KAAKwf,KAAK2X,OAAOjI,SAASv1B,IAC/B,GAAI6lB,KAAK2X,MAAMx9B,GAAI,CACjB,MAAMo4B,EAAQV,GAAY7R,KAAK2X,MAAMx9B,GAAGuE,KAAMshB,KAAK2X,MAAMx9B,GAAGuE,KAAM,CAChE,CAAEsvB,GAAI,GAAGhO,KAAK2X,MAAMx9B,GAAGuE,aAEzB6zB,EAAMnwB,MAAMqV,QAAU,GACtB,IAAI8mB,EAAc,GAGhBA,OAD6C,IAApCjb,GAAYtD,KAAK2X,MAAMx9B,GAAGuE,MACrB4kB,GAAYtD,KAAK2X,MAAMx9B,GAAGuE,MACrB2jB,EACrBkQ,EAAMO,UAAUiK,SAAS,GAAGniC,UAAYmnB,EAAgBwc,EACxDhM,EAAMO,UAAUiK,SAAS,GAAG36B,MAAM2F,MAAQ,QACR,IAA9B8X,EAAUse,gBACZ5L,EAAMO,UAAUiK,SAAS,GAAGv/B,YAAc,GAAGkF,KAAKC,MACzCqd,KAAK2X,MAAMx9B,GAAGyrB,KAAO5F,KAAK2X,MAAMx9B,GAAG+jC,QAA1C,QAEC3L,EAAMO,UAAUiK,SAAS,GAAGv/B,YAAc,GAC/C+0B,EAAMO,UAAUiK,SAAS,GAAG36B,MAAMkG,MAAQ,GAAG5F,KAAKC,MAC/Cqd,KAAK2X,MAAMx9B,GAAGyrB,MACZ+X,EAC8D,EAA7Dj7B,KAAKoL,KAAKkS,KAAK2X,MAAMx9B,GAAGyrB,KAAO5F,KAAKyX,KAAK70B,WAAWxI,QACtD4lB,KAAK2X,MAAMx9B,GAAG+jC,aAElB3L,EAAMO,UAAUiK,SAAS,GAAGv/B,YAAckF,KAAKoL,KAC7CkS,KAAK2X,MAAMx9B,GAAGyrB,KAAO5F,KAAKyX,KAE5BmG,GAAkB,EAClBU,EAActe,KAAK2X,MAAMx9B,GAAGuE,MAAQ6zB,MAGxC50B,OAAO6C,KAAK89B,GAAe5O,SAASv1B,IAClCoR,EAAE,wBAAwBwK,YAAYuoB,EAAcnkC,OAG/B,IAAnByjC,IACFryB,EAAE,cAAcnJ,MAAMmG,OAA6B,GAAjBq1B,EAAsB,EAAzB,MAE7BzZ,KAAuByZ,IACzBzZ,GAAqByZ,EACrBjK,OAo4CJ6K,GAGAxL,KAGA+E,KAtGF,WACE,GAA+B,IAA3BlY,EAAU4e,cAA8C,IAAxB3b,EAA2B,CAE7D,IAAI4b,GAAiB,EACrB/gC,OAAO6C,KAAKwf,KAAK2R,WAAWjC,SAASv1B,IACnC,MAAMw2B,EAAK3Q,KAAK2R,UAAUx3B,GAC1B,GAAIw2B,EAAGgO,MAAQ,GAAKhO,EAAGiO,UAErB,GADAF,GAAiB,EAEkB,IAAjC1b,EAA0B7oB,SACOI,IAAjCyoB,EAA0B7oB,GAC1B,CACA,MAAM0kC,EAAcpmC,SAAS4D,cAAc,OACrCyiC,EAAWrmC,SAAS4D,cAAc,OACxCyiC,EAAS18B,MAAM28B,SAAW,QAC1BD,EAAS18B,MAAM60B,aAAe,MAC9B,MAAMlG,EAAMt4B,SAAS4D,cAAc,OACnC00B,EAAI3uB,MAAMuW,UAAY,SACtBoY,EAAI/C,GAAK,oBACT8Q,EAAS/oB,YAAYgb,GACrB8N,EAAY9oB,YAAY+oB,GACxB9e,KAAK+W,QAAQplB,KAAK9Y,KAAMmmC,OAAOH,EAAYlnB,YAC3CoL,EAAkB5oB,EAClB6oB,EAA0B7oB,GAAK,QAGjC6oB,EAA0B7oB,GAAK,KAG9BukC,GACH1e,KAAK+W,QAAQ5lB,QA2EjB8tB,GAjEF,WACE,GAA+B,IAA3Bpf,EAAU4e,cAAiD,OAA3BlzB,EAAE,qBAA+B,CACnE,IAAI2zB,OAAEA,GAAWlf,KAAK2R,UAAU5O,GAC5Boc,EAAS,IAKb,GAJInf,KAAKge,IAAI,6BAA4BmB,GAAU,MACN,IAAzCnf,KAAK2R,UAAU5O,GAAiBvoB,OAAY2kC,GAAU,GAC1DD,GAAUC,EACNnf,KAAKge,IAAI,mBAAkBkB,GAAU,MACrCzS,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASxO,KAAK0N,OAAO,SACZ,IAAXc,EAAc0Q,GAAU,KACR,IAAX1Q,EAAc0Q,GAAU,IACb,IAAX1Q,IAAc0Q,GAAU,MAEnC3zB,EAAE,qBAAqB/N,YAAc+mB,GAA4B2a,IAoDnEE,GAh4CEvf,EAAUwf,SACM,UAAhBrf,KAAKqd,SACJrd,KAAKod,MAAQ,IAAiB,EAAXpd,KAAKyX,MAAa,IACrCzX,KAAKod,MAAQ,GAAKpd,KAAKyX,KAAQ,GAEhCzX,KAAKsf,aAi4CPxf,IAGID,EAAUiF,MAAO,CACnB,IAAIvpB,EAAMgQ,EAAE,WAAWoM,UAAU5W,QAC/B,cACAwjB,GAA4BvE,KAAKuT,UAE/BvT,KAAKkd,MAAMqC,YAAWhkC,EAAM,2BAA2BA,YAC3DgQ,EAAE,WAAWoM,UAAYpc,GAO7B,SAASikC,KAEPtZ,GAA8BuZ,UAAUzf,KAAK0f,kBAe/C,MAAMC,GACJC,YAAYC,GACVhnC,KAAKgnC,UAAYA,EACjBhnC,KAAKinC,MAAQ,GAGfF,UAAUG,GACJlnC,KAAKinC,MAAM7jC,KAAK8jC,GAAYlnC,KAAKgnC,WACnChnC,KAAKinC,MAAMhhB,QASf8gB,YAAYI,GACV,IAAIpa,EAAOoa,EACPpa,EAAO/sB,KAAKgnC,YAAWja,EAAO/sB,KAAKgnC,WACnCja,EAAO/sB,KAAKinC,MAAM1lC,SAAQwrB,EAAO/sB,KAAKinC,MAAM1lC,QAChD,IAAI0M,EAAM,EACV,IACE,IAAI3M,EAAItB,KAAKinC,MAAM1lC,OAAS,EAC5BD,GAAK,GAAKA,EAAItB,KAAKinC,MAAM1lC,OAAS,EAAIwrB,EACtCzrB,IAEA2M,GAAOjO,KAAKinC,MAAM3lC,GAEpB,OAAY,IAAR2M,EACK,EAEFA,EAAM8e,EAGfga,QAAQI,GACN,IAAIpa,EAAOoa,EAGX,OAFIpa,EAAO/sB,KAAKgnC,YAAWja,EAAO/sB,KAAKgnC,WACnCja,EAAO/sB,KAAKinC,MAAM1lC,SAAQwrB,EAAO/sB,KAAKinC,MAAM1lC,QACnC,IAATwrB,EAAmB,EAChB/sB,KAAKinC,MAAM5hB,OAAO0H,GAAMqa,QAAO,CAACj9B,EAAGP,IAAMO,EAAIP,GAAG,IA6B3D,SAASy9B,KACP,MAAMC,EAAWz9B,KAAKkE,MAAM+a,KAAKC,MAAQ,KAEzC,GAAK5B,KAAKyd,EAAIzd,KAAKyX,IAAO,GAAM,EAAG,CACjC,IAAI2I,EAAcpgB,KAAKuT,QAAU1H,GAC7B7L,KAAK0R,UAAY,IAAG0O,GAAerW,IACvCsB,GAAyB3oB,KAAK6D,IAAIyZ,KAAKqgB,cAAeD,GACtDA,GAAe,IAGf,MAAME,EAAWH,EAAW1Z,GACtB8Z,EAAc79B,KAAK6D,IAAI,EAAGyZ,KAAKuT,QAAU7M,IAAoB4Z,EAC7DE,EACJ99B,KAAK6D,IAAI,EAAGwjB,GAAsBpD,IAAyB2Z,EACvDG,EACJ/9B,KAAK6D,IAAI,EAAG0jB,GAAsB,GAAKrD,IACvC0Z,EACII,EAAgBh+B,KAAK6D,IAAI,EAAG65B,EAAczW,IAAmB2W,EAC7DK,GAAiB3gB,KAAK4gB,aAAe/Z,IAAmByZ,EAC9D,IAAK,IAAInmC,EAAI,EAAGA,EAAImmC,EAAUnmC,IAC5BgsB,GAAYsZ,UAAUc,GACtBna,GAAUqZ,UAAUe,GACpBna,GAAiBoZ,UAAUgB,GAC3Bna,GAAWmZ,UAAUiB,GACrBna,GAAWkZ,UAAUkB,GAIvBla,GAAoB0Z,EACpBzZ,GAAmB1G,KAAKuT,QACxB5M,GAAwBoD,GACxBnD,GAA+BqD,GAAsB,GACrDN,GAAkByW,EAClBvZ,GAAkB7G,KAAK4gB,aAGvB,MAAMC,EAAYzd,EAAYvD,EAAUihB,YACxCha,GAAuBX,GAAY4a,YAAYF,GAC/C9Z,GAAwBX,GAAU2a,YAAYF,GAC9C7Z,GAA+BX,GAAiB0a,YAAYF,GAC5D5Z,GAAyBX,GAAWya,YAAYF,GAChD3Z,GAAkBJ,GACU,IAAxBjH,EAAU2R,YAAiBtK,IAAmBH,IACtB,IAAxBlH,EAAU2R,YACZtK,IAAmBF,IAErB,MAAMga,EACJhhB,KAAKihB,YAAY,mBAAqBjhB,KAAKge,IAAI,iBAG/C1S,GADE0V,GAAkC,IAAxBnhB,EAAU2R,UAEpB1K,GACAC,IACCia,EAAS/Z,GAAyB,GACRC,GAG/BmD,GAAqB9D,GAAWwa,YAC9B1d,EAAWxD,EAAUqhB,iBAkB3B,SAASC,GAAWxQ,EAAIxC,GACtB,IAAIpmB,EAAQ,GAmBZ,OAjBsCA,EAAlC4oB,EAAGllB,IAAM,GAAKklB,EAAGllB,KAAOoZ,IAAkBvC,EACrCqO,EAAGllB,GAAKigB,GAAoB1J,EAC5B2O,EAAGllB,KAAOigB,GAAoBzJ,EAC9B0O,EAAGllB,GAAKkgB,GAAa,IAAI,GAAYzJ,EACrCyO,EAAGllB,GAAKkgB,GAAa,IAAI,GAAYxJ,EACrCwO,EAAGllB,GAAKkgB,GAAa,IAAI,GAAYvJ,EACjCC,EAGiC,IAA1C2C,OAAOnF,EAAUuhB,sBACfjT,EAAQmD,KAAWtM,OAAOnF,EAAUuhB,uBACtCr5B,EAAQia,GAGRnC,EAAUwhB,uBACRlT,EAAQnO,KAAKuT,QAAU,IAAGxrB,EAAQqa,GAEjCra,EAeT,SAASu5B,GAAY9hC,EAAQqvB,GAC3BlxB,OAAO6C,KAAKhB,GAAQkwB,SAASv1B,IAC3B,GAAI0lB,EAAU0hB,eAA4B,IAAX1S,EAC7BrvB,EAAOrF,GAAG4N,MAAQua,MADpB,CAKA9iB,EAAOrF,GAAG4N,MAAQo5B,GAChB3hC,EAAOrF,GACP6lB,KAAK6N,QAAQ1zB,GAAGqnC,YAAY3S,IAG9B,IAAK,IAAIgC,EAAI,EAAGA,EAAIhR,EAAU4hB,aAAc5Q,IACtCrxB,EAAOrF,GAAGsR,KAAOkgB,GAAakF,GAAG,KAAIrxB,EAAOrF,GAAG4N,MAAQua,OAKjE,SAASof,GAAQliC,EAAQqvB,GACvBlxB,OAAO6C,KAAKhB,GAAQkwB,SAASv1B,IAC3B,MAAMg0B,EAAQnO,KAAK6N,QAAQ1zB,GAAGqnC,YAAY3S,GACtC7O,KAAKyR,UACPjyB,EAAOrF,GAAGsR,GACR/I,KAAK6D,IAAI4nB,GAASnO,KAAKuT,QAAU3B,MAAuB,GACtD5R,KAAKyR,UACPtD,EAAQ3uB,EAAOrF,GAAGw4B,MACfnzB,EAAOrF,GAAGsR,GAAK0iB,EAAQ3uB,EAAOrF,GAAGw4B,MAClC9S,EAAU0hB,eAA4B,IAAX1S,GAC/BlD,GAAa1vB,KAAK,CAACuD,EAAOrF,GAAGsR,GAAIojB,OA8EvC,SAAS8S,MAtET,WACEjW,GAAa7G,IACb8G,GAAe,QACuB,IAA3B9L,EAAU4hB,eAA8B5hB,EAAU4hB,aAAe,GAG5EC,GAAQ9X,GAAe,GACvB8X,GAAQ7X,GAAgB,IACxB6X,GAAQ5X,GAAiB,KAGzB6B,GAAaoE,MAAK,CAAC/sB,EAAGP,IAAMO,EAAE,GAAKP,EAAE,KACrC,IAAIm/B,EAAa,EACjB,GAAI/hB,EAAUwhB,sBACZ,KAAO1V,GAAaiW,GAAY,GAAK5hB,KAAKuT,UACxCqO,GAAc,EACVjW,GAAavxB,SAAWwnC,EAAa,KAK7ClW,GAAaC,GAAa9L,EAAU4hB,cAAcG,GAElDN,GAAY1X,GAAe,GAC3B0X,GAAYzX,GAAgB,IAC5ByX,GAAYxX,GAAiB,KA8C7B+X,GAjCAlkC,OAAO6C,KAAK4pB,IAAesF,SAASv1B,IAC9B6lB,KAAKyR,UACPrH,GAAcjwB,GAAGsR,GACf/I,KAAK6D,IACHyZ,KAAK+V,SAAS57B,GAAGu+B,YAAc1Y,KAAKuT,QAAU3B,MAC9C,GAEA5R,KAAKyR,UACPzR,KAAK+V,SAAS57B,GAAGu+B,WAAatO,GAAcjwB,GAAGw4B,MAEjDvI,GAAcjwB,GAAGsR,GACfuU,KAAK+V,SAAS57B,GAAGu+B,WAAatO,GAAcjwB,GAAGw4B,MAC/C3N,OAAOvJ,MAAM2O,GAAcjwB,GAAGsR,MAAK2e,GAAcjwB,GAAGsR,GAAKoZ,KAE7DuF,GAAcjwB,GAAG4N,MAAQo5B,GACvB/W,GAAcjwB,GACd6lB,KAAK+V,SAAS57B,GAAGu+B,eAiCvB,SAASoJ,GACPpT,EACAC,EACAhlB,EACAilB,EACAwJ,GAEA,IAAInJ,EAAiBtlB,EACjBulB,EAAO,EACX,IAAK,IAAI/0B,EAAI,EAAGA,EAAIi+B,EAAUj+B,GAAK,EAAG,CACpC,IAAIg0B,EACFQ,EAAY3O,KAAKoP,eAAiB1sB,KAAK6D,IAAI,EAAG0oB,EAAiBL,GACjET,EAAQnO,KAAKqP,oBAAoBX,EAAOP,GACxCA,EAAQzrB,KAAKoL,KAAKqgB,GAClBe,GAAQf,EACRc,GAAkB,EAEpB,OAAOC,EAyCT,SAAS6S,GAAOlV,GACVF,GAAgBE,IACgB,IAA9BF,GAAgBE,GAAM8J,MACxBhK,GAAgBE,GAAM8J,IAAM,EACS,WAAjC3W,KAAKoU,aAAavH,GAAMS,OAAmB5F,IAAwB,IAuB7E,SAASsa,KACP5Z,GAAe,EACf,IAAImM,EAAO,EAEX,MAAM0N,EAAO,GACbtkC,OAAO6C,KAAKwf,KAAK6N,SAAS6B,SAASv1B,IACjC,GAAI6lB,KAAK6N,QAAQ1zB,GAAGo0B,gBAAkBvO,KAAK6N,QAAQ1zB,GAAGyzB,SAASqU,KAAM,CACnE,MAAMC,EAASliB,KAAK6N,QAAQ1zB,GAAGyzB,SAASqU,KACxCtkC,OAAO6C,KAAK0hC,GAAQxS,SAASyS,IACvBF,EAAKE,GAAKF,EAAKE,IAAOD,EAAOC,GAC5BF,EAAKE,GAAMD,EAAOC,UAI7Bha,GAAU8Z,EAEiB,IAAvBjiB,KAAKqN,gBACPkH,GAEE,IADA9sB,WAAWmgB,IAEXD,GA7EN,WACE,IAAIya,EAAe,EAWnB,GAVIjV,GAAO,0BAAyBiV,GAAgB,KAChDjV,GAAO,2BAA0BiV,GAAgB,IACjDjV,GAAO,qBAAoBiV,GAAgB,KAC3CjV,GAAO,4BAA2BiV,GAAgB,KAClDjV,GAAO,kBAAiBiV,GAAgB,KAE5CA,GAAgB,EAAgC,IAA5BxV,GAAY,cAC5BO,GAAO,iBAAgBiV,GAAgB,MACvCjV,GAAO,kBAAiBiV,GAAgB,MACxCjV,GAAO,kBAAiBiV,GAAgB,MACxCpiB,KAAK0N,OAAQ,CACf,MAAMc,EAASf,GAAU,YACV,IAAXe,EAAc4T,GAAgB,GACd,IAAX5T,EAAc4T,GAAgB,GACnB,IAAX5T,IAAc4T,GAAgB,IAEzC,OAAOA,EA4DHC,IAEJ9N,GAAQtH,GAAO,OAEXE,GAAO,YAAqC,IAAvBnN,KAAKqN,gBAC5BkH,GAAQ,EAAI,IAAOvU,KAAKsiB,SAE1B3kC,OAAO6C,KAAKwf,KAAKuiB,gBAAgB7S,SAASv1B,IACxC,MAAMw2B,EAAK3Q,KAAKuiB,eAAepoC,GAC3BgzB,GAAOwD,EAAGjyB,QAIY,mBAAbiyB,EAAGqF,MACZzB,GAAQ,EAAuD,IAAnD7H,GAAYiE,EAAGjyB,MAAMs3B,MAAMtJ,GAAYiE,EAAGjyB,OACjD61B,GAAQ,EAAe,IAAX5D,EAAGqF,UAItB7I,GAAO,iCAAgCoH,GAAQ,MAC/CpH,GAAO,0BAAyBoH,GAAQ,MACxCpH,GAAO,sBAAqBoH,GAAQ,MACpCpH,GAAO,iBAAgBoH,GAAQ,MAC/BpH,GAAO,kBAAiBoH,GAAQ,MAEhCpH,GAAO,yBAAwBoH,GAAQ,MACvCpH,GAAO,wBAAuBoH,GAAQ,MACtCpH,GAAO,oBAAmBoH,GAAQ,MAClCpH,GAAO,sBAAqBoH,GAAQ,MACpCpH,GAAO,sBAAqBoH,GAAQ,KAEpCpH,GAAO,kBAAiBoH,GAAQ,MAChCpH,GAAO,kBAAiBoH,GAAQ,MAEhCpH,GAAO,kBAAiBoH,GAAQ,MAGpC,IAAIiO,EAAY,EAChB,GAAI/U,GAAW,CACb,IAAIe,EAASf,GAAU,cACR,IAAXe,EAAc+F,GAAQ,KACN,IAAX/F,EAAc+F,GAAQ,IACX,IAAX/F,IAAc+F,GAAQ,MAE/B/F,EAASf,GAAU,QACJ,IAAXe,EACF+F,GACE,EACA,IACE7xB,KAAK+/B,IACF/gB,EAAyB,IAAO,MAAiBhf,KAAKiU,GAAK,GAEhD,IAAX6X,EACP+F,GACE,EACA,IACE7xB,KAAK+/B,IACF/gB,EAAyB,IAAO,MAAkBhf,KAAKiU,GAAK,GAEjD,IAAX6X,IACP+F,GACE,EACA,IACE7xB,KAAK+/B,IACF/gB,EAAyB,IAAO,MAAkBhf,KAAKiU,GAAK,IAGrE6X,EAASf,GAAU,aACJ,IAAXe,EAAcgU,GAAa,IACX,IAAXhU,EAAcgU,GAAa,IAChB,IAAXhU,IAAcgU,GAAa,KAEpChU,EAASf,GAAU,YACJ,IAAXe,EAAcgU,GAAa,IACX,IAAXhU,EAAcgU,GAAa,KAChB,IAAXhU,IAAcgU,GAAa,MAEpChU,EAASf,GAAU,SACJ,IAAXe,EAAcgU,GAAa,IACX,IAAXhU,EAAcgU,GAAa,IAChB,IAAXhU,IAAcgU,GAAa,KAGlCrV,GAAO,oBAAmBoH,GAAQ,EAA4B,KAAvBvU,KAAK0iB,WAAa,IAE7D,MAAMC,EAAejb,GAAuB,GAC5C,IAAIkb,EAAW,EAIf,GAHIzV,GAAO,8BAA6ByV,GAAY,MAEpDA,GAAY,EAAoC,IAAhChW,GAAY,kBACxBa,GAAW,CACb,MAAMe,EAASf,GAAU,UACV,IAAXe,EAAcoU,GAAY,IACV,IAAXpU,EAAcoU,GAAY,KACf,IAAXpU,IAAcoU,GAAY,MAErCA,GAAY3V,GAAO,QAEnB,IAAI4V,EAAU,EAEV1V,GAAO,oBAAmB0V,GAAW,EAAmB,GAAfF,EAAqBC,GAC9DzV,GAAO,oBAAmB0V,GAAW,EAAmB,KAAfF,EAAuBC,GAChEzV,GAAO,sBAAqB0V,GAAW,EAAmB,IAAfF,EAAsBC,GACjEzV,GAAO,sBACT0V,GAAW,EAAmB,KAAfF,EAAuBC,GACpCzV,GAAO,qBAAoB0V,GAAW,EAAmB,GAAfF,EAAqBC,GAC/DzV,GAAO,wBACT0V,GAAW,EAAmB,GAAfF,EAAqBC,GAClCzV,GAAO,wBACT0V,GAAW,EAAmB,GAAfF,EAAqBC,GAClCzV,GAAO,oBAAmB0V,GAAW,EAAmB,GAAfF,EAAqBC,GAC9DzV,GAAO,wBACT0V,GAAW,EAAmB,GAAfF,EAAqBC,GAClCzV,GAAO,+CACT0V,GAAW,EAAmB,KAAfF,EAAuBC,GACpCzV,GAAO,uBACT0V,GAAW,EAAmB,IAAfF,EAAsBC,GACnCzV,GAAO,qBAAoB0V,GAAW,EAAmB,KAAfF,EAAuBC,GACjEzV,GAAO,uBACT0V,GAAW,EAAmB,KAAfF,EAAuBC,GACpCzV,GAAO,mBAAkB0V,GAAW,EAAmB,GAAfF,EAAqBC,GAC7DzV,GAAO,kBAAiB0V,GAAW,EAAmB,IAAfF,EAAsBC,GAEjEjlC,OAAO6C,KAAKisB,IAAYiD,SAASv1B,IAC/B,MAAMw2B,EAAKlE,GAAWtyB,GACtB,IAAI2oC,EAAYnS,EAAGyE,IAAIzE,GACI,IAAvB3Q,KAAKqN,gBACPyV,IAAc,EAAe,IAAXnS,EAAGsF,OAAgBuM,GAEzB,YAAZ7R,EAAGjyB,MACHyuB,GAAO,sDAEP2V,GAAa,EAAI,IAAOH,EAAeC,GACzCxa,IAAgBuI,EAAG9B,OAASiU,KAG1B3V,GAAO,WAAU/E,IAAgB,GAErCmM,GAAQsO,EAER,IAAIE,EAAU,EAad,GAZI5V,GAAO,iBAAgB4V,GAAW,MAClC5V,GAAO,cAAa4V,GAAW,MAC/B5V,GAAO,gBAAe4V,GAAW,MACjC5V,GAAO,eAAc4V,GAAW,MAChC5V,GAAO,eAAc4V,GAAW,MAChC5V,GAAO,iBAAgB4V,GAAW,MAClC5V,GAAO,mBAAkB4V,GAAW,MACpC5V,GAAO,gBAAe4V,GAAW,MACjC5V,GAAO,eAAc4V,GAAW,MAChC5V,GAAO,eAAc4V,GAAW,MAChC5V,GAAO,gBAAe4V,GAAW,MACjC5V,GAAO,eAAc4V,GAAW,MAChC5V,GAAO,eAAgB,CAEzB,IAAI6V,EACmE,GAApEtgC,KAAKkE,OAAOib,EAAyB7B,KAAKijB,WAAa,IAAO,IAC/D,GACA,GACA,GACFD,EAAMtgC,KAAK2D,IAAI28B,EAAK,KAEpBvZ,GAAe,EAAiC,IAA5B,GAAK,EAAIuZ,EAAM,MAAQ,GAC3CD,GAAWtZ,GAEb8K,GAAQwO,EAEJ5V,GAAO,kBAAiBoH,GAAQ,EAAgC,IAA5B7xB,KAAK2D,IAAI,IAAK2Z,KAAKkjB,QAG3D3O,GAAQ,EAAI3H,GAAY,oBAExB,MAAMuW,EAAe/a,GAAemM,EACpC52B,OAAO6C,KAAKwf,KAAKojB,iBAAiB1T,SAASv1B,IACrCgpC,GAAgBnjB,KAAKojB,gBAAgBjpC,GAAGkpC,WAC1CtB,GAAO/hB,KAAKojB,gBAAgBjpC,GAAGuE,SAGnC2pB,GAAkB8a,EAElB,MAAM/lC,EAAEA,GAAM4iB,KAAK6d,aAAaC,OAC1BwF,EAAW1W,GAAY,oBAC7B,IAAK,IAAIzyB,EAAI,EAAGA,EAAIiD,EAAGjD,IACrBo6B,GAAQ,EAAe,KAAX+O,EAGd,MAAM5kC,EAAOshB,KAAKujB,WAAW9oC,cAM7B,GALa,WAATiE,EAAmB61B,GAAQ,IACb,WAAT71B,IAAmB61B,GAAQ,KAEhCpH,GAAO,oBAAmBoH,GAAQ,KAElCpH,GAAO,uBAAwB,CACjC,IAAIqW,EAAmB,IACvB,GAAIrW,GAAO,iBAAkB,CAC3B,MAAMsW,EAAWzjB,KAAK0jB,qBACtB/lC,OAAO6C,KAAKijC,GAAU/T,SAASv1B,IACzBgzB,GAAOsW,EAAStpC,MAAKqpC,GAAoB,OAGjDjP,GAAQiP,EAEV,GAAIrW,GAAO,yBAA0B,CACnC,IAAIwW,EAAW,GACXxW,GAAO,yBAAwBwW,GAAY,IAC/CpP,GAAQ,EAAIoP,EAGVxW,GAAO,uBAAsBoH,GAAQ,KACrCpH,GAAO,wBAAuBoH,GAAQ,GAE1CnM,GAAepI,KAAK4jB,kBAAkB,MAAOxb,IAE7CmM,GAAQmD,KAERtP,IAAgBmM,EASlB,MAAMsP,GAAW,CACf,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAIIC,GAAe,CACnB,gBACA,gBACA,cACA,gBACA,kBACA,kBACA,kBAIIC,GAAgB,CACpB,0BACA,qBACA,mBACA,iBACA,sBACA,gBACA,oBAIIC,GAAa,CACjB,sBACA,wBACA,sBACA,yBACA,wBACA,yBACA,wBAIIC,GAAa,CACjB,qBACA,oBACA,oBACA,yBACA,cACA,WACA,eAkCF,SAASC,GAAarX,GACpB,OAAOF,GAAgBE,GAAQF,GAAgBE,GAAM8J,IAAM,EAe7D,SAASwN,KACP,IAAIC,EAAW,EACfzmC,OAAO6C,KAAKwf,KAAKuV,kBAAkB7F,SAASv1B,IACtCgzB,GAAOnN,KAAKuV,iBAAiBp7B,MAAKiqC,GAAY,OAE/CF,GAAa,UAAYE,GAAY,GAAGrC,GAAO,UAC/CmC,GAAa,YAAcE,GAAY,IAAIrC,GAAO,WAEvD,IAAIsC,EAAiB,EACjBC,EAAgB,EAChBC,EAAS,EACTC,EAAY,IAChB7mC,OAAO6C,KAAKisB,IAAYiD,SAASv1B,IAC/BkqC,GAAkB5X,GAAWtyB,GAAG00B,OAChC2V,EAAY9hC,KAAK2D,IAAIomB,GAAWtyB,GAAG00B,OAAQ2V,GACtCN,GAAa,kBAEdzX,GAAWtyB,GAAG00B,OACdnsB,KAAK2D,IAAI,IAAK,IAAM2Z,KAAKykB,YAAYrqC,OAAS4lB,KAAK6N,QAAQ1zB,GAAG6zB,GAAK,MAEnEsW,EAAgB,GAEfJ,GAAa,YAEdzX,GAAWtyB,GAAG00B,OACmC,IAAhD7O,KAAKykB,YAAYrqC,OAAS4lB,KAAK6N,QAAQ1zB,GAAG6zB,MAE3CuW,EAAS,MAGXC,GAAa,GAAGzC,GAAO,uBACL,IAAlBuC,GAAqBvC,GAAO,iBACjB,IAAXwC,GAAcxC,GAAO,WACrByC,GAAa,KAAKzC,GAAO,cACzByC,GAAa,KAAKzC,GAAO,yBACzByC,GAAa,KAAKzC,GAAO,gBACzByC,GAAa,KAAKzC,GAAO,2BACzByC,GAAa,KAAKzC,GAAO,iBACzByC,GAAa,KAAKzC,GAAO,4BACzByC,GAAa,KAAKzC,GAAO,oBACzByC,GAAa,KAAKzC,GAAO,+BACzByC,GAAa,KAAKzC,GAAO,kBACzByC,GAAa,KAAKzC,GAAO,6BACzByC,GAAa,KAAKzC,GAAO,iBAEzBsC,GAAkB,KAAKtC,GAAO,WAC9BsC,GAAkB,KAAKtC,GAAO,aAC9BsC,GAAkB,KAAMtC,GAAO,YAC/BsC,GAAkB,KAAMtC,GAAO,sBAC/BsC,GAAkB,KAAMtC,GAAO,gBAC/BsC,GAAkB,KAAMtC,GAAO,gBAE/Bva,IAAoB,IAAIua,GAAO,YAC/Bva,IAAoB,IAAIua,GAAO,aAC/Bva,IAAoB,KAAKua,GAAO,YAChCva,IAAoB,KAAKua,GAAO,oBAChCva,IAAoB,KAAKua,GAAO,oBAChCva,IAAoB,KAAKua,GAAO,oCAEhCsC,GAAkB,KAAQ7c,IAAoB,KAAKua,GAAO,YAC1DsC,GAAkB,KAAQ7c,IAAoB,KAChDua,GAAO,qBAELtV,GAAWiY,OAAO7V,OAASpC,GAAWuI,QAAQnG,QAAU,KAC1DkT,GAAO,qBAET,IAAI4C,GAAkB,EACtBhnC,OAAO6C,KAAKsjC,IAAcpU,SAASv1B,IAC5BgzB,GAAO2W,GAAa3pC,MAAKwqC,GAAkB,MAE9CA,GAAiB5C,GAAO,kBAE5B,IAAI6C,GAAmB,EAMvB,GALAjnC,OAAO6C,KAAKujC,IAAerU,SAASv1B,IAC7BgzB,GAAO4W,GAAc5pC,MAAKyqC,GAAmB,MAEhDA,GAAkB7C,GAAO,eAEzB5U,GAAO,mBAAoB,CAC7B,MAAM0X,EAAO7kB,KAAKyU,MAAMnG,QAAQmV,SAChC,IAAIqB,EAAW,EACfnnC,OAAO6C,KAAKqkC,GAAMnV,SAASv1B,IACrBgzB,GAAO0X,EAAK1qC,GAAGuE,QAAOomC,GAAY,MAEpCA,GAAYD,EAAKzqC,QAAQ2nC,GAAO,cAyOxC,SAASgD,GAAoBlW,GAC3B,MAAMmW,EAAS,GAQf,OAPArnC,OAAO6C,KAAKwf,KAAK6N,SAAS6B,SAASv1B,IACjC6qC,EAAO7qC,GAAK,GACZ6qC,EAAO7qC,GAAGw4B,MA3Nd,SAAiCzE,EAAUW,GACzCsH,KACA1J,GAAWyB,GAAUW,QAAUA,EAC/B,MAAM8B,EAAKlE,GAAWyB,GAEL,WAAbA,GACEyC,EAAG9B,QAAU,GAAGkT,GAAO,SACvBpR,EAAG9B,QAAU,GAAGkT,GAAO,gBACvBpR,EAAG9B,QAAU,IAAIkT,GAAO,eACxBpR,EAAG9B,QAAU,KAAKkT,GAAO,mBACzBpR,EAAG9B,QAAU,KAAKkT,GAAO,eACzBpR,EAAG9B,QAAU,KAAKkT,GAAO,uBACzBpR,EAAG9B,QAAU,KAAKkT,GAAO,SACzBpR,EAAG9B,QAAU,KAAKkT,GAAO,kCACzBpR,EAAG9B,QAAU,KAAKkT,GAAO,iCACzBpR,EAAG9B,QAAU,KAAKkT,GAAO,wBACzBpR,EAAG9B,QAAU,KAAKkT,GAAO,yBAE7BpkC,OAAO6C,KAAKwf,KAAK6N,QAAQ8C,EAAGjyB,MAAMumC,eAAevV,SAASmB,IAEtDF,EAAG9B,QACH7O,KAAKyU,MAAMzU,KAAK6N,QAAQ8C,EAAGjyB,MAAMumC,cAAcpU,GAAGtD,MAAM2X,cAExDnD,GAAO/hB,KAAK6N,QAAQ8C,EAAGjyB,MAAMumC,cAAcpU,GAAGnyB,SAKpD,MAAMymC,EAAwBzd,GAU9B,OARAsa,KAEAmC,KAEIgB,IAA0Bzd,IAC5Bsa,KAGK5Z,GAAepI,KAAKyR,UAqLP2T,CAAwBjrC,EAAG00B,GAC9B,IAAXA,IACFxH,GAA2B,MAGxB2d,EA6BT,SAASK,KACP1nC,OAAO6C,KAAKwf,KAAK6N,SAAS6B,SAASv1B,IACjCyvB,GAAczvB,GAAGg0B,MAAQ2T,GACvB9hB,KAAK6N,QAAQ1zB,GACb6lB,KAAK6N,QAAQ1zB,GAAGw0B,UAChB3O,KAAK6N,QAAQ1zB,GAAG00B,OAChB7O,KAAK6N,QAAQ1zB,GAAGy0B,KAChB,GAEF/E,GAAe1vB,GAAGg0B,MAAQ2T,GACxB9hB,KAAK6N,QAAQ1zB,GACb6lB,KAAK6N,QAAQ1zB,GAAGw0B,UAChB3O,KAAK6N,QAAQ1zB,GAAG00B,OAChB7O,KAAK6N,QAAQ1zB,GAAGy0B,KAChB,IAEF9E,GAAgB3vB,GAAGg0B,MAAQ2T,GACzB9hB,KAAK6N,QAAQ1zB,GACb6lB,KAAK6N,QAAQ1zB,GAAGw0B,UAChB3O,KAAK6N,QAAQ1zB,GAAG00B,OAChB7O,KAAK6N,QAAQ1zB,GAAGy0B,KAChB,QASN,SAAS0W,KAEP1b,GAAgBmb,GAAoB,GACpClb,GAAiBkb,GAAoB,IACrCjb,GAAkBib,GAAoB,KAvDtC3a,GAAgB,GAChBzsB,OAAO6C,KAAKwf,KAAK+V,UAAUrG,SAASv1B,IAClC,MAAMorC,EAnFV,SAAgCpU,GAC9B,GACkC,WAAhCnR,KAAK+V,SAAS5E,GAAS7D,MACY,IAAlCtN,KAAK+V,SAAS5E,GAAS3D,QACtBxN,KAAK+V,SAAS5E,GAASqU,UACS,aAAhCxlB,KAAK+V,SAAS5E,GAAS7D,KACzB,CACA6I,KACkC,yBAA9BzJ,GAAYyE,GAASzyB,KACvBguB,GAAY,yBAAyBc,OAAS,EACP,uBAA9Bd,GAAYyE,GAASzyB,KAC9BguB,GAAY,uBAAuBc,OAAS,EAE5Cd,GAAYyE,GAAS3D,QAAUd,GAAYyE,GAAS3D,OAAS,GAAK,EAEhExN,KAAKylB,qBAAqBzlB,KAAK+V,SAAS5E,GAAS7D,QACnD9F,IAAoB,GAEN,iBAAZ2J,GACF1J,IAAc,EACVA,GAAa,GAAGsa,GAAO,aACvBta,IAAc,GAAGsa,GAAO,kBACP,mBAAZ5Q,EACT4Q,GAAO,cACc,yBAAZ5Q,EACT4Q,GAAO,kBACc,iBAAZ5Q,GACT4Q,GAAO,aAGT,MAAMoD,EAAwBzd,GAE9Bsa,KAEAmC,KAEIgB,IAA0Bzd,IAC5Bsa,KAGF,MAAM0D,EAtIV,WACE,IAAIpkC,EAAM,EACN6rB,GAAO,sBAAqB7rB,GAAO,IACnC6rB,GAAO,qBAAoB7rB,GAAO,GAClC6rB,GAAO,qBAAoB7rB,GAAO,IAClC6rB,GAAO,sBAAqB7rB,GAAO,IACnC6rB,GAAO,yBAAwB7rB,GAAO,IACtC6rB,GAAO,yBAAwB7rB,GAAO,IACtC6rB,GAAO,wBAAuB7rB,GAAO,IACrC6rB,GAAO,wBAAuB7rB,GAAO,IACrC6rB,GAAO,uBAAsB7rB,GAAO,IACpC6rB,GAAO,uBAAsB7rB,GAAO,IACxC,IAAIkjB,EAAM,EACV7mB,OAAO6C,KAAKisB,IAAYiD,SAASv1B,IAC/BqqB,GAAOiI,GAAWtyB,GAAG00B,UAEvBrK,GAAOiI,GAAWiY,OAAO7V,OACzBvtB,GAAOkjB,EAGH2I,GAAO,mBAAkB7rB,GAAsB,IAAf8mB,IAChC+E,GAAO,gBAAe7rB,GAAsB,IAAf8mB,IAC7B+E,GAAO,oBAAmB7rB,GAAsB,IAAf8mB,IACjC+E,GAAO,sBAAqB7rB,GAAsB,IAAf8mB,IACnC+E,GAAO,uBAAsB7rB,GAAsB,IAAf8mB,IACpC+E,GAAO,mBAAkB7rB,GAAsB,IAAf8mB,IAChC+E,GAAO,qBAAoB7rB,GAAsB,IAAf8mB,IAClC+E,GAAO,sBAAqB7rB,GAAsB,IAAf8mB,IACnC+E,GAAO,sBAAqB7rB,GAAsB,IAAf8mB,IACnC+E,GAAO,qBAAoB7rB,GAAsB,IAAf8mB,IAClC+E,GAAO,yBAAwB7rB,GAAsB,IAAf8mB,IACtC+E,GAAO,sBAAqB7rB,GAAsB,IAAf8mB,IACnC+E,GAAO,sBAAqB7rB,GAAsB,IAAf8mB,IAEnC+E,GAAO,kBAAiB7rB,GAAsB,IAAf8mB,IAEnC,IAAImM,EAAO,EAiBX,GAhBIpH,GAAO,qBAAoBoH,GAAQ,KACnCpH,GAAO,gBAAeoH,GAAQ,KAC9BpH,GAAO,iBAAgBoH,GAAQ,KAC/BpH,GAAO,iBAAgBoH,GAAQ,MAE/BpH,GAAO,iBACToH,GACE,EACA,IACE7xB,KAAK2D,IACH2Z,KAAK6N,QAAQ6W,OAAOzO,MACpB9I,GAAO,mBAAqB,GAAK,KAIzCoH,GAAQtH,GAAO,SACXR,GAAWkB,OAAOY,gBAChBd,GAAW,CACb,MAAMe,EAASf,GAAU,SACV,IAAXe,EAAc+F,GAAQ,KACN,IAAX/F,EAAc+F,GAAQ,IACX,IAAX/F,IAAc+F,GAAQ,MAInC52B,OAAO6C,KAAKwf,KAAK2X,OAAOjI,SAASv1B,SACQ,IAA5B6lB,KAAK2X,MAAMx9B,GAAGwrC,YACvBpR,GAAQvU,KAAK2X,MAAMx9B,GAAGwrC,cAI1BpR,GAAQ,EAAmC,IAA/B3H,GAAY,iBAGxB,IAAIgZ,EACFrR,EACAvU,KAAKsV,WACH,EACAnI,GAAO,2BACLA,GAAO,kCACPA,GAAO,gBACT7rB,GAOJ,OAJAskC,EAAM5lB,KAAK4jB,kBAAkB,kBAAmBgC,GAE5C5lB,KAAKqO,QAAQ,mBAAkBuX,EAAM5lB,KAAK2X,MAAM,iBAAiB3B,OAE9D4P,EAiDgBC,GAAa7lB,KAAK0f,iBACvC,OAAIgG,EACK,CAACtd,GAAepI,KAAKyR,UAAWiU,GAElC,CAACtd,GAAepI,KAAKyR,WAE9B,MAAO,GAqCeqU,CAAuB3rC,GACjC,iBAANA,GACFiwB,GAAcjwB,GAAK,CAAEw4B,MAAO3S,KAAKyR,UAAY3K,IACjB,IAAxBjH,EAAU2R,UACZpH,GAAcjwB,GAAGw4B,OAAS5L,GACK,IAAxBlH,EAAU2R,YACjBpH,GAAcjwB,GAAGw4B,OAAS3L,IACvBhC,OAAOC,SAASmF,GAAcjwB,GAAGw4B,SAAQvI,GAAcjwB,GAAGw4B,MAAQ,KAEvEvI,GAAcjwB,GAAK,GACforC,EAAY,KAAInb,GAAcjwB,GAAGw4B,MAAQ4S,EAAY,IACrDA,EAAY,KAAInb,GAAcjwB,GAAGw+B,WAAa4M,EAAY,QA4DpE,SAASQ,GAAqBC,EAAOC,EAAW1R,GAC9C,IAAI2R,EAAiB,EACjBhX,EAAO,EACPiX,EAAW,EACXC,EAAe,EACfC,EACF,EAAI3jC,KAAK6D,IAAI,EAAG7D,KAAKoL,KAAKpL,KAAKgjB,IAAI1F,KAAKuT,SAAW7wB,KAAK4jC,MAAQ,IAClE,KAAOH,EAAWF,EAAY1R,GAC5BrF,EAAOxsB,KAAK6D,IACVy/B,EACAtjC,KAAK2D,IACH3D,KAAKkE,MAAO,EAAI,EAAK,IAAMy/B,EAAQL,EAAQzR,GAC3C0R,EAAY1R,IAGhB4R,EAAWzjC,KAAK6D,IACdy/B,EACAtjC,KAAK2D,IACH3D,KAAKkE,MAAO,EAAI,EAAK,KAAOy/B,EAAQ,GAAKL,EAAQzR,GACjD0R,EAAY1R,IAGhB6R,EAAe1jC,KAAKkE,MAAO,EAAI,EAAK,KAAOy/B,EAAQ,GAAKL,EAAQzR,GAChE2R,GAAkBhX,EAClBmX,GAAS,EAEX,MAAO,CAACH,EAAgBhX,EAAMkX,GAmBhC,SAASG,KACP,IAAIN,EAEF,GADA7c,GAEA,GACA,EACAC,GAEF,MAAMmd,EAAc9O,KAChB8O,EAAc,EAAGP,GAAaO,EAC7BP,EAAY,EAEjBtb,GAAsBob,GACpB,EACAE,EACA3c,IAEFmB,GAA+C,EAAzBE,GAAoB,GAAUrB,GACpDoB,GACEC,GAAoB,GAAK,GAAK,GAAK,EAAItB,GAEzCyB,GAA2Bib,GACzB,EACAE,EACA1c,IAEFqB,GACiC,EAA9BE,GAAyB,GAAUvB,GACtCsB,GACEC,GAAyB,GACzB,GACA,GACA,EACAzB,GAEF4B,GAA4B8a,GAC1B,EACY,EAAZE,EACA3c,IAEFyB,GACkC,EAA/BE,GAA0B,GAAU3B,GACvC0B,GACEC,GAA0B,GAC1B,GACA,GACA,EACA5B,GAEF+B,GAAiC2a,GAC/B,EACY,EAAZE,EACA1c,IAEF2B,GACuC,EAApCE,GAA+B,GAAU7B,GAC5C4B,GACEC,GAA+B,GAC/B,GACA,GACA,EACA/B,GAWJ,SAASod,KACP,MAAMtG,EAAWz9B,KAAKkE,MAAM+a,KAAKC,MAAQ,KAEzC,GAAK5B,KAAKyd,EAAIzd,KAAKyX,IAAO,GAAM,EAAG,CACjC,MAAMiP,EAAa1mB,KAAK2mB,gBAAgB3mB,KAAK4mB,cAIvCC,EAHiBnkC,KAAKkE,MAC1BoZ,KAAK2mB,gBAAgB3mB,KAAK4mB,aAAe5mB,KAAKqgB,gBAER39B,KAAKkE,MAAM8/B,GAG7CpG,EAAWH,EAAWhZ,GACtB2f,EACJpkC,KAAK6D,IAAI,EAAGsgC,EAAiBzf,IAA0BkZ,EACzD,IAAK,IAAInmC,EAAI,EAAGA,EAAImmC,EAAUnmC,IAC5BqsB,GAAkBiZ,UAAUqH,GAI9B3f,GAAyBgZ,EACzB/Y,GAAyByf,EAGzBrd,GAAmBhD,GAAkBua,YAAY,IA4HrD,SAASgG,KACPzc,GAAuB,GACvBE,GAA8B,GAC9BD,GAA+B,GAC/B,MAAMsa,EAAO,GAEblnC,OAAO6C,KAAKwf,KAAK+V,UAAUrG,SAASv1B,IAClC0qC,EAAK5oC,KAAK+jB,KAAK+V,SAAS57B,OAO1B0qC,EAAK9U,MALW,SAAU/sB,EAAGP,GAC3B,OAAIO,EAAEquB,MAAQ5uB,EAAE4uB,MAAc,EAC1BruB,EAAEquB,MAAQ5uB,EAAE4uB,OAAe,EACxB,KAIT1zB,OAAO6C,KAAKqkC,GAAMnV,SAASv1B,IACzB,MAAMw2B,EAAKkU,EAAK1qC,GAEhB,GAAkB,IAAdw2B,EAAGnD,OAAc,CACnB,IAAIjyB,EAAM,GAEVA,GApDN,SAAsBo1B,GACpB,IAAIqW,EAAU,wBACE,aAAZrW,EAAGrD,OAAqB0Z,GAAW,aAEvC,IAAIC,EAAU,EACTjnB,KAAKkd,MAAMgK,SAAQD,EAAU,GAC9BA,IAASD,GAAW,YAExB,IAAIG,KAAEA,GAASxW,EACXA,EAAGyW,eAAcD,EAAOxW,EAAGyW,gBAC/B,MAAMrQ,EAAU,0DAA0DpG,EAAG3C,kBAC7E,MAAO,eAAegZ,SACrBhnB,KAAKqnB,kBAAkBtQ,EAAS,OAAO,kBAEtCoQ,EAAK,GAAK,yBAAyBA,EAAK,OAAS,yBACjB,IAAVA,EAAK,QAAwB,IAAVA,EAAK,oBAqCrCG,CAAa3W,GAEJ,aAAZA,EAAGrD,KAAqB/C,IAAgChvB,EACvC,WAAZo1B,EAAGrD,KAAmB9C,IAA+BjvB,EAEhD,WAAZo1B,EAAGrD,MACS,WAAZqD,EAAGrD,MACS,UAAZqD,EAAGrD,OAEHhD,IAAwB/uB,OAchC,SAASgsC,KACP,GAAoB,cAAhBvnB,KAAKoe,OAAwB,CAC/B,IAAIzhC,EAAuB,GAAjBqjB,KAAKyR,UACXzR,KAAKqO,QAAQ,kBAAiB1xB,GAAO,IACrCqjB,KAAKqO,QAAQ,YAAW1xB,GAAO,KACnC+sB,GAAehnB,KAAK6D,IAAI,GAAI5J,GACxBqjB,KAAKge,IAAI,gCAA+BtU,IAAgB,IAchE,SAAS8d,KACP9e,GAA2C,IAA7BU,GAAoC,IAClDV,IAAcW,GACd,MAAMmd,EAAc9O,KAChB8O,EAAc,EAAG9d,IAAc8d,EAC9B9d,GAAa,EAClBC,GAAmBW,IAAuC,IAAbZ,IAAqB,GAClEE,GAAwBW,IAAsC,IAAbb,IAAqB,GACtEG,GAAgC,EAAbH,GACnBI,GACEQ,IAA6C,IAAnBT,IAA2B,GACvDE,GACEQ,IAA4C,IAAnBV,IAA2B,GACtDG,GAA4B,EAAbN,GACfO,GAAoC,IAAfD,GAErBE,GAAe,EACf,IAAI3iB,EAAM,EACNnJ,EAAI,EACRO,OAAO6C,KAAKwf,KAAK6N,SAAS6B,SAASv1B,IAC7B6lB,KAAK6N,QAAQ1zB,GAAG00B,OAAStoB,IAAKA,EAAMyZ,KAAK6N,QAAQ1zB,GAAG00B,QACpD7O,KAAK6N,QAAQ1zB,GAAG00B,OAAS,IAAGzxB,GAAK,MAEvCO,OAAO6C,KAAKwf,KAAK6N,SAAS6B,SAASv1B,KAE9B6lB,KAAK6N,QAAQ1zB,GAAG00B,OAAStoB,GAAa,IAANnJ,IACjC4iB,KAAK6N,QAAQ1zB,GAAG00B,OAAS,KACD,EAAxB7O,KAAK6N,QAAQ1zB,GAAGg0B,MAAYjF,KAE5BA,GAAuC,EAAxBlJ,KAAK6N,QAAQ1zB,GAAGg0B,MAC/BhF,GAAuBhvB,MAQ7B,SAASstC,KACP,IAAIC,EAAa,EACbC,EAAY,EACZpT,EAAO,EAGPpH,GAAO,4BAA2BoH,GAAQ,MAC1CpH,GAAO,iBAAgBoH,GAAQ,MAEnCmT,GAAc,EAA+C,GAA3C1nB,KAAKsjB,SAAS,2BAChCoE,GAAc1nB,KAAK4nB,IAAI,oBACvBD,GAAa,EAAuC,GAAnC3nB,KAAKsjB,SAAS,mBAC/BqE,GAAa3nB,KAAK4nB,IAAI,mBAGtBte,GAAyBiL,EAAOmT,EAChCne,GAAwBgL,EAAOoT,EAM/Bte,GAAoC,EACD,IAA/BrJ,KAAK6d,aAAaC,OAAO1gC,IAC3BisB,IACE,EAAwC,KAApCrJ,KAAKsjB,SAAS,qBAiBxB,SAASuE,KACP9d,GAAsB,EACtBC,GAAuB,EACvBC,GAAwB,CAAC,EAAG,MAC5B,IAAK,IAAI9vB,EAAI,EAAGA,EAAI6lB,KAAK2R,UAAUv3B,OAAQD,IAAK,CAC9C,IAAI+kC,OAAEA,GAAWlf,KAAK2R,UAAUx3B,GAC5BglC,EAAS,IAKb,GAJInf,KAAKge,IAAI,6BAA4BmB,GAAU,MACpB,IAA3Bnf,KAAK2R,UAAUx3B,GAAGK,OAAY2kC,GAAU,GAC5CD,GAAUC,EACNnf,KAAKge,IAAI,mBAAkBkB,GAAU,MACrCzS,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASxO,KAAK0N,OAAO,SACZ,IAAXc,EAAc0Q,GAAU,KACR,IAAX1Q,EAAc0Q,GAAU,IACb,IAAX1Q,IAAc0Q,GAAU,MAEnCnV,IAAuBmV,EACQ,IAA3Blf,KAAK2R,UAAUx3B,GAAGK,OACpBwvB,IAAwBkV,EACpBA,EAASjV,GAAsB,KACjCA,GAAwB,CAACiV,EAAQ/kC,MAuBzC,SAAS2tC,KACP/T,KACA8T,KACAL,KACAC,KACAlB,KACAQ,KACAQ,KAhiDAphB,GAAc,IAAIwZ,GAAWvc,EAAYA,EAAYhpB,OAAS,IAC9DgsB,GAAY,IAAIuZ,GAAWvc,EAAYA,EAAYhpB,OAAS,IAC5DisB,GAAmB,IAAIsZ,GAAWvc,EAAYA,EAAYhpB,OAAS,IACnEksB,GAAa,IAAIqZ,GAAWvc,EAAYA,EAAYhpB,OAAS,IAC7DmsB,GAAa,IAAIoZ,GAAWtc,EAAWA,EAAWjpB,OAAS,IA+hD3DosB,GAAoB,IAAImZ,GAAW,GACnCzZ,GAAgC,IAAIyZ,GACE,GAApCtc,EAAWA,EAAWjpB,OAAS,IAEjCqsC,KACAvG,KACAoF,KACAD,KACA1D,KAKF,MA8ImCoG,GA9Ib,CACpBxW,QAAS,EACTuP,WAAY,EACZI,cAAe,EACf1P,UAAW,EACX1M,MAAO,EACPF,cAAe,EACfQ,eAAgB,EAChBD,YAAa,OACbY,WAAY,EACZiiB,aAAc,EACd5U,cAAe,EACf3D,YAAa,EACb4R,sBAAuB,EACvBI,aAAc,EACdF,cAAe,EACfH,oBAAqB,EACrBpf,WAAY,UACZC,YAAa,UACbC,aAAc,UACdC,aAAc,UACdC,UAAW,UACXC,aAAc,UACdC,WAAY,UACZC,WAAY,UACZC,YAAa,UACbyQ,OAAQ,EACRW,SAAU,EACVC,YAAa,EACbsK,gBAAiB,EACjBjO,YAAa,EACb+X,mBAAoB,EACpBrY,cAAe,EACfoB,aAAc,EACdkX,eAAgB,EAChBC,YAAa,EACbC,QAAS,EACTC,QAAS,EACTtoB,gBAAiB,EACjBuoB,oBAAqB,EACrBnQ,oBAAqB,EACrBoQ,YAAa,EACbhM,cAAe,EACfC,oBAAqB,EACrBE,gBAAiB,EACjBE,sBAAuB,EACvBE,gBAAiB,EACjBb,aAAc,EACdG,YAAa,EACbtE,YAAa,EACbyB,YAAa,EACbkF,aAAc,EACd1F,YAAa,EACbkB,aAAc,EACdc,gBAAiB,EACjByN,oBAAqB,EACrBlL,MAAO,EACPmL,gBAAiB,EACjBC,oBAAqB,EACrBrJ,QAAS,EACTsJ,oBAAqB,EACrBC,aAAc,EACdvkB,MAAO,EACPwkB,aAAc,EACdC,eAAgB,EAChBC,QAAS,EACTC,cAAe,UACfC,QAAS,EACTC,SAAU,IACVC,WAAY,6DACZC,oBAAqB,EACrBC,aAAc,EACdC,mBAAoB,UACpBC,aAAc,EACdC,cAAe,IACfC,gBACE,gEACFC,gBAAiB,EACjBC,SAAU,EACVC,eAAgB,UAChBC,SAAU,EACVC,UAAW,IACXC,YACE,oEACFC,UAAW,EACXC,gBAAiB,UACjBC,UAAW,EACXC,WAAY,IACZC,aAAc,+DACdC,kBAAmB,EACnBC,WAAY,EACZC,iBAAkB,UAClBC,WAAY,EACZC,YAAa,IACbC,cACE,gEACFC,qBAAsB,EACtBC,cAAe,EACfC,oBAAqB,UACrBC,cAAe,EACfC,eAAgB,IAChBC,iBACE,6DACFC,wBAAyB,EACzBC,iBAAkB,EAClBC,uBAAwB,UACxBC,iBAAkB,EAClBC,kBAAmB,IACnBC,oBACE,8DACFC,aAAc,EACdjnB,kBAAmB,EACnBknB,OAAQ,CACNC,UAAW,EACXC,YAAa,EACbC,SAAU,EACVC,QAAS,EACTC,YAAa,EACbC,QAAS,EACTC,WAAY,EACZC,aAAc,EACdC,oBAAqB,EACrBC,eAAgB,EAChBC,eAAgB,EAChBC,gBAAiB,EACjBC,iBAAkB,EAClBC,iBAAkB,EAClBC,kBAAmB,EACnBC,qBAAsB,EACtBC,cAAe,EACfC,MAAO,EACPC,MAAO,EACPC,OAAQ,EACRC,OAAQ,EACRC,SAAU,EACVC,MAAO,EACPC,IAAK,EACLC,KAAM,EACNC,QAAS,IAoCsBC,GAvBnC,SAAsCC,GACpC,GAAoB,IAAhBA,EAAmB,CAErB,MAAMC,EAA2B,WAC/B,IACErB,aAAasB,oBAAoBC,OACjC,MAAOjyC,GACP,OAAO,EAET,OAAO,GAIH,iBAAkB1C,OAEby0C,IACTrB,aAAasB,oBAAoBC,OAEjCvB,aAAasB,oBAJbtyC,QAAQ0qB,IAAI,kDAoBlB,SAAS8nB,KACkB,IAArB3tB,EAAUoT,QACZ1nB,EAAE,YAAYnJ,MAAMqV,QAAU,GAC9Bub,MAEAznB,EAAE,YAAYnJ,MAAMqV,QAAU,OAEhCkc,KAwGF,SAAS8Z,KACPC,cACA1tB,KAAK2tB,eACL3tB,KAAK4tB,kBAEL5a,KACAzD,KACAU,KAuBF,SAAS4d,KACmB,IAAtBhuB,EAAUwoB,SAAiBrnB,EAAwB,EACjDuK,GAA0BuiB,MAC5BviC,EAAE,aAAawiC,KACb,mEAEFxiC,EAAE,aAAawiC,KACb,oEAEJxiC,EAAE,aAAawiC,KACb,uDAQN,MAAMC,GACJpO,YAAYplC,EAAMyzC,GAChBp1C,KAAK2B,KAAOA,EACZ3B,KAAKo1C,MAAQA,GAKjB,MAAMC,WAAwBF,GAC5BpO,YAAYplC,EAAMyzC,EAAOE,EAAOC,EAAMC,EAAQnvC,EAAO,MACnDovC,MAAM9zC,EAAMyzC,GACZp1C,KAAKs1C,MAAQA,EACbt1C,KAAKu1C,KAAOA,EACZv1C,KAAKw1C,OAASA,EACVnvC,IACFrG,KAAKqG,KAAOA,IAKlB,MAAMqvC,WAAuBP,GAC3BpO,YAAYplC,EAAMyzC,EAAOG,GACvBE,MAAM9zC,EAAMyzC,GACZp1C,KAAKu1C,KAAOA,GAKhB,MAAMI,WAAsBR,GAC1BpO,YAAYplC,EAAMyzC,EAAOE,EAAOC,GAC9BE,MAAM9zC,EAAMyzC,GACZp1C,KAAKs1C,MAAQA,EACbt1C,KAAKu1C,KAAOA,EACZ,IAAK,IAAIj0C,EAAI,EAAGA,EAAI,IAAKA,IACvBtB,KAAKs1C,MAAMh0C,GAAK,GAAGA,MAMzB,MAAMs0C,WAA2BT,GAC/BpO,YAAYplC,EAAMyzC,EAAOE,EAAOC,EAAM/nC,EAAKE,GACzC+nC,MAAM9zC,EAAMyzC,GACZp1C,KAAKs1C,MAAQA,EACbt1C,KAAKu1C,KAAOA,EACZv1C,KAAKwN,IAAMA,EACXxN,KAAK0N,IAAMA,GAwBf,MAmzBmCmoC,GAnzBpB,CAEbnd,QAAS,IAAI2c,GACX,OACA,cACA,CAAC,6BAA8B,8BAC/B,kFACA,GAEFpN,WAAY,IAAIoN,GACd,OACA,cACA,CACE,0BACA,0BACA,0BACA,yBACA,yBACA,0BACA,0BACA,2BAEF,4DACA,GAEFhN,cAAe,IAAIgN,GACjB,OACA,cACA,CACE,4BACA,4BACA,6BACA,6BACA,8BAEF,uDACA,GAEF1c,UAAW,IAAI0c,GACb,OACA,cACA,CACE,+BACA,8BACA,6CAEF,qGACA,GACA,WACEhmB,IAAY,KAKhBpD,MAAO,IAAIopB,GACT,OACA,WACA,CACE,uBACA,SACA,cACA,4BACA,sBACA,wBAEF,yCACA,GACA,WACET,QAGJ7oB,cAAe,IAAIspB,GACjB,OACA,WACA,CAAC,aAAc,aAAc,cAC7B,oIACA,GACA,WACET,QAGJroB,eAAgB,IAAI8oB,GAClB,OACA,WACA,CAAC,4BAA6B,mBAC9B,qDACA,GACA,WACET,QAGJtoB,YAAa,IAAIspB,GACf,WACA,WACA,2BACA,8KACA,EACA,WAEF1oB,WAAY,IAAImoB,GACd,OACA,WACA,CAAC,0BAA2B,uBAC5B,0BACA,GAEFlG,aAAc,IAAIkG,GAChB,OACA,WACA,CAAC,oBAAqB,oBACtB,mEACA,GACA,WAjU6B,IAA3BruB,EAAUmoB,aAAoBhoB,KAAKwd,QAAU3a,EAC5C7C,KAAKwd,QAAU/b,EAAgB+b,WAoUpCpK,cAAe,IAAI8a,GACjB,OACA,WACA,CAAC,yBAA0B,mBAC3B,sKACA,GAIFze,YAAa,IAAIye,GACf,OACA,UACA,CAAC,uBAAwB,uBACzB,yBACA,GACA,WACE3e,QAGJ8R,sBAAuB,IAAI6M,GACzB,OACA,UACA,CAAC,2BAA4B,sBAC7B,0KACA,GAEFzM,aAAc,IAAIyM,GAChB,OACA,UACA,CACE,mBACA,kBACA,0BACA,gCAEF,sGACA,GA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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file diff --git a/src/Main/VariablesAndData.js b/src/Main/VariablesAndData.js index b23f9d1f..3a792254 100644 --- a/src/Main/VariablesAndData.js +++ b/src/Main/VariablesAndData.js @@ -22,8 +22,8 @@ export let LastWrinklerCount; /** Stores the date at Game.CalculateGains for God Cyclius */ -export let CycliusDateAtBeginLoop; +export let CycliusDateAtBeginLoop = Date.now(); // eslint-disable-line prefer-const /** Stores the date at Game.CalculateGains for the Century egg */ -export let CenturyDateAtBeginLoop; +export let CenturyDateAtBeginLoop = Date.now(); // eslint-disable-line prefer-const diff --git a/src/Sim/SimulationEvents/GodChange.js b/src/Sim/SimulationEvents/GodChange.js index 7f085ae0..b3b121ee 100644 --- a/src/Sim/SimulationEvents/GodChange.js +++ b/src/Sim/SimulationEvents/GodChange.js @@ -13,11 +13,16 @@ import { * This functions calculates the cps and cost of changing a Dragon Aura * It is called by CM.Disp.AddAuraInfo() * @param {number} god The number of the slot to be swapped in - * * @param {number slot The slot the god will go to + * @param {number slot The slot the god will go to * @returns {number} CM.Sim.cookiesPs - Game.cookiesPs The bonus cps and the price of the change */ export default function CalculateChangeGod(god, slot) { CopyData(); + const { minigame } = Game.Objects.Temple; + const CurrentSlot = minigame.godsById[god].slot; + if (CurrentSlot === '0') SimGod1 = minigame.slot[slot]; + else if (CurrentSlot === '1') SimGod2 = minigame.slot[slot]; + else if (CurrentSlot === '2') SimGod3 = minigame.slot[slot]; /* eslint-disable no-unused-vars */ if (slot === 0) SimGod1 = god; else if (slot === 1) SimGod2 = god; From 48e8fd21540be89b1f81c4b1f2dd92cde0f11003 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Sun, 4 Apr 2021 20:29:29 +0200 Subject: [PATCH 29/30] Fix black flicker at loading & timers change #621 --- CookieMonster.js | 2 +- dist/CookieMonster.js | 2 +- dist/CookieMonster.js.map | 2 +- src/Disp/HelperFunctions/UpdateBackground.js | 1 + 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CookieMonster.js b/CookieMonster.js index 5feb9611..16e6377b 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x=[],M=[],T=[],S={},P=Date.now(),B=Date.now();const E="CMText",N="CMBack",O="Blue",F="Green",W="Yellow",L="Orange",A="Red",j="Purple",D="Gray",H="Pink",U="Brown",$=[D,O,F,W,L,A,j,H,U],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],I={};let z,V,_=0,Q=-1,X=[],q=1,Y=1,K=1;const J=[10,15,30,60,300,600,900,1800],Z=[1,5,10,15,30],ee={Frenzy:W,"Dragon Harvest":U,"Elder frenzy":F,Clot:A,"Click frenzy":O,Dragonflight:H};let te,oe,ne,ie,ae,re,le,se={},ce="",de=[];function pe(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${pe(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function me(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=F):(n=ue(t),o=t>300?A:t>60?L:W),{text:n,color:o}}let he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Me,Te,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=0,pt=1,ut=1,mt=1,ht=0,gt=0,ft=0,Ct=0,yt={},bt={},kt={},Gt=0,vt=0,wt=[0,null],xt=0,Mt=0,Tt={},St={},Pt={},Bt={},Et={},Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,$t=0,Rt=[],It=0,zt=0,Vt={},_t={},Qt=0,Xt=0,qt=[],Yt={},Kt=0,Jt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Zt=[],eo=[],to=[];function oo(e){let t=0;return Game.dragonAuras[$e].name!==e&&Game.dragonAuras[Re].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[$e].name&&"Reality Bending"!==Game.dragonAuras[Re].name||(t+=.1),t}function no(){let e=.25;return e*=1+oo("Earth Shatterer"),e}function io(e,t){return void 0===Qe[e]?void 0===t?1:t:Qe[e]}function ao(e){const t=eo[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ro(e){if(Game.hasGod){void 0===Zt.Temple.minigame&&(Zt.Temple.minigame=Game.Objects.Temple.minigame);const t=Zt.Temple.minigame.gods[e];if(Ie===t.id)return 1;if(ze===t.id)return 2;if(Ve===t.id)return 3}return!1}function lo(e,t){let o=t;if(ao("Season savings")&&(o*=.99),ao("Santa's dominion")&&(o*=.99),ao("Faberge egg")&&(o*=.99),ao("Divine discount")&&(o*=.99),ao("Fortune #100")&&(o*=.99),o*=1-.02*oo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&ao(e.fortune.name)&&(o*=.93),o*=io("buildingCost"),Zt.Temple.minigameLoaded){const e=ro("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function so(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function co(){let t=Game.buyBulk;if(1===Game.buyMode?Y=t:t=Y,1===t?t=yt:10===t?t=bt:100===t&&(t=kt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(yt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=pe(so(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(yt).map((e=>{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;e$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.ppe.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?q=i:i=q,1===i&&(i=yt),10===i&&(i=bt),100===i&&(i=kt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=pe(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=E+i[o].color,n=e.PPDisplayTime?ue(Math.round(i[o].pp)):pe(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=me((Game.Objects[o].bulkPrice-(Game.cookies+mo()))/uo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=E+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&ao(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(ao(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&ao(e.fortune.name)&&(t*=1.07),e.grandma&&ao(e.grandma.name)&&(t*=1+.01*Zt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&ao(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function wo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;ao("Thousand fingers")&&(t+=.1),ao("Million fingers")&&(t*=5),ao("Billion fingers")&&(t*=10),ao("Trillion fingers")&&(t*=20),ao("Quadrillion fingers")&&(t*=20),ao("Quintillion fingers")&&(t*=20),ao("Sextillion fingers")&&(t*=20),ao("Septillion fingers")&&(t*=20),ao("Octillion fingers")&&(t*=20),ao("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Zt).forEach((e=>{"Cursor"!==Zt[e].name&&(n+=Zt[e].amount)})),t*=n,o*=vo(e),o*=Game.magicCpS("Cursor"),o*=io("cursorCps"),Game.ComputeCps(.1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{ao(Game.GrandmaSynergies[e])&&(o*=2)})),ao("Bingo center/Research facility")&&(o*=4),ao("Ritual rolling pins")&&(o*=2),ao("Naughty list")&&(o*=2),ao("Elderwort biscuits")&&(o*=1.02),o*=io("grandmaCps"),ao("Cat ladies"))for(let e=0;e{"Grandma"!==Zt[e].name&&(i+=Zt[e].amount)})),o*=1+.01*oo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=vo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function xo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Zt).forEach((t=>{Zt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(ao("Starlove")&&(e=3),Game.hasGod){const t=ro("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Mo(){Ae=Game.UpgradesOwned,je=Game.pledges,De=Game.AchievementsOwned,He=Game.heavenlyPower,Ue=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e],go(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ie=t.minigame.slot[0],ze=t.minigame.slot[1],Ve=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Zt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=eo[e];void 0===o&&(eo[e]=xo(e),o=eo[e]),o.bought=t.bought,eo[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=to[e];void 0===o&&(to[e]=Go(e),o=to[e]),o.won=t.won,to[e]=o})),ko(),$e=Ye,Re=Ke}function To(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function So(e){e.appendChild(To("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(To("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(To("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(To("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ne){e.appendChild(To("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Po(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Eo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function No(){if(Mo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ne?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(So(l("CMTooltipBorder")),1===Game.buyMode?K=t:t=K,1===Game.buyBulk?t=yt:10===Game.buyBulk?t=bt:100===Game.buyBulk&&(t=kt),te=Game.Objects[ie].bulkPrice,oe=t[ie].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=pe(oe,2);const o=Math.round(oe/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=E+t[ie].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ue(t[ie].pp):l("CMTooltipPP").textContent=pe(t[ie].pp,2),l("CMTooltipPP").className=E+t[ie].color;const n=me((te-(Game.cookies+mo()))/uo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ie[1]][ie[0]][0]-1].mature,o=t.plantsById[t.plot[ie[1]][ie[0]][0]-1].name;l("CMTooltipBorder").appendChild(To("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${pe(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${pe(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${pe(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${pe(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ne?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(To("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=ho(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==ee[Game.buffs[t].name]?ee[Game.buffs[t].name]:j,a.lastChild.children[1].className=N+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),le!==n&&(le=n,yo())}}(),fo(),No(),function(){if(1===e.TooltipWrink&&1===_){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===X[t]||void 0===X[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),Q=t,X[t]=1}}else X[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[Q],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[Q].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Zt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=pe(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,pe(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Fo(){he.addLatest(Game.computedMouseCps)}class Wo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Lo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Kt;Game.cpsSucked>0&&(o+=Gt),It=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ge,i=Math.max(0,Game.cookies-ve)/n,a=Math.max(0,Gt-we)/n,r=Math.max(0,wt[0]-xe)/n,l=Math.max(0,o-Ct)/n,s=(Game.cookieClicks-Me)/n;for(let e=0;e0&&(n=A),n}function jo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=D;else{t[n].color=Ao(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+mo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||qt.push([t[n].pp,o])}))}function Ho(){!function(){Xt=1/0,qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Do(yt,1),Do(bt,10),Do(kt,100),qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;qt[t][1]>Game.cookies&&(t+=1,qt.length!==t+1););Xt=qt[e.PPExcludeTop][t],jo(yt,1),jo(bt,10),jo(kt,100)}(),Object.keys(Tt).forEach((e=>{Game.cookiesPs?Tt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+mo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Tt[e].bonus:Tt[e].pp=Game.Upgrades[e].getPrice()/Tt[e].bonus,Number.isNaN(Tt[e].pp)&&(Tt[e].pp=1/0),Tt[e].color=Ao(Tt[e],Game.Upgrades[e].getPrice())}))}function Uo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Qe=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ue)*He*function(){let e=0;if(ao("Heavenly chip secret")&&(e+=.05),ao("Heavenly cookie stand")&&(e+=.2),ao("Heavenly bakery")&&(e+=.25),ao("Heavenly confectionery")&&(e+=.25),ao("Heavenly key")&&(e+=.25),e*=1+.05*oo("Dragon God"),ao("Lucky digit")&&(e*=1.01),ao("Lucky number")&&(e*=1.01),ao("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ro("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=io("cps"),ao("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];ao(o.name)&&("function"==typeof o.power?e*=1+.01*eo[o.name].power(eo[o.name]):e*=1+.01*o.power)})),ao("Specialized chocolate chips")&&(e*=1.01),ao("Designer cocoa beans")&&(e*=1.02),ao("Underworld ovens")&&(e*=1.03),ao("Exotic nuts")&&(e*=1.04),ao("Arcane sugar")&&(e*=1.05),ao("Increased merriness")&&(e*=1.15),ao("Improved jolliness")&&(e*=1.15),ao("A lump of coal")&&(e*=1.01),ao("An itchy sweater")&&(e*=1.01),ao("Santa's dominion")&&(e*=1.2),ao("Fortune #100")&&(e*=1.01),ao("Fortune #101")&&(e*=1.07),ao("Dragon scale")&&(e*=1.03);let o=1;if(ro){let t=ro("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ro("ages"),1===t?e*=1+.15*Math.sin(P/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(P/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(P/1e3/86400*Math.PI*2)),t=ro("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ro("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ro("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}ao("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=De/25;let i=1;if(ao("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*oo("Breath of Milk"),ro){const e=ro("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=io("milk");let a=1;ao("Kitten helpers")&&(a*=1+.1*n*i),ao("Kitten workers")&&(a*=1+.125*n*i),ao("Kitten engineers")&&(a*=1+.15*n*i),ao("Kitten overseers")&&(a*=1+.175*n*i),ao("Kitten managers")&&(a*=1+.2*n*i),ao("Kitten accountants")&&(a*=1+.2*n*i),ao("Kitten specialists")&&(a*=1+.2*n*i),ao("Kitten experts")&&(a*=1+.2*n*i),ao("Kitten consultants")&&(a*=1+.2*n*i),ao("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),ao("Kitten marketeers")&&(a*=1+.15*n*i),ao("Kitten analysts")&&(a*=1+.125*n*i),ao("Kitten executives")&&(a*=1+.115*n*i),ao("Kitten angels")&&(a*=1+.1*n*i),ao("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Zt).forEach((e=>{const t=Zt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&ao("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Xe+=t.amount*a})),ao('"egg"')&&(Xe+=9),e*=a;let r=1;if(ao("Chicken egg")&&(r*=1.01),ao("Duck egg")&&(r*=1.01),ao("Turkey egg")&&(r*=1.01),ao("Quail egg")&&(r*=1.01),ao("Robin egg")&&(r*=1.01),ao("Ostrich egg")&&(r*=1.01),ao("Cassowary egg")&&(r*=1.01),ao("Salmon roe")&&(r*=1.01),ao("Frogspawn")&&(r*=1.01),ao("Shark egg")&&(r*=1.01),ao("Turtle egg")&&(r*=1.01),ao("Ant larva")&&(r*=1.01),ao("Century egg")){let e=10*Math.floor((B-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),gt=1+.1*(1-(1-e/100)**3),r*=gt}e*=r,ao("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+oo("Radiant Appetite");const l=Xe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&$o(Game.CpsAchievements[e].name)})),qe=l;const{n:s}=Game.shimmerTypes.golden,c=oo("Dragon's Fortune");for(let t=0;t{ao(e[o])&&(t+=.1)}))}e*=t}if(ao("Shimmering veil [off]")){let t=.5;ao("Reinforced membrane")&&(t+=.1),e*=1+t}ao("Magic shenanigans")&&(e*=1e3),ao("Occult obstruction")&&(e*=0),Xe=Game.runModHookOnValue("cps",Xe),e*=Bo(),Xe*=e}const Io=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],zo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Vo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],_o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Qo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Xo(e){return to[e]?to[e].won:0}function qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{ao(Game.GrandmaSynergies[t])&&(e+=1)})),!Xo("Elder")&&e>=7&&$o("Elder"),!Xo("Veteran")&&e>=14&&$o("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount,i=Math.min(Zt[e].amount,i),Xo("Mathematician")||Zt[e].amount=1&&$o("One with everything"),1===o&&$o("Mathematician"),1===n&&$o("Base 10"),i>=100&&$o("Centennial"),i>=150&&$o("Centennial and a half"),i>=200&&$o("Bicentennial"),i>=250&&$o("Bicentennial and a half"),i>=300&&$o("Tricentennial"),i>=350&&$o("Tricentennial and a half"),i>=400&&$o("Quadricentennial"),i>=450&&$o("Quadricentennial and a half"),i>=500&&$o("Quincentennial"),i>=550&&$o("Quincentennial and a half"),i>=600&&$o("Sexcentennial"),t>=100&&$o("Builder"),t>=500&&$o("Architect"),t>=1e3&&$o("Engineer"),t>=2e3&&$o("Lord of Constructs"),t>=4e3&&$o("Grand design"),t>=8e3&&$o("Ecumenopolis"),Ae>=20&&$o("Enhancer"),Ae>=50&&$o("Augmenter"),Ae>=100&&$o("Upgrader"),Ae>=200&&$o("Lord of Progress"),Ae>=300&&$o("The full picture"),Ae>=400&&$o("When there's nothing left to add"),t>=4e3&&Ae>=300&&$o("Polymath"),t>=8e3&&Ae>=400&&$o("Renaissance baker"),Zt.Cursor.amount+Zt.Grandma.amount>=777&&$o("The elder scrolls");let a=!0;Object.keys(zo).forEach((e=>{ao(zo[e])||(a=!1)})),a&&$o("Spooky cookies");let r=!0;if(Object.keys(Vo).forEach((e=>{ao(Vo[e])||(r=!1)})),r&&$o("Let it snow"),ao("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{ao(e[o].name)&&(t+=1)})),t>=e.length&&$o("O Fortuna")}}function Yo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Mo(),Zt[e].amount+=t;const o=Zt[e];"Cursor"===e?(o.amount>=1&&$o("Click"),o.amount>=2&&$o("Double-click"),o.amount>=50&&$o("Mouse wheel"),o.amount>=100&&$o("Of Mice and Men"),o.amount>=200&&$o("The Digital"),o.amount>=300&&$o("Extreme polydactyly"),o.amount>=400&&$o("Dr. T"),o.amount>=500&&$o("Thumbs, phalanges, metacarpals"),o.amount>=600&&$o("With her finger and her thumb"),o.amount>=700&&$o("Gotta hand it to you"),o.amount>=800&&$o("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&$o(Game.Objects[o.name].tieredAchievs[e].name)}));const n=De;return Ro(),qo(),n!==De&&Ro(),Xe-Game.cookiesPs}(o,e),1!==e&&(Fe=1)})),t}function Ko(){Object.keys(Game.Objects).forEach((e=>{yt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),bt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),kt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Jo(){yt=Yo(1),bt=Yo(10),kt=Yo(100),Tt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Mo(),"Shimmering veil [on]"===eo[e].name?eo["Shimmering veil [off]"].bought=0:"Golden switch [on]"===eo[e].name?eo["Golden switch [off]"].bought=0:eo[e].bought=(eo[e].bought+1)%2,Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ae+=1),"Elder Pledge"===e?(je+=1,je>0&&$o("Elder nap"),je>=5&&$o("Elder slumber")):"Elder Covenant"===e?$o("Elder calm"):"Prism heart biscuits"===e?$o("Lovely cookies"):"Heavenly key"===e&&$o("Wholesome");const t=De;Ro(),qo(),t!==De&&Ro();const o=function(){let e=0;ao("Thousand fingers")&&(e+=.1),ao("Million fingers")&&(e*=5),ao("Billion fingers")&&(e*=10),ao("Trillion fingers")&&(e*=20),ao("Quadrillion fingers")&&(e*=20),ao("Quintillion fingers")&&(e*=20),ao("Sextillion fingers")&&(e*=20),ao("Septillion fingers")&&(e*=20),ao("Octillion fingers")&&(e*=20),ao("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount})),t-=Zt.Cursor.amount,e*=t,ao("Plastic mouse")&&(e+=.01*Xe),ao("Iron mouse")&&(e+=.01*Xe),ao("Titanium mouse")&&(e+=.01*Xe),ao("Adamantium mouse")&&(e+=.01*Xe),ao("Unobtainium mouse")&&(e+=.01*Xe),ao("Eludium mouse")&&(e+=.01*Xe),ao("Wishalloy mouse")&&(e+=.01*Xe),ao("Fantasteel mouse")&&(e+=.01*Xe),ao("Nevercrack mouse")&&(e+=.01*Xe),ao("Armythril mouse")&&(e+=.01*Xe),ao("Technobsidian mouse")&&(e+=.01*Xe),ao("Plasmarble mouse")&&(e+=.01*Xe),ao("Miraculite mouse")&&(e+=.01*Xe),ao("Fortune #104")&&(e+=.01*Xe);let o=1;if(ao("Santa's helpers")&&(o*=1.1),ao("Cookie egg")&&(o*=1.1),ao("Halo gloves")&&(o*=1.1),ao("Dragon claw")&&(o*=1.03),ao("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,ao("Luminous gloves")?20:10)),o*=io("click"),Zt.Temple.minigameLoaded&&ro){const e=ro("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*oo("Dragon Cursor");let n=o*Game.ComputeCps(1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Xe-Game.cookiesPs,o]:[Xe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Tt[t]={bonus:Game.cookiesPs-Te},1===e.CalcWrink?Tt[t].bonus-=Se:2===e.CalcWrink&&(Tt[t].bonus-=Pe),Number.isFinite(Tt[t].bonus)||(Tt[t].bonus=0)):(Tt[t]={},o[0]&&(Tt[t].bonus=o[0]),o[1]&&(Tt[t].bonusMouse=o[1]))}))}function Zo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ft=Zo(7,e,ut),Nt=2*Ft[1]/ut,Ot=Ft[2]/60/60/6/pt,At=Zo(6,e,mt),Wt=2*At[1]/mt,Lt=At[2]/60/60/6/pt,Ht=Zo(7,7*e,ut),jt=2*Ht[1]/ut,Dt=Ht[2]/60/60/6/pt,Rt=Zo(6,7*e,mt),Ut=2*Rt[1]/mt,$t=Rt[2]/60/60/6/pt}function tn(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ne,i=Math.max(0,o-Oe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Bt+=e:"cookie"===o.pool?Et+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Pt+=e)}}))}function nn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ft=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ft*=2)}}function an(){et=900*dt/.15,et*=pt;const e=Bo();e>0?et/=e:et=0,tt=ut*(.15*et)+13,ot=mt*(.15*et)+13,nt=7*et,it=ut*(.15*nt)+13,at=mt*(.15*nt)+13,rt=2*et,lt=.15*rt,st=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountst&&(st=2*Game.Objects[e].price,ct=e)}))}function rn(){let e=1,t=1,o=1;ao("Green yeast digestives")&&(o*=1.01),ao("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ut=o*e,mt=o*t,pt=1,0===Game.shimmerTypes.golden.n&&(pt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function ln(){Gt=0,vt=0,wt=[0,null];for(let e=0;ewt[0]&&(wt=[t,e]))}}function sn(){ko(),ln(),an(),rn(),en(),on(),nn(),ge=new Wo(J[J.length-1]),fe=new Wo(J[J.length-1]),Ce=new Wo(J[J.length-1]),ye=new Wo(J[J.length-1]),be=new Wo(Z[Z.length-1]),ke=new Wo(5),he=new Wo(20*Z[Z.length-1]),tn(),Lo(),Jo(),Ko(),Ho()}const cn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},dn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function pn(){1===e.BotBar?(l("CMBotBar").style.display="",fo()):l("CMBotBar").style.display="none",yo()}function un(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),fo(),co(),po()}function mn(){1===e.Favicon&&y>0?Vt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class hn{constructor(e,t){this.type=e,this.group=t}}class gn extends hn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class fn extends hn{constructor(e,t,o){super(e,t),this.desc=o}}class Cn extends hn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class yn extends hn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const bn={CPSMode:new gn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new gn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new gn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new gn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){_e=!0})),Scale:new gn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){un()})),ScaleDecimals:new gn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){un()})),ScaleSeparator:new gn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){un()})),ScaleCutoff:new yn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new gn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new gn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=V:Game.sayTime=S.sayTime})),PPDisplayTime:new gn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new gn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){co()})),PPOnlyConsiderBuyable:new gn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new gn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new gn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new yn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new fn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new fn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new fn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new fn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new fn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new fn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new fn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new fn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new fn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new gn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){pn()})),TimerBar:new gn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){bo()})),TimerBarPos:new gn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),yo()})),TimerBarOverlay:new gn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new gn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",po()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",po()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new gn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new gn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){co()})),SortUpgrades:new gn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){po()})),DragonAuraInfo:new gn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new gn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new gn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(se).forEach((e=>{se[e].style.display="block",se[e].style.left=Yt[e].l.style.left,se[e].style.top=Yt[e].l.style.top})):Object.keys(se).forEach((e=>se[e].style.display="none"))})),Favicon:new gn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){mn()})),WrinklerButtons:new gn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new gn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new gn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new gn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new gn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new gn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new gn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new gn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new gn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new yn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new gn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new gn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Eo()})),TooltipGrim:new gn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new gn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new gn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new gn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new gn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new gn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new gn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new gn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new gn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new gn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new yn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new gn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new gn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new gn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new gn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){dn(e.GCNotification)})),GCFlash:new gn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new fn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new gn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new Cn("vol","NotificationGC",[],"Volume"),GCSoundURL:new gn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new gn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){dn(e.FortuneNotification)})),FortuneFlash:new gn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new fn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new gn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new Cn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new gn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new gn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){dn(e.SeaNotification)})),SeaFlash:new gn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new fn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new gn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new Cn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new gn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new gn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new fn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new gn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new Cn("vol","NotificationGard",[],"Volume"),GardSoundURL:new gn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new gn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){dn(e.MagicNotification)})),MagicFlash:new gn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new fn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new gn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new Cn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new gn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new gn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){dn(e.WrinklerNotification)})),WrinklerFlash:new gn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new fn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new gn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new Cn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new gn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new gn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){dn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new gn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new fn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new gn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new Cn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new gn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new gn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new gn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function kn(){return JSON.stringify({favouriteSettings:de,settings:e,version:"2.031.6"})}function Gn(){if(Je!==Game.dragonLevel||_e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Upgrades).forEach((e=>{eo[e]=xo(e)})),to=[],Object.keys(Game.Achievements).forEach((e=>{to[e]=Go(e)})),Mo()}let xn=!1;function Mn(t,o,n){(1===e[o]||n)&&3===t&&!1===xn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Mn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Mn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Mn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Tn(t,o,n,i){if((1===e[o]||i)&&!1===xn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Sn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===xn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Pn(){if(re!==Game.OnAscend&&(re=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(pn(),bo()),Co()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(wn(),sn(),r=Object.keys(Game.mods).length),_e&&(Jo(),Game.Has("Golden switch [off]")?(Mo(),eo["Golden switch [off]"].bought=0,Ro(),dt=Xe):dt=Game.cookiesPs,rn(),an(),on(),en(),Gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Jt[e][t]=vn(e,t)}(),nn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Mo();let t=2;5!==$e&&18!==$e||(t-=1),5!==Re&&18!==Re||(t-=1),$e=5,Re=18;for(let e=0;e{Zt[t].amount>0&&(e=t)})),Zt[e].amount-=1,Le-=1}return Object.keys(Zt).forEach((t=>{const o=Zt[t];e+=so(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Kt=e}(),_e=0);const t=Game.auraMult("Fierce Hoarder")>0;!We&&t?(We=!0,Fe=1):We&&!t&&(We=!1,Fe=1),Fe&&(Ko(),Fe=0),function(){ln(),Ho(),function(){xt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Zt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Mt=e,xt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Lo(),tn();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Qt=ue(e/uo())}(),G=0,Yt={},Object.keys(Game.shimmers).forEach((e=>{Yt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Vt=Game.shimmers[e],G+=1)})),Object.keys(se).forEach((e=>{void 0===Yt[e]&&(se[e].parentNode.removeChild(se[e]),delete se[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===se[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},se[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),mn(),b=G,0===G&&(Vt=0)):1===e.GCTimer&&y&&Object.keys(se).forEach((e=>{se[e].style.opacity=Yt[e].l.style.opacity,se[e].style.transform=Yt[e].l.style.transform,se[e].textContent=Math.ceil(Yt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Mn(3,"FortuneFlash",!1),Tn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Sn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(_t=Game.shimmers[e])})),Mn(3,"SeaFlash",!1),Tn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Sn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Mn(3,"WrinklerMaxFlash",!1):Mn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Tn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Tn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Sn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Sn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Bn(){let t="";for(let o=0;o<$.length;o++)t+=`.CMText${$[o]} { color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBack${$[o]} { background-color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBorder${$[o]} { border: 1px solid ${e[`Colour${$[o]}`]}; }\n`;l("CMCSS").textContent=t,co()}function En(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${kn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Nn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t,void 0!==e.Colors&&delete e.Colors,void 0!==e.Colours&&delete e.Colours;let o=!1;Object.keys(cn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=cn[t]):"Header"===t&&Object.keys(cn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=cn[t][n])}))})),o&&En(),Pn(),Object.keys(cn).forEach((e=>{"Header"!==e&&void 0!==bn[e].func&&bn[e].func()}))}else Nn(cn);Game.UpdateMenu(),Bn()}function On(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Fn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Uo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${pe(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${me((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(pe(Game.Objects[o].bulkPrice)).join(pe((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ne=t,ie=o,No(),l("tooltip").innerHTML}function Wn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(M[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Ln(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),En()}function Rn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){$n(o),Game.UpdateMenu()},n.appendChild(i),n}function In(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(I[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function zn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Vn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Rn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+mo(){Game.HasUnlocked(Qo[e])||c.push(Qo[e])})),0!==c.length&&e.appendChild(In("basic","Rare plant drops left to unlock",zn(c))),e}())),o.appendChild(Rn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?Ct:0)));t.appendChild(In("withTooltip","Prestige level (cur / max)",document.createTextNode(`${pe(Game.prestige)} / ${pe(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&Ct?Ct:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(pe(n)));const a=document.createElement("small");a.textContent=` (${ue(n/zt,1)})`,i.appendChild(a),t.appendChild(In("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(In("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${pe(Game.heavenlyChips)} / ${pe(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(In("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(pe(ht,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(In("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(pe(e)))),t.appendChild(In("basic","Time till target (cur, current 5 second average)",document.createTextNode(ue(e/ht)))))}const l=function(e){let t=Game.cookiesPs;Mo(),0===eo["Heavenly key"].bought&&(eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ro(),t=Xe,Mo()),It>=1e6&&$o("Sacrifice"),It>=1e9&&$o("Oblivion"),It>=1e12&&$o("From scratch"),It>=1e15&&$o("Nihilism"),It>=1e18&&$o("Dematerialize"),It>=1e21&&$o("Nil zero zilch"),It>=1e24&&$o("Transcendence"),It>=1e27&&$o("Obliterate"),It>=1e30&&$o("Negative void"),It>=1e33&&$o("To crumbs, you say?"),It>=1e36&&$o("You get nothing"),It>=1e39&&$o("Humble rebeginnings"),It>=1e42&&$o("The end of the world"),It>=1e45&&$o("Oh, you're back"),It>=1e48&&$o("Lazarus"),It>=1e51&&$o("Smurf account"),It>=1e54&&$o("If at first you don't succeed"),eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ue=e;const o=De;Ro(),qo(),o!==De&&Ro();const n=Xe-t;return Ue=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(pe(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(In("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Rn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${pe(Gt)} / ${pe(vt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){On()},e.appendChild(t),o.appendChild(In("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${pe(wt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},n.appendChild(i),o.appendChild(In("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==wt[1]?wt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(n.push(zo[e]),o=!0)}));const i=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(i.push(Vo[e]),o=!0)}));const a=[];Object.keys(_o).forEach((e=>{Game.Has(_o[e])||(a.push(_o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Rn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(In("basic","Halloween cookies left to buy",zn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(In("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${pe((1-e)*o*100)}% / ${pe((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(In("basic","Christmas cookies left to buy",zn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(In("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${pe((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(In("basic","Valentine cookies left to buy",zn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(In("basic","Normal easter eggs left to unlock",zn(r))),t.appendChild(In("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[0])}% / ${pe(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(In("basic","Rare easter eggs left to unlock",zn(l))),t.appendChild(In("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[1])}% / ${pe(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(In("basic","Reindeer reward",document.createTextNode(pe(ft)))),s&&t.appendChild(In("withTooltip","Chocolate egg cookies",document.createTextNode(pe(Ct)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(In("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(gt-1))/100+"%")))}return t}()),o.appendChild(Rn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(In("basic",`Average cookies per second (past ${J[e.AvgCPSHist]<60?`${J[e.AvgCPSHist]} seconds`:J[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(pe(uo(),3)))),o.appendChild(In("basic",`Average cookie clicks per second (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(St,1)))),o.appendChild(In("basic",`Cookies from clicking (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(he.calcSum(St*Z[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Io).forEach((t=>{Game.Has(Io[t])||e.push(Io[t])})),0!==e.length&&o.appendChild(In("basic","Fortune Upgrades Left to Buy",zn(e)))}if(e.ShowMissedGC&&o.appendChild(In("basic","Missed golden cookies",document.createTextNode(pe(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(In("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Et){const t=Et.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Et,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const _n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Qn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Xn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){$n(t),Game.UpdateMenu()},n.appendChild(i),n}function qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return de.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){de.includes(e)?de=de.filter((function(t){return t!==e})):de.push(e)}(e),En(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(I.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===bn[t].type){const n=document.createElement("a");bn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Hn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===bn[t].label.length?(e[t]=0,bn[t].toggle&&(l(Hn+t).className="option off")):l(Hn+t).className="option",void 0!==bn[t].func&&bn[t].func(),l(Hn+t).innerHTML=bn[t].label[e[t]],En()}(t)},n.textContent=bn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=bn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===bn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=bn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Un(t)},r.onchange=function(){Un(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Tn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Hn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,En(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=bn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===bn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new jn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Bn(),En(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=bn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Mn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Dn().init(),o}if("numscale"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="number",i.value=e[t],i.min=bn[t].min,i.max=bn[t].max,i.oninput=function(){e[t]=this.value,En(),un()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=bn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Yn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Kn(){S.Beautify=Beautify,Beautify=pe,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),_e=1,P=Date.now(),B=Date.now()},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Yn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Yn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Yn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),T=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Zt[Game.ObjectsById[e].name].name;Zt[o].amount-=1,Le-=1,t=Zt[o].basePrice*Game.priceIncrease**Math.max(0,Zt[o].amount-1-Zt[o].free),t=Game.modifyBuildingPrice(Zt[o],t),t=Math.ceil(t);break}const o=De;return Ro(),qo(),o!==De&&Ro(),[Xe-Game.cookiesPs,t]}(t),n=ue(o/(e+Game.cookiesPs)),i=pe(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${pe(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Dn().picker&&void 0!==Dn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(_n).forEach((t=>{if("Favourite"===t){if(0!==de.length&&e.FavouriteSettings>0&&(o.appendChild(Xn(t,_n[t])),e.Header[t]))for(let e=0;e{const n=Xn(t,Qn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))}))})):Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Nn(cn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Vn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){$n("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,V=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ue(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ce=`${Game.OnAscend?"Ascending! ":""}${pe(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ce;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Vt?Vt.wrath?`[W${Math.ceil(Vt.life/Game.fps)}]`:`[G${Math.ceil(Vt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(_t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ce;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Vt&&(t=!0,Vt.wrath?e+=`[W${Math.ceil(Vt.life/Game.fps)}]`:e+=`[G${Math.ceil(Vt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(_t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${pe(Game.prestige)}.
(CpS +${pe(Game.prestige)}%)`,n+='
'),n+=Oe<1?"Ascending now would grant you no prestige.":Oe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${pe(Oe)} prestige levels (+${pe(Oe)}% CpS)
and ${pe(Oe)} heavenly chips to spend.`,n+='
',n+=`You need ${pe(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Qt} to reach the next level and you were making ${pe(ht,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Jn(){wn(),an(),sn(),r=Object.keys(Game.mods).length,w=document.createElement("style"),w.type="text/css",w.id="CMCSS",document.head.appendChild(w),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=E+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",W)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",O)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",O)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",O)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{go(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=ho("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:D},{id:"CMTimerBarGCBar",color:j}]);e.appendChild(t);const o=ho("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:D},{id:"CMTimerBarRenBar",color:L}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=N+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(O,"Better than the best PP of a building option")),e.appendChild(o(F,"Same as the best PP building option")),e.appendChild(o(W,"Within the top 10 of PP for buildings")),e.appendChild(o(L,"Within the top 20 of PP for buildings")),e.appendChild(o(A,"Within the top 30 of PP for buildings")),e.appendChild(o(j,"Outside of the top 30 of PP for buildings")),e.appendChild(o(D,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=E+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",O)),e.appendChild(o("CMUpgradeBarGreen",F)),e.appendChild(o("CMUpgradeBarYellow",W)),e.appendChild(o("CMUpgradeBarOrange",L)),e.appendChild(o("CMUpgradeBarRed",A)),e.appendChild(o("CMUpgradeBarPurple",j)),e.appendChild(o("CMUpgradeBarGray",D)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),I[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){On()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Wn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),An()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){_=1},l("backgroundLeftCanvas").onmouseout=function(){_=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{X[e]=0}))},Kn(),An(),Game.CalculateGains(),Nn(),z=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Zn={init:function(){xn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Jn(),Game.registerHook("draw",Oo),Game.registerHook("logic",Pn),Game.registerHook("click",Fo),xn=!1)},load:function(e){const t=JSON.parse(e);wn(),void 0!==t.favouriteSettings&&(de=t.favouriteSettings),Nn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:kn};Game.registerMod("CookieMonster",Zn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x=[],M=[],T=[],S={},P=Date.now(),B=Date.now();const E="CMText",N="CMBack",O="Blue",F="Green",W="Yellow",L="Orange",A="Red",j="Purple",D="Gray",H="Pink",U="Brown",$=[D,O,F,W,L,A,j,H,U],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],I={};let z,V,_=0,Q=-1,X=[],q=1,Y=1,K=1;const J=[10,15,30,60,300,600,900,1800],Z=[1,5,10,15,30],ee={Frenzy:W,"Dragon Harvest":U,"Elder frenzy":F,Clot:A,"Click frenzy":O,Dragonflight:H};let te,oe,ne,ie,ae,re,le,se={},ce="",de=[];function pe(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${pe(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function me(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=F):(n=ue(t),o=t>300?A:t>60?L:W),{text:n,color:o}}let he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Me,Te,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=0,pt=1,ut=1,mt=1,ht=0,gt=0,ft=0,Ct=0,yt={},bt={},kt={},Gt=0,vt=0,wt=[0,null],xt=0,Mt=0,Tt={},St={},Pt={},Bt={},Et={},Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,$t=0,Rt=[],It=0,zt=0,Vt={},_t={},Qt=0,Xt=0,qt=[],Yt={},Kt=0,Jt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Zt=[],eo=[],to=[];function oo(e){let t=0;return Game.dragonAuras[$e].name!==e&&Game.dragonAuras[Re].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[$e].name&&"Reality Bending"!==Game.dragonAuras[Re].name||(t+=.1),t}function no(){let e=.25;return e*=1+oo("Earth Shatterer"),e}function io(e,t){return void 0===Qe[e]?void 0===t?1:t:Qe[e]}function ao(e){const t=eo[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ro(e){if(Game.hasGod){void 0===Zt.Temple.minigame&&(Zt.Temple.minigame=Game.Objects.Temple.minigame);const t=Zt.Temple.minigame.gods[e];if(Ie===t.id)return 1;if(ze===t.id)return 2;if(Ve===t.id)return 3}return!1}function lo(e,t){let o=t;if(ao("Season savings")&&(o*=.99),ao("Santa's dominion")&&(o*=.99),ao("Faberge egg")&&(o*=.99),ao("Divine discount")&&(o*=.99),ao("Fortune #100")&&(o*=.99),o*=1-.02*oo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&ao(e.fortune.name)&&(o*=.93),o*=io("buildingCost"),Zt.Temple.minigameLoaded){const e=ro("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function so(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function co(){let t=Game.buyBulk;if(1===Game.buyMode?Y=t:t=Y,1===t?t=yt:10===t?t=bt:100===t&&(t=kt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(yt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=pe(so(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(yt).map((e=>{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;e$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.ppe.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?q=i:i=q,1===i&&(i=yt),10===i&&(i=bt),100===i&&(i=kt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=pe(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=E+i[o].color,n=e.PPDisplayTime?ue(Math.round(i[o].pp)):pe(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=me((Game.Objects[o].bulkPrice-(Game.cookies+mo()))/uo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=E+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&ao(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(ao(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&ao(e.fortune.name)&&(t*=1.07),e.grandma&&ao(e.grandma.name)&&(t*=1+.01*Zt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&ao(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function wo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;ao("Thousand fingers")&&(t+=.1),ao("Million fingers")&&(t*=5),ao("Billion fingers")&&(t*=10),ao("Trillion fingers")&&(t*=20),ao("Quadrillion fingers")&&(t*=20),ao("Quintillion fingers")&&(t*=20),ao("Sextillion fingers")&&(t*=20),ao("Septillion fingers")&&(t*=20),ao("Octillion fingers")&&(t*=20),ao("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Zt).forEach((e=>{"Cursor"!==Zt[e].name&&(n+=Zt[e].amount)})),t*=n,o*=vo(e),o*=Game.magicCpS("Cursor"),o*=io("cursorCps"),Game.ComputeCps(.1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{ao(Game.GrandmaSynergies[e])&&(o*=2)})),ao("Bingo center/Research facility")&&(o*=4),ao("Ritual rolling pins")&&(o*=2),ao("Naughty list")&&(o*=2),ao("Elderwort biscuits")&&(o*=1.02),o*=io("grandmaCps"),ao("Cat ladies"))for(let e=0;e{"Grandma"!==Zt[e].name&&(i+=Zt[e].amount)})),o*=1+.01*oo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=vo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function xo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Zt).forEach((t=>{Zt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(ao("Starlove")&&(e=3),Game.hasGod){const t=ro("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Mo(){Ae=Game.UpgradesOwned,je=Game.pledges,De=Game.AchievementsOwned,He=Game.heavenlyPower,Ue=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e],go(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ie=t.minigame.slot[0],ze=t.minigame.slot[1],Ve=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Zt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=eo[e];void 0===o&&(eo[e]=xo(e),o=eo[e]),o.bought=t.bought,eo[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=to[e];void 0===o&&(to[e]=Go(e),o=to[e]),o.won=t.won,to[e]=o})),ko(),$e=Ye,Re=Ke}function To(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function So(e){e.appendChild(To("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(To("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(To("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(To("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ne){e.appendChild(To("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Po(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Eo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function No(){if(Mo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ne?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(So(l("CMTooltipBorder")),1===Game.buyMode?K=t:t=K,1===Game.buyBulk?t=yt:10===Game.buyBulk?t=bt:100===Game.buyBulk&&(t=kt),te=Game.Objects[ie].bulkPrice,oe=t[ie].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=pe(oe,2);const o=Math.round(oe/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=E+t[ie].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ue(t[ie].pp):l("CMTooltipPP").textContent=pe(t[ie].pp,2),l("CMTooltipPP").className=E+t[ie].color;const n=me((te-(Game.cookies+mo()))/uo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ie[1]][ie[0]][0]-1].mature,o=t.plantsById[t.plot[ie[1]][ie[0]][0]-1].name;l("CMTooltipBorder").appendChild(To("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${pe(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${pe(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${pe(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${pe(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ne?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(To("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=ho(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==ee[Game.buffs[t].name]?ee[Game.buffs[t].name]:j,a.lastChild.children[1].className=N+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),le!==n&&(le=n,yo())}}(),fo(),No(),function(){if(1===e.TooltipWrink&&1===_){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===X[t]||void 0===X[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),Q=t,X[t]=1}}else X[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[Q],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[Q].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Zt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=pe(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,pe(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Fo(){he.addLatest(Game.computedMouseCps)}class Wo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Lo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Kt;Game.cpsSucked>0&&(o+=Gt),It=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ge,i=Math.max(0,Game.cookies-ve)/n,a=Math.max(0,Gt-we)/n,r=Math.max(0,wt[0]-xe)/n,l=Math.max(0,o-Ct)/n,s=(Game.cookieClicks-Me)/n;for(let e=0;e0&&(n=A),n}function jo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=D;else{t[n].color=Ao(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+mo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||qt.push([t[n].pp,o])}))}function Ho(){!function(){Xt=1/0,qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Do(yt,1),Do(bt,10),Do(kt,100),qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;qt[t][1]>Game.cookies&&(t+=1,qt.length!==t+1););Xt=qt[e.PPExcludeTop][t],jo(yt,1),jo(bt,10),jo(kt,100)}(),Object.keys(Tt).forEach((e=>{Game.cookiesPs?Tt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+mo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Tt[e].bonus:Tt[e].pp=Game.Upgrades[e].getPrice()/Tt[e].bonus,Number.isNaN(Tt[e].pp)&&(Tt[e].pp=1/0),Tt[e].color=Ao(Tt[e],Game.Upgrades[e].getPrice())}))}function Uo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Qe=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ue)*He*function(){let e=0;if(ao("Heavenly chip secret")&&(e+=.05),ao("Heavenly cookie stand")&&(e+=.2),ao("Heavenly bakery")&&(e+=.25),ao("Heavenly confectionery")&&(e+=.25),ao("Heavenly key")&&(e+=.25),e*=1+.05*oo("Dragon God"),ao("Lucky digit")&&(e*=1.01),ao("Lucky number")&&(e*=1.01),ao("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ro("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=io("cps"),ao("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];ao(o.name)&&("function"==typeof o.power?e*=1+.01*eo[o.name].power(eo[o.name]):e*=1+.01*o.power)})),ao("Specialized chocolate chips")&&(e*=1.01),ao("Designer cocoa beans")&&(e*=1.02),ao("Underworld ovens")&&(e*=1.03),ao("Exotic nuts")&&(e*=1.04),ao("Arcane sugar")&&(e*=1.05),ao("Increased merriness")&&(e*=1.15),ao("Improved jolliness")&&(e*=1.15),ao("A lump of coal")&&(e*=1.01),ao("An itchy sweater")&&(e*=1.01),ao("Santa's dominion")&&(e*=1.2),ao("Fortune #100")&&(e*=1.01),ao("Fortune #101")&&(e*=1.07),ao("Dragon scale")&&(e*=1.03);let o=1;if(ro){let t=ro("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ro("ages"),1===t?e*=1+.15*Math.sin(P/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(P/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(P/1e3/86400*Math.PI*2)),t=ro("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ro("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ro("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}ao("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=De/25;let i=1;if(ao("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*oo("Breath of Milk"),ro){const e=ro("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=io("milk");let a=1;ao("Kitten helpers")&&(a*=1+.1*n*i),ao("Kitten workers")&&(a*=1+.125*n*i),ao("Kitten engineers")&&(a*=1+.15*n*i),ao("Kitten overseers")&&(a*=1+.175*n*i),ao("Kitten managers")&&(a*=1+.2*n*i),ao("Kitten accountants")&&(a*=1+.2*n*i),ao("Kitten specialists")&&(a*=1+.2*n*i),ao("Kitten experts")&&(a*=1+.2*n*i),ao("Kitten consultants")&&(a*=1+.2*n*i),ao("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),ao("Kitten marketeers")&&(a*=1+.15*n*i),ao("Kitten analysts")&&(a*=1+.125*n*i),ao("Kitten executives")&&(a*=1+.115*n*i),ao("Kitten angels")&&(a*=1+.1*n*i),ao("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Zt).forEach((e=>{const t=Zt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&ao("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Xe+=t.amount*a})),ao('"egg"')&&(Xe+=9),e*=a;let r=1;if(ao("Chicken egg")&&(r*=1.01),ao("Duck egg")&&(r*=1.01),ao("Turkey egg")&&(r*=1.01),ao("Quail egg")&&(r*=1.01),ao("Robin egg")&&(r*=1.01),ao("Ostrich egg")&&(r*=1.01),ao("Cassowary egg")&&(r*=1.01),ao("Salmon roe")&&(r*=1.01),ao("Frogspawn")&&(r*=1.01),ao("Shark egg")&&(r*=1.01),ao("Turtle egg")&&(r*=1.01),ao("Ant larva")&&(r*=1.01),ao("Century egg")){let e=10*Math.floor((B-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),gt=1+.1*(1-(1-e/100)**3),r*=gt}e*=r,ao("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+oo("Radiant Appetite");const l=Xe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&$o(Game.CpsAchievements[e].name)})),qe=l;const{n:s}=Game.shimmerTypes.golden,c=oo("Dragon's Fortune");for(let t=0;t{ao(e[o])&&(t+=.1)}))}e*=t}if(ao("Shimmering veil [off]")){let t=.5;ao("Reinforced membrane")&&(t+=.1),e*=1+t}ao("Magic shenanigans")&&(e*=1e3),ao("Occult obstruction")&&(e*=0),Xe=Game.runModHookOnValue("cps",Xe),e*=Bo(),Xe*=e}const Io=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],zo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Vo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],_o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Qo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Xo(e){return to[e]?to[e].won:0}function qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{ao(Game.GrandmaSynergies[t])&&(e+=1)})),!Xo("Elder")&&e>=7&&$o("Elder"),!Xo("Veteran")&&e>=14&&$o("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount,i=Math.min(Zt[e].amount,i),Xo("Mathematician")||Zt[e].amount=1&&$o("One with everything"),1===o&&$o("Mathematician"),1===n&&$o("Base 10"),i>=100&&$o("Centennial"),i>=150&&$o("Centennial and a half"),i>=200&&$o("Bicentennial"),i>=250&&$o("Bicentennial and a half"),i>=300&&$o("Tricentennial"),i>=350&&$o("Tricentennial and a half"),i>=400&&$o("Quadricentennial"),i>=450&&$o("Quadricentennial and a half"),i>=500&&$o("Quincentennial"),i>=550&&$o("Quincentennial and a half"),i>=600&&$o("Sexcentennial"),t>=100&&$o("Builder"),t>=500&&$o("Architect"),t>=1e3&&$o("Engineer"),t>=2e3&&$o("Lord of Constructs"),t>=4e3&&$o("Grand design"),t>=8e3&&$o("Ecumenopolis"),Ae>=20&&$o("Enhancer"),Ae>=50&&$o("Augmenter"),Ae>=100&&$o("Upgrader"),Ae>=200&&$o("Lord of Progress"),Ae>=300&&$o("The full picture"),Ae>=400&&$o("When there's nothing left to add"),t>=4e3&&Ae>=300&&$o("Polymath"),t>=8e3&&Ae>=400&&$o("Renaissance baker"),Zt.Cursor.amount+Zt.Grandma.amount>=777&&$o("The elder scrolls");let a=!0;Object.keys(zo).forEach((e=>{ao(zo[e])||(a=!1)})),a&&$o("Spooky cookies");let r=!0;if(Object.keys(Vo).forEach((e=>{ao(Vo[e])||(r=!1)})),r&&$o("Let it snow"),ao("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{ao(e[o].name)&&(t+=1)})),t>=e.length&&$o("O Fortuna")}}function Yo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Mo(),Zt[e].amount+=t;const o=Zt[e];"Cursor"===e?(o.amount>=1&&$o("Click"),o.amount>=2&&$o("Double-click"),o.amount>=50&&$o("Mouse wheel"),o.amount>=100&&$o("Of Mice and Men"),o.amount>=200&&$o("The Digital"),o.amount>=300&&$o("Extreme polydactyly"),o.amount>=400&&$o("Dr. T"),o.amount>=500&&$o("Thumbs, phalanges, metacarpals"),o.amount>=600&&$o("With her finger and her thumb"),o.amount>=700&&$o("Gotta hand it to you"),o.amount>=800&&$o("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&$o(Game.Objects[o.name].tieredAchievs[e].name)}));const n=De;return Ro(),qo(),n!==De&&Ro(),Xe-Game.cookiesPs}(o,e),1!==e&&(Fe=1)})),t}function Ko(){Object.keys(Game.Objects).forEach((e=>{yt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),bt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),kt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Jo(){yt=Yo(1),bt=Yo(10),kt=Yo(100),Tt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Mo(),"Shimmering veil [on]"===eo[e].name?eo["Shimmering veil [off]"].bought=0:"Golden switch [on]"===eo[e].name?eo["Golden switch [off]"].bought=0:eo[e].bought=(eo[e].bought+1)%2,Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ae+=1),"Elder Pledge"===e?(je+=1,je>0&&$o("Elder nap"),je>=5&&$o("Elder slumber")):"Elder Covenant"===e?$o("Elder calm"):"Prism heart biscuits"===e?$o("Lovely cookies"):"Heavenly key"===e&&$o("Wholesome");const t=De;Ro(),qo(),t!==De&&Ro();const o=function(){let e=0;ao("Thousand fingers")&&(e+=.1),ao("Million fingers")&&(e*=5),ao("Billion fingers")&&(e*=10),ao("Trillion fingers")&&(e*=20),ao("Quadrillion fingers")&&(e*=20),ao("Quintillion fingers")&&(e*=20),ao("Sextillion fingers")&&(e*=20),ao("Septillion fingers")&&(e*=20),ao("Octillion fingers")&&(e*=20),ao("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount})),t-=Zt.Cursor.amount,e*=t,ao("Plastic mouse")&&(e+=.01*Xe),ao("Iron mouse")&&(e+=.01*Xe),ao("Titanium mouse")&&(e+=.01*Xe),ao("Adamantium mouse")&&(e+=.01*Xe),ao("Unobtainium mouse")&&(e+=.01*Xe),ao("Eludium mouse")&&(e+=.01*Xe),ao("Wishalloy mouse")&&(e+=.01*Xe),ao("Fantasteel mouse")&&(e+=.01*Xe),ao("Nevercrack mouse")&&(e+=.01*Xe),ao("Armythril mouse")&&(e+=.01*Xe),ao("Technobsidian mouse")&&(e+=.01*Xe),ao("Plasmarble mouse")&&(e+=.01*Xe),ao("Miraculite mouse")&&(e+=.01*Xe),ao("Fortune #104")&&(e+=.01*Xe);let o=1;if(ao("Santa's helpers")&&(o*=1.1),ao("Cookie egg")&&(o*=1.1),ao("Halo gloves")&&(o*=1.1),ao("Dragon claw")&&(o*=1.03),ao("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,ao("Luminous gloves")?20:10)),o*=io("click"),Zt.Temple.minigameLoaded&&ro){const e=ro("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*oo("Dragon Cursor");let n=o*Game.ComputeCps(1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Xe-Game.cookiesPs,o]:[Xe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Tt[t]={bonus:Game.cookiesPs-Te},1===e.CalcWrink?Tt[t].bonus-=Se:2===e.CalcWrink&&(Tt[t].bonus-=Pe),Number.isFinite(Tt[t].bonus)||(Tt[t].bonus=0)):(Tt[t]={},o[0]&&(Tt[t].bonus=o[0]),o[1]&&(Tt[t].bonusMouse=o[1]))}))}function Zo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ft=Zo(7,e,ut),Nt=2*Ft[1]/ut,Ot=Ft[2]/60/60/6/pt,At=Zo(6,e,mt),Wt=2*At[1]/mt,Lt=At[2]/60/60/6/pt,Ht=Zo(7,7*e,ut),jt=2*Ht[1]/ut,Dt=Ht[2]/60/60/6/pt,Rt=Zo(6,7*e,mt),Ut=2*Rt[1]/mt,$t=Rt[2]/60/60/6/pt}function tn(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ne,i=Math.max(0,o-Oe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Bt+=e:"cookie"===o.pool?Et+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Pt+=e)}}))}function nn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ft=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ft*=2)}}function an(){et=900*dt/.15,et*=pt;const e=Bo();e>0?et/=e:et=0,tt=ut*(.15*et)+13,ot=mt*(.15*et)+13,nt=7*et,it=ut*(.15*nt)+13,at=mt*(.15*nt)+13,rt=2*et,lt=.15*rt,st=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountst&&(st=2*Game.Objects[e].price,ct=e)}))}function rn(){let e=1,t=1,o=1;ao("Green yeast digestives")&&(o*=1.01),ao("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ut=o*e,mt=o*t,pt=1,0===Game.shimmerTypes.golden.n&&(pt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function ln(){Gt=0,vt=0,wt=[0,null];for(let e=0;ewt[0]&&(wt=[t,e]))}}function sn(){ko(),ln(),an(),rn(),en(),on(),nn(),ge=new Wo(J[J.length-1]),fe=new Wo(J[J.length-1]),Ce=new Wo(J[J.length-1]),ye=new Wo(J[J.length-1]),be=new Wo(Z[Z.length-1]),ke=new Wo(5),he=new Wo(20*Z[Z.length-1]),tn(),Lo(),Jo(),Ko(),Ho()}const cn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},dn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function pn(){1===e.BotBar?(l("CMBotBar").style.display="",fo()):l("CMBotBar").style.display="none",yo()}function un(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),fo(),co(),po()}function mn(){1===e.Favicon&&y>0?Vt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class hn{constructor(e,t){this.type=e,this.group=t}}class gn extends hn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class fn extends hn{constructor(e,t,o){super(e,t),this.desc=o}}class Cn extends hn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class yn extends hn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const bn={CPSMode:new gn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new gn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new gn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new gn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){_e=!0})),Scale:new gn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){un()})),ScaleDecimals:new gn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){un()})),ScaleSeparator:new gn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){un()})),ScaleCutoff:new yn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new gn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new gn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=V:Game.sayTime=S.sayTime})),PPDisplayTime:new gn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new gn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){co()})),PPOnlyConsiderBuyable:new gn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new gn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new gn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new yn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new fn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new fn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new fn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new fn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new fn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new fn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new fn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new fn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new fn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new gn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){pn()})),TimerBar:new gn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){bo()})),TimerBarPos:new gn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),yo()})),TimerBarOverlay:new gn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new gn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",po()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",po()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new gn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new gn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){co()})),SortUpgrades:new gn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){po()})),DragonAuraInfo:new gn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new gn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new gn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(se).forEach((e=>{se[e].style.display="block",se[e].style.left=Yt[e].l.style.left,se[e].style.top=Yt[e].l.style.top})):Object.keys(se).forEach((e=>se[e].style.display="none"))})),Favicon:new gn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){mn()})),WrinklerButtons:new gn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new gn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new gn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new gn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new gn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new gn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new gn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new gn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new gn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new yn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new gn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new gn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Eo()})),TooltipGrim:new gn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new gn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new gn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new gn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new gn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new gn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new gn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new gn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new gn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new gn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new yn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new gn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new gn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new gn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new gn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){dn(e.GCNotification)})),GCFlash:new gn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new fn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new gn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new Cn("vol","NotificationGC",[],"Volume"),GCSoundURL:new gn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new gn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){dn(e.FortuneNotification)})),FortuneFlash:new gn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new fn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new gn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new Cn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new gn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new gn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){dn(e.SeaNotification)})),SeaFlash:new gn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new fn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new gn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new Cn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new gn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new gn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new fn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new gn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new Cn("vol","NotificationGard",[],"Volume"),GardSoundURL:new gn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new gn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){dn(e.MagicNotification)})),MagicFlash:new gn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new fn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new gn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new Cn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new gn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new gn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){dn(e.WrinklerNotification)})),WrinklerFlash:new gn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new fn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new gn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new Cn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new gn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new gn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){dn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new gn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new fn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new gn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new Cn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new gn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new gn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new gn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function kn(){return JSON.stringify({favouriteSettings:de,settings:e,version:"2.031.6"})}function Gn(){if(Je!==Game.dragonLevel||_e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Upgrades).forEach((e=>{eo[e]=xo(e)})),to=[],Object.keys(Game.Achievements).forEach((e=>{to[e]=Go(e)})),Mo()}let xn=!1;function Mn(t,o,n){(1===e[o]||n)&&3===t&&!1===xn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Mn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Mn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Mn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Tn(t,o,n,i){if((1===e[o]||i)&&!1===xn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Sn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===xn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Pn(){if(re!==Game.OnAscend&&(re=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(pn(),bo()),Co()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(wn(),sn(),r=Object.keys(Game.mods).length),_e&&(Jo(),Game.Has("Golden switch [off]")?(Mo(),eo["Golden switch [off]"].bought=0,Ro(),dt=Xe):dt=Game.cookiesPs,rn(),an(),on(),en(),Gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Jt[e][t]=vn(e,t)}(),nn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Mo();let t=2;5!==$e&&18!==$e||(t-=1),5!==Re&&18!==Re||(t-=1),$e=5,Re=18;for(let e=0;e{Zt[t].amount>0&&(e=t)})),Zt[e].amount-=1,Le-=1}return Object.keys(Zt).forEach((t=>{const o=Zt[t];e+=so(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Kt=e}(),_e=0);const t=Game.auraMult("Fierce Hoarder")>0;!We&&t?(We=!0,Fe=1):We&&!t&&(We=!1,Fe=1),Fe&&(Ko(),Fe=0),function(){ln(),Ho(),function(){xt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Zt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Mt=e,xt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Lo(),tn();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Qt=ue(e/uo())}(),G=0,Yt={},Object.keys(Game.shimmers).forEach((e=>{Yt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Vt=Game.shimmers[e],G+=1)})),Object.keys(se).forEach((e=>{void 0===Yt[e]&&(se[e].parentNode.removeChild(se[e]),delete se[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===se[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},se[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),mn(),b=G,0===G&&(Vt=0)):1===e.GCTimer&&y&&Object.keys(se).forEach((e=>{se[e].style.opacity=Yt[e].l.style.opacity,se[e].style.transform=Yt[e].l.style.transform,se[e].textContent=Math.ceil(Yt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Mn(3,"FortuneFlash",!1),Tn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Sn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(_t=Game.shimmers[e])})),Mn(3,"SeaFlash",!1),Tn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Sn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Mn(3,"WrinklerMaxFlash",!1):Mn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Tn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Tn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Sn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Sn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Bn(){let t="";for(let o=0;o<$.length;o++)t+=`.CMText${$[o]} { color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBack${$[o]} { background-color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBorder${$[o]} { border: 1px solid ${e[`Colour${$[o]}`]}; }\n`;l("CMCSS").textContent=t,co()}function En(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${kn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Nn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t,void 0!==e.Colors&&delete e.Colors,void 0!==e.Colours&&delete e.Colours;let o=!1;Object.keys(cn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=cn[t]):"Header"===t&&Object.keys(cn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=cn[t][n])}))})),o&&En(),Pn(),Object.keys(cn).forEach((e=>{"Header"!==e&&void 0!==bn[e].func&&bn[e].func()}))}else Nn(cn);Game.UpdateMenu(),Bn()}function On(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Fn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Uo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${pe(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${me((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(pe(Game.Objects[o].bulkPrice)).join(pe((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ne=t,ie=o,No(),l("tooltip").innerHTML}function Wn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(M[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Ln(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),En()}function Rn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){$n(o),Game.UpdateMenu()},n.appendChild(i),n}function In(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(I[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function zn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Vn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Rn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+mo(){Game.HasUnlocked(Qo[e])||c.push(Qo[e])})),0!==c.length&&e.appendChild(In("basic","Rare plant drops left to unlock",zn(c))),e}())),o.appendChild(Rn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?Ct:0)));t.appendChild(In("withTooltip","Prestige level (cur / max)",document.createTextNode(`${pe(Game.prestige)} / ${pe(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&Ct?Ct:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(pe(n)));const a=document.createElement("small");a.textContent=` (${ue(n/zt,1)})`,i.appendChild(a),t.appendChild(In("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(In("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${pe(Game.heavenlyChips)} / ${pe(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(In("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(pe(ht,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(In("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(pe(e)))),t.appendChild(In("basic","Time till target (cur, current 5 second average)",document.createTextNode(ue(e/ht)))))}const l=function(e){let t=Game.cookiesPs;Mo(),0===eo["Heavenly key"].bought&&(eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ro(),t=Xe,Mo()),It>=1e6&&$o("Sacrifice"),It>=1e9&&$o("Oblivion"),It>=1e12&&$o("From scratch"),It>=1e15&&$o("Nihilism"),It>=1e18&&$o("Dematerialize"),It>=1e21&&$o("Nil zero zilch"),It>=1e24&&$o("Transcendence"),It>=1e27&&$o("Obliterate"),It>=1e30&&$o("Negative void"),It>=1e33&&$o("To crumbs, you say?"),It>=1e36&&$o("You get nothing"),It>=1e39&&$o("Humble rebeginnings"),It>=1e42&&$o("The end of the world"),It>=1e45&&$o("Oh, you're back"),It>=1e48&&$o("Lazarus"),It>=1e51&&$o("Smurf account"),It>=1e54&&$o("If at first you don't succeed"),eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ue=e;const o=De;Ro(),qo(),o!==De&&Ro();const n=Xe-t;return Ue=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(pe(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(In("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Rn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${pe(Gt)} / ${pe(vt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){On()},e.appendChild(t),o.appendChild(In("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${pe(wt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},n.appendChild(i),o.appendChild(In("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==wt[1]?wt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(n.push(zo[e]),o=!0)}));const i=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(i.push(Vo[e]),o=!0)}));const a=[];Object.keys(_o).forEach((e=>{Game.Has(_o[e])||(a.push(_o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Rn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(In("basic","Halloween cookies left to buy",zn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(In("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${pe((1-e)*o*100)}% / ${pe((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(In("basic","Christmas cookies left to buy",zn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(In("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${pe((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(In("basic","Valentine cookies left to buy",zn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(In("basic","Normal easter eggs left to unlock",zn(r))),t.appendChild(In("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[0])}% / ${pe(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(In("basic","Rare easter eggs left to unlock",zn(l))),t.appendChild(In("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[1])}% / ${pe(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(In("basic","Reindeer reward",document.createTextNode(pe(ft)))),s&&t.appendChild(In("withTooltip","Chocolate egg cookies",document.createTextNode(pe(Ct)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(In("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(gt-1))/100+"%")))}return t}()),o.appendChild(Rn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(In("basic",`Average cookies per second (past ${J[e.AvgCPSHist]<60?`${J[e.AvgCPSHist]} seconds`:J[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(pe(uo(),3)))),o.appendChild(In("basic",`Average cookie clicks per second (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(St,1)))),o.appendChild(In("basic",`Cookies from clicking (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(he.calcSum(St*Z[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Io).forEach((t=>{Game.Has(Io[t])||e.push(Io[t])})),0!==e.length&&o.appendChild(In("basic","Fortune Upgrades Left to Buy",zn(e)))}if(e.ShowMissedGC&&o.appendChild(In("basic","Missed golden cookies",document.createTextNode(pe(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(In("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Et){const t=Et.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Et,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const _n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Qn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Xn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){$n(t),Game.UpdateMenu()},n.appendChild(i),n}function qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return de.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){de.includes(e)?de=de.filter((function(t){return t!==e})):de.push(e)}(e),En(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(I.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===bn[t].type){const n=document.createElement("a");bn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Hn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===bn[t].label.length?(e[t]=0,bn[t].toggle&&(l(Hn+t).className="option off")):l(Hn+t).className="option",void 0!==bn[t].func&&bn[t].func(),l(Hn+t).innerHTML=bn[t].label[e[t]],En()}(t)},n.textContent=bn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=bn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===bn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=bn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Un(t)},r.onchange=function(){Un(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Tn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Hn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,En(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=bn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===bn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new jn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Bn(),En(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=bn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Mn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Dn().init(),o}if("numscale"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="number",i.value=e[t],i.min=bn[t].min,i.max=bn[t].max,i.oninput=function(){e[t]=this.value,En(),un()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=bn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Yn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Kn(){S.Beautify=Beautify,Beautify=pe,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),_e=1,P=Date.now(),B=Date.now()},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Yn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Yn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Yn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),T=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Zt[Game.ObjectsById[e].name].name;Zt[o].amount-=1,Le-=1,t=Zt[o].basePrice*Game.priceIncrease**Math.max(0,Zt[o].amount-1-Zt[o].free),t=Game.modifyBuildingPrice(Zt[o],t),t=Math.ceil(t);break}const o=De;return Ro(),qo(),o!==De&&Ro(),[Xe-Game.cookiesPs,t]}(t),n=ue(o/(e+Game.cookiesPs)),i=pe(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${pe(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Dn().picker&&void 0!==Dn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(_n).forEach((t=>{if("Favourite"===t){if(0!==de.length&&e.FavouriteSettings>0&&(o.appendChild(Xn(t,_n[t])),e.Header[t]))for(let e=0;e{const n=Xn(t,Qn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))}))})):Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Nn(cn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Vn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){$n("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,V=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ue(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ce=`${Game.OnAscend?"Ascending! ":""}${pe(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ce;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Vt?Vt.wrath?`[W${Math.ceil(Vt.life/Game.fps)}]`:`[G${Math.ceil(Vt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(_t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ce;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Vt&&(t=!0,Vt.wrath?e+=`[W${Math.ceil(Vt.life/Game.fps)}]`:e+=`[G${Math.ceil(Vt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(_t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${pe(Game.prestige)}.
(CpS +${pe(Game.prestige)}%)`,n+='
'),n+=Oe<1?"Ascending now would grant you no prestige.":Oe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${pe(Oe)} prestige levels (+${pe(Oe)}% CpS)
and ${pe(Oe)} heavenly chips to spend.`,n+='
',n+=`You need ${pe(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Qt} to reach the next level and you were making ${pe(ht,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Jn(){wn(),an(),sn(),r=Object.keys(Game.mods).length,w=document.createElement("style"),w.type="text/css",w.id="CMCSS",document.head.appendChild(w),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=E+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",W)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",O)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",O)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",O)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{go(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=ho("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:D},{id:"CMTimerBarGCBar",color:j}]);e.appendChild(t);const o=ho("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:D},{id:"CMTimerBarRenBar",color:L}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=N+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(O,"Better than the best PP of a building option")),e.appendChild(o(F,"Same as the best PP building option")),e.appendChild(o(W,"Within the top 10 of PP for buildings")),e.appendChild(o(L,"Within the top 20 of PP for buildings")),e.appendChild(o(A,"Within the top 30 of PP for buildings")),e.appendChild(o(j,"Outside of the top 30 of PP for buildings")),e.appendChild(o(D,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=E+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",O)),e.appendChild(o("CMUpgradeBarGreen",F)),e.appendChild(o("CMUpgradeBarYellow",W)),e.appendChild(o("CMUpgradeBarOrange",L)),e.appendChild(o("CMUpgradeBarRed",A)),e.appendChild(o("CMUpgradeBarPurple",j)),e.appendChild(o("CMUpgradeBarGray",D)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),I[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){On()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Wn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),An()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){_=1},l("backgroundLeftCanvas").onmouseout=function(){_=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{X[e]=0}))},Kn(),An(),Game.CalculateGains(),Nn(),z=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Zn={init:function(){xn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Jn(),Game.registerHook("draw",Oo),Game.registerHook("logic",Pn),Game.registerHook("click",Fo),xn=!1)},load:function(e){const t=JSON.parse(e);wn(),void 0!==t.favouriteSettings&&(de=t.favouriteSettings),Nn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:kn};Game.registerMod("CookieMonster",Zn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index 5feb9611..16e6377b 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x=[],M=[],T=[],S={},P=Date.now(),B=Date.now();const E="CMText",N="CMBack",O="Blue",F="Green",W="Yellow",L="Orange",A="Red",j="Purple",D="Gray",H="Pink",U="Brown",$=[D,O,F,W,L,A,j,H,U],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],I={};let z,V,_=0,Q=-1,X=[],q=1,Y=1,K=1;const J=[10,15,30,60,300,600,900,1800],Z=[1,5,10,15,30],ee={Frenzy:W,"Dragon Harvest":U,"Elder frenzy":F,Clot:A,"Click frenzy":O,Dragonflight:H};let te,oe,ne,ie,ae,re,le,se={},ce="",de=[];function pe(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${pe(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function me(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=F):(n=ue(t),o=t>300?A:t>60?L:W),{text:n,color:o}}let he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Me,Te,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=0,pt=1,ut=1,mt=1,ht=0,gt=0,ft=0,Ct=0,yt={},bt={},kt={},Gt=0,vt=0,wt=[0,null],xt=0,Mt=0,Tt={},St={},Pt={},Bt={},Et={},Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,$t=0,Rt=[],It=0,zt=0,Vt={},_t={},Qt=0,Xt=0,qt=[],Yt={},Kt=0,Jt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Zt=[],eo=[],to=[];function oo(e){let t=0;return Game.dragonAuras[$e].name!==e&&Game.dragonAuras[Re].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[$e].name&&"Reality Bending"!==Game.dragonAuras[Re].name||(t+=.1),t}function no(){let e=.25;return e*=1+oo("Earth Shatterer"),e}function io(e,t){return void 0===Qe[e]?void 0===t?1:t:Qe[e]}function ao(e){const t=eo[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ro(e){if(Game.hasGod){void 0===Zt.Temple.minigame&&(Zt.Temple.minigame=Game.Objects.Temple.minigame);const t=Zt.Temple.minigame.gods[e];if(Ie===t.id)return 1;if(ze===t.id)return 2;if(Ve===t.id)return 3}return!1}function lo(e,t){let o=t;if(ao("Season savings")&&(o*=.99),ao("Santa's dominion")&&(o*=.99),ao("Faberge egg")&&(o*=.99),ao("Divine discount")&&(o*=.99),ao("Fortune #100")&&(o*=.99),o*=1-.02*oo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&ao(e.fortune.name)&&(o*=.93),o*=io("buildingCost"),Zt.Temple.minigameLoaded){const e=ro("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function so(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function co(){let t=Game.buyBulk;if(1===Game.buyMode?Y=t:t=Y,1===t?t=yt:10===t?t=bt:100===t&&(t=kt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(yt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=pe(so(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(yt).map((e=>{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;e$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.ppe.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?q=i:i=q,1===i&&(i=yt),10===i&&(i=bt),100===i&&(i=kt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=pe(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=E+i[o].color,n=e.PPDisplayTime?ue(Math.round(i[o].pp)):pe(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=me((Game.Objects[o].bulkPrice-(Game.cookies+mo()))/uo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=E+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&ao(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(ao(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&ao(e.fortune.name)&&(t*=1.07),e.grandma&&ao(e.grandma.name)&&(t*=1+.01*Zt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&ao(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function wo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;ao("Thousand fingers")&&(t+=.1),ao("Million fingers")&&(t*=5),ao("Billion fingers")&&(t*=10),ao("Trillion fingers")&&(t*=20),ao("Quadrillion fingers")&&(t*=20),ao("Quintillion fingers")&&(t*=20),ao("Sextillion fingers")&&(t*=20),ao("Septillion fingers")&&(t*=20),ao("Octillion fingers")&&(t*=20),ao("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Zt).forEach((e=>{"Cursor"!==Zt[e].name&&(n+=Zt[e].amount)})),t*=n,o*=vo(e),o*=Game.magicCpS("Cursor"),o*=io("cursorCps"),Game.ComputeCps(.1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{ao(Game.GrandmaSynergies[e])&&(o*=2)})),ao("Bingo center/Research facility")&&(o*=4),ao("Ritual rolling pins")&&(o*=2),ao("Naughty list")&&(o*=2),ao("Elderwort biscuits")&&(o*=1.02),o*=io("grandmaCps"),ao("Cat ladies"))for(let e=0;e{"Grandma"!==Zt[e].name&&(i+=Zt[e].amount)})),o*=1+.01*oo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=vo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function xo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Zt).forEach((t=>{Zt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(ao("Starlove")&&(e=3),Game.hasGod){const t=ro("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Mo(){Ae=Game.UpgradesOwned,je=Game.pledges,De=Game.AchievementsOwned,He=Game.heavenlyPower,Ue=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e],go(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ie=t.minigame.slot[0],ze=t.minigame.slot[1],Ve=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Zt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=eo[e];void 0===o&&(eo[e]=xo(e),o=eo[e]),o.bought=t.bought,eo[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=to[e];void 0===o&&(to[e]=Go(e),o=to[e]),o.won=t.won,to[e]=o})),ko(),$e=Ye,Re=Ke}function To(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function So(e){e.appendChild(To("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(To("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(To("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(To("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ne){e.appendChild(To("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Po(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Eo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function No(){if(Mo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ne?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(So(l("CMTooltipBorder")),1===Game.buyMode?K=t:t=K,1===Game.buyBulk?t=yt:10===Game.buyBulk?t=bt:100===Game.buyBulk&&(t=kt),te=Game.Objects[ie].bulkPrice,oe=t[ie].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=pe(oe,2);const o=Math.round(oe/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=E+t[ie].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ue(t[ie].pp):l("CMTooltipPP").textContent=pe(t[ie].pp,2),l("CMTooltipPP").className=E+t[ie].color;const n=me((te-(Game.cookies+mo()))/uo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ie[1]][ie[0]][0]-1].mature,o=t.plantsById[t.plot[ie[1]][ie[0]][0]-1].name;l("CMTooltipBorder").appendChild(To("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${pe(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${pe(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${pe(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${pe(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ne?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(To("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=ho(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==ee[Game.buffs[t].name]?ee[Game.buffs[t].name]:j,a.lastChild.children[1].className=N+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),le!==n&&(le=n,yo())}}(),fo(),No(),function(){if(1===e.TooltipWrink&&1===_){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===X[t]||void 0===X[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),Q=t,X[t]=1}}else X[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[Q],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[Q].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Zt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=pe(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,pe(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Fo(){he.addLatest(Game.computedMouseCps)}class Wo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Lo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Kt;Game.cpsSucked>0&&(o+=Gt),It=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ge,i=Math.max(0,Game.cookies-ve)/n,a=Math.max(0,Gt-we)/n,r=Math.max(0,wt[0]-xe)/n,l=Math.max(0,o-Ct)/n,s=(Game.cookieClicks-Me)/n;for(let e=0;e0&&(n=A),n}function jo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=D;else{t[n].color=Ao(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+mo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||qt.push([t[n].pp,o])}))}function Ho(){!function(){Xt=1/0,qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Do(yt,1),Do(bt,10),Do(kt,100),qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;qt[t][1]>Game.cookies&&(t+=1,qt.length!==t+1););Xt=qt[e.PPExcludeTop][t],jo(yt,1),jo(bt,10),jo(kt,100)}(),Object.keys(Tt).forEach((e=>{Game.cookiesPs?Tt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+mo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Tt[e].bonus:Tt[e].pp=Game.Upgrades[e].getPrice()/Tt[e].bonus,Number.isNaN(Tt[e].pp)&&(Tt[e].pp=1/0),Tt[e].color=Ao(Tt[e],Game.Upgrades[e].getPrice())}))}function Uo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Qe=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ue)*He*function(){let e=0;if(ao("Heavenly chip secret")&&(e+=.05),ao("Heavenly cookie stand")&&(e+=.2),ao("Heavenly bakery")&&(e+=.25),ao("Heavenly confectionery")&&(e+=.25),ao("Heavenly key")&&(e+=.25),e*=1+.05*oo("Dragon God"),ao("Lucky digit")&&(e*=1.01),ao("Lucky number")&&(e*=1.01),ao("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ro("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=io("cps"),ao("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];ao(o.name)&&("function"==typeof o.power?e*=1+.01*eo[o.name].power(eo[o.name]):e*=1+.01*o.power)})),ao("Specialized chocolate chips")&&(e*=1.01),ao("Designer cocoa beans")&&(e*=1.02),ao("Underworld ovens")&&(e*=1.03),ao("Exotic nuts")&&(e*=1.04),ao("Arcane sugar")&&(e*=1.05),ao("Increased merriness")&&(e*=1.15),ao("Improved jolliness")&&(e*=1.15),ao("A lump of coal")&&(e*=1.01),ao("An itchy sweater")&&(e*=1.01),ao("Santa's dominion")&&(e*=1.2),ao("Fortune #100")&&(e*=1.01),ao("Fortune #101")&&(e*=1.07),ao("Dragon scale")&&(e*=1.03);let o=1;if(ro){let t=ro("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ro("ages"),1===t?e*=1+.15*Math.sin(P/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(P/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(P/1e3/86400*Math.PI*2)),t=ro("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ro("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ro("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}ao("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=De/25;let i=1;if(ao("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*oo("Breath of Milk"),ro){const e=ro("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=io("milk");let a=1;ao("Kitten helpers")&&(a*=1+.1*n*i),ao("Kitten workers")&&(a*=1+.125*n*i),ao("Kitten engineers")&&(a*=1+.15*n*i),ao("Kitten overseers")&&(a*=1+.175*n*i),ao("Kitten managers")&&(a*=1+.2*n*i),ao("Kitten accountants")&&(a*=1+.2*n*i),ao("Kitten specialists")&&(a*=1+.2*n*i),ao("Kitten experts")&&(a*=1+.2*n*i),ao("Kitten consultants")&&(a*=1+.2*n*i),ao("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),ao("Kitten marketeers")&&(a*=1+.15*n*i),ao("Kitten analysts")&&(a*=1+.125*n*i),ao("Kitten executives")&&(a*=1+.115*n*i),ao("Kitten angels")&&(a*=1+.1*n*i),ao("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Zt).forEach((e=>{const t=Zt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&ao("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Xe+=t.amount*a})),ao('"egg"')&&(Xe+=9),e*=a;let r=1;if(ao("Chicken egg")&&(r*=1.01),ao("Duck egg")&&(r*=1.01),ao("Turkey egg")&&(r*=1.01),ao("Quail egg")&&(r*=1.01),ao("Robin egg")&&(r*=1.01),ao("Ostrich egg")&&(r*=1.01),ao("Cassowary egg")&&(r*=1.01),ao("Salmon roe")&&(r*=1.01),ao("Frogspawn")&&(r*=1.01),ao("Shark egg")&&(r*=1.01),ao("Turtle egg")&&(r*=1.01),ao("Ant larva")&&(r*=1.01),ao("Century egg")){let e=10*Math.floor((B-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),gt=1+.1*(1-(1-e/100)**3),r*=gt}e*=r,ao("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+oo("Radiant Appetite");const l=Xe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&$o(Game.CpsAchievements[e].name)})),qe=l;const{n:s}=Game.shimmerTypes.golden,c=oo("Dragon's Fortune");for(let t=0;t{ao(e[o])&&(t+=.1)}))}e*=t}if(ao("Shimmering veil [off]")){let t=.5;ao("Reinforced membrane")&&(t+=.1),e*=1+t}ao("Magic shenanigans")&&(e*=1e3),ao("Occult obstruction")&&(e*=0),Xe=Game.runModHookOnValue("cps",Xe),e*=Bo(),Xe*=e}const Io=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],zo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Vo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],_o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Qo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Xo(e){return to[e]?to[e].won:0}function qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{ao(Game.GrandmaSynergies[t])&&(e+=1)})),!Xo("Elder")&&e>=7&&$o("Elder"),!Xo("Veteran")&&e>=14&&$o("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount,i=Math.min(Zt[e].amount,i),Xo("Mathematician")||Zt[e].amount=1&&$o("One with everything"),1===o&&$o("Mathematician"),1===n&&$o("Base 10"),i>=100&&$o("Centennial"),i>=150&&$o("Centennial and a half"),i>=200&&$o("Bicentennial"),i>=250&&$o("Bicentennial and a half"),i>=300&&$o("Tricentennial"),i>=350&&$o("Tricentennial and a half"),i>=400&&$o("Quadricentennial"),i>=450&&$o("Quadricentennial and a half"),i>=500&&$o("Quincentennial"),i>=550&&$o("Quincentennial and a half"),i>=600&&$o("Sexcentennial"),t>=100&&$o("Builder"),t>=500&&$o("Architect"),t>=1e3&&$o("Engineer"),t>=2e3&&$o("Lord of Constructs"),t>=4e3&&$o("Grand design"),t>=8e3&&$o("Ecumenopolis"),Ae>=20&&$o("Enhancer"),Ae>=50&&$o("Augmenter"),Ae>=100&&$o("Upgrader"),Ae>=200&&$o("Lord of Progress"),Ae>=300&&$o("The full picture"),Ae>=400&&$o("When there's nothing left to add"),t>=4e3&&Ae>=300&&$o("Polymath"),t>=8e3&&Ae>=400&&$o("Renaissance baker"),Zt.Cursor.amount+Zt.Grandma.amount>=777&&$o("The elder scrolls");let a=!0;Object.keys(zo).forEach((e=>{ao(zo[e])||(a=!1)})),a&&$o("Spooky cookies");let r=!0;if(Object.keys(Vo).forEach((e=>{ao(Vo[e])||(r=!1)})),r&&$o("Let it snow"),ao("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{ao(e[o].name)&&(t+=1)})),t>=e.length&&$o("O Fortuna")}}function Yo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Mo(),Zt[e].amount+=t;const o=Zt[e];"Cursor"===e?(o.amount>=1&&$o("Click"),o.amount>=2&&$o("Double-click"),o.amount>=50&&$o("Mouse wheel"),o.amount>=100&&$o("Of Mice and Men"),o.amount>=200&&$o("The Digital"),o.amount>=300&&$o("Extreme polydactyly"),o.amount>=400&&$o("Dr. T"),o.amount>=500&&$o("Thumbs, phalanges, metacarpals"),o.amount>=600&&$o("With her finger and her thumb"),o.amount>=700&&$o("Gotta hand it to you"),o.amount>=800&&$o("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&$o(Game.Objects[o.name].tieredAchievs[e].name)}));const n=De;return Ro(),qo(),n!==De&&Ro(),Xe-Game.cookiesPs}(o,e),1!==e&&(Fe=1)})),t}function Ko(){Object.keys(Game.Objects).forEach((e=>{yt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),bt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),kt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Jo(){yt=Yo(1),bt=Yo(10),kt=Yo(100),Tt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Mo(),"Shimmering veil [on]"===eo[e].name?eo["Shimmering veil [off]"].bought=0:"Golden switch [on]"===eo[e].name?eo["Golden switch [off]"].bought=0:eo[e].bought=(eo[e].bought+1)%2,Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ae+=1),"Elder Pledge"===e?(je+=1,je>0&&$o("Elder nap"),je>=5&&$o("Elder slumber")):"Elder Covenant"===e?$o("Elder calm"):"Prism heart biscuits"===e?$o("Lovely cookies"):"Heavenly key"===e&&$o("Wholesome");const t=De;Ro(),qo(),t!==De&&Ro();const o=function(){let e=0;ao("Thousand fingers")&&(e+=.1),ao("Million fingers")&&(e*=5),ao("Billion fingers")&&(e*=10),ao("Trillion fingers")&&(e*=20),ao("Quadrillion fingers")&&(e*=20),ao("Quintillion fingers")&&(e*=20),ao("Sextillion fingers")&&(e*=20),ao("Septillion fingers")&&(e*=20),ao("Octillion fingers")&&(e*=20),ao("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount})),t-=Zt.Cursor.amount,e*=t,ao("Plastic mouse")&&(e+=.01*Xe),ao("Iron mouse")&&(e+=.01*Xe),ao("Titanium mouse")&&(e+=.01*Xe),ao("Adamantium mouse")&&(e+=.01*Xe),ao("Unobtainium mouse")&&(e+=.01*Xe),ao("Eludium mouse")&&(e+=.01*Xe),ao("Wishalloy mouse")&&(e+=.01*Xe),ao("Fantasteel mouse")&&(e+=.01*Xe),ao("Nevercrack mouse")&&(e+=.01*Xe),ao("Armythril mouse")&&(e+=.01*Xe),ao("Technobsidian mouse")&&(e+=.01*Xe),ao("Plasmarble mouse")&&(e+=.01*Xe),ao("Miraculite mouse")&&(e+=.01*Xe),ao("Fortune #104")&&(e+=.01*Xe);let o=1;if(ao("Santa's helpers")&&(o*=1.1),ao("Cookie egg")&&(o*=1.1),ao("Halo gloves")&&(o*=1.1),ao("Dragon claw")&&(o*=1.03),ao("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,ao("Luminous gloves")?20:10)),o*=io("click"),Zt.Temple.minigameLoaded&&ro){const e=ro("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*oo("Dragon Cursor");let n=o*Game.ComputeCps(1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Xe-Game.cookiesPs,o]:[Xe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Tt[t]={bonus:Game.cookiesPs-Te},1===e.CalcWrink?Tt[t].bonus-=Se:2===e.CalcWrink&&(Tt[t].bonus-=Pe),Number.isFinite(Tt[t].bonus)||(Tt[t].bonus=0)):(Tt[t]={},o[0]&&(Tt[t].bonus=o[0]),o[1]&&(Tt[t].bonusMouse=o[1]))}))}function Zo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ft=Zo(7,e,ut),Nt=2*Ft[1]/ut,Ot=Ft[2]/60/60/6/pt,At=Zo(6,e,mt),Wt=2*At[1]/mt,Lt=At[2]/60/60/6/pt,Ht=Zo(7,7*e,ut),jt=2*Ht[1]/ut,Dt=Ht[2]/60/60/6/pt,Rt=Zo(6,7*e,mt),Ut=2*Rt[1]/mt,$t=Rt[2]/60/60/6/pt}function tn(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ne,i=Math.max(0,o-Oe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Bt+=e:"cookie"===o.pool?Et+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Pt+=e)}}))}function nn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ft=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ft*=2)}}function an(){et=900*dt/.15,et*=pt;const e=Bo();e>0?et/=e:et=0,tt=ut*(.15*et)+13,ot=mt*(.15*et)+13,nt=7*et,it=ut*(.15*nt)+13,at=mt*(.15*nt)+13,rt=2*et,lt=.15*rt,st=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountst&&(st=2*Game.Objects[e].price,ct=e)}))}function rn(){let e=1,t=1,o=1;ao("Green yeast digestives")&&(o*=1.01),ao("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ut=o*e,mt=o*t,pt=1,0===Game.shimmerTypes.golden.n&&(pt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function ln(){Gt=0,vt=0,wt=[0,null];for(let e=0;ewt[0]&&(wt=[t,e]))}}function sn(){ko(),ln(),an(),rn(),en(),on(),nn(),ge=new Wo(J[J.length-1]),fe=new Wo(J[J.length-1]),Ce=new Wo(J[J.length-1]),ye=new Wo(J[J.length-1]),be=new Wo(Z[Z.length-1]),ke=new Wo(5),he=new Wo(20*Z[Z.length-1]),tn(),Lo(),Jo(),Ko(),Ho()}const cn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},dn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function pn(){1===e.BotBar?(l("CMBotBar").style.display="",fo()):l("CMBotBar").style.display="none",yo()}function un(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),fo(),co(),po()}function mn(){1===e.Favicon&&y>0?Vt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class hn{constructor(e,t){this.type=e,this.group=t}}class gn extends hn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class fn extends hn{constructor(e,t,o){super(e,t),this.desc=o}}class Cn extends hn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class yn extends hn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const bn={CPSMode:new gn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new gn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new gn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new gn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){_e=!0})),Scale:new gn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){un()})),ScaleDecimals:new gn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){un()})),ScaleSeparator:new gn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){un()})),ScaleCutoff:new yn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new gn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new gn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=V:Game.sayTime=S.sayTime})),PPDisplayTime:new gn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new gn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){co()})),PPOnlyConsiderBuyable:new gn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new gn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new gn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new yn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new fn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new fn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new fn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new fn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new fn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new fn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new fn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new fn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new fn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new gn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){pn()})),TimerBar:new gn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){bo()})),TimerBarPos:new gn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),yo()})),TimerBarOverlay:new gn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new gn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",po()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",po()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new gn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new gn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){co()})),SortUpgrades:new gn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){po()})),DragonAuraInfo:new gn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new gn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new gn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(se).forEach((e=>{se[e].style.display="block",se[e].style.left=Yt[e].l.style.left,se[e].style.top=Yt[e].l.style.top})):Object.keys(se).forEach((e=>se[e].style.display="none"))})),Favicon:new gn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){mn()})),WrinklerButtons:new gn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new gn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new gn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new gn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new gn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new gn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new gn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new gn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new gn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new yn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new gn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new gn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Eo()})),TooltipGrim:new gn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new gn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new gn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new gn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new gn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new gn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new gn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new gn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new gn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new gn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new yn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new gn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new gn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new gn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new gn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){dn(e.GCNotification)})),GCFlash:new gn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new fn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new gn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new Cn("vol","NotificationGC",[],"Volume"),GCSoundURL:new gn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new gn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){dn(e.FortuneNotification)})),FortuneFlash:new gn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new fn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new gn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new Cn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new gn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new gn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){dn(e.SeaNotification)})),SeaFlash:new gn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new fn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new gn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new Cn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new gn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new gn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new fn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new gn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new Cn("vol","NotificationGard",[],"Volume"),GardSoundURL:new gn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new gn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){dn(e.MagicNotification)})),MagicFlash:new gn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new fn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new gn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new Cn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new gn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new gn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){dn(e.WrinklerNotification)})),WrinklerFlash:new gn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new fn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new gn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new Cn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new gn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new gn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){dn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new gn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new fn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new gn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new Cn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new gn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new gn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new gn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function kn(){return JSON.stringify({favouriteSettings:de,settings:e,version:"2.031.6"})}function Gn(){if(Je!==Game.dragonLevel||_e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Upgrades).forEach((e=>{eo[e]=xo(e)})),to=[],Object.keys(Game.Achievements).forEach((e=>{to[e]=Go(e)})),Mo()}let xn=!1;function Mn(t,o,n){(1===e[o]||n)&&3===t&&!1===xn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Mn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Mn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Mn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Tn(t,o,n,i){if((1===e[o]||i)&&!1===xn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Sn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===xn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Pn(){if(re!==Game.OnAscend&&(re=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(pn(),bo()),Co()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(wn(),sn(),r=Object.keys(Game.mods).length),_e&&(Jo(),Game.Has("Golden switch [off]")?(Mo(),eo["Golden switch [off]"].bought=0,Ro(),dt=Xe):dt=Game.cookiesPs,rn(),an(),on(),en(),Gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Jt[e][t]=vn(e,t)}(),nn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Mo();let t=2;5!==$e&&18!==$e||(t-=1),5!==Re&&18!==Re||(t-=1),$e=5,Re=18;for(let e=0;e{Zt[t].amount>0&&(e=t)})),Zt[e].amount-=1,Le-=1}return Object.keys(Zt).forEach((t=>{const o=Zt[t];e+=so(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Kt=e}(),_e=0);const t=Game.auraMult("Fierce Hoarder")>0;!We&&t?(We=!0,Fe=1):We&&!t&&(We=!1,Fe=1),Fe&&(Ko(),Fe=0),function(){ln(),Ho(),function(){xt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Zt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Mt=e,xt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Lo(),tn();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Qt=ue(e/uo())}(),G=0,Yt={},Object.keys(Game.shimmers).forEach((e=>{Yt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Vt=Game.shimmers[e],G+=1)})),Object.keys(se).forEach((e=>{void 0===Yt[e]&&(se[e].parentNode.removeChild(se[e]),delete se[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===se[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},se[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),mn(),b=G,0===G&&(Vt=0)):1===e.GCTimer&&y&&Object.keys(se).forEach((e=>{se[e].style.opacity=Yt[e].l.style.opacity,se[e].style.transform=Yt[e].l.style.transform,se[e].textContent=Math.ceil(Yt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Mn(3,"FortuneFlash",!1),Tn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Sn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(_t=Game.shimmers[e])})),Mn(3,"SeaFlash",!1),Tn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Sn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Mn(3,"WrinklerMaxFlash",!1):Mn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Tn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Tn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Sn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Sn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Bn(){let t="";for(let o=0;o<$.length;o++)t+=`.CMText${$[o]} { color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBack${$[o]} { background-color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBorder${$[o]} { border: 1px solid ${e[`Colour${$[o]}`]}; }\n`;l("CMCSS").textContent=t,co()}function En(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${kn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Nn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t,void 0!==e.Colors&&delete e.Colors,void 0!==e.Colours&&delete e.Colours;let o=!1;Object.keys(cn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=cn[t]):"Header"===t&&Object.keys(cn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=cn[t][n])}))})),o&&En(),Pn(),Object.keys(cn).forEach((e=>{"Header"!==e&&void 0!==bn[e].func&&bn[e].func()}))}else Nn(cn);Game.UpdateMenu(),Bn()}function On(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Fn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Uo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${pe(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${me((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(pe(Game.Objects[o].bulkPrice)).join(pe((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ne=t,ie=o,No(),l("tooltip").innerHTML}function Wn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(M[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Ln(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),En()}function Rn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){$n(o),Game.UpdateMenu()},n.appendChild(i),n}function In(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(I[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function zn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Vn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Rn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+mo(){Game.HasUnlocked(Qo[e])||c.push(Qo[e])})),0!==c.length&&e.appendChild(In("basic","Rare plant drops left to unlock",zn(c))),e}())),o.appendChild(Rn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?Ct:0)));t.appendChild(In("withTooltip","Prestige level (cur / max)",document.createTextNode(`${pe(Game.prestige)} / ${pe(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&Ct?Ct:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(pe(n)));const a=document.createElement("small");a.textContent=` (${ue(n/zt,1)})`,i.appendChild(a),t.appendChild(In("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(In("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${pe(Game.heavenlyChips)} / ${pe(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(In("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(pe(ht,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(In("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(pe(e)))),t.appendChild(In("basic","Time till target (cur, current 5 second average)",document.createTextNode(ue(e/ht)))))}const l=function(e){let t=Game.cookiesPs;Mo(),0===eo["Heavenly key"].bought&&(eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ro(),t=Xe,Mo()),It>=1e6&&$o("Sacrifice"),It>=1e9&&$o("Oblivion"),It>=1e12&&$o("From scratch"),It>=1e15&&$o("Nihilism"),It>=1e18&&$o("Dematerialize"),It>=1e21&&$o("Nil zero zilch"),It>=1e24&&$o("Transcendence"),It>=1e27&&$o("Obliterate"),It>=1e30&&$o("Negative void"),It>=1e33&&$o("To crumbs, you say?"),It>=1e36&&$o("You get nothing"),It>=1e39&&$o("Humble rebeginnings"),It>=1e42&&$o("The end of the world"),It>=1e45&&$o("Oh, you're back"),It>=1e48&&$o("Lazarus"),It>=1e51&&$o("Smurf account"),It>=1e54&&$o("If at first you don't succeed"),eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ue=e;const o=De;Ro(),qo(),o!==De&&Ro();const n=Xe-t;return Ue=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(pe(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(In("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Rn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${pe(Gt)} / ${pe(vt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){On()},e.appendChild(t),o.appendChild(In("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${pe(wt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},n.appendChild(i),o.appendChild(In("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==wt[1]?wt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(n.push(zo[e]),o=!0)}));const i=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(i.push(Vo[e]),o=!0)}));const a=[];Object.keys(_o).forEach((e=>{Game.Has(_o[e])||(a.push(_o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Rn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(In("basic","Halloween cookies left to buy",zn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(In("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${pe((1-e)*o*100)}% / ${pe((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(In("basic","Christmas cookies left to buy",zn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(In("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${pe((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(In("basic","Valentine cookies left to buy",zn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(In("basic","Normal easter eggs left to unlock",zn(r))),t.appendChild(In("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[0])}% / ${pe(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(In("basic","Rare easter eggs left to unlock",zn(l))),t.appendChild(In("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[1])}% / ${pe(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(In("basic","Reindeer reward",document.createTextNode(pe(ft)))),s&&t.appendChild(In("withTooltip","Chocolate egg cookies",document.createTextNode(pe(Ct)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(In("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(gt-1))/100+"%")))}return t}()),o.appendChild(Rn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(In("basic",`Average cookies per second (past ${J[e.AvgCPSHist]<60?`${J[e.AvgCPSHist]} seconds`:J[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(pe(uo(),3)))),o.appendChild(In("basic",`Average cookie clicks per second (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(St,1)))),o.appendChild(In("basic",`Cookies from clicking (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(he.calcSum(St*Z[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Io).forEach((t=>{Game.Has(Io[t])||e.push(Io[t])})),0!==e.length&&o.appendChild(In("basic","Fortune Upgrades Left to Buy",zn(e)))}if(e.ShowMissedGC&&o.appendChild(In("basic","Missed golden cookies",document.createTextNode(pe(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(In("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Et){const t=Et.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Et,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const _n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Qn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Xn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){$n(t),Game.UpdateMenu()},n.appendChild(i),n}function qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return de.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){de.includes(e)?de=de.filter((function(t){return t!==e})):de.push(e)}(e),En(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(I.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===bn[t].type){const n=document.createElement("a");bn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Hn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===bn[t].label.length?(e[t]=0,bn[t].toggle&&(l(Hn+t).className="option off")):l(Hn+t).className="option",void 0!==bn[t].func&&bn[t].func(),l(Hn+t).innerHTML=bn[t].label[e[t]],En()}(t)},n.textContent=bn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=bn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===bn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=bn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Un(t)},r.onchange=function(){Un(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Tn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Hn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,En(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=bn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===bn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new jn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Bn(),En(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=bn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Mn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Dn().init(),o}if("numscale"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="number",i.value=e[t],i.min=bn[t].min,i.max=bn[t].max,i.oninput=function(){e[t]=this.value,En(),un()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=bn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Yn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Kn(){S.Beautify=Beautify,Beautify=pe,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),_e=1,P=Date.now(),B=Date.now()},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Yn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Yn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Yn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),T=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Zt[Game.ObjectsById[e].name].name;Zt[o].amount-=1,Le-=1,t=Zt[o].basePrice*Game.priceIncrease**Math.max(0,Zt[o].amount-1-Zt[o].free),t=Game.modifyBuildingPrice(Zt[o],t),t=Math.ceil(t);break}const o=De;return Ro(),qo(),o!==De&&Ro(),[Xe-Game.cookiesPs,t]}(t),n=ue(o/(e+Game.cookiesPs)),i=pe(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${pe(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Dn().picker&&void 0!==Dn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(_n).forEach((t=>{if("Favourite"===t){if(0!==de.length&&e.FavouriteSettings>0&&(o.appendChild(Xn(t,_n[t])),e.Header[t]))for(let e=0;e{const n=Xn(t,Qn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))}))})):Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Nn(cn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Vn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){$n("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,V=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ue(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ce=`${Game.OnAscend?"Ascending! ":""}${pe(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ce;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Vt?Vt.wrath?`[W${Math.ceil(Vt.life/Game.fps)}]`:`[G${Math.ceil(Vt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(_t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ce;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Vt&&(t=!0,Vt.wrath?e+=`[W${Math.ceil(Vt.life/Game.fps)}]`:e+=`[G${Math.ceil(Vt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(_t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${pe(Game.prestige)}.
(CpS +${pe(Game.prestige)}%)`,n+='
'),n+=Oe<1?"Ascending now would grant you no prestige.":Oe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${pe(Oe)} prestige levels (+${pe(Oe)}% CpS)
and ${pe(Oe)} heavenly chips to spend.`,n+='
',n+=`You need ${pe(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Qt} to reach the next level and you were making ${pe(ht,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Jn(){wn(),an(),sn(),r=Object.keys(Game.mods).length,w=document.createElement("style"),w.type="text/css",w.id="CMCSS",document.head.appendChild(w),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=E+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",W)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",O)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",O)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",O)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{go(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=ho("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:D},{id:"CMTimerBarGCBar",color:j}]);e.appendChild(t);const o=ho("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:D},{id:"CMTimerBarRenBar",color:L}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=N+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(O,"Better than the best PP of a building option")),e.appendChild(o(F,"Same as the best PP building option")),e.appendChild(o(W,"Within the top 10 of PP for buildings")),e.appendChild(o(L,"Within the top 20 of PP for buildings")),e.appendChild(o(A,"Within the top 30 of PP for buildings")),e.appendChild(o(j,"Outside of the top 30 of PP for buildings")),e.appendChild(o(D,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=E+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",O)),e.appendChild(o("CMUpgradeBarGreen",F)),e.appendChild(o("CMUpgradeBarYellow",W)),e.appendChild(o("CMUpgradeBarOrange",L)),e.appendChild(o("CMUpgradeBarRed",A)),e.appendChild(o("CMUpgradeBarPurple",j)),e.appendChild(o("CMUpgradeBarGray",D)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),I[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){On()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Wn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),An()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){_=1},l("backgroundLeftCanvas").onmouseout=function(){_=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{X[e]=0}))},Kn(),An(),Game.CalculateGains(),Nn(),z=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Zn={init:function(){xn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Jn(),Game.registerHook("draw",Oo),Game.registerHook("logic",Pn),Game.registerHook("click",Fo),xn=!1)},load:function(e){const t=JSON.parse(e);wn(),void 0!==t.favouriteSettings&&(de=t.favouriteSettings),Nn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:kn};Game.registerMod("CookieMonster",Zn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x=[],M=[],T=[],S={},P=Date.now(),B=Date.now();const E="CMText",N="CMBack",O="Blue",F="Green",W="Yellow",L="Orange",A="Red",j="Purple",D="Gray",H="Pink",U="Brown",$=[D,O,F,W,L,A,j,H,U],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],I={};let z,V,_=0,Q=-1,X=[],q=1,Y=1,K=1;const J=[10,15,30,60,300,600,900,1800],Z=[1,5,10,15,30],ee={Frenzy:W,"Dragon Harvest":U,"Elder frenzy":F,Clot:A,"Click frenzy":O,Dragonflight:H};let te,oe,ne,ie,ae,re,le,se={},ce="",de=[];function pe(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${pe(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function me(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=F):(n=ue(t),o=t>300?A:t>60?L:W),{text:n,color:o}}let he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Me,Te,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=0,pt=1,ut=1,mt=1,ht=0,gt=0,ft=0,Ct=0,yt={},bt={},kt={},Gt=0,vt=0,wt=[0,null],xt=0,Mt=0,Tt={},St={},Pt={},Bt={},Et={},Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,$t=0,Rt=[],It=0,zt=0,Vt={},_t={},Qt=0,Xt=0,qt=[],Yt={},Kt=0,Jt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Zt=[],eo=[],to=[];function oo(e){let t=0;return Game.dragonAuras[$e].name!==e&&Game.dragonAuras[Re].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[$e].name&&"Reality Bending"!==Game.dragonAuras[Re].name||(t+=.1),t}function no(){let e=.25;return e*=1+oo("Earth Shatterer"),e}function io(e,t){return void 0===Qe[e]?void 0===t?1:t:Qe[e]}function ao(e){const t=eo[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ro(e){if(Game.hasGod){void 0===Zt.Temple.minigame&&(Zt.Temple.minigame=Game.Objects.Temple.minigame);const t=Zt.Temple.minigame.gods[e];if(Ie===t.id)return 1;if(ze===t.id)return 2;if(Ve===t.id)return 3}return!1}function lo(e,t){let o=t;if(ao("Season savings")&&(o*=.99),ao("Santa's dominion")&&(o*=.99),ao("Faberge egg")&&(o*=.99),ao("Divine discount")&&(o*=.99),ao("Fortune #100")&&(o*=.99),o*=1-.02*oo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&ao(e.fortune.name)&&(o*=.93),o*=io("buildingCost"),Zt.Temple.minigameLoaded){const e=ro("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function so(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function co(){let t=Game.buyBulk;if(1===Game.buyMode?Y=t:t=Y,1===t?t=yt:10===t?t=bt:100===t&&(t=kt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(yt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=pe(so(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(yt).map((e=>{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;e$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.ppe.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?q=i:i=q,1===i&&(i=yt),10===i&&(i=bt),100===i&&(i=kt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=pe(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=E+i[o].color,n=e.PPDisplayTime?ue(Math.round(i[o].pp)):pe(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=me((Game.Objects[o].bulkPrice-(Game.cookies+mo()))/uo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=E+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&ao(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(ao(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&ao(e.fortune.name)&&(t*=1.07),e.grandma&&ao(e.grandma.name)&&(t*=1+.01*Zt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&ao(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function wo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;ao("Thousand fingers")&&(t+=.1),ao("Million fingers")&&(t*=5),ao("Billion fingers")&&(t*=10),ao("Trillion fingers")&&(t*=20),ao("Quadrillion fingers")&&(t*=20),ao("Quintillion fingers")&&(t*=20),ao("Sextillion fingers")&&(t*=20),ao("Septillion fingers")&&(t*=20),ao("Octillion fingers")&&(t*=20),ao("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Zt).forEach((e=>{"Cursor"!==Zt[e].name&&(n+=Zt[e].amount)})),t*=n,o*=vo(e),o*=Game.magicCpS("Cursor"),o*=io("cursorCps"),Game.ComputeCps(.1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{ao(Game.GrandmaSynergies[e])&&(o*=2)})),ao("Bingo center/Research facility")&&(o*=4),ao("Ritual rolling pins")&&(o*=2),ao("Naughty list")&&(o*=2),ao("Elderwort biscuits")&&(o*=1.02),o*=io("grandmaCps"),ao("Cat ladies"))for(let e=0;e{"Grandma"!==Zt[e].name&&(i+=Zt[e].amount)})),o*=1+.01*oo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=vo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function xo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Zt).forEach((t=>{Zt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(ao("Starlove")&&(e=3),Game.hasGod){const t=ro("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Mo(){Ae=Game.UpgradesOwned,je=Game.pledges,De=Game.AchievementsOwned,He=Game.heavenlyPower,Ue=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e],go(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ie=t.minigame.slot[0],ze=t.minigame.slot[1],Ve=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Zt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=eo[e];void 0===o&&(eo[e]=xo(e),o=eo[e]),o.bought=t.bought,eo[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=to[e];void 0===o&&(to[e]=Go(e),o=to[e]),o.won=t.won,to[e]=o})),ko(),$e=Ye,Re=Ke}function To(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function So(e){e.appendChild(To("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(To("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(To("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(To("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ne){e.appendChild(To("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Po(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Eo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function No(){if(Mo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ne?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(So(l("CMTooltipBorder")),1===Game.buyMode?K=t:t=K,1===Game.buyBulk?t=yt:10===Game.buyBulk?t=bt:100===Game.buyBulk&&(t=kt),te=Game.Objects[ie].bulkPrice,oe=t[ie].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=pe(oe,2);const o=Math.round(oe/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=E+t[ie].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ue(t[ie].pp):l("CMTooltipPP").textContent=pe(t[ie].pp,2),l("CMTooltipPP").className=E+t[ie].color;const n=me((te-(Game.cookies+mo()))/uo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ie[1]][ie[0]][0]-1].mature,o=t.plantsById[t.plot[ie[1]][ie[0]][0]-1].name;l("CMTooltipBorder").appendChild(To("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${pe(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${pe(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${pe(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${pe(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ne?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(To("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=ho(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==ee[Game.buffs[t].name]?ee[Game.buffs[t].name]:j,a.lastChild.children[1].className=N+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),le!==n&&(le=n,yo())}}(),fo(),No(),function(){if(1===e.TooltipWrink&&1===_){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===X[t]||void 0===X[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),Q=t,X[t]=1}}else X[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[Q],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[Q].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Zt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=pe(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,pe(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Fo(){he.addLatest(Game.computedMouseCps)}class Wo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Lo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Kt;Game.cpsSucked>0&&(o+=Gt),It=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ge,i=Math.max(0,Game.cookies-ve)/n,a=Math.max(0,Gt-we)/n,r=Math.max(0,wt[0]-xe)/n,l=Math.max(0,o-Ct)/n,s=(Game.cookieClicks-Me)/n;for(let e=0;e0&&(n=A),n}function jo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=D;else{t[n].color=Ao(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+mo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||qt.push([t[n].pp,o])}))}function Ho(){!function(){Xt=1/0,qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Do(yt,1),Do(bt,10),Do(kt,100),qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;qt[t][1]>Game.cookies&&(t+=1,qt.length!==t+1););Xt=qt[e.PPExcludeTop][t],jo(yt,1),jo(bt,10),jo(kt,100)}(),Object.keys(Tt).forEach((e=>{Game.cookiesPs?Tt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+mo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Tt[e].bonus:Tt[e].pp=Game.Upgrades[e].getPrice()/Tt[e].bonus,Number.isNaN(Tt[e].pp)&&(Tt[e].pp=1/0),Tt[e].color=Ao(Tt[e],Game.Upgrades[e].getPrice())}))}function Uo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Qe=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ue)*He*function(){let e=0;if(ao("Heavenly chip secret")&&(e+=.05),ao("Heavenly cookie stand")&&(e+=.2),ao("Heavenly bakery")&&(e+=.25),ao("Heavenly confectionery")&&(e+=.25),ao("Heavenly key")&&(e+=.25),e*=1+.05*oo("Dragon God"),ao("Lucky digit")&&(e*=1.01),ao("Lucky number")&&(e*=1.01),ao("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ro("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=io("cps"),ao("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];ao(o.name)&&("function"==typeof o.power?e*=1+.01*eo[o.name].power(eo[o.name]):e*=1+.01*o.power)})),ao("Specialized chocolate chips")&&(e*=1.01),ao("Designer cocoa beans")&&(e*=1.02),ao("Underworld ovens")&&(e*=1.03),ao("Exotic nuts")&&(e*=1.04),ao("Arcane sugar")&&(e*=1.05),ao("Increased merriness")&&(e*=1.15),ao("Improved jolliness")&&(e*=1.15),ao("A lump of coal")&&(e*=1.01),ao("An itchy sweater")&&(e*=1.01),ao("Santa's dominion")&&(e*=1.2),ao("Fortune #100")&&(e*=1.01),ao("Fortune #101")&&(e*=1.07),ao("Dragon scale")&&(e*=1.03);let o=1;if(ro){let t=ro("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ro("ages"),1===t?e*=1+.15*Math.sin(P/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(P/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(P/1e3/86400*Math.PI*2)),t=ro("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ro("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ro("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}ao("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=De/25;let i=1;if(ao("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*oo("Breath of Milk"),ro){const e=ro("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=io("milk");let a=1;ao("Kitten helpers")&&(a*=1+.1*n*i),ao("Kitten workers")&&(a*=1+.125*n*i),ao("Kitten engineers")&&(a*=1+.15*n*i),ao("Kitten overseers")&&(a*=1+.175*n*i),ao("Kitten managers")&&(a*=1+.2*n*i),ao("Kitten accountants")&&(a*=1+.2*n*i),ao("Kitten specialists")&&(a*=1+.2*n*i),ao("Kitten experts")&&(a*=1+.2*n*i),ao("Kitten consultants")&&(a*=1+.2*n*i),ao("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),ao("Kitten marketeers")&&(a*=1+.15*n*i),ao("Kitten analysts")&&(a*=1+.125*n*i),ao("Kitten executives")&&(a*=1+.115*n*i),ao("Kitten angels")&&(a*=1+.1*n*i),ao("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Zt).forEach((e=>{const t=Zt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&ao("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Xe+=t.amount*a})),ao('"egg"')&&(Xe+=9),e*=a;let r=1;if(ao("Chicken egg")&&(r*=1.01),ao("Duck egg")&&(r*=1.01),ao("Turkey egg")&&(r*=1.01),ao("Quail egg")&&(r*=1.01),ao("Robin egg")&&(r*=1.01),ao("Ostrich egg")&&(r*=1.01),ao("Cassowary egg")&&(r*=1.01),ao("Salmon roe")&&(r*=1.01),ao("Frogspawn")&&(r*=1.01),ao("Shark egg")&&(r*=1.01),ao("Turtle egg")&&(r*=1.01),ao("Ant larva")&&(r*=1.01),ao("Century egg")){let e=10*Math.floor((B-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),gt=1+.1*(1-(1-e/100)**3),r*=gt}e*=r,ao("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+oo("Radiant Appetite");const l=Xe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&$o(Game.CpsAchievements[e].name)})),qe=l;const{n:s}=Game.shimmerTypes.golden,c=oo("Dragon's Fortune");for(let t=0;t{ao(e[o])&&(t+=.1)}))}e*=t}if(ao("Shimmering veil [off]")){let t=.5;ao("Reinforced membrane")&&(t+=.1),e*=1+t}ao("Magic shenanigans")&&(e*=1e3),ao("Occult obstruction")&&(e*=0),Xe=Game.runModHookOnValue("cps",Xe),e*=Bo(),Xe*=e}const Io=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],zo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Vo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],_o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Qo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Xo(e){return to[e]?to[e].won:0}function qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{ao(Game.GrandmaSynergies[t])&&(e+=1)})),!Xo("Elder")&&e>=7&&$o("Elder"),!Xo("Veteran")&&e>=14&&$o("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount,i=Math.min(Zt[e].amount,i),Xo("Mathematician")||Zt[e].amount=1&&$o("One with everything"),1===o&&$o("Mathematician"),1===n&&$o("Base 10"),i>=100&&$o("Centennial"),i>=150&&$o("Centennial and a half"),i>=200&&$o("Bicentennial"),i>=250&&$o("Bicentennial and a half"),i>=300&&$o("Tricentennial"),i>=350&&$o("Tricentennial and a half"),i>=400&&$o("Quadricentennial"),i>=450&&$o("Quadricentennial and a half"),i>=500&&$o("Quincentennial"),i>=550&&$o("Quincentennial and a half"),i>=600&&$o("Sexcentennial"),t>=100&&$o("Builder"),t>=500&&$o("Architect"),t>=1e3&&$o("Engineer"),t>=2e3&&$o("Lord of Constructs"),t>=4e3&&$o("Grand design"),t>=8e3&&$o("Ecumenopolis"),Ae>=20&&$o("Enhancer"),Ae>=50&&$o("Augmenter"),Ae>=100&&$o("Upgrader"),Ae>=200&&$o("Lord of Progress"),Ae>=300&&$o("The full picture"),Ae>=400&&$o("When there's nothing left to add"),t>=4e3&&Ae>=300&&$o("Polymath"),t>=8e3&&Ae>=400&&$o("Renaissance baker"),Zt.Cursor.amount+Zt.Grandma.amount>=777&&$o("The elder scrolls");let a=!0;Object.keys(zo).forEach((e=>{ao(zo[e])||(a=!1)})),a&&$o("Spooky cookies");let r=!0;if(Object.keys(Vo).forEach((e=>{ao(Vo[e])||(r=!1)})),r&&$o("Let it snow"),ao("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{ao(e[o].name)&&(t+=1)})),t>=e.length&&$o("O Fortuna")}}function Yo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Mo(),Zt[e].amount+=t;const o=Zt[e];"Cursor"===e?(o.amount>=1&&$o("Click"),o.amount>=2&&$o("Double-click"),o.amount>=50&&$o("Mouse wheel"),o.amount>=100&&$o("Of Mice and Men"),o.amount>=200&&$o("The Digital"),o.amount>=300&&$o("Extreme polydactyly"),o.amount>=400&&$o("Dr. T"),o.amount>=500&&$o("Thumbs, phalanges, metacarpals"),o.amount>=600&&$o("With her finger and her thumb"),o.amount>=700&&$o("Gotta hand it to you"),o.amount>=800&&$o("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&$o(Game.Objects[o.name].tieredAchievs[e].name)}));const n=De;return Ro(),qo(),n!==De&&Ro(),Xe-Game.cookiesPs}(o,e),1!==e&&(Fe=1)})),t}function Ko(){Object.keys(Game.Objects).forEach((e=>{yt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),bt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),kt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Jo(){yt=Yo(1),bt=Yo(10),kt=Yo(100),Tt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Mo(),"Shimmering veil [on]"===eo[e].name?eo["Shimmering veil [off]"].bought=0:"Golden switch [on]"===eo[e].name?eo["Golden switch [off]"].bought=0:eo[e].bought=(eo[e].bought+1)%2,Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ae+=1),"Elder Pledge"===e?(je+=1,je>0&&$o("Elder nap"),je>=5&&$o("Elder slumber")):"Elder Covenant"===e?$o("Elder calm"):"Prism heart biscuits"===e?$o("Lovely cookies"):"Heavenly key"===e&&$o("Wholesome");const t=De;Ro(),qo(),t!==De&&Ro();const o=function(){let e=0;ao("Thousand fingers")&&(e+=.1),ao("Million fingers")&&(e*=5),ao("Billion fingers")&&(e*=10),ao("Trillion fingers")&&(e*=20),ao("Quadrillion fingers")&&(e*=20),ao("Quintillion fingers")&&(e*=20),ao("Sextillion fingers")&&(e*=20),ao("Septillion fingers")&&(e*=20),ao("Octillion fingers")&&(e*=20),ao("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount})),t-=Zt.Cursor.amount,e*=t,ao("Plastic mouse")&&(e+=.01*Xe),ao("Iron mouse")&&(e+=.01*Xe),ao("Titanium mouse")&&(e+=.01*Xe),ao("Adamantium mouse")&&(e+=.01*Xe),ao("Unobtainium mouse")&&(e+=.01*Xe),ao("Eludium mouse")&&(e+=.01*Xe),ao("Wishalloy mouse")&&(e+=.01*Xe),ao("Fantasteel mouse")&&(e+=.01*Xe),ao("Nevercrack mouse")&&(e+=.01*Xe),ao("Armythril mouse")&&(e+=.01*Xe),ao("Technobsidian mouse")&&(e+=.01*Xe),ao("Plasmarble mouse")&&(e+=.01*Xe),ao("Miraculite mouse")&&(e+=.01*Xe),ao("Fortune #104")&&(e+=.01*Xe);let o=1;if(ao("Santa's helpers")&&(o*=1.1),ao("Cookie egg")&&(o*=1.1),ao("Halo gloves")&&(o*=1.1),ao("Dragon claw")&&(o*=1.03),ao("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,ao("Luminous gloves")?20:10)),o*=io("click"),Zt.Temple.minigameLoaded&&ro){const e=ro("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*oo("Dragon Cursor");let n=o*Game.ComputeCps(1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Xe-Game.cookiesPs,o]:[Xe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Tt[t]={bonus:Game.cookiesPs-Te},1===e.CalcWrink?Tt[t].bonus-=Se:2===e.CalcWrink&&(Tt[t].bonus-=Pe),Number.isFinite(Tt[t].bonus)||(Tt[t].bonus=0)):(Tt[t]={},o[0]&&(Tt[t].bonus=o[0]),o[1]&&(Tt[t].bonusMouse=o[1]))}))}function Zo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ft=Zo(7,e,ut),Nt=2*Ft[1]/ut,Ot=Ft[2]/60/60/6/pt,At=Zo(6,e,mt),Wt=2*At[1]/mt,Lt=At[2]/60/60/6/pt,Ht=Zo(7,7*e,ut),jt=2*Ht[1]/ut,Dt=Ht[2]/60/60/6/pt,Rt=Zo(6,7*e,mt),Ut=2*Rt[1]/mt,$t=Rt[2]/60/60/6/pt}function tn(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ne,i=Math.max(0,o-Oe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Bt+=e:"cookie"===o.pool?Et+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Pt+=e)}}))}function nn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ft=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ft*=2)}}function an(){et=900*dt/.15,et*=pt;const e=Bo();e>0?et/=e:et=0,tt=ut*(.15*et)+13,ot=mt*(.15*et)+13,nt=7*et,it=ut*(.15*nt)+13,at=mt*(.15*nt)+13,rt=2*et,lt=.15*rt,st=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountst&&(st=2*Game.Objects[e].price,ct=e)}))}function rn(){let e=1,t=1,o=1;ao("Green yeast digestives")&&(o*=1.01),ao("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ut=o*e,mt=o*t,pt=1,0===Game.shimmerTypes.golden.n&&(pt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function ln(){Gt=0,vt=0,wt=[0,null];for(let e=0;ewt[0]&&(wt=[t,e]))}}function sn(){ko(),ln(),an(),rn(),en(),on(),nn(),ge=new Wo(J[J.length-1]),fe=new Wo(J[J.length-1]),Ce=new Wo(J[J.length-1]),ye=new Wo(J[J.length-1]),be=new Wo(Z[Z.length-1]),ke=new Wo(5),he=new Wo(20*Z[Z.length-1]),tn(),Lo(),Jo(),Ko(),Ho()}const cn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},dn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function pn(){1===e.BotBar?(l("CMBotBar").style.display="",fo()):l("CMBotBar").style.display="none",yo()}function un(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),fo(),co(),po()}function mn(){1===e.Favicon&&y>0?Vt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class hn{constructor(e,t){this.type=e,this.group=t}}class gn extends hn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class fn extends hn{constructor(e,t,o){super(e,t),this.desc=o}}class Cn extends hn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class yn extends hn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const bn={CPSMode:new gn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new gn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new gn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new gn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){_e=!0})),Scale:new gn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){un()})),ScaleDecimals:new gn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){un()})),ScaleSeparator:new gn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){un()})),ScaleCutoff:new yn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new gn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new gn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=V:Game.sayTime=S.sayTime})),PPDisplayTime:new gn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new gn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){co()})),PPOnlyConsiderBuyable:new gn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new gn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new gn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new yn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new fn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new fn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new fn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new fn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new fn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new fn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new fn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new fn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new fn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new gn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){pn()})),TimerBar:new gn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){bo()})),TimerBarPos:new gn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),yo()})),TimerBarOverlay:new gn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new gn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",po()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",po()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new gn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new gn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){co()})),SortUpgrades:new gn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){po()})),DragonAuraInfo:new gn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new gn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new gn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(se).forEach((e=>{se[e].style.display="block",se[e].style.left=Yt[e].l.style.left,se[e].style.top=Yt[e].l.style.top})):Object.keys(se).forEach((e=>se[e].style.display="none"))})),Favicon:new gn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){mn()})),WrinklerButtons:new gn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new gn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new gn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new gn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new gn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new gn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new gn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new gn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new gn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new yn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new gn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new gn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Eo()})),TooltipGrim:new gn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new gn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new gn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new gn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new gn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new gn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new gn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new gn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new gn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new gn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new yn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new gn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new gn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new gn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new gn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){dn(e.GCNotification)})),GCFlash:new gn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new fn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new gn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new Cn("vol","NotificationGC",[],"Volume"),GCSoundURL:new gn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new gn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){dn(e.FortuneNotification)})),FortuneFlash:new gn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new fn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new gn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new Cn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new gn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new gn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){dn(e.SeaNotification)})),SeaFlash:new gn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new fn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new gn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new Cn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new gn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new gn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new fn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new gn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new Cn("vol","NotificationGard",[],"Volume"),GardSoundURL:new gn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new gn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){dn(e.MagicNotification)})),MagicFlash:new gn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new fn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new gn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new Cn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new gn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new gn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){dn(e.WrinklerNotification)})),WrinklerFlash:new gn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new fn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new gn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new Cn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new gn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new gn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){dn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new gn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new fn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new gn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new Cn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new gn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new gn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new gn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function kn(){return JSON.stringify({favouriteSettings:de,settings:e,version:"2.031.6"})}function Gn(){if(Je!==Game.dragonLevel||_e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Upgrades).forEach((e=>{eo[e]=xo(e)})),to=[],Object.keys(Game.Achievements).forEach((e=>{to[e]=Go(e)})),Mo()}let xn=!1;function Mn(t,o,n){(1===e[o]||n)&&3===t&&!1===xn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Mn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Mn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Mn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Tn(t,o,n,i){if((1===e[o]||i)&&!1===xn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Sn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===xn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Pn(){if(re!==Game.OnAscend&&(re=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(pn(),bo()),Co()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(wn(),sn(),r=Object.keys(Game.mods).length),_e&&(Jo(),Game.Has("Golden switch [off]")?(Mo(),eo["Golden switch [off]"].bought=0,Ro(),dt=Xe):dt=Game.cookiesPs,rn(),an(),on(),en(),Gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Jt[e][t]=vn(e,t)}(),nn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Mo();let t=2;5!==$e&&18!==$e||(t-=1),5!==Re&&18!==Re||(t-=1),$e=5,Re=18;for(let e=0;e{Zt[t].amount>0&&(e=t)})),Zt[e].amount-=1,Le-=1}return Object.keys(Zt).forEach((t=>{const o=Zt[t];e+=so(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Kt=e}(),_e=0);const t=Game.auraMult("Fierce Hoarder")>0;!We&&t?(We=!0,Fe=1):We&&!t&&(We=!1,Fe=1),Fe&&(Ko(),Fe=0),function(){ln(),Ho(),function(){xt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Zt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Mt=e,xt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Lo(),tn();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Qt=ue(e/uo())}(),G=0,Yt={},Object.keys(Game.shimmers).forEach((e=>{Yt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Vt=Game.shimmers[e],G+=1)})),Object.keys(se).forEach((e=>{void 0===Yt[e]&&(se[e].parentNode.removeChild(se[e]),delete se[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===se[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},se[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),mn(),b=G,0===G&&(Vt=0)):1===e.GCTimer&&y&&Object.keys(se).forEach((e=>{se[e].style.opacity=Yt[e].l.style.opacity,se[e].style.transform=Yt[e].l.style.transform,se[e].textContent=Math.ceil(Yt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Mn(3,"FortuneFlash",!1),Tn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Sn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(_t=Game.shimmers[e])})),Mn(3,"SeaFlash",!1),Tn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Sn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Mn(3,"WrinklerMaxFlash",!1):Mn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Tn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Tn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Sn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Sn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Bn(){let t="";for(let o=0;o<$.length;o++)t+=`.CMText${$[o]} { color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBack${$[o]} { background-color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBorder${$[o]} { border: 1px solid ${e[`Colour${$[o]}`]}; }\n`;l("CMCSS").textContent=t,co()}function En(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${kn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Nn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t,void 0!==e.Colors&&delete e.Colors,void 0!==e.Colours&&delete e.Colours;let o=!1;Object.keys(cn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=cn[t]):"Header"===t&&Object.keys(cn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=cn[t][n])}))})),o&&En(),Pn(),Object.keys(cn).forEach((e=>{"Header"!==e&&void 0!==bn[e].func&&bn[e].func()}))}else Nn(cn);Game.UpdateMenu(),Bn()}function On(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Fn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Uo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${pe(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${me((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(pe(Game.Objects[o].bulkPrice)).join(pe((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ne=t,ie=o,No(),l("tooltip").innerHTML}function Wn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(M[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Ln(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),En()}function Rn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){$n(o),Game.UpdateMenu()},n.appendChild(i),n}function In(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(I[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function zn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Vn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Rn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+mo(){Game.HasUnlocked(Qo[e])||c.push(Qo[e])})),0!==c.length&&e.appendChild(In("basic","Rare plant drops left to unlock",zn(c))),e}())),o.appendChild(Rn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?Ct:0)));t.appendChild(In("withTooltip","Prestige level (cur / max)",document.createTextNode(`${pe(Game.prestige)} / ${pe(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&Ct?Ct:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(pe(n)));const a=document.createElement("small");a.textContent=` (${ue(n/zt,1)})`,i.appendChild(a),t.appendChild(In("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(In("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${pe(Game.heavenlyChips)} / ${pe(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(In("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(pe(ht,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(In("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(pe(e)))),t.appendChild(In("basic","Time till target (cur, current 5 second average)",document.createTextNode(ue(e/ht)))))}const l=function(e){let t=Game.cookiesPs;Mo(),0===eo["Heavenly key"].bought&&(eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ro(),t=Xe,Mo()),It>=1e6&&$o("Sacrifice"),It>=1e9&&$o("Oblivion"),It>=1e12&&$o("From scratch"),It>=1e15&&$o("Nihilism"),It>=1e18&&$o("Dematerialize"),It>=1e21&&$o("Nil zero zilch"),It>=1e24&&$o("Transcendence"),It>=1e27&&$o("Obliterate"),It>=1e30&&$o("Negative void"),It>=1e33&&$o("To crumbs, you say?"),It>=1e36&&$o("You get nothing"),It>=1e39&&$o("Humble rebeginnings"),It>=1e42&&$o("The end of the world"),It>=1e45&&$o("Oh, you're back"),It>=1e48&&$o("Lazarus"),It>=1e51&&$o("Smurf account"),It>=1e54&&$o("If at first you don't succeed"),eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ue=e;const o=De;Ro(),qo(),o!==De&&Ro();const n=Xe-t;return Ue=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(pe(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(In("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Rn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${pe(Gt)} / ${pe(vt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){On()},e.appendChild(t),o.appendChild(In("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${pe(wt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},n.appendChild(i),o.appendChild(In("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==wt[1]?wt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(n.push(zo[e]),o=!0)}));const i=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(i.push(Vo[e]),o=!0)}));const a=[];Object.keys(_o).forEach((e=>{Game.Has(_o[e])||(a.push(_o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Rn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(In("basic","Halloween cookies left to buy",zn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(In("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${pe((1-e)*o*100)}% / ${pe((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(In("basic","Christmas cookies left to buy",zn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(In("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${pe((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(In("basic","Valentine cookies left to buy",zn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(In("basic","Normal easter eggs left to unlock",zn(r))),t.appendChild(In("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[0])}% / ${pe(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(In("basic","Rare easter eggs left to unlock",zn(l))),t.appendChild(In("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[1])}% / ${pe(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(In("basic","Reindeer reward",document.createTextNode(pe(ft)))),s&&t.appendChild(In("withTooltip","Chocolate egg cookies",document.createTextNode(pe(Ct)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(In("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(gt-1))/100+"%")))}return t}()),o.appendChild(Rn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(In("basic",`Average cookies per second (past ${J[e.AvgCPSHist]<60?`${J[e.AvgCPSHist]} seconds`:J[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(pe(uo(),3)))),o.appendChild(In("basic",`Average cookie clicks per second (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(St,1)))),o.appendChild(In("basic",`Cookies from clicking (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(he.calcSum(St*Z[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Io).forEach((t=>{Game.Has(Io[t])||e.push(Io[t])})),0!==e.length&&o.appendChild(In("basic","Fortune Upgrades Left to Buy",zn(e)))}if(e.ShowMissedGC&&o.appendChild(In("basic","Missed golden cookies",document.createTextNode(pe(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(In("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Et){const t=Et.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Et,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const _n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Qn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Xn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){$n(t),Game.UpdateMenu()},n.appendChild(i),n}function qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return de.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){de.includes(e)?de=de.filter((function(t){return t!==e})):de.push(e)}(e),En(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(I.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===bn[t].type){const n=document.createElement("a");bn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Hn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===bn[t].label.length?(e[t]=0,bn[t].toggle&&(l(Hn+t).className="option off")):l(Hn+t).className="option",void 0!==bn[t].func&&bn[t].func(),l(Hn+t).innerHTML=bn[t].label[e[t]],En()}(t)},n.textContent=bn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=bn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===bn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=bn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Un(t)},r.onchange=function(){Un(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Tn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Hn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,En(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=bn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===bn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new jn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Bn(),En(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=bn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Mn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Dn().init(),o}if("numscale"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="number",i.value=e[t],i.min=bn[t].min,i.max=bn[t].max,i.oninput=function(){e[t]=this.value,En(),un()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=bn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Yn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Kn(){S.Beautify=Beautify,Beautify=pe,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),_e=1,P=Date.now(),B=Date.now()},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Yn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Yn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Yn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),T=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Zt[Game.ObjectsById[e].name].name;Zt[o].amount-=1,Le-=1,t=Zt[o].basePrice*Game.priceIncrease**Math.max(0,Zt[o].amount-1-Zt[o].free),t=Game.modifyBuildingPrice(Zt[o],t),t=Math.ceil(t);break}const o=De;return Ro(),qo(),o!==De&&Ro(),[Xe-Game.cookiesPs,t]}(t),n=ue(o/(e+Game.cookiesPs)),i=pe(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${pe(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Dn().picker&&void 0!==Dn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(_n).forEach((t=>{if("Favourite"===t){if(0!==de.length&&e.FavouriteSettings>0&&(o.appendChild(Xn(t,_n[t])),e.Header[t]))for(let e=0;e{const n=Xn(t,Qn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))}))})):Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Nn(cn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Vn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){$n("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,V=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ue(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ce=`${Game.OnAscend?"Ascending! ":""}${pe(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ce;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Vt?Vt.wrath?`[W${Math.ceil(Vt.life/Game.fps)}]`:`[G${Math.ceil(Vt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(_t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ce;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Vt&&(t=!0,Vt.wrath?e+=`[W${Math.ceil(Vt.life/Game.fps)}]`:e+=`[G${Math.ceil(Vt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(_t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${pe(Game.prestige)}.
(CpS +${pe(Game.prestige)}%)`,n+='
'),n+=Oe<1?"Ascending now would grant you no prestige.":Oe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${pe(Oe)} prestige levels (+${pe(Oe)}% CpS)
and ${pe(Oe)} heavenly chips to spend.`,n+='
',n+=`You need ${pe(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Qt} to reach the next level and you were making ${pe(ht,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Jn(){wn(),an(),sn(),r=Object.keys(Game.mods).length,w=document.createElement("style"),w.type="text/css",w.id="CMCSS",document.head.appendChild(w),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=E+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",W)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",O)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",O)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",O)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{go(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=ho("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:D},{id:"CMTimerBarGCBar",color:j}]);e.appendChild(t);const o=ho("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:D},{id:"CMTimerBarRenBar",color:L}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=N+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(O,"Better than the best PP of a building option")),e.appendChild(o(F,"Same as the best PP building option")),e.appendChild(o(W,"Within the top 10 of PP for buildings")),e.appendChild(o(L,"Within the top 20 of PP for buildings")),e.appendChild(o(A,"Within the top 30 of PP for buildings")),e.appendChild(o(j,"Outside of the top 30 of PP for buildings")),e.appendChild(o(D,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=E+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",O)),e.appendChild(o("CMUpgradeBarGreen",F)),e.appendChild(o("CMUpgradeBarYellow",W)),e.appendChild(o("CMUpgradeBarOrange",L)),e.appendChild(o("CMUpgradeBarRed",A)),e.appendChild(o("CMUpgradeBarPurple",j)),e.appendChild(o("CMUpgradeBarGray",D)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),I[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){On()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Wn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),An()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){_=1},l("backgroundLeftCanvas").onmouseout=function(){_=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{X[e]=0}))},Kn(),An(),Game.CalculateGains(),Nn(),z=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Zn={init:function(){xn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Jn(),Game.registerHook("draw",Oo),Game.registerHook("logic",Pn),Game.registerHook("click",Fo),xn=!1)},load:function(e){const t=JSON.parse(e);wn(),void 0!==t.favouriteSettings&&(de=t.favouriteSettings),Nn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:kn};Game.registerMod("CookieMonster",Zn)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index 650a96e1..4f1e1f4a 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","CycliusDateAtBeginLoop","Date","now","CenturyDateAtBeginLoop","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CacheAverageCookiesFromClicks","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","CMDrawHook","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","reduce","CacheAvgCPS","currDate","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","MissingAchievements","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","CurrentSlot","godsById","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoopHook","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","calcSum","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","achievs","values","parentElement","achievsCrate","AchievementsById","mouseDown","setOnCrate","tags","neuromancy","sesame","descFunc","tagsStr","CrateTooltipLockedAchievements","AddMissingAchievements","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAIF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAcAC,EAjCAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAalBC,EAAyBC,KAAKC,MAI9BC,EAAyBF,KAAKC,MAWlC,MAAME,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OA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,MAAM9zC,EAAMyzC,GACZp1C,KAAKs1C,MAAQA,EACbt1C,KAAKu1C,KAAOA,EACZv1C,KAAKwN,IAAMA,EACXxN,KAAK0N,IAAMA,GAwBf,MAmzBmCmoC,GAnzBpB,CAEbnd,QAAS,IAAI2c,GACX,OACA,cACA,CAAC,6BAA8B,8BAC/B,kFACA,GAEFpN,WAAY,IAAIoN,GACd,OACA,cACA,CACE,0BACA,0BACA,0BACA,yBACA,yBACA,0BACA,0BACA,2BAEF,4DACA,GAEFhN,cAAe,IAAIgN,GACjB,OACA,cACA,CACE,4BACA,4BACA,6BACA,6BACA,8BAEF,uDACA,GAEF1c,UAAW,IAAI0c,GACb,OACA,cACA,CACE,+BACA,8BACA,6CAEF,qGACA,GACA,WACEhmB,IAAY,KAKhBpD,MAAO,IAAIopB,GACT,OACA,WACA,CACE,uBACA,SACA,cACA,4BACA,sBACA,wBAEF,yCACA,GACA,WACET,QAGJ7oB,cAAe,IAAIspB,GACjB,OACA,WACA,CAAC,aAAc,aAAc,cAC7B,oIACA,GACA,WACET,QAGJroB,eAAgB,IAAI8oB,GAClB,OACA,WACA,CAAC,4BAA6B,mBAC9B,qDACA,GACA,WACET,QAGJtoB,YAAa,IAAIspB,GACf,WACA,WACA,2BACA,8KACA,EACA,WAEF1oB,WAAY,IAAImoB,GACd,OACA,WACA,CAAC,0BAA2B,uBAC5B,0BACA,GAEFlG,aAAc,IAAIkG,GAChB,OACA,WACA,CAAC,oBAAqB,oBACtB,mEACA,GACA,WAjU6B,IAA3BruB,EAAUmoB,aAAoBhoB,KAAKwd,QAAU3a,EAC5C7C,KAAKwd,QAAU/b,EAAgB+b,WAoUpCpK,cAAe,IAAI8a,GACjB,OACA,WACA,CAAC,yBAA0B,mBAC3B,sKACA,GAIFze,YAAa,IAAIye,GACf,OACA,UACA,CAAC,uBAAwB,uBACzB,yBACA,GACA,WACE3e,QAGJ8R,sBAAuB,IAAI6M,GACzB,OACA,UACA,CAAC,2BAA4B,sBAC7B,0KACA,GAEFzM,aAAc,IAAIyM,GAChB,OACA,UACA,CACE,mBACA,kBACA,0BACA,gCAEF,sGACA,GA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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","CycliusDateAtBeginLoop","Date","now","CenturyDateAtBeginLoop","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CacheAverageCookiesFromClicks","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","DrawBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","CMDrawHook","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","reduce","CacheAvgCPS","currDate","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","MissingAchievements","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","CurrentSlot","godsById","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoopHook","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","calcSum","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","achievs","values","parentElement","achievsCrate","AchievementsById","mouseDown","setOnCrate","tags","neuromancy","sesame","descFunc","tagsStr","CrateTooltipLockedAchievements","AddMissingAchievements","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAIF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAcAC,EAjCAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAalBC,EAAyBC,KAAKC,MAI9BC,EAAyBF,KAAKC,MAWlC,MAAME,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC,EACAC,EACAC,EACAC,EACAC,EACAE,EACAC,GAUIE,EAAc,CAClB,CAAC,6BAA8B,oCAAqC,SACpE,CACE,2CACA,6EACA,SAEF,CACE,6BACA,qPACA,SAEF,CACE,8BACA,kEACA,SAEF,CACE,kCACA,2PACA,SAEF,CACE,0BACA,gLACA,SAEF,CACE,2BACA,uOACA,SAEF,CACE,4BACA,2CACA,SAEF,CACE,8BACA,uHACA,UAGEC,EAAwB,GAM9B,IAUIC,EACAC,EAXAC,EAAsB,EACtBC,GAAmB,EAOnBC,EAA4B,GAQ5BC,EAAmB,EACnBC,EAAsB,EACtBC,EAA4B,EAMhC,MAAMC,EAAc,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,MAC9CC,EAAa,CAAC,EAAG,EAAG,GAAI,GAAI,IAK5BC,GAAc,CAClBC,OAAQrB,EACRsB,iBAAkBhB,EAClBiB,eAAgBxB,EAChByB,KAAMtB,EACNuB,eAAgB3B,EAChB4B,aAAcrB,GAMhB,IAOIsB,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GAdAC,GAAW,GAKXC,GAAQ,GAcRC,GAAoB,GAiBxB,SAASC,GAA4BC,EAAKC,EAAQC,GAChD,MAAMC,EAAW9E,EAAU+E,cAAgB,EAC3C,GAAIJ,IAAQK,IACV,MAAO,WAET,QAAmB,IAARL,EACT,MAAO,IAET,GAAwB,IAApB3E,EAAUiF,MACZ,OAAOrD,EAAgBsD,SAASP,EAAKC,GAEvC,GAAIO,OAAOC,SAAST,GAAM,CACxB,GAAIA,EAAM,EACR,MAAO,IAAID,GAA4B7hB,KAAK0N,IAAIoU,MAElD,IAAIU,EAAS,GACb,GAAY,IAARV,EACF,OAAOA,EAAI5hB,WAEb,GAAI4hB,EAAM,MAASA,EAAM3E,EAAUsF,YAGjC,OAF8BD,EAA1BrF,EAAUuF,eAAyBZ,EAAIa,eAAe,MAC5Cb,EAAIa,eAAe,MAC1BH,EAET,GAAyB,IAApBrF,EAAUiF,QAAgBJ,GAAsB,IAAXA,EAExCQ,EAASV,EAAIc,cAAcX,GAAU/hB,WAAW7B,QAAQ,IAAK,SACxD,CACL,MAAMwkB,EAAcf,EAAIc,gBAAgB1iB,WAClC4iB,EAAwB9iB,KAAKkE,MACjC2e,EAAYrH,MAAMqH,EAAYloB,QAAQ,KAAO,GAAK,GAEpD6nB,GAAUV,EAAMQ,OAAO,KAA6B,EAAxBQ,IAA8BC,QACxDd,GAGuB,IAApB9E,EAAUiF,QAAgBJ,GAAsB,IAAXA,EAEpCF,GAAO,KAAQA,EAAMQ,OAAO,KAAqB,EAAhB9E,EAAO9lB,QAC1C8qB,GAAU,IAAIhF,EAAOsF,KAChBN,EAASX,GAA4BC,EAAK,EAAG,GACtB,IAApB3E,EAAUiF,QAAgBJ,GAAsB,IAAXA,EAE3CF,GAAO,KAAQA,EAAMQ,OAAO,KAAyB,EAApB7E,EAAW/lB,QAC9C8qB,GAAU,IAAI/E,EAAWqF,KACpBN,EAASX,GAA4BC,EAAK,EAAG,GACtB,IAApB3E,EAAUiF,QAAgBJ,GAAsB,IAAXA,EAG7CF,GAAO,KACPA,EAAMQ,OAAO,KAAoC,EAA/B5E,EAAsBhmB,QAExC8qB,GAAU,IAAI9E,EAAsBoF,KAC/BN,EAASX,GAA4BC,EAAK,EAAG,IACtB,IAApB3E,EAAUiF,QAAgBJ,GAAsB,IAAXA,KAE/CQ,GAAU,IAA4B,EAAxBM,GAWlB,MARe,KAAXN,IAEFlqB,QAAQ0qB,IACN,2DAA2DlB,KAE7DU,EAASzD,EAAgBsD,SAASP,EAAKC,IAErC5E,EAAUuF,iBAAgBF,EAASA,EAAOnkB,QAAQ,IAAK,MACpDmkB,EAGT,OADAlqB,QAAQ0qB,IAAI,2DAA2DlB,KAChE/C,EAAgBsD,SAASP,EAAKC,GASvC,SAASkB,GAAWC,EAAMC,GACxB,IAAIC,EAAgBF,EACpB,GAAIA,IAASf,IAAU,OAAOe,EAC9B,GAAIA,EAAO,EAAG,MAAO,uBACrBE,EAAgBpjB,KAAKoL,KAAK8X,GAC1B,MAAMthB,EAAI5B,KAAKkE,MAAMkf,EAAgB,UAC/BtG,EAAI9c,KAAKkE,MAAOkf,EAAgB,SAAY,OAC5Ctf,EAAI9D,KAAKkE,MAAOkf,EAAgB,MAAS,MACzCxrB,EAAIoI,KAAKkE,MAAOkf,EAAgB,KAAQ,IACxCpf,EAAIhE,KAAKkE,MAAMkf,EAAgB,IACrC,IAAIvqB,EAAM,GACV,GAAIskB,EAAUkG,WAAY,CACxB,GAAID,EAAgB,SAAY,MAAO,iBACvCvqB,IAAW+I,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACP/I,IAAWikB,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPjkB,IAAWiL,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPjL,IAAWjB,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPiB,IAAQmL,EAAI,GAAK,IAAM,IAAMA,MACxB,CACL,GAAIof,EAAgB,OAClB,OAAOD,EAAa,kBAAoB,SAC1CtqB,GACE+I,EAAI,EACGA,GAAKuhB,EAAoB,IAANvhB,EAAU,QAAU,SAAY,KAAtD,KACA,GACN/I,GACEikB,EAAI,EAAOA,GAAKqG,EAAoB,IAANrG,EAAU,OAAS,QAAW,KAApD,KAA+D,IACrEjkB,EAAInB,OAAS,GAAKoM,EAAI,KACxBjL,GAAUiL,GAAKqf,EAAoB,IAANrf,EAAU,QAAU,SAAY,KAAtD,OACLjL,EAAInB,OAAS,GAAKE,EAAI,KACxBiB,GAAUjB,GAAKurB,EAAoB,IAANvrB,EAAU,UAAY,WAAc,KAA1D,MACTiB,GAAOmL,GAAKmf,EAAoB,IAANnf,EAAU,UAAY,WAAc,KAEhE,OAAOnL,EAQT,SAASyqB,GAAcJ,GACrB,IAAI7d,EACAke,EAWJ,OAVIL,GAAQ,GACgBK,EAAtBpG,EAAUkG,WAAmB,iBACrB,QACZhe,EAAQka,IAERgE,EAAON,GAAWC,GACF7d,EAAZ6d,EAAO,IAAaxD,EACfwD,EAAO,GAAYzD,EACfD,GAER,CAAE+D,OAAMle,SAMjB,IAuCIme,GAoCAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GAEAC,GAEAC,GAuBAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAxIAC,GAAkB,EAClBC,GAAmB,EACnBC,GAAuB,EACvBC,GAAyB,EACzBC,GAAa,EACbC,GAAmB,EACnBC,GAAwB,EACxBC,GAAmB,EACnBC,GAAyB,EACzBC,GAA8B,EAC9BC,GAAe,EACfC,GAAqB,EACrBC,GAAe,EACfC,GAAuB,EACvBC,GAA6B,EAC7BC,GAAoC,EACpCC,GAAyB,EACzBC,GAAwB,EAExBC,GAAmB,EAEnBC,GAAe,EACfC,GAAe,EACfC,GAAkB,EAElBC,GAAgB,GAChBC,GAAiB,GACjBC,GAAkB,GAElBC,GAAsB,EACtBC,GAAuB,EACvBC,GAAwB,CAAC,EAAG,MAE5BC,GAA2B,EAC3BC,GAAyB,EAEzBC,GAAgB,GAEhBC,GAAqB,GAGrBC,GAAuB,GACvBC,GAA+B,GAC/BC,GAA8B,GAE9BC,GAAqB,EACrBC,GAAyB,EACzBC,GAAsB,GACtBC,GAA0B,EAC1BC,GAA8B,EAC9BC,GAA2B,GAC3BC,GAA2B,EAC3BC,GAA+B,EAC/BC,GAA4B,GAC5BC,GAAgC,EAChCC,GAAoC,EACpCC,GAAiC,GAEjCC,GAAyB,EACzBC,GAAwB,EAExBC,GAA4B,GAC5BC,GAAwB,GAExBC,GAA4B,EAG5BC,GAAa,EAEbC,GAAe,GAEfC,GAA0B,GAE1BC,GAAqB,EA6BrBC,GAAY,CACdC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACV9rB,EAAG,CAAC,EAAG,EAAG,GACV+rB,GAAI,CAAC,EAAG,EAAG,IAMTC,GAAa,GACbC,GAAc,GACdC,GAAkB,GAuBtB,SAASC,GAAYC,GACnB,IAAIzvB,EAAI,EAWR,OATE4iB,KAAK8M,YAAYjF,IAAenpB,OAASmuB,GACzC7M,KAAK8M,YAAYhF,IAAgBppB,OAASmuB,IAE1CzvB,EAAI,GAEqC,oBAAzC4iB,KAAK8M,YAAYjF,IAAenpB,MACU,oBAA1CshB,KAAK8M,YAAYhF,IAAgBppB,OAEjCtB,GAAK,IACAA,EAWT,SAAS2vB,KACP,IAAIC,EAAW,IAEf,OADAA,GAAY,EAAIJ,GAAY,mBACrBI,EAST,SAASC,GAAOvuB,EAAMwuB,GACpB,YAA6B,IAAlB/E,GAAQzpB,QACK,IAARwuB,EAAsB,EAAIA,EAEnC/E,GAAQzpB,GASjB,SAASyuB,GAAON,GACd,MAAMO,EAAKV,GAAYG,GACvB,OACyB,IAAvB7M,KAAKqN,eACQ,aAAZD,EAAGE,MAAmC,YAAZF,EAAGG,OAGzBH,EAAKA,EAAGI,OADN,EAYX,SAASC,GAAUZ,GACjB,GAAI7M,KAAK0N,OAAQ,MACoBnzB,IAA/BkyB,GAAWkB,OAAOC,WACpBnB,GAAWkB,OAAOC,SAAW5N,KAAK6N,QAAQF,OAAOC,UAEnD,MAAME,EAAMrB,GAAWkB,OAAOC,SAASG,KAAKlB,GAC5C,GAAI9E,KAAY+F,EAAIE,GAClB,OAAO,EAET,GAAIhG,KAAY8F,EAAIE,GAClB,OAAO,EAET,GAAI/F,KAAY6F,EAAIE,GAClB,OAAO,EAGX,OAAO,EAgBT,SAASC,GAAuBC,EAAUC,GACxC,IAAIC,EAAgBD,EAapB,GAZIhB,GAAO,oBAAmBiB,GAAiB,KAC3CjB,GAAO,sBAAqBiB,GAAiB,KAC7CjB,GAAO,iBAAgBiB,GAAiB,KACxCjB,GAAO,qBAAoBiB,GAAiB,KAC5CjB,GAAO,kBAAiBiB,GAAiB,KAE7CA,GAAiB,EAAoC,IAAhCxB,GAAY,kBAC7B5M,KAAKqO,QAAQ,wBAAuBD,GAAiB,KACrDpO,KAAKqO,QAAQ,mBAAkBD,GAAiB,KAChDpO,KAAKqO,QAAQ,mBAAkBD,GAAiB,MAChDF,EAASI,SAAWnB,GAAOe,EAASI,QAAQ5vB,QAAO0vB,GAAiB,KACxEA,GAAiBnB,GAAO,gBACpBR,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASf,GAAU,YACV,IAAXe,EAAcJ,GAAiB,IACf,IAAXI,EAAcJ,GAAiB,IACpB,IAAXI,IAAcJ,GAAiB,KAE1C,OAAOA,EAkBT,SAASK,GACPC,EACAC,EACAhlB,EACAilB,EACAC,EACAC,GAIA,MAAMC,OAA4B,IAAVD,EAAwB,EAAIA,EACpD,IAAIE,EAAWH,EACXI,EAAiBtlB,EACjBulB,EAAO,GACK,IAAZL,IAAeG,EAAWC,GACzBJ,IAAQG,EAAWhP,KAAKmP,SAC7B,IAAK,IAAIh1B,EAAI,EAAGA,EAAI60B,EAAU70B,IAAK,CACjC,IAAIg0B,EACFQ,EAAY3O,KAAKoP,eAAiB1sB,KAAK6D,IAAI,EAAG0oB,EAAiBL,GACjET,EAAQY,EACJ/O,KAAKqP,oBAAoBX,EAAOP,GAChCF,GAAuBS,EAAOP,GAClCA,EAAQzrB,KAAKoL,KAAKqgB,GAClB,MAAMnB,EAAW+B,EACbL,EAAMY,oBACNvC,KACJoB,EAAQzrB,KAAKkE,MAAMunB,EAAQnB,GACvBiC,EAAiB,IACnBC,GAAQf,EACRc,GAAkB,GAGtB,OAAOC,EAmBT,SAASK,KACP,IAAI/vB,EAASwgB,KAAKmP,QA0ClB,GAzCqB,IAAjBnP,KAAKwP,QACPtM,EAAsB1jB,EAEtBA,EAAS0jB,EAEI,IAAX1jB,EAAcA,EAASoqB,GACP,KAAXpqB,EAAeA,EAASqqB,GACb,MAAXrqB,IAAgBA,EAASsqB,IAEb,IAAjB9J,KAAKwP,QACuB,IAA1B3P,EAAU4P,YACZ9xB,OAAO6C,KAAKhB,GAAQkwB,SAASv1B,IAC3BoR,EAAE,eAAeyU,KAAK6N,QAAQ1zB,GAAG6zB,MAAM5rB,MAAM2F,MAC3C8X,EAAU,SAASrgB,EAAOrF,GAAG4N,YAGjCpK,OAAO6C,KAAKwf,KAAK6N,SAAS6B,SAASv1B,IACjCoR,EAAE,eAAeyU,KAAK6N,QAAQ1zB,GAAG6zB,MAAM5rB,MAAMutB,eAAe,aAGrC,IAAlB3P,KAAKwP,SACd7xB,OAAO6C,KAAKopB,IAAe8F,SAASv1B,IAClC,MAAMwlB,EAAIK,KAAK6N,QAAQ1zB,GACvBoR,EAAE,eAAeoU,EAAEqO,MAAM5rB,MAAM2F,MAAQ,GASvCwD,EAAE,eAAeoU,EAAEqO,MAAMrW,UAAY4M,GACnCkK,GAAa9O,EAAGA,EAAEgP,UAAWhP,EAAEkP,OAAQlP,EAAEiP,KAAM5O,KAAKmP,QAAS,OAQ9C,IAAjBnP,KAAKwP,SAAiB3P,EAAU+P,cAAe,CACjD,IAAIC,EAC4B,IAA5BhQ,EAAU+P,eACZC,EAAMlyB,OAAO6C,KAAKopB,IAAetrB,KAAKwxB,IACpC,MAAMnQ,EAAIiK,GAAckG,GAGxB,OAFAnQ,EAAEjhB,KAAOoxB,EACTnQ,EAAEqO,GAAKhO,KAAK6N,QAAQiC,GAAG9B,GAChBrO,KAGTkQ,EAAIE,MAAK,SAAU/sB,EAAGP,GACpB,OAAOggB,EAAgBplB,QAAQ2F,EAAE+E,OAC/B0a,EAAgBplB,QAAQoF,EAAEsF,OACxB,EACA0a,EAAgBplB,QAAQ2F,EAAE+E,OAAS0a,EAAgBplB,QAAQoF,EAAEsF,QAE7D/E,EAAEyI,GAAKhJ,EAAEgJ,IADR,EAGD,MAE+B,IAA5BoU,EAAU+P,gBACnBC,EAAMlyB,OAAO6C,KAAKhB,GAAQlB,KAAKwxB,IAC7B,MAAMnQ,EAAIngB,EAAOswB,GAGjB,OAFAnQ,EAAEjhB,KAAOoxB,EACTnQ,EAAEqO,GAAKhO,KAAK6N,QAAQiC,GAAG9B,GAChBrO,KAGTkQ,EAAIE,MAAK,SAAU/sB,EAAGP,GACpB,OAAOggB,EAAgBplB,QAAQ2F,EAAE+E,OAC/B0a,EAAgBplB,QAAQoF,EAAEsF,OACxB,EACA0a,EAAgBplB,QAAQ2F,EAAE+E,OAAS0a,EAAgBplB,QAAQoF,EAAEsF,QAE7D/E,EAAEyI,GAAKhJ,EAAEgJ,IADR,EAGD,MAIR,IAAK,IAAIpH,EAAI,EAAGA,EAAIwrB,EAAIz1B,OAAQiK,IAC9B2b,KAAK6N,QAAQgC,EAAIxrB,GAAG3F,MAAM6M,EAAEnJ,MAAM4tB,QAAU,GAAG3rB,EAAI,KAAKA,EAAI,QAEzD,CACL,MAAMwrB,EAAMlyB,OAAO6C,KAAKopB,IAAetrB,KAAKwxB,IAC1C,MAAMnQ,EAAIiK,GAAckG,GAGxB,OAFAnQ,EAAEjhB,KAAOoxB,EACTnQ,EAAEqO,GAAKhO,KAAK6N,QAAQiC,GAAG9B,GAChBrO,KAETkQ,EAAIE,MAAK,CAAC/sB,EAAGP,IAAMO,EAAEgrB,GAAKvrB,EAAEurB,KAC5B,IAAK,IAAI3pB,EAAI,EAAGA,EAAIwrB,EAAIz1B,OAAQiK,IAC9B2b,KAAK6N,QAAQgC,EAAIxrB,GAAG3F,MAAM6M,EAAEnJ,MAAM4tB,QAAU,GAAG3rB,EAAI,KAAKA,EAAI,KAgBlE,SAAS4rB,KAEP,GAAIpQ,EAAUqQ,YAAc,EAAG,CAC7B,IAAIC,EAAO,EACPC,EAAQ,EACRC,EAAS,EACTC,EAAS,EACTC,EAAM,EACNC,EAAS,EACTC,EAAO,EAEX9yB,OAAO6C,KAAKwf,KAAK0Q,iBAAiBhB,SAASv1B,IACzC,MAAMw2B,EAAK3Q,KAAK0Q,gBAAgBv2B,GAChC,IAAIy2B,GAAc,EAClB,IAAK,IAAIC,EAAI,EAAGA,EAAItlB,EAAE,UAAUpR,KAAK22B,WAAW12B,OAAQy2B,GAAK,EAC3D,IACuE,IAArEtlB,EAAE,UAAUpR,KAAK22B,WAAWD,GAAGj2B,UAAUyC,QAAQ0kB,GACjD,CACAxW,EAAE,UAAUpR,KAAK22B,WAAWD,GAAGj2B,UAC7BmnB,EAAgBqI,GAAcuG,EAAGjyB,MAAMqJ,MACzC6oB,GAAc,EACd,MAGJ,IAAKA,EAAa,CAChB,MAAMG,EAAMt4B,SAAS4D,cAAc,OACnC00B,EAAI3uB,MAAMkG,MAAQ,OAClByoB,EAAI3uB,MAAMmG,OAAS,OACnBwoB,EAAIn2B,UAAYmnB,EAAgBqI,GAAcuG,EAAGjyB,MAAMqJ,MACvDwD,EAAE,UAAUpR,KAAK4b,YAAYgb,GAE3B3G,GAAcuG,EAAGjyB,MAAMqJ,QAAUia,EAAYmO,GAAQ,EAChD/F,GAAcuG,EAAGjyB,MAAMqJ,QAAUka,EAAamO,GAAS,EACvDhG,GAAcuG,EAAGjyB,MAAMqJ,QAAUma,EAAcmO,GAAU,EACzDjG,GAAcuG,EAAGjyB,MAAMqJ,QAAUoa,EAAcmO,GAAU,EACzDlG,GAAcuG,EAAGjyB,MAAMqJ,QAAUqa,EAAWmO,GAAO,EACnDnG,GAAcuG,EAAGjyB,MAAMqJ,QAAUsa,EAAcmO,GAAU,EACzDpG,GAAcuG,EAAGjyB,MAAMqJ,QAAUua,IAAYmO,GAAQ,MAGhEllB,EAAE,oBAAoB/N,YAAc2yB,EACpC5kB,EAAE,qBAAqB/N,YAAc4yB,EACrC7kB,EAAE,sBAAsB/N,YAAc6yB,EACtC9kB,EAAE,sBAAsB/N,YAAc8yB,EACtC/kB,EAAE,mBAAmB/N,YAAc+yB,EACnChlB,EAAE,sBAAsB/N,YAAcgzB,EACtCjlB,EAAE,oBAAoB/N,YAAcizB,EAGtC,MAAMZ,EAAM,GAGZ,IAAK,IAAIxrB,EAAI,EAAGA,EAAI2b,KAAK0Q,gBAAgBt2B,OAAQiK,GAAK,EAAG,CACvD,MAAMsb,EAAI,GACVA,EAAEjhB,KAAOshB,KAAK0Q,gBAAgBrsB,GAAG3F,KACjCihB,EAAEwO,MAAQnO,KAAK0Q,gBAAgBrsB,GAAGsqB,UAClChP,EAAElU,GAAK2e,GAAczK,EAAEjhB,MAAM+M,GAC7BokB,EAAI5zB,KAAK0jB,GAGPE,EAAUmR,aACZnB,EAAIE,MAAK,SAAU/sB,EAAGP,GACpB,OAAOggB,EAAgBplB,QAAQ2F,EAAE+E,OAAS0a,EAAgBplB,QAAQoF,EAAEsF,OAChE,EACA0a,EAAgBplB,QAAQ2F,EAAE+E,OAAS0a,EAAgBplB,QAAQoF,EAAEsF,QAE7D/E,EAAEyI,GAAKhJ,EAAEgJ,IADR,EAGD,KAGNokB,EAAIE,MAAK,CAAC/sB,EAAGP,IAAMO,EAAEmrB,MAAQ1rB,EAAE0rB,QAGjC,MAAM8C,EAAc,SAAUC,EAAMC,GAClC,OAAOD,EAAKE,WAAW91B,GAAMA,EAAEoD,OAASyyB,EAAQzyB,QAElD,IAAK,IAAI2F,EAAI,EAAGA,EAAI2b,KAAK0Q,gBAAgBt2B,OAAQiK,GAAK,EACpDkH,EAAE,UAAUlH,KAAKjC,MAAMivB,MACrBJ,EAAYpB,EAAK7P,KAAK0Q,gBAAgBrsB,IAAM,EAYlD,SAASitB,KACP,OAAIzR,EAAU0R,QACLrK,GAEmB,IAAxBrH,EAAU2R,UACLxR,KAAKyR,WAAa,EAAIzR,KAAK0R,WAER,IAAxB7R,EAAU2R,UAEVxR,KAAKyR,WACJvH,IAA4B,EAA6B,IAAzBC,KAGJ,OAA7BF,GAAsB,IAEE,IAAxBpK,EAAU2R,WACwC,IAAlDxR,KAAK2R,UAAU1H,GAAsB,IAAIzvB,KAGvCwlB,KAAKyR,WACwB,EAA3BvH,GAAgCC,IAC/B,EAA6B,IAAzBA,KAIXnK,KAAKyR,WACJvH,GAA2BC,IACzB,EAA6B,IAAzBA,KAaX,SAASyH,KACP,OAA4B,IAAxB/R,EAAU2R,UACLzH,GAEmB,IAAxBlK,EAAU2R,UACLvH,GAAsB,GAExB,EAcT,SAAS4H,GAAY7D,EAAItvB,EAAMozB,GAC7B,MAAMC,EAAWt5B,SAAS4D,cAAc,OACxC01B,EAAS/D,GAAKA,EACd+D,EAAS3vB,MAAMmG,OAAS,OACxBwpB,EAAS3vB,MAAM4vB,OAAS,WACxBD,EAAS3vB,MAAMgI,SAAW,WAE1B,MAAM2mB,EAAMt4B,SAAS4D,cAAc,OACnC00B,EAAI3uB,MAAMkG,MAAQ,OAClByoB,EAAI3uB,MAAMmG,OAAS,OACnBwoB,EAAI3uB,MAAM4vB,OAAS,OACnBjB,EAAI3uB,MAAMgI,SAAW,WACrB2mB,EAAI3uB,MAAMqC,KAAO,MACjBssB,EAAI3uB,MAAMsC,IAAM,MAChBqsB,EAAI3uB,MAAMkI,MAAQ,MAClBymB,EAAI3uB,MAAMkW,OAAS,MAEnB,MAAM9d,EAAO/B,SAAS4D,cAAc,QACpC7B,EAAK4H,MAAMqV,QAAU,eACrBjd,EAAK4H,MAAMuW,UAAY,QACvBne,EAAK4H,MAAM6vB,SAAW,OACtBz3B,EAAK4H,MAAMkG,MAAQ,QACnB9N,EAAK4H,MAAM8vB,YAAc,MACzB13B,EAAK4H,MAAM+vB,cAAgB,WAC3B33B,EAAKgD,YAAckB,EACnBqyB,EAAIhb,YAAYvb,GAEhB,IAAK,IAAIL,EAAI,EAAGA,EAAI23B,EAAK13B,OAAQD,IAAK,CACpC,MAAMi4B,EAAW35B,SAAS4D,cAAc,QACxC+1B,EAASpE,GAAK8D,EAAK33B,GAAG6zB,GACtBoE,EAAShwB,MAAMqV,QAAU,eACzB2a,EAAShwB,MAAMmG,OAAS,OACxB6pB,EAAShwB,MAAM+vB,cAAgB,WAC/BC,EAAShwB,MAAMuW,UAAY,SACvBmZ,EAAK13B,OAAS,IAAMD,IACtBi4B,EAAShwB,MAAMiwB,qBAAuB,OACtCD,EAAShwB,MAAMkwB,wBAA0B,aAEd,IAAlBR,EAAK33B,GAAG4N,QACjBqqB,EAASx3B,UAAYmnB,EAAgB+P,EAAK33B,GAAG4N,OAE/CgpB,EAAIhb,YAAYqc,GAGlB,MAAMG,EAAQ95B,SAAS4D,cAAc,QAQrC,OAPAk2B,EAAMvE,GAAK,GAAGA,QACduE,EAAMnwB,MAAMowB,WAAa,MACzBD,EAAMnwB,MAAM+vB,cAAgB,WAC5BpB,EAAIhb,YAAYwc,GAEhBR,EAAShc,YAAYgb,GAEdgB,EAOT,SAASU,GAA2BC,GAClC,GAAsB,OAAlBnnB,EAAE,YAAsB,CAC1B,MAAM/Q,EAAO+Q,EAAE,YAAYvO,WAAWA,WAAW8zB,WAAW,GACtD6B,EAAQpnB,EAAE,YAAYvO,WAAWA,WAAW8zB,WAAW,GACvDrlB,EAAKF,EAAE,YAAYvO,WAAWA,WAAW8zB,WAAW,GACpDlL,EAAOra,EAAE,YAAYvO,WAAWA,WAAW8zB,WAAW,GAEtD32B,EAAIu4B,EACJE,EAASp4B,EAAKub,YAAYtd,SAAS4D,cAAc,OACvDu2B,EAAO7c,YACLtd,SAASqgB,eACP,IAAuB,IAApB3e,EAAEkD,QAAQ,KAAclD,EAAE04B,UAAU,EAAG14B,EAAEkD,QAAQ,MAAQlD,QAInDy4B,EAAO7c,YAAYtd,SAAS4D,cAAc,SAClDzB,UAAYknB,aAEjB8Q,EAAO7c,YAAYtd,SAASqgB,eAAe,MAC3Cte,EAAKs4B,UAAU1wB,MAAM2wB,YAAc,MACnCJ,EAAM5c,YAAYtd,SAAS4D,cAAc,OACzCs2B,EAAMG,UAAU1wB,MAAM2wB,YAAc,MACpCtnB,EAAGsK,YAAYtd,SAAS4D,cAAc,OACtCoP,EAAGqnB,UAAU1wB,MAAM2wB,YAAc,MACjCnN,EAAK7P,YAAYtd,SAAS4D,cAAc,OACxCupB,EAAKkN,UAAU1wB,MAAM2wB,YAAc,OAoEvC,SAASC,KACP,GAAyB,IAArBnT,EAAUoT,QAAgBrJ,IAAkC,IAAjB5J,KAAKwP,QAAe,CACjE,IAAI0D,EAAQ,EACZv1B,OAAO6C,KAAKopB,IAAe8F,SAASv1B,IAClC,IAmBIg5B,EAnBA3zB,EAASwgB,KAAKmP,QACG,IAAjBnP,KAAKwP,QACPvM,EAAmBzjB,EAEnBA,EAASyjB,EAEI,IAAXzjB,IAAcA,EAASoqB,IACZ,KAAXpqB,IAAeA,EAASqqB,IACb,MAAXrqB,IAAgBA,EAASsqB,IAC7BoJ,GAAS,EACT3nB,EAAE,YAAYvO,WAAWA,WAAW8zB,WAAW,GAAGA,WAChDoC,GACApC,WAAW,GAAGtzB,YAAcwiB,KAAK6N,QAAQ1zB,GAAG00B,OAC9CtjB,EAAE,YAAYvO,WAAWA,WAAW8zB,WAAW,GAAGA,WAChDoC,GACA11B,YAAc+mB,GAA4B/kB,EAAOrF,GAAGw4B,MAAO,GAC7DpnB,EAAE,YAAYvO,WAAWA,WAAW8zB,WAAW,GAAGA,WAChDoC,GACAt4B,UAAYknB,EAAgBtiB,EAAOrF,GAAG4N,MAGtCorB,EADEtT,EAAUuT,cACDzN,GAAWjjB,KAAKC,MAAMnD,EAAOrF,GAAGsR,KAC7B8Y,GAA4B7hB,KAAKC,MAAMnD,EAAOrF,GAAGsR,IAAK,GACtEF,EAAE,YAAYvO,WAAWA,WAAW8zB,WAAW,GAAGA,WAChDoC,GACA11B,YAAc21B,EAChB,MAAME,EAAarN,IAChBhG,KAAK6N,QAAQ1zB,GAAGm5B,WAAatT,KAAKuT,QAAU3B,OAC3CN,MAEJ/lB,EAAE,YAAYvO,WAAWA,WAAW8zB,WAAW,GAAGA,WAChDoC,GACAt4B,UAAYknB,EAAgBuR,EAAWtrB,MAEnB,UAApBsrB,EAAWpN,MACXjG,KAAKuT,QAAUvT,KAAK6N,QAAQ1zB,GAAGm5B,UAE/B/nB,EAAE,YAAYvO,WAAWA,WAAW8zB,WAAW,GAAGA,WAChDoC,GACA11B,YAAc,GAAG61B,EAAWpN,oBAE9B1a,EAAE,YAAYvO,WAAWA,WAAW8zB,WAAW,GAAGA,WAChDoC,GACA11B,YAAc61B,EAAWpN,SAWnC,SAASuN,KACPxT,KAAKyT,WAAWtrB,OAAOG,MAAQ0X,KAAKyT,WAAWtrB,OAAOmR,WAAWxU,YACjEkb,KAAKyT,WAAWtrB,OAAOI,OACrByX,KAAKyT,WAAWtrB,OAAOmR,WAAWvU,aACpCib,KAAK0T,eAAevrB,OAAOG,MACzB0X,KAAK0T,eAAevrB,OAAOmR,WAAWxU,YACxCkb,KAAK0T,eAAevrB,OAAOI,OACzByX,KAAK0T,eAAevrB,OAAOmR,WAAWvU,aACxCib,KAAK2T,iBAYP,SAASC,KAEgB,IAArB/T,EAAUoT,QACa,IAAvBpT,EAAUgU,UACgB,IAA1BhU,EAAUiU,aAEVvoB,EAAE,YAAYnJ,MAAMkW,OAAS/M,EAAE,cAAcnJ,MAAMmG,OACnDgD,EAAE,QAAQnJ,MAAMkW,OAAS,GACvB0M,OAAOzZ,EAAE,cAAcnJ,MAAMmG,OAAOxH,QAAQ,KAAM,KAAO,QAE7B,IAArB8e,EAAUoT,QACnB1nB,EAAE,YAAYnJ,MAAMkW,OAAS,MAC7B/M,EAAE,QAAQnJ,MAAMkW,OAAS,QACO,IAAvBuH,EAAUgU,UAA4C,IAA1BhU,EAAUiU,YAC/CvoB,EAAE,QAAQnJ,MAAMkW,OAAS/M,EAAE,cAAcnJ,MAAMmG,OAG/CgD,EAAE,QAAQnJ,MAAMkW,OAAS,MAGA,IAAvBuH,EAAUgU,UAA4C,IAA1BhU,EAAUiU,YACxCvoB,EAAE,eAAenJ,MAAMsC,IAAM6G,EAAE,cAAcnJ,MAAMmG,OAEnDgD,EAAE,eAAenJ,MAAMsC,IAAM,GAG/B8uB,KAMF,SAASO,KACoB,IAAvBlU,EAAUgU,SAAgBtoB,EAAE,cAAcnJ,MAAMqV,QAAU,GACzDlM,EAAE,cAAcnJ,MAAMqV,QAAU,OACrCmc,KAmPF,SAASI,KACP1L,GAAkBtI,KAAKiU,WACvB1L,GAAmBvI,KAAKkU,YAS1B,SAASC,GAAgBC,GACvB,MAAMzD,EAAK3Q,KAAKqU,aAAaD,GACvBE,EAAM,GAEZ,OADAA,EAAI51B,KAAOiyB,EAAGjyB,KACP41B,EAUT,SAASC,GAAoB5D,GAC3B,IAAI6D,EAAO,EAoBX,GAnBA72B,OAAO6C,KAAKmwB,EAAG8D,gBAAgB/E,SAASv1B,KAEnC6lB,KAAK0U,MAAM/D,EAAG8D,eAAet6B,GAAGozB,MAAMoH,SACvCxH,GAAOwD,EAAG8D,eAAet6B,GAAGuE,QAE5B81B,GAAQ,MAEZ72B,OAAO6C,KAAKmwB,EAAGiE,WAAWlF,SAASv1B,IACjC,GAAIgzB,GAAOwD,EAAGiE,UAAUz6B,GAAGuE,MAAO,CAChC,MAAMm2B,EAAMlE,EAAGiE,UAAUz6B,GACrB06B,EAAIC,aAAap2B,OAASiyB,EAAGjyB,KAC/B81B,GAAQ,EAAI,IAAOK,EAAIE,aAAalG,OAC7BgG,EAAIE,aAAar2B,OAASiyB,EAAGjyB,OACpC81B,GAAQ,EAAI,KAAQK,EAAIC,aAAajG,YAGvC8B,EAAGrC,SAAWnB,GAAOwD,EAAGrC,QAAQ5vB,QAAO81B,GAAQ,MAC/C7D,EAAGqE,SAAW7H,GAAOwD,EAAGqE,QAAQt2B,QAClC81B,GAAQ,EAAgC,IAA5B/H,GAAWwI,QAAQpG,QAAiB,GAAK8B,EAAG3C,GAAK,KACnB,iBAAjC2C,EAAG8D,eAAeS,YACR,IAAfvE,EAAGwE,SAAiBhI,GAAOwD,EAAG8D,eAAeS,WAAWx2B,MAC1D,OAAQshB,KAAKC,YACX,QACEuU,GAAQ,EACR,MACF,KAAK,EACHA,GAAQ,KACR,MACF,KAAK,EACHA,GAAQ,KACR,MACF,KAAK,EACHA,GAAQ,KAKhB,OAAOA,EAiBT,SAASY,GAAoB1C,GAC3B,MAAM/B,EAAK3Q,KAAK6N,QAAQ6E,GAClB4B,EAAM,GA2FZ,MA1FgB,WAAZ3D,EAAGjyB,KACL41B,EAAIe,IAAM,SAAUjI,GAClB,IAAI9rB,EAAM,EACN6rB,GAAO,sBAAqB7rB,GAAO,IACnC6rB,GAAO,qBAAoB7rB,GAAO,GAClC6rB,GAAO,qBAAoB7rB,GAAO,IAClC6rB,GAAO,sBAAqB7rB,GAAO,IACnC6rB,GAAO,yBAAwB7rB,GAAO,IACtC6rB,GAAO,yBAAwB7rB,GAAO,IACtC6rB,GAAO,wBAAuB7rB,GAAO,IACrC6rB,GAAO,wBAAuB7rB,GAAO,IACrC6rB,GAAO,uBAAsB7rB,GAAO,IACpC6rB,GAAO,uBAAsB7rB,GAAO,IACxC,IAAIkzB,EAAO,EACPhQ,EAAM,EAQV,OAPA7mB,OAAO6C,KAAKisB,IAAYiD,SAASv1B,IACJ,WAAvBsyB,GAAWtyB,GAAGuE,OAAmB8lB,GAAOiI,GAAWtyB,GAAG00B,WAE5DvtB,GAAOkjB,EACPgQ,GAAQD,GAAoBnH,GAC5BoH,GAAQxU,KAAKsV,SAAS,UACtBd,GAAQvH,GAAO,aAEbjN,KAAKuV,WACH,GACApI,GAAO,2BACLA,GAAO,kCACPA,GAAO,gBACT7rB,GACEkzB,GAGa,YAAZ7D,EAAGjyB,KACZ41B,EAAIe,IAAM,SAAUjI,GAClB,IAAIoH,EAAO,EAYX,GAXA72B,OAAO6C,KAAKwf,KAAKwV,kBAAkB9F,SAASv1B,IACtCgzB,GAAOnN,KAAKwV,iBAAiBr7B,MAAKq6B,GAAQ,MAE5CrH,GAAO,oCAAmCqH,GAAQ,GAClDrH,GAAO,yBAAwBqH,GAAQ,GACvCrH,GAAO,kBAAiBqH,GAAQ,GAEhCrH,GAAO,wBAAuBqH,GAAQ,MAE1CA,GAAQvH,GAAO,cAEXE,GAAO,cACT,IAAK,IAAIhzB,EAAI,EAAGA,EAAI6lB,KAAKyV,eAAeC,OAAOt7B,OAAQD,IACjDgzB,GAAOnN,KAAKyV,eAAeC,OAAOv7B,GAAGuE,QAAO81B,GAAQ,MAI5DA,GAAQD,GAAoBnH,GAE5B,IAAI9rB,EAAM,EACN6rB,GAAO,cAAa7rB,GAAmC,IAA5BmrB,GAAWwI,QAAQpG,QAC9C1B,GAAO,yBACT7rB,GAAmC,IAA5BmrB,GAAWwI,QAAQpG,QACxB1B,GAAO,gBAAe7rB,GAAkC,IAA3BmrB,GAAWkJ,OAAO9G,QAEnD,IAAIrK,EAAM,EASV,OARA7mB,OAAO6C,KAAKisB,IAAYiD,SAASv1B,IACJ,YAAvBsyB,GAAWtyB,GAAGuE,OAAoB8lB,GAAOiI,GAAWtyB,GAAG00B,WAG7D2F,GAAQ,EAAqC,IAAjC5H,GAAY,mBAA4BpI,EAEpDgQ,GAAQxU,KAAKsV,SAAS3E,EAAGjyB,OAEjBiyB,EAAGiF,QAAUt0B,GAAOkzB,GAG9BF,EAAIe,IAAM,SAAUjI,GAClB,IAAIoH,EAAO,EAGX,OAFAA,GAAQD,GAAoBnH,GAC5BoH,GAAQxU,KAAKsV,SAASlI,EAAG1uB,MAClB0uB,EAAGyI,QAAUrB,GAKxBF,EAAIsB,QAAUjF,EAAGiF,QACjBtB,EAAI51B,KAAOiyB,EAAGjyB,KACd41B,EAAIG,eAAiB9D,EAAG8D,eACxBH,EAAIM,UAAYjE,EAAGiE,UACnBN,EAAIhG,QAAUqC,EAAGrC,QACjBgG,EAAIU,QAAUrE,EAAGqE,QACjBV,EAAIuB,QAAUlF,EAAGiF,QACjBtB,EAAItG,GAAK2C,EAAG3C,GACZsG,EAAIa,QAAUxE,EAAGwE,QACVb,EAaT,SAASwB,GAAYC,GACnB,MAAMpF,EAAK3Q,KAAKgW,SAASD,GACnBzB,EAAM,GA4BZ,OA1BAA,EAAI2B,MAAQtF,EAAGsF,MACU,mBAAd3B,EAAI2B,QACG,0BAAZtF,EAAGjyB,KACL41B,EAAI2B,MAAQ,WACV,IAAI74B,EAAI,EAIR,OAHAO,OAAO6C,KAAKisB,IAAYiD,SAASv1B,IAC3BsyB,GAAWtyB,GAAG+7B,OAAS,KAAI94B,GAAK,MAE/BA,GAGTk3B,EAAI2B,MAAQ,WACV,IAAIE,EAAM,EAEV,GADIhJ,GAAO,cAAagJ,EAAM,GAC1BnW,KAAK0N,OAAQ,CACf,MAAMc,EAASf,GAAU,WACV,IAAXe,EAAc2H,GAAO,IACL,IAAX3H,EAAc2H,GAAO,IACV,IAAX3H,IAAc2H,GAAO,KAEhC,OAAOA,IAIb7B,EAAIhH,KAAOqD,EAAGrD,KACdgH,EAAI51B,KAAOiyB,EAAGjyB,KACP41B,EAgBT,SAAS8B,KAEP5O,GAAmBxH,KAAKqW,cACxB5O,GAAazH,KAAKsW,QAClB5O,GAAuB1H,KAAKuW,kBAC5B5O,GAAmB3H,KAAKwW,cACxB5O,GAAc5H,KAAKyW,SAGnB94B,OAAO6C,KAAKwf,KAAK6N,SAAS6B,SAASv1B,IACjC,MAAMw2B,EAAK3Q,KAAK6N,QAAQ1zB,GACxB,IAAIm6B,EAAM7H,GAAWtyB,QACTI,IAAR+5B,IAEF7H,GAAWtyB,GAAKi7B,GAAoBj7B,GACpCm6B,EAAM7H,GAAWtyB,GACjBs4B,GAA2Bt4B,IAE7Bm6B,EAAIzF,OAAS8B,EAAG9B,OAChByF,EAAI4B,MAAQvF,EAAGuF,MACf5B,EAAIoC,aAAe/F,EAAG+F,aACtBpC,EAAI3F,UAAYgC,EAAGhC,UACnB2F,EAAI1F,KAAO+B,EAAG/B,KACV+B,EAAGpC,iBACW,WAAZoC,EAAGjyB,OACLqpB,GAAU4I,EAAG/C,SAAS+I,KAAK,GAC3B3O,GAAU2I,EAAG/C,SAAS+I,KAAK,GAC3B1O,GAAU0I,EAAG/C,SAAS+I,KAAK,IAE7BrC,EAAI/F,eAAiBoC,EAAGpC,eACxB+F,EAAI1G,SAAW+C,EAAG/C,UAEpBnB,GAAWtyB,GAAKm6B,KAIlB32B,OAAO6C,KAAKwf,KAAKgW,UAAUtG,SAASv1B,IAClC,MAAMw2B,EAAK3Q,KAAKgW,SAAS77B,GACzB,IAAIm6B,EAAM5H,GAAYvyB,QACVI,IAAR+5B,IACF5H,GAAYvyB,GAAK27B,GAAY37B,GAC7Bm6B,EAAM5H,GAAYvyB,IAEpBm6B,EAAI9G,OAASmD,EAAGnD,OAChBd,GAAYvyB,GAAKm6B,KAInB32B,OAAO6C,KAAKwf,KAAKqU,cAAc3E,SAASv1B,IACtC,MAAMw2B,EAAK3Q,KAAKqU,aAAal6B,GAC7B,IAAIm6B,EAAM3H,GAAgBxyB,QACdI,IAAR+5B,IACF3H,GAAgBxyB,GAAKg6B,GAAgBh6B,GACrCm6B,EAAM3H,GAAgBxyB,IAExBm6B,EAAIsC,IAAMjG,EAAGiG,IACbjK,GAAgBxyB,GAAKm6B,KAIvBN,KACAnM,GAAgBS,GAChBR,GAAiBS,GA6BnB,SAASsO,GAAoB5Q,GAC3B,MAAM8K,EAAMt4B,SAAS4D,cAAc,OAKnC,OAJA00B,EAAI3uB,MAAM00B,WAAa,OACvB/F,EAAI/C,GAAK,GAAG/H,SACZ8K,EAAIn2B,UAAYknB,aAChBiP,EAAIvzB,YAAcyoB,EACX8K,EAmHT,SAASgG,GAAgCC,GACvCA,EAAQjhB,YAAY8gB,GAAoB,iBACxC,MAAMI,EAASx+B,SAAS4D,cAAc,OACtC46B,EAAO70B,MAAM80B,aAAe,MAC5BD,EAAO70B,MAAM2F,MAAQ,QACrBkvB,EAAOjJ,GAAK,kBACZgJ,EAAQjhB,YAAYkhB,GAEpBD,EAAQjhB,YAAY8gB,GAAoB,4BACxCG,EAAQlE,UAAU1wB,MAAMqV,QAAU,OAClC,MAAM0f,EAAQ1+B,SAAS4D,cAAc,OACrC86B,EAAM/0B,MAAM80B,aAAe,MAC3BC,EAAM/0B,MAAM2F,MAAQ,QACpBovB,EAAM/0B,MAAMqV,QAAU,OACtB0f,EAAMnJ,GAAK,0BACXgJ,EAAQjhB,YAAYohB,GAEpBH,EAAQjhB,YAAY8gB,GAAoB,mBACxC,MAAMprB,EAAKhT,SAAS4D,cAAc,OAClCoP,EAAGrJ,MAAM80B,aAAe,MACxBzrB,EAAGuiB,GAAK,cACRgJ,EAAQjhB,YAAYtK,GAEpBurB,EAAQjhB,YAAY8gB,GAAoB,cACxC,MAAMjR,EAAOntB,SAAS4D,cAAc,OAIpC,GAHAupB,EAAKoI,GAAK,gBACVgJ,EAAQjhB,YAAY6P,GAEA,MAAhB7B,GAAqB,CACvBiT,EAAQjhB,YACN8gB,GAAoB,0CAGtBG,EAAQlE,UAAU9E,GAAK,4BACvB,MAAMoJ,EAAa3+B,SAAS4D,cAAc,OAC1C+6B,EAAWpJ,GAAK,sBAChBgJ,EAAQjhB,YAAYqhB,IA+JxB,SAASC,GACPC,EACAC,EACAC,GAEA,IAAIC,EAAQH,EACRpE,EAAQ,EACZ,KAAOuE,EAAQD,GACbC,GAAqE,KAA5D/0B,KAAK6D,IAAI,MAAQkxB,EAAQ/0B,KAAK6D,IAAIgxB,EAAU,OAAS,IAC9DrE,GAAS,EAEX,OAAOA,EAAQlT,KAAK0X,IA0XtB,SAASC,KACP,IAAInD,EAAO,EAKX,OAJA72B,OAAO6C,KAAKwf,KAAK4X,OAAOlI,SAASv1B,SACM,IAA1B6lB,KAAK4X,MAAMz9B,GAAG09B,UACvBrD,GAAQxU,KAAK4X,MAAMz9B,GAAG09B,YAEnBrD,EAWT,SAASsD,KACiC,OAApCvsB,EAAE,gCAC0B,IAA1BsU,EAAUkY,aACZxsB,EAAE,8BAA8BnJ,MAAMsC,IAAM,OAC5C6G,EAAE,8BAA8BnJ,MAAM4vB,OAAS,WAC/CzmB,EAAE,8BAA8BnJ,MAAMwK,QAAU,YAEhDrB,EAAE,8BAA8BnJ,MAAMkI,MAAQ,OAC9CiB,EAAE,8BAA8BnJ,MAAM4vB,OAAS,MAC/CzmB,EAAE,8BAA8BnJ,MAAMwK,QAAU,YA0LtD,SAASorB,KAEP,GADA5B,KACyC,SAArC7qB,EAAE,iBAAiBnJ,MAAMqV,SAAsBlM,EAAE,iBAAkB,CACrEA,EAAE,iBAAiBoM,UAAY,GAC/B,MAAMsgB,EAz6BV,WACE1sB,EAAE,WAAWvO,WAAWoF,MAAM81B,cAAgB,MAC9C,MAAMD,EAAax/B,SAAS4D,cAAc,OAM1C,OALA47B,EAAW71B,MAAM0U,OAAS,YAC1BmhB,EAAW71B,MAAMwK,QAAU,MAC3BqrB,EAAW71B,MAAM4vB,OAAS,WAC1BiG,EAAWjK,GAAK,kBAChBiK,EAAWr9B,UAAYknB,aAChBmW,EAi6BcE,GACnB5sB,EAAE,iBAAiBwK,YAAYkiB,GAEX,MAAhBlU,GA9uBR,WACE,GAAsC,IAAlClE,EAAUuY,qBAA8C,IAAjBpY,KAAKwP,QAAe,CAI7D,IAAIhwB,EAaJ,GAfAu3B,GADmBxrB,EAAE,oBAIA,IAAjByU,KAAKwP,QACPrM,EAA4B3jB,EAE5BA,EAAS2jB,EAEU,IAAjBnD,KAAKmP,QAAe3vB,EAASoqB,GACP,KAAjB5J,KAAKmP,QAAgB3vB,EAASqqB,GACb,MAAjB7J,KAAKmP,UAAiB3vB,EAASsqB,IAExCjG,GAAe7D,KAAK6N,QAAQ7J,IAAasP,UACzCxP,GAAqBtkB,EAAOwkB,IAAa2O,MAEH,IAAlC9S,EAAUuY,qBAA8C,IAAjBpY,KAAKwP,QAAe,CAC7DjkB,EAAE,mBAAmB/N,YAAc+mB,GAA4BT,GAAoB,GACnF,MAAMuU,EAAW31B,KAAKC,MACnBmhB,GAAqB9D,KAAKyR,UAAa,KAEtCzM,OAAOC,SAASoT,IAA0B,IAAbA,EAC/B9sB,EAAE,mBAAmB/N,aAAe,KAAK66B,EAAW,kBAEpD9sB,EAAE,mBAAmB/N,aAAe,OAClCqiB,EAAUuF,eAAiB,IAAM,oBAGrC7Z,EAAE,mBAAmB3Q,UACnBknB,EAAgBtiB,EAAOwkB,IAAajc,MAClC8X,EAAUuT,cACZ7nB,EAAE,eAAe/N,YAAcmoB,GAAWnmB,EAAOwkB,IAAavY,IAC3DF,EAAE,eAAe/N,YAAc+mB,GAA4B/kB,EAAOwkB,IAAavY,GAAI,GACxFF,EAAE,eAAe3Q,UAAYknB,EAAgBtiB,EAAOwkB,IAAajc,MACjE,MAAMsrB,EAAarN,IAChBnC,IAAgB7D,KAAKuT,QAAU3B,OAAyBN,MAE3D/lB,EAAE,iBAAiB/N,YAAc61B,EAAWpN,KAEtB,UAApBoN,EAAWpN,MACXjG,KAAKuT,QAAU/zB,EAAOwkB,IAAamK,MAEnC5iB,EAAE,iBAAiB/N,YAAc,GAAG61B,EAAWpN,oBAC1C1a,EAAE,iBAAiB/N,YAAc61B,EAAWpN,KACnD1a,EAAE,iBAAiB3Q,UAAYknB,EAAgBuR,EAAWtrB,MAI5DwD,EAAE,6BAA6BnJ,MAAMqV,QAAU,OAC/ClM,EAAE,iBAAiBnJ,MAAM80B,aAAe,MAIxC,IAAK,MAAM/8B,KAAKwD,OAAO6C,KAAKwf,KAAK6N,QAAQ7J,IAAasU,mBACpD,IACGtY,KAAKuY,UACJvY,KAAK6N,QAAQ7J,IAAasU,kBAAkBn+B,GAAGq+B,OAAO95B,MAExD,CACA,MAAM+5B,EACJzY,KAAK6N,QAAQ7J,IAAasU,kBAAkBn+B,GAC9CoR,EAAE,iBAAiBnJ,MAAM80B,aAAe,MACxC3rB,EAAE,6BAA6BnJ,MAAMqV,QAAU,GAC/ClM,EAAE,uBAAuB3Q,UAAY,kBAAkBopB,KACvDzY,EAAE,uBAAuB/N,YAAc+mB,GACrCkU,EAAqBtC,IAAM1J,GAAWzI,IAAa0S,aACnD,IAEFnrB,EAAE,uBAAuBnJ,MAAM2F,MAAQ,QACvC,YAGCwD,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAqqBtCihB,GACyB,MAAhB3U,GA5Tf,WAYE,GAVAgT,GADmBxrB,EAAE,oBAGrBuY,GACEsG,GAAcpK,KAAK0Q,gBAAgB1M,IAAatlB,MAAMi0B,MACxD9O,GAAe7D,KAAKgW,SAClBhW,KAAK0Q,gBAAgB1M,IAAatlB,MAClCi6B,WACF1U,GACEmG,GAAcpK,KAAK0Q,gBAAgB1M,IAAatlB,MAAMk6B,WAElB,IAAlC/Y,EAAUuY,oBAA2B,CACvC7sB,EAAE,mBAAmB/N,YAAc+mB,GAA4BT,GAAoB,GACnF,MAAMuU,EAAW31B,KAAKC,MAAOmhB,GAAqB9D,KAAKyR,UAAa,KAG7B,MAArClmB,EAAE,mBAAmB/N,aACJ,MAAhBumB,IAAuC,MAAhBA,IAOpBiB,OAAOC,SAASoT,IAA0B,IAAbA,EAC/B9sB,EAAE,mBAAmB/N,aAAe,KAAK66B,EAAW,kBAEpD9sB,EAAE,mBAAmB/N,aAAe,OAClCqiB,EAAUuF,eAAiB,IAAM,oBAGrC7Z,EAAE,mBAAmB3Q,UACnBknB,EACAsI,GAAcpK,KAAK0Q,gBAAgB1M,IAAatlB,MAAMqJ,MAEpDkc,KACF1Y,EAAE,2BAA2B/N,YAAc+mB,GAA4BN,IACvE1Y,EAAE,2BAA2BnJ,MAAMqV,QAAU,QAC7ClM,EAAE,2BAA2BstB,gBAAgBz2B,MAAMqV,QAAU,SAGpC,IAAvBqM,IAA4BG,IAC9B1Y,EAAE,eAAe/N,YAAc,GAAG+mB,GAChCV,GAAeI,aAEjB1Y,EAAE,eAAenJ,MAAM2F,MAAQ,UAE3B8X,EAAUuT,cACZ7nB,EAAE,eAAe/N,YAAcmoB,GAC7ByE,GAAcpK,KAAK0Q,gBAAgB1M,IAAatlB,MAAM+M,IAGxDF,EAAE,eAAe/N,YAAc+mB,GAC7B6F,GAAcpK,KAAK0Q,gBAAgB1M,IAAatlB,MAAM+M,GACtD,GAEJF,EAAE,eAAe3Q,UACfknB,EACAsI,GAAcpK,KAAK0Q,gBAAgB1M,IAAatlB,MAAMqJ,SAvC1DwD,EAAE,qBAAqBnJ,MAAMqV,QAAU,OACvClM,EAAE,mBAAmBnJ,MAAMqV,QAAU,OACrClM,EAAE,uBAAuBnJ,MAAMqV,QAAU,OACzClM,EAAE,eAAenJ,MAAMqV,QAAU,QAuCnC,MAAM4b,EAAarN,IAChBnC,IAAgB7D,KAAKuT,QAAU3B,OAAyBN,MAY3D,GAVA/lB,EAAE,iBAAiB/N,YAAc61B,EAAWpN,KAEtB,UAApBoN,EAAWpN,MACXjG,KAAKuT,QAAUvT,KAAK0Q,gBAAgB1M,IAAa2U,WAEjDptB,EAAE,iBAAiB/N,YAAc,GAAG61B,EAAWpN,oBAC1C1a,EAAE,iBAAiB/N,YAAc61B,EAAWpN,KACnD1a,EAAE,iBAAiB3Q,UAAYknB,EAAgBuR,EAAWtrB,MAGX,kBAA3CiY,KAAK0Q,gBAAgB1M,IAAatlB,KAA0B,CAC9D6M,EAAE,mBAAmBunB,UAAU1wB,MAAM80B,aAAe,MACpD3rB,EAAE,mBAAmBwK,YACnB8gB,GAAoB,yCAEtB,MAAMiC,EAAYrgC,SAAS4D,cAAc,OACzCy8B,EAAU12B,MAAM2F,MAAQ,QACxB+wB,EAAUt7B,YAAc,GAAG+mB,GAA2C,IAAfvE,KAAKuT,cAAqBhP,GAC/EoF,MAEFpe,EAAE,mBAAmBwK,YAAY+iB,SAE9BvtB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAsOtCshB,GACyB,MAAhBhV,GAzVf,WACE,GAA8B,IAA1BlE,EAAUmZ,YAAmB,CAC/B,MAAMf,EAAa1sB,EAAE,mBAErB0sB,EAAWliB,YAAY8gB,GAAoB,uBAE3C,MAAMoC,EAAWxgC,SAAS4D,cAAc,OACxC48B,EAASjL,GAAK,gBACdiK,EAAWliB,YAAYkjB,GACvB,MAAMC,EApCK,KADQ1+B,EAqCcwlB,KAAKmZ,iBAnC/B,CAAElT,KAAM,SAAUle,MAAOua,GAErB,IAAT9nB,EACK,CAAEyrB,KAAM,aAAcle,MAAOka,GAEzB,IAATznB,EACK,CAAEyrB,KAAM,SAAUle,MAAOma,GAErB,IAAT1nB,EACK,CAAEyrB,KAAM,QAASle,MAAOoa,GAEpB,IAAT3nB,EACK,CAAEyrB,KAAM,cAAele,MAAOsa,GAEhC,CAAE4D,KAAM,qBAAsBle,MAAOqa,GAsB1C6W,EAASz7B,YAAc07B,EAAWjT,KAClCgT,EAASr+B,UAAYknB,EAAgBoX,EAAWnxB,WAC3CwD,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAxC5C,IAAuBjd,EAsXjB4+B,GACyB,MAAhBrV,GA3kBf,WACE,MAAM6J,SAAEA,GAAa5N,KAAK6N,QAAQ,gBAC5BwL,EAAYzL,EAAS0L,aAAa1L,EAAS2L,WAAWvV,KAE5D,GAA8B,IAA1BnE,EAAU2Z,aAAqBH,GAAazL,EAAS6L,OAAQ,CAC/D,MAAMxB,EAAa1sB,EAAE,mBAGrB0sB,EAAWliB,YAAY8gB,GAAoB,cAC3C,MAAMjR,EAAOntB,SAAS4D,cAAc,OACpCupB,EAAKoI,GAAK,gBACViK,EAAWliB,YAAY6P,GACvB,MAAMyN,EAAarN,GACjBqR,GAA4BzJ,EAAS6J,MAAO7J,EAAS6L,OAAQJ,IAM/D,GAJAzT,EAAKpoB,YAAc61B,EAAWpN,KAC9BL,EAAKhrB,UAAYknB,EAAgBuR,EAAWtrB,MAGxCsxB,GAAazL,EAAS6J,MAAO,CAC/BQ,EAAWliB,YAAY8gB,GAAoB,iBAC3C,MAAM6C,EAAUjhC,SAAS4D,cAAc,OACvCq9B,EAAQ1L,GAAK,mBACbiK,EAAWliB,YAAY2jB,GACvB,MAAMC,EAAgB3T,GACpBqR,GACE30B,KAAK6D,IAAI,EAAGqnB,EAAS6J,MAAQ4B,GAC7BzL,EAAS6L,OACT7L,EAAS6J,QAGbiC,EAAQl8B,YAAcm8B,EAAc1T,KACpCyT,EAAQ9+B,UAAYknB,EAAgB6X,EAAc5xB,MAIpD,GAAoB,MAAhBic,GAAqB,CACvBiU,EAAWliB,YACT8gB,GAAoB,8BAEtB,MAAM+C,EAAUnhC,SAAS4D,cAAc,OACvCu9B,EAAQ5L,GAAK,IACbiK,EAAWliB,YAAY6jB,GACvB,MAAMC,EAASphC,SAAS4D,cAAc,QACtCw9B,EAAOz3B,MAAM2F,MAAQ,UACrB8xB,EAAOr8B,YAAc+mB,GACnB7hB,KAAK2D,IACqC,KAAvC2Z,KAAKuT,QAAU3B,MACa,GAA7BxI,GAAkC,IAEpC,GAEFwQ,EAAQ7jB,YAAY8jB,GACpB,MAAMC,EAAYrhC,SAAS4D,cAAc,QACzCy9B,EAAUt8B,YAAc,MACxBo8B,EAAQ7jB,YAAY+jB,GACpB,MAAMC,EAAOthC,SAAS4D,cAAc,QACpC09B,EAAK33B,MAAM2F,MAAQ,MACnBgyB,EAAKv8B,YAAc+mB,GAAyD,GAA7B6E,GAAkC,GAAI,GACrFwQ,EAAQ7jB,YAAYgkB,GAGtBxuB,EAAE,iBAAiBwK,YAAYkiB,QAC1B1sB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OA6gBtCuiB,GACyB,MAAhBjW,GA/pBf,WACE,MAAM6J,SAAEA,GAAa5N,KAAK6N,QAAQoM,KAClC,GACEpa,EAAUqa,cAC2C,IAArDtM,EAASuM,KAAKnW,GAAY,IAAIA,GAAY,IAAI,GAC9C,CACA,MAAMoW,EACJxM,EAASuM,KAAKnW,GAAY,IAAIA,GAAY,IAAI,GAC9C4J,EAASyM,WAAWzM,EAASuM,KAAKnW,GAAY,IAAIA,GAAY,IAAI,GAAK,GACpEoW,OACCE,EACJ1M,EAASyM,WAAWzM,EAASuM,KAAKnW,GAAY,IAAIA,GAAY,IAAI,GAAK,GACpEtlB,KACL6M,EAAE,mBAAmBwK,YACnB8gB,GAAoB,+BAEtB,MAAMgD,EAASphC,SAAS4D,cAAc,OACtCw9B,EAAO7L,GAAK,uBACZziB,EAAE,mBAAmBwK,YAAY8jB,GACf,cAAdS,EACF/uB,EAAE,wBAAwB/N,YAAc,GACtC48B,EACI7V,GAA4B7hB,KAAK2D,IAAmB,IAAf2Z,KAAKuT,QAAiC,GAAjBvT,KAAKyR,UAAiB,KAChF,SACAlN,GAA6C,GAAjBvE,KAAKyR,UAAiB,MACjC,cAAd6I,GAA2C,oBAAdA,EACtC/uB,EAAE,wBAAwB/N,YAAc,GACtC48B,EACI7V,GAA4B7hB,KAAK2D,IAAmB,IAAf2Z,KAAKuT,QAAiC,GAAjBvT,KAAKyR,UAAiB,IAChF,SACAlN,GAA6C,GAAjBvE,KAAKyR,UAAiB,KACjC,cAAd6I,EACT/uB,EAAE,wBAAwB/N,YAAc,GACtC48B,EACI7V,GAA4B7hB,KAAK2D,IAAmB,IAAf2Z,KAAKuT,QAAiC,GAAjBvT,KAAKyR,UAAiB,KAChF,SACAlN,GAA6C,GAAjBvE,KAAKyR,UAAiB,MACjC,cAAd6I,EACT/uB,EAAE,wBAAwB/N,YAAc,GACtC48B,EACI7V,GAA4B7hB,KAAK2D,IAAmB,IAAf2Z,KAAKuT,QAAiC,GAAjBvT,KAAKyR,UAAiB,MAChF,SACAlN,GAA6C,GAAjBvE,KAAKyR,UAAiB,OACnDlmB,EAAE,iBAAiBnJ,MAAMqV,QAAU,YACrClM,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAonBtC8iB,GACyB,OAAhBxW,GAngBf,WACE,MAAM6J,SAAEA,GAAa5N,KAAK6N,QAAQoM,KAClC,GAAIpa,EAAUmZ,YAAa,CACzBztB,EAAE,mBAAmBwK,YACnB8gB,GAAoB,oCAEtB,IAAI2D,EAAY,EACZC,EAAS,EACTza,KAAKxf,KAAK,KAAOwf,KAAKxf,KAAK,MAAKi6B,EAAS,GAC7C,IAAK,IAAIn2B,EAAI,EAAGA,EAAI,EAAGA,IACrB,IAAK,IAAID,EAAI,EAAGA,EAAI,EAAGA,IACrB,GAAIupB,EAASuM,KAAK71B,GAAGD,GAAG,IAAM,EAAG,CAC/B,MAAMq2B,EAAO9M,EAASuM,KAAK71B,GAAGD,GACxBssB,EAAK/C,EAASyM,WAAWK,EAAK,GAAK,GACnCJ,EAAY3J,EAAGjyB,KAErB,IAAIw0B,GAAQ,EACRuH,GAAU9J,EAAGgK,WAAUzH,GAAQ,GAC/BwH,EAAK,GAAK/J,EAAGiK,aAAY1H,GAAQ,GACjCA,GAAuB,cAAdoH,EACXE,GAAa93B,KAAK2D,IACD,IAAf2Z,KAAKuT,QACY,GAAjBvT,KAAKyR,UAAiB,IAGvByB,GAAuB,cAAdoH,GACI,oBAAdA,EAEAE,GAAa93B,KAAK2D,IAAmB,IAAf2Z,KAAKuT,QAAiC,GAAjBvT,KAAKyR,UAAiB,GACxDyB,GAAuB,cAAdoH,EAClBE,GAAa93B,KAAK2D,IACD,IAAf2Z,KAAKuT,QACY,GAAjBvT,KAAKyR,UAAiB,IAEfyB,GAAuB,cAAdoH,IAClBE,GAAa93B,KAAK2D,IACD,IAAf2Z,KAAKuT,QACY,GAAjBvT,KAAKyR,UAAiB,MAMhClmB,EAAE,mBAAmBwK,YACnBtd,SAASqgB,eAAeyL,GAA4BiW,UAEjDjvB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAsdtCojB,GACyB,OAAhB9W,GAnDf,WACExY,EAAE,WAAWoM,UAAY,GACzBpM,EAAE,WAAWwK,YAAY8gB,GAAoB,YAE7C,MAAMiE,EAAiBriC,SAAS4D,cAAc,OAC9Cy+B,EAAe9M,GAAK,mBACA,WAAhBhK,GACF8W,EAAet9B,YAAc+mB,GAA4BwF,IAChC,eAAhB/F,KACT8W,EAAet9B,YAAc+mB,GAA4B0F,GAAsB,KAGjF1e,EAAE,WAAWwK,YAAY+kB,GAwCrBC,IAEgB,QAAhBhX,IACiB,QAAhBA,KAA6C,IAApBC,GAAY,KA5c5C,WACE,GAAkC,IAA9BnE,EAAUmb,gBAAuB,CACnC,MAAM/C,EAAa1sB,EAAE,mBACrB,IAAI0vB,EACuBA,EAAP,QAAhBlX,GAA+BC,GAAY,GAClCA,GAGbiU,EAAWliB,YAAY8gB,GAAoB,0BAC3C,MAAMqE,EAAOziC,SAAS4D,cAAc,OAEpC,GADA6+B,EAAKlN,GAAK,6BACkB,IAAxBlC,GAAUmP,GAAO,GAAU,CAC7BC,EAAK19B,YAAc+mB,GAA4BuH,GAAUmP,GAAO,IAChE,MAAM5C,EAAW31B,KAAKC,MACnBmpB,GAAUmP,GAAO,GAAKjb,KAAKyR,UAAa,KAEvCzM,OAAOC,SAASoT,IAA0B,IAAbA,EAC/B6C,EAAK19B,aAAe,KAAK66B,EAAW,kBAEpC6C,EAAK19B,aAAe,OAClBqiB,EAAUuF,eAAiB,IAAM,yBAGhC8V,EAAK19B,YAAc,mBAC1By6B,EAAWliB,YAAYmlB,GAEvBjD,EAAWliB,YAAY8gB,GAAoB,0BAC3C,MAAMsE,EAAO1iC,SAAS4D,cAAc,OAEpC,GADA8+B,EAAKnN,GAAK,6BACkB,IAAxBlC,GAAUmP,GAAO,GAAU,CAC7BE,EAAK39B,YAAc+mB,GAA4BuH,GAAUmP,GAAO,IAChE,MAAM5C,EAAW31B,KAAKC,MACnBmpB,GAAUmP,GAAO,GAAKjb,KAAKyR,UAAa,KAEvCzM,OAAOC,SAASoT,IAA0B,IAAbA,EAC/B8C,EAAK39B,aAAe,KAAK66B,EAAW,kBAEpC8C,EAAK39B,aAAe,OAClBqiB,EAAUuF,eAAiB,IAAM,yBAGhC+V,EAAK39B,YAAc,mBAC1By6B,EAAWliB,YAAYolB,GAEvBlD,EAAWliB,YAAY8gB,GAAoB,0BAC3C,MAAMuE,EAAO3iC,SAAS4D,cAAc,OAEpC,GADA++B,EAAKpN,GAAK,6BACkB,IAAxBlC,GAAUmP,GAAO,GAAU,CAC7BG,EAAK59B,YAAc+mB,GAA4BuH,GAAUmP,GAAO,IAChE,MAAM5C,EAAW31B,KAAKC,MACnBmpB,GAAUmP,GAAO,GAAKjb,KAAKyR,UAAa,KAEvCzM,OAAOC,SAASoT,IAA0B,IAAbA,EAC/B+C,EAAK59B,aAAe,KAAK66B,EAAW,kBAEpC+C,EAAK59B,aAAe,OAClBqiB,EAAUuF,eAAiB,IAAM,yBAGhCgW,EAAK59B,YAAc,mBAC1By6B,EAAWliB,YAAYqlB,GAEvB7vB,EAAE,iBAAiBwK,YAAYkiB,QAC1B1sB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OA+YtC4jB,GA/LN,WACE,GAAoB,MAAhBtX,IAAuC,MAAhBA,GAAqB,CACgB,OAA1DtrB,SAAS6iC,eAAe,gCAC1B/vB,EAAE,iBAAiBwK,YApuBzB,WACE,MAAMwlB,EAAc9iC,SAAS4D,cAAc,OAC3Ck/B,EAAYn5B,MAAMgI,SAAW,WAC7BmxB,EAAYn5B,MAAMqV,QAAU,QAC5B8jB,EAAYn5B,MAAMqC,KAAO,OACzB82B,EAAYn5B,MAAMkW,OAAS,OAC3BijB,EAAYvN,GAAK,6BAEjB,MAAMwN,EAAS,SACbC,EACA1zB,EACA2zB,EACAC,EACAC,GAEA,MAAM1nB,EAAMzb,SAAS4D,cAAc,OACnC6X,EAAI8Z,GAAKyN,EACTvnB,EAAI9R,MAAMqV,QAAU,OACpBvD,EAAI9R,MAAMy5B,WAAa,wBACvB3nB,EAAItZ,UA9tDgB,WA8tDcmN,EAClCmM,EAAI9R,MAAMwK,QAAU,MACpBsH,EAAI9R,MAAMqB,WAAa,8BACvB,MAAMq4B,EAAWrjC,SAAS4D,cAAc,OACxC6X,EAAI6B,YAAY+lB,GAChB,MAAMC,EAAYtjC,SAAS4D,cAAc,QACzC0/B,EAAUnhC,UAAYknB,EAAgB/Z,EACtCg0B,EAAU35B,MAAM00B,WAAa,OAC7BiF,EAAUv+B,YAAck+B,EACxBI,EAAS/lB,YAAYgmB,GACrBD,EAAS/lB,YAAYtd,SAASqgB,eAAe6iB,IAC7C,MAAMK,EAAavjC,SAAS4D,cAAc,OAC1C6X,EAAI6B,YAAYimB,GAChB,MAAMC,EAAcxjC,SAAS4D,cAAc,QAI3C,OAHA4/B,EAAYjO,GAAK4N,EACjBI,EAAWjmB,YAAYtd,SAASqgB,eAAe,cAC/CkjB,EAAWjmB,YAAYkmB,GAChB/nB,GA+DT,OA5DAqnB,EAAYxlB,YACVylB,EACE,yBACApZ,EACA,YACA,uFACA,+BAGJmZ,EAAYv+B,WAAWoF,MAAM80B,aAAe,MAC5CqE,EAAYxlB,YACVylB,EACE,+BACAtZ,EACA,YACA,gGACA,qCAGJqZ,EAAYzI,UAAU1wB,MAAM80B,aAAe,MAC3CqE,EAAYxlB,YACVylB,EACE,2BACAnZ,EACA,YACA,oGACA,iCAGJkZ,EAAYzI,UAAU1wB,MAAM80B,aAAe,MAC3CqE,EAAYxlB,YACVylB,EACE,iCACAnZ,EACA,YACA,6GACA,uCAGJkZ,EAAYzI,UAAU1wB,MAAM80B,aAAe,MAC3CqE,EAAYxlB,YACVylB,EACE,2BACAnZ,EACA,YACA,qJACA,iCAGJkZ,EAAYzI,UAAU1wB,MAAM80B,aAAe,MAC3CqE,EAAYxlB,YACVylB,EACE,wBACApZ,EACA,YACA,2EAA2EvC,EAAUqc,8BACrF,8BAIGX,EAioB4BY,IAC/BrE,MAG4B,IAA1BjY,EAAUkY,YACZxsB,EAAE,8BAA8BnJ,MAAMkI,MAAQ,MAE9CiB,EAAE,8BAA8BnJ,MAAMsC,IAAM,GAC1C6G,EAAE,WAAWxG,iBAGjBwG,EAAE,8BAA8BnJ,MAAMkG,MACpCiD,EAAE,WAAWzG,YAAc,EADiB,KAI9C,MAAM+pB,EAAS7O,KAAKuT,QAAU3B,KAAuB/N,GAC/CuY,EAAkBvc,EAAUwc,YAAcvY,GAAqB,EACrE,IAAIwY,EAAa5T,GACjB,GAA8B,IAA1B7I,EAAUwc,YAAmB,CAC/B,IAAIE,EAAczY,GAClByY,GAAe5E,KACf2E,GAA6B,GAAdC,EAAmB,GAAM,IAc1C,GAXgC,IAA5B1c,EAAU2c,eACR3N,EAASyN,IAA+B,MAAhBvY,IAAwC,IAAjB/D,KAAKwP,UACtDjkB,EAAE,0BAA0BnJ,MAAMqV,QAAU,GAC5ClM,EAAE,8BAA8B/N,YAAc,GAAG+mB,GAC/C+X,EAAazN,OACTlJ,IACH2W,EAAazN,IAAWyC,KAAW8K,QAGnC7wB,EAAE,0BAA0BnJ,MAAMqV,QAAU,OAEb,IAAlCoI,EAAU4c,oBAA2B,CACvC,MAAMC,EAAgC,EAAbJ,EAEvBzN,EAAS6N,IACQ,MAAhB3Y,IAAwC,IAAjB/D,KAAKwP,UAE7BjkB,EAAE,gCAAgCnJ,MAAMqV,QAAU,GAClDlM,EAAE,oCAAoC/N,YAAc,GAAG+mB,GACrDmY,EAAmB7N,OACflJ,IACH+W,EAAmB7N,IAAWyC,KAAW8K,QAEvC7wB,EAAE,gCAAgCnJ,MAAMqV,QAAU,YACpDlM,EAAE,gCAAgCnJ,MAAMqV,QAAU,OAEzD,GAAkC,IAA9BoI,EAAU8c,gBAAuB,CACnC,MAAMC,EAA4B,EAAbN,EAEnBzN,EAAS+N,IACQ,MAAhB7Y,IAAwC,IAAjB/D,KAAKwP,UAE7BjkB,EAAE,4BAA4BnJ,MAAMqV,QAAU,GAC9ClM,EAAE,gCAAgC/N,YAAc,GAAG+mB,GACjDqY,EAAe/N,OACXlJ,IACHiX,EAAe/N,IAAWyC,KAAW8K,QAEnC7wB,EAAE,4BAA4BnJ,MAAMqV,QAAU,YAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,OAErD,GAAwC,IAApCoI,EAAUgd,sBAA6B,CACzC,MAAMC,EAAkC,EAAbR,EAAiB,EAE1CzN,EAASiO,IACQ,MAAhB/Y,IAAwC,IAAjB/D,KAAKwP,UAE7BjkB,EAAE,kCAAkCnJ,MAAMqV,QAAU,GACpDlM,EAAE,sCAAsC/N,YAAc,GAAG+mB,GACvDuY,EAAqBjO,OACjBlJ,IACHmX,EAAqBjO,IAAWyC,KAAW8K,QAEzC7wB,EAAE,kCAAkCnJ,MAAMqV,QAAU,YACtDlM,EAAE,kCAAkCnJ,MAAMqV,QAAU,OAG3B,IAA9BoI,EAAUkd,iBACV/c,KAAK6N,QAAQ,gBAAgBU,gBAG3BrF,IACA2F,EAAS3F,KACQ,MAAhBnF,IAAwC,IAAjB/D,KAAKwP,UAE7BjkB,EAAE,4BAA4BnJ,MAAMqV,QAAU,GAC9ClM,EAAE,gCAAgC/N,YAAc,GAAG+mB,GACjD2E,GAAe2F,OACXlJ,IACHuD,GAAe2F,IAAWyC,KAAW8K,QAGrC7wB,EAAE,4BAA4BnJ,MAAMqV,QAAU,OAEjDoI,EAAUqc,aAAe,GAEzBrN,EAAShP,EAAUqc,aAAe5K,OACjB,MAAhBvN,IAAwC,IAAjB/D,KAAKwP,UAE7BjkB,EAAE,yBAAyBnJ,MAAMqV,QAAU,GAE3ClM,EACE,yBACAyxB,SAAS,GAAGx/B,YAAc,2EAA2EqiB,EAAUqc,8BACjH3wB,EAAE,6BAA6B/N,YAAc,GAAG+mB,GAC9C1E,EAAUqc,aAAe5K,KAAWzC,OAChClJ,IACH9F,EAAUqc,aAAe5K,KAAWzC,IAClCyC,KAAW8K,QAGb7wB,EAAE,yBAAyBnJ,MAAMqV,QAAU,YACL,OAApClM,EAAE,+BACXA,EAAE,8BAA8B9J,SAyEhCw7B,QACgC,OAAvB1xB,EAAE,kBAE6B,OAApCA,EAAE,+BACJA,EAAE,8BAA8B9J,SA0FtC,SAASy7B,KAEP,GACEld,KAAKmd,MAAMC,UACXpd,KAAKqd,MAAQ,IAAO,GACJ,UAAhBrd,KAAKsd,QACLzd,EAAU0d,MACV,CACA,MAAMhL,EAAQ95B,SAAS6iC,eAAe,wBAClC/I,IACFA,EAAMiL,UAAYxd,KAAKyd,QACV,GAAXzd,KAAK0X,IAAY1X,KAAK0d,GAAgB,GAAX1d,KAAK0X,KAChC,IA6BN,GAvBAnI,KACAU,KAzhDF,WACE,GAA2B,IAAvBpQ,EAAUgU,SAAgB,CAE5B,MAAM8J,EAAiBpyB,EAAE,cAAczG,YAAc,IAE/C84B,EAAiBryB,EAAE,cAAczG,YAAc,IACrD,IAAI+4B,EAAiB,EAIkB,IAArC7d,KAAK8d,aAAaC,OAAOC,SACxBhe,KAAKie,IAAI,uBA+CL1yB,EAAE,gBAAgBnJ,MAAMqV,QAAU,QA7CvClM,EAAE,gBAAgBnJ,MAAMqV,QAAU,GAClClM,EAAE,sBAAsBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MAC3CD,KAAK6D,IACJ,EACAyZ,KAAK8d,aAAaC,OAAOG,QAAUle,KAAK8d,aAAaC,OAAOnY,MAE5D+X,EACA3d,KAAK8d,aAAaC,OAAOI,aAEzBte,EAAUue,iBAAmB,EAC/B7yB,EAAE,sBAAsB/N,YAAckF,KAAKoL,MACxCkS,KAAK8d,aAAaC,OAAOG,QAAUle,KAAK8d,aAAaC,OAAOnY,MAC3D5F,KAAK0X,KAENnsB,EAAE,sBAAsB/N,YAAc,GAEzCwiB,KAAK8d,aAAaC,OAAOG,UAAYle,KAAK8d,aAAaC,OAAOI,SAE9D5yB,EAAE,sBAAsBnJ,MAAMiwB,qBAAuB,OACrD9mB,EAAE,sBAAsBnJ,MAAMkwB,wBAA0B,SAExD/mB,EAAE,sBAAsBnJ,MAAMiwB,qBAAuB,GACrD9mB,EAAE,sBAAsBnJ,MAAMkwB,wBAA0B,IAE1D/mB,EAAE,mBAAmBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MACxCD,KAAK2D,IACJ2Z,KAAK8d,aAAaC,OAAOI,QAAUne,KAAK8d,aAAaC,OAAOG,QAC5Dle,KAAK8d,aAAaC,OAAOI,QAAUne,KAAK8d,aAAaC,OAAOnY,MAE5D+X,EACA3d,KAAK8d,aAAaC,OAAOI,aAEzBte,EAAUue,iBAAmB,EAC/B7yB,EAAE,mBAAmB/N,YAAckF,KAAKoL,KACtCpL,KAAK2D,IACH2Z,KAAK8d,aAAaC,OAAOI,QAAUne,KAAK8d,aAAaC,OAAOG,QAC5Dle,KAAK8d,aAAaC,OAAOI,QAAUne,KAAK8d,aAAaC,OAAOnY,MAC1D5F,KAAK0X,KAERnsB,EAAE,mBAAmB/N,YAAc,GACxC+N,EAAE,oBAAoB/N,YAAckF,KAAKoL,MACtCkS,KAAK8d,aAAaC,OAAOI,QAAUne,KAAK8d,aAAaC,OAAOnY,MAC3D5F,KAAK0X,KAETmG,GAAkB,GAKF,cAAhB7d,KAAKqe,QACkC,IAAvCre,KAAK8d,aAAaQ,SAASN,SAE3BzyB,EAAE,iBAAiBnJ,MAAMqV,QAAU,GACnClM,EAAE,uBAAuBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MAC5CD,KAAK6D,IACJ,EACAyZ,KAAK8d,aAAaQ,SAASJ,QAAUle,KAAK8d,aAAaQ,SAAS1Y,MAEhE+X,EACA3d,KAAK8d,aAAaQ,SAASH,aAE3Bte,EAAUue,iBAAmB,EAC/B7yB,EAAE,uBAAuB/N,YAAckF,KAAKoL,MACzCkS,KAAK8d,aAAaQ,SAASJ,QAC1Ble,KAAK8d,aAAaQ,SAAS1Y,MAC3B5F,KAAK0X,KAENnsB,EAAE,uBAAuB/N,YAAc,GAC5C+N,EAAE,oBAAoBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MACzCD,KAAK2D,IACJ2Z,KAAK8d,aAAaQ,SAASH,QACzBne,KAAK8d,aAAaQ,SAASJ,QAC7Ble,KAAK8d,aAAaQ,SAASH,QAAUne,KAAK8d,aAAaQ,SAAS1Y,MAEhE+X,EACA3d,KAAK8d,aAAaQ,SAASH,aAE3Bte,EAAUue,iBAAmB,EAC/B7yB,EAAE,oBAAoB/N,YAAckF,KAAKoL,KACvCpL,KAAK2D,IACH2Z,KAAK8d,aAAaQ,SAASH,QACzBne,KAAK8d,aAAaQ,SAASJ,QAC7Ble,KAAK8d,aAAaQ,SAASH,QACzBne,KAAK8d,aAAaQ,SAAS1Y,MAC3B5F,KAAK0X,KAERnsB,EAAE,oBAAoB/N,YAAc,GACzC+N,EAAE,qBAAqB/N,YAAckF,KAAKoL,MACvCkS,KAAK8d,aAAaQ,SAASH,QAAUne,KAAK8d,aAAaQ,SAAS1Y,MAC/D5F,KAAK0X,KAETmG,GAAkB,GAElBtyB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAIrC,MAAM8mB,EAAgB,GACtBhzB,EAAE,wBAAwBoM,UAAY,GACtCha,OAAO6C,KAAKwf,KAAK4X,OAAOlI,SAASv1B,IAC/B,GAAI6lB,KAAK4X,MAAMz9B,GAAI,CACjB,MAAMo4B,EAAQV,GAAY7R,KAAK4X,MAAMz9B,GAAGuE,KAAMshB,KAAK4X,MAAMz9B,GAAGuE,KAAM,CAChE,CAAEsvB,GAAI,GAAGhO,KAAK4X,MAAMz9B,GAAGuE,aAEzB6zB,EAAMnwB,MAAMqV,QAAU,GACtB,IAAI+mB,EAAc,GAGhBA,OAD6C,IAApClb,GAAYtD,KAAK4X,MAAMz9B,GAAGuE,MACrB4kB,GAAYtD,KAAK4X,MAAMz9B,GAAGuE,MACrB2jB,EACrBkQ,EAAMO,UAAUkK,SAAS,GAAGpiC,UAAYmnB,EAAgByc,EACxDjM,EAAMO,UAAUkK,SAAS,GAAG56B,MAAM2F,MAAQ,QACR,IAA9B8X,EAAUue,gBACZ7L,EAAMO,UAAUkK,SAAS,GAAGx/B,YAAc,GAAGkF,KAAKC,MACzCqd,KAAK4X,MAAMz9B,GAAGyrB,KAAO5F,KAAK4X,MAAMz9B,GAAGgkC,QAA1C,QAEC5L,EAAMO,UAAUkK,SAAS,GAAGx/B,YAAc,GAC/C+0B,EAAMO,UAAUkK,SAAS,GAAG56B,MAAMkG,MAAQ,GAAG5F,KAAKC,MAC/Cqd,KAAK4X,MAAMz9B,GAAGyrB,MACZgY,EAC8D,EAA7Dl7B,KAAKoL,KAAKkS,KAAK4X,MAAMz9B,GAAGyrB,KAAO5F,KAAK0X,KAAK90B,WAAWxI,QACtD4lB,KAAK4X,MAAMz9B,GAAGgkC,aAElB5L,EAAMO,UAAUkK,SAAS,GAAGx/B,YAAckF,KAAKoL,KAC7CkS,KAAK4X,MAAMz9B,GAAGyrB,KAAO5F,KAAK0X,KAE5BmG,GAAkB,EAClBU,EAAcve,KAAK4X,MAAMz9B,GAAGuE,MAAQ6zB,MAGxC50B,OAAO6C,KAAK+9B,GAAe7O,SAASv1B,IAClCoR,EAAE,wBAAwBwK,YAAYwoB,EAAcpkC,OAG/B,IAAnB0jC,IACFtyB,EAAE,cAAcnJ,MAAMmG,OAA6B,GAAjBs1B,EAAsB,EAAzB,MAE7B1Z,KAAuB0Z,IACzB1Z,GAAqB0Z,EACrBjK,OAo4CJ6K,GAGAzL,KAGAgF,KAtGF,WACE,GAA+B,IAA3BnY,EAAU6e,cAA8C,IAAxB5b,EAA2B,CAE7D,IAAI6b,GAAiB,EACrBhhC,OAAO6C,KAAKwf,KAAK2R,WAAWjC,SAASv1B,IACnC,MAAMw2B,EAAK3Q,KAAK2R,UAAUx3B,GAC1B,GAAIw2B,EAAGiO,MAAQ,GAAKjO,EAAGkO,UAErB,GADAF,GAAiB,EAEkB,IAAjC3b,EAA0B7oB,SACOI,IAAjCyoB,EAA0B7oB,GAC1B,CACA,MAAM2kC,EAAcrmC,SAAS4D,cAAc,OACrC0iC,EAAWtmC,SAAS4D,cAAc,OACxC0iC,EAAS38B,MAAM48B,SAAW,QAC1BD,EAAS38B,MAAM80B,aAAe,MAC9B,MAAMnG,EAAMt4B,SAAS4D,cAAc,OACnC00B,EAAI3uB,MAAMuW,UAAY,SACtBoY,EAAI/C,GAAK,oBACT+Q,EAAShpB,YAAYgb,GACrB+N,EAAY/oB,YAAYgpB,GACxB/e,KAAKgX,QAAQrlB,KAAK9Y,KAAMomC,OAAOH,EAAYnnB,YAC3CoL,EAAkB5oB,EAClB6oB,EAA0B7oB,GAAK,QAGjC6oB,EAA0B7oB,GAAK,KAG9BwkC,GACH3e,KAAKgX,QAAQ7lB,QA2EjB+tB,GAjEF,WACE,GAA+B,IAA3Brf,EAAU6e,cAAiD,OAA3BnzB,EAAE,qBAA+B,CACnE,IAAI4zB,OAAEA,GAAWnf,KAAK2R,UAAU5O,GAC5Bqc,EAAS,IAKb,GAJIpf,KAAKie,IAAI,6BAA4BmB,GAAU,MACN,IAAzCpf,KAAK2R,UAAU5O,GAAiBvoB,OAAY4kC,GAAU,GAC1DD,GAAUC,EACNpf,KAAKie,IAAI,mBAAkBkB,GAAU,MACrC1S,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASxO,KAAK0N,OAAO,SACZ,IAAXc,EAAc2Q,GAAU,KACR,IAAX3Q,EAAc2Q,GAAU,IACb,IAAX3Q,IAAc2Q,GAAU,MAEnC5zB,EAAE,qBAAqB/N,YAAc+mB,GAA4B4a,IAoDnEE,GAh4CExf,EAAUyf,SACM,UAAhBtf,KAAKsd,SACJtd,KAAKqd,MAAQ,IAAiB,EAAXrd,KAAK0X,MAAa,IACrC1X,KAAKqd,MAAQ,GAAKrd,KAAK0X,KAAQ,GAEhC1X,KAAKuf,aAi4CPzf,IAGID,EAAUiF,MAAO,CACnB,IAAIvpB,EAAMgQ,EAAE,WAAWoM,UAAU5W,QAC/B,cACAwjB,GAA4BvE,KAAKuT,UAE/BvT,KAAKmd,MAAMqC,YAAWjkC,EAAM,2BAA2BA,YAC3DgQ,EAAE,WAAWoM,UAAYpc,GAO7B,SAASkkC,KAEPvZ,GAA8BwZ,UAAU1f,KAAK2f,kBAe/C,MAAMC,GACJC,YAAYC,GACVjnC,KAAKinC,UAAYA,EACjBjnC,KAAKknC,MAAQ,GAGfF,UAAUG,GACJnnC,KAAKknC,MAAM9jC,KAAK+jC,GAAYnnC,KAAKinC,WACnCjnC,KAAKknC,MAAMjhB,QASf+gB,YAAYI,GACV,IAAIra,EAAOqa,EACPra,EAAO/sB,KAAKinC,YAAWla,EAAO/sB,KAAKinC,WACnCla,EAAO/sB,KAAKknC,MAAM3lC,SAAQwrB,EAAO/sB,KAAKknC,MAAM3lC,QAChD,IAAI0M,EAAM,EACV,IACE,IAAI3M,EAAItB,KAAKknC,MAAM3lC,OAAS,EAC5BD,GAAK,GAAKA,EAAItB,KAAKknC,MAAM3lC,OAAS,EAAIwrB,EACtCzrB,IAEA2M,GAAOjO,KAAKknC,MAAM5lC,GAEpB,OAAY,IAAR2M,EACK,EAEFA,EAAM8e,EAGfia,QAAQI,GACN,IAAIra,EAAOqa,EAGX,OAFIra,EAAO/sB,KAAKinC,YAAWla,EAAO/sB,KAAKinC,WACnCla,EAAO/sB,KAAKknC,MAAM3lC,SAAQwrB,EAAO/sB,KAAKknC,MAAM3lC,QACnC,IAATwrB,EAAmB,EAChB/sB,KAAKknC,MAAM7hB,OAAO0H,GAAMsa,QAAO,CAACl9B,EAAGP,IAAMO,EAAIP,GAAG,IA6B3D,SAAS09B,KACP,MAAMC,EAAW19B,KAAKkE,MAAM+a,KAAKC,MAAQ,KAEzC,GAAK5B,KAAK0d,EAAI1d,KAAK0X,IAAO,GAAM,EAAG,CACjC,IAAI2I,EAAcrgB,KAAKuT,QAAU1H,GAC7B7L,KAAK0R,UAAY,IAAG2O,GAAetW,IACvCsB,GAAyB3oB,KAAK6D,IAAIyZ,KAAKsgB,cAAeD,GACtDA,GAAe,IAGf,MAAME,EAAWH,EAAW3Z,GACtB+Z,EAAc99B,KAAK6D,IAAI,EAAGyZ,KAAKuT,QAAU7M,IAAoB6Z,EAC7DE,EACJ/9B,KAAK6D,IAAI,EAAGwjB,GAAsBpD,IAAyB4Z,EACvDG,EACJh+B,KAAK6D,IAAI,EAAG0jB,GAAsB,GAAKrD,IACvC2Z,EACII,EAAgBj+B,KAAK6D,IAAI,EAAG85B,EAAc1W,IAAmB4W,EAC7DK,GAAiB5gB,KAAK6gB,aAAeha,IAAmB0Z,EAC9D,IAAK,IAAIpmC,EAAI,EAAGA,EAAIomC,EAAUpmC,IAC5BgsB,GAAYuZ,UAAUc,GACtBpa,GAAUsZ,UAAUe,GACpBpa,GAAiBqZ,UAAUgB,GAC3Bpa,GAAWoZ,UAAUiB,GACrBpa,GAAWmZ,UAAUkB,GAIvBna,GAAoB2Z,EACpB1Z,GAAmB1G,KAAKuT,QACxB5M,GAAwBoD,GACxBnD,GAA+BqD,GAAsB,GACrDN,GAAkB0W,EAClBxZ,GAAkB7G,KAAK6gB,aAGvB,MAAMC,EAAY1d,EAAYvD,EAAUkhB,YACxCja,GAAuBX,GAAY6a,YAAYF,GAC/C/Z,GAAwBX,GAAU4a,YAAYF,GAC9C9Z,GAA+BX,GAAiB2a,YAAYF,GAC5D7Z,GAAyBX,GAAW0a,YAAYF,GAChD5Z,GAAkBJ,GACU,IAAxBjH,EAAU2R,YAAiBtK,IAAmBH,IACtB,IAAxBlH,EAAU2R,YACZtK,IAAmBF,IAErB,MAAMia,EACJjhB,KAAKkhB,YAAY,mBAAqBlhB,KAAKie,IAAI,iBAG/C3S,GADE2V,GAAkC,IAAxBphB,EAAU2R,UAEpB1K,GACAC,IACCka,EAASha,GAAyB,GACRC,GAG/BmD,GAAqB9D,GAAWya,YAC9B3d,EAAWxD,EAAUshB,iBAkB3B,SAASC,GAAWzQ,EAAIxC,GACtB,IAAIpmB,EAAQ,GAmBZ,OAjBsCA,EAAlC4oB,EAAGllB,IAAM,GAAKklB,EAAGllB,KAAOoZ,IAAkBvC,EACrCqO,EAAGllB,GAAKigB,GAAoB1J,EAC5B2O,EAAGllB,KAAOigB,GAAoBzJ,EAC9B0O,EAAGllB,GAAKkgB,GAAa,IAAI,GAAYzJ,EACrCyO,EAAGllB,GAAKkgB,GAAa,IAAI,GAAYxJ,EACrCwO,EAAGllB,GAAKkgB,GAAa,IAAI,GAAYvJ,EACjCC,EAGiC,IAA1C2C,OAAOnF,EAAUwhB,sBACflT,EAAQmD,KAAWtM,OAAOnF,EAAUwhB,uBACtCt5B,EAAQia,GAGRnC,EAAUyhB,uBACRnT,EAAQnO,KAAKuT,QAAU,IAAGxrB,EAAQqa,GAEjCra,EAeT,SAASw5B,GAAY/hC,EAAQqvB,GAC3BlxB,OAAO6C,KAAKhB,GAAQkwB,SAASv1B,IAC3B,GAAI0lB,EAAU2hB,eAA4B,IAAX3S,EAC7BrvB,EAAOrF,GAAG4N,MAAQua,MADpB,CAKA9iB,EAAOrF,GAAG4N,MAAQq5B,GAChB5hC,EAAOrF,GACP6lB,KAAK6N,QAAQ1zB,GAAGsnC,YAAY5S,IAG9B,IAAK,IAAIgC,EAAI,EAAGA,EAAIhR,EAAU6hB,aAAc7Q,IACtCrxB,EAAOrF,GAAGsR,KAAOkgB,GAAakF,GAAG,KAAIrxB,EAAOrF,GAAG4N,MAAQua,OAKjE,SAASqf,GAAQniC,EAAQqvB,GACvBlxB,OAAO6C,KAAKhB,GAAQkwB,SAASv1B,IAC3B,MAAMg0B,EAAQnO,KAAK6N,QAAQ1zB,GAAGsnC,YAAY5S,GACtC7O,KAAKyR,UACPjyB,EAAOrF,GAAGsR,GACR/I,KAAK6D,IAAI4nB,GAASnO,KAAKuT,QAAU3B,MAAuB,GACtD5R,KAAKyR,UACPtD,EAAQ3uB,EAAOrF,GAAGw4B,MACfnzB,EAAOrF,GAAGsR,GAAK0iB,EAAQ3uB,EAAOrF,GAAGw4B,MAClC9S,EAAU2hB,eAA4B,IAAX3S,GAC/BlD,GAAa1vB,KAAK,CAACuD,EAAOrF,GAAGsR,GAAIojB,OA8EvC,SAAS+S,MAtET,WACElW,GAAa7G,IACb8G,GAAe,QACuB,IAA3B9L,EAAU6hB,eAA8B7hB,EAAU6hB,aAAe,GAG5EC,GAAQ/X,GAAe,GACvB+X,GAAQ9X,GAAgB,IACxB8X,GAAQ7X,GAAiB,KAGzB6B,GAAaoE,MAAK,CAAC/sB,EAAGP,IAAMO,EAAE,GAAKP,EAAE,KACrC,IAAIo/B,EAAa,EACjB,GAAIhiB,EAAUyhB,sBACZ,KAAO3V,GAAakW,GAAY,GAAK7hB,KAAKuT,UACxCsO,GAAc,EACVlW,GAAavxB,SAAWynC,EAAa,KAK7CnW,GAAaC,GAAa9L,EAAU6hB,cAAcG,GAElDN,GAAY3X,GAAe,GAC3B2X,GAAY1X,GAAgB,IAC5B0X,GAAYzX,GAAiB,KA8C7BgY,GAjCAnkC,OAAO6C,KAAK4pB,IAAesF,SAASv1B,IAC9B6lB,KAAKyR,UACPrH,GAAcjwB,GAAGsR,GACf/I,KAAK6D,IACHyZ,KAAKgW,SAAS77B,GAAGw+B,YAAc3Y,KAAKuT,QAAU3B,MAC9C,GAEA5R,KAAKyR,UACPzR,KAAKgW,SAAS77B,GAAGw+B,WAAavO,GAAcjwB,GAAGw4B,MAEjDvI,GAAcjwB,GAAGsR,GACfuU,KAAKgW,SAAS77B,GAAGw+B,WAAavO,GAAcjwB,GAAGw4B,MAC/C3N,OAAOvJ,MAAM2O,GAAcjwB,GAAGsR,MAAK2e,GAAcjwB,GAAGsR,GAAKoZ,KAE7DuF,GAAcjwB,GAAG4N,MAAQq5B,GACvBhX,GAAcjwB,GACd6lB,KAAKgW,SAAS77B,GAAGw+B,eAiCvB,SAASoJ,GACPrT,EACAC,EACAhlB,EACAilB,EACAyJ,GAEA,IAAIpJ,EAAiBtlB,EACjBulB,EAAO,EACX,IAAK,IAAI/0B,EAAI,EAAGA,EAAIk+B,EAAUl+B,GAAK,EAAG,CACpC,IAAIg0B,EACFQ,EAAY3O,KAAKoP,eAAiB1sB,KAAK6D,IAAI,EAAG0oB,EAAiBL,GACjET,EAAQnO,KAAKqP,oBAAoBX,EAAOP,GACxCA,EAAQzrB,KAAKoL,KAAKqgB,GAClBe,GAAQf,EACRc,GAAkB,EAEpB,OAAOC,EAyCT,SAAS8S,GAAOnV,GACVF,GAAgBE,IACgB,IAA9BF,GAAgBE,GAAM+J,MACxBjK,GAAgBE,GAAM+J,IAAM,EACS,WAAjC5W,KAAKqU,aAAaxH,GAAMS,OAAmB5F,IAAwB,IAuB7E,SAASua,KACP7Z,GAAe,EACf,IAAIoM,EAAO,EAEX,MAAM0N,EAAO,GACbvkC,OAAO6C,KAAKwf,KAAK6N,SAAS6B,SAASv1B,IACjC,GAAI6lB,KAAK6N,QAAQ1zB,GAAGo0B,gBAAkBvO,KAAK6N,QAAQ1zB,GAAGyzB,SAASsU,KAAM,CACnE,MAAMC,EAASniB,KAAK6N,QAAQ1zB,GAAGyzB,SAASsU,KACxCvkC,OAAO6C,KAAK2hC,GAAQzS,SAAS0S,IACvBF,EAAKE,GAAKF,EAAKE,IAAOD,EAAOC,GAC5BF,EAAKE,GAAMD,EAAOC,UAI7Bja,GAAU+Z,EAEiB,IAAvBliB,KAAKqN,gBACPmH,GAEE,IADA/sB,WAAWmgB,IAEXD,GA7EN,WACE,IAAI0a,EAAe,EAWnB,GAVIlV,GAAO,0BAAyBkV,GAAgB,KAChDlV,GAAO,2BAA0BkV,GAAgB,IACjDlV,GAAO,qBAAoBkV,GAAgB,KAC3ClV,GAAO,4BAA2BkV,GAAgB,KAClDlV,GAAO,kBAAiBkV,GAAgB,KAE5CA,GAAgB,EAAgC,IAA5BzV,GAAY,cAC5BO,GAAO,iBAAgBkV,GAAgB,MACvClV,GAAO,kBAAiBkV,GAAgB,MACxClV,GAAO,kBAAiBkV,GAAgB,MACxCriB,KAAK0N,OAAQ,CACf,MAAMc,EAASf,GAAU,YACV,IAAXe,EAAc6T,GAAgB,GACd,IAAX7T,EAAc6T,GAAgB,GACnB,IAAX7T,IAAc6T,GAAgB,IAEzC,OAAOA,EA4DHC,IAEJ9N,GAAQvH,GAAO,OAEXE,GAAO,YAAqC,IAAvBnN,KAAKqN,gBAC5BmH,GAAQ,EAAI,IAAOxU,KAAKuiB,SAE1B5kC,OAAO6C,KAAKwf,KAAKwiB,gBAAgB9S,SAASv1B,IACxC,MAAMw2B,EAAK3Q,KAAKwiB,eAAeroC,GAC3BgzB,GAAOwD,EAAGjyB,QAIY,mBAAbiyB,EAAGsF,MACZzB,GAAQ,EAAuD,IAAnD9H,GAAYiE,EAAGjyB,MAAMu3B,MAAMvJ,GAAYiE,EAAGjyB,OACjD81B,GAAQ,EAAe,IAAX7D,EAAGsF,UAItB9I,GAAO,iCAAgCqH,GAAQ,MAC/CrH,GAAO,0BAAyBqH,GAAQ,MACxCrH,GAAO,sBAAqBqH,GAAQ,MACpCrH,GAAO,iBAAgBqH,GAAQ,MAC/BrH,GAAO,kBAAiBqH,GAAQ,MAEhCrH,GAAO,yBAAwBqH,GAAQ,MACvCrH,GAAO,wBAAuBqH,GAAQ,MACtCrH,GAAO,oBAAmBqH,GAAQ,MAClCrH,GAAO,sBAAqBqH,GAAQ,MACpCrH,GAAO,sBAAqBqH,GAAQ,KAEpCrH,GAAO,kBAAiBqH,GAAQ,MAChCrH,GAAO,kBAAiBqH,GAAQ,MAEhCrH,GAAO,kBAAiBqH,GAAQ,MAGpC,IAAIiO,EAAY,EAChB,GAAIhV,GAAW,CACb,IAAIe,EAASf,GAAU,cACR,IAAXe,EAAcgG,GAAQ,KACN,IAAXhG,EAAcgG,GAAQ,IACX,IAAXhG,IAAcgG,GAAQ,MAE/BhG,EAASf,GAAU,QACJ,IAAXe,EACFgG,GACE,EACA,IACE9xB,KAAKggC,IACFhhB,EAAyB,IAAO,MAAiBhf,KAAKiU,GAAK,GAEhD,IAAX6X,EACPgG,GACE,EACA,IACE9xB,KAAKggC,IACFhhB,EAAyB,IAAO,MAAkBhf,KAAKiU,GAAK,GAEjD,IAAX6X,IACPgG,GACE,EACA,IACE9xB,KAAKggC,IACFhhB,EAAyB,IAAO,MAAkBhf,KAAKiU,GAAK,IAGrE6X,EAASf,GAAU,aACJ,IAAXe,EAAciU,GAAa,IACX,IAAXjU,EAAciU,GAAa,IAChB,IAAXjU,IAAciU,GAAa,KAEpCjU,EAASf,GAAU,YACJ,IAAXe,EAAciU,GAAa,IACX,IAAXjU,EAAciU,GAAa,KAChB,IAAXjU,IAAciU,GAAa,MAEpCjU,EAASf,GAAU,SACJ,IAAXe,EAAciU,GAAa,IACX,IAAXjU,EAAciU,GAAa,IAChB,IAAXjU,IAAciU,GAAa,KAGlCtV,GAAO,oBAAmBqH,GAAQ,EAA4B,KAAvBxU,KAAK2iB,WAAa,IAE7D,MAAMC,EAAelb,GAAuB,GAC5C,IAAImb,EAAW,EAIf,GAHI1V,GAAO,8BAA6B0V,GAAY,MAEpDA,GAAY,EAAoC,IAAhCjW,GAAY,kBACxBa,GAAW,CACb,MAAMe,EAASf,GAAU,UACV,IAAXe,EAAcqU,GAAY,IACV,IAAXrU,EAAcqU,GAAY,KACf,IAAXrU,IAAcqU,GAAY,MAErCA,GAAY5V,GAAO,QAEnB,IAAI6V,EAAU,EAEV3V,GAAO,oBAAmB2V,GAAW,EAAmB,GAAfF,EAAqBC,GAC9D1V,GAAO,oBAAmB2V,GAAW,EAAmB,KAAfF,EAAuBC,GAChE1V,GAAO,sBAAqB2V,GAAW,EAAmB,IAAfF,EAAsBC,GACjE1V,GAAO,sBACT2V,GAAW,EAAmB,KAAfF,EAAuBC,GACpC1V,GAAO,qBAAoB2V,GAAW,EAAmB,GAAfF,EAAqBC,GAC/D1V,GAAO,wBACT2V,GAAW,EAAmB,GAAfF,EAAqBC,GAClC1V,GAAO,wBACT2V,GAAW,EAAmB,GAAfF,EAAqBC,GAClC1V,GAAO,oBAAmB2V,GAAW,EAAmB,GAAfF,EAAqBC,GAC9D1V,GAAO,wBACT2V,GAAW,EAAmB,GAAfF,EAAqBC,GAClC1V,GAAO,+CACT2V,GAAW,EAAmB,KAAfF,EAAuBC,GACpC1V,GAAO,uBACT2V,GAAW,EAAmB,IAAfF,EAAsBC,GACnC1V,GAAO,qBAAoB2V,GAAW,EAAmB,KAAfF,EAAuBC,GACjE1V,GAAO,uBACT2V,GAAW,EAAmB,KAAfF,EAAuBC,GACpC1V,GAAO,mBAAkB2V,GAAW,EAAmB,GAAfF,EAAqBC,GAC7D1V,GAAO,kBAAiB2V,GAAW,EAAmB,IAAfF,EAAsBC,GAEjEllC,OAAO6C,KAAKisB,IAAYiD,SAASv1B,IAC/B,MAAMw2B,EAAKlE,GAAWtyB,GACtB,IAAI4oC,EAAYpS,EAAG0E,IAAI1E,GACI,IAAvB3Q,KAAKqN,gBACP0V,IAAc,EAAe,IAAXpS,EAAGuF,OAAgBuM,GAEzB,YAAZ9R,EAAGjyB,MACHyuB,GAAO,sDAEP4V,GAAa,EAAI,IAAOH,EAAeC,GACzCza,IAAgBuI,EAAG9B,OAASkU,KAG1B5V,GAAO,WAAU/E,IAAgB,GAErCoM,GAAQsO,EAER,IAAIE,EAAU,EAad,GAZI7V,GAAO,iBAAgB6V,GAAW,MAClC7V,GAAO,cAAa6V,GAAW,MAC/B7V,GAAO,gBAAe6V,GAAW,MACjC7V,GAAO,eAAc6V,GAAW,MAChC7V,GAAO,eAAc6V,GAAW,MAChC7V,GAAO,iBAAgB6V,GAAW,MAClC7V,GAAO,mBAAkB6V,GAAW,MACpC7V,GAAO,gBAAe6V,GAAW,MACjC7V,GAAO,eAAc6V,GAAW,MAChC7V,GAAO,eAAc6V,GAAW,MAChC7V,GAAO,gBAAe6V,GAAW,MACjC7V,GAAO,eAAc6V,GAAW,MAChC7V,GAAO,eAAgB,CAEzB,IAAI8V,EACmE,GAApEvgC,KAAKkE,OAAOib,EAAyB7B,KAAKkjB,WAAa,IAAO,IAC/D,GACA,GACA,GACFD,EAAMvgC,KAAK2D,IAAI48B,EAAK,KAEpBxZ,GAAe,EAAiC,IAA5B,GAAK,EAAIwZ,EAAM,MAAQ,GAC3CD,GAAWvZ,GAEb+K,GAAQwO,EAEJ7V,GAAO,kBAAiBqH,GAAQ,EAAgC,IAA5B9xB,KAAK2D,IAAI,IAAK2Z,KAAKmjB,QAG3D3O,GAAQ,EAAI5H,GAAY,oBAExB,MAAMwW,EAAehb,GAAeoM,EACpC72B,OAAO6C,KAAKwf,KAAKqjB,iBAAiB3T,SAASv1B,IACrCipC,GAAgBpjB,KAAKqjB,gBAAgBlpC,GAAGmpC,WAC1CtB,GAAOhiB,KAAKqjB,gBAAgBlpC,GAAGuE,SAGnC2pB,GAAkB+a,EAElB,MAAMhmC,EAAEA,GAAM4iB,KAAK8d,aAAaC,OAC1BwF,EAAW3W,GAAY,oBAC7B,IAAK,IAAIzyB,EAAI,EAAGA,EAAIiD,EAAGjD,IACrBq6B,GAAQ,EAAe,KAAX+O,EAGd,MAAM7kC,EAAOshB,KAAKwjB,WAAW/oC,cAM7B,GALa,WAATiE,EAAmB81B,GAAQ,IACb,WAAT91B,IAAmB81B,GAAQ,KAEhCrH,GAAO,oBAAmBqH,GAAQ,KAElCrH,GAAO,uBAAwB,CACjC,IAAIsW,EAAmB,IACvB,GAAItW,GAAO,iBAAkB,CAC3B,MAAMuW,EAAW1jB,KAAK2jB,qBACtBhmC,OAAO6C,KAAKkjC,GAAUhU,SAASv1B,IACzBgzB,GAAOuW,EAASvpC,MAAKspC,GAAoB,OAGjDjP,GAAQiP,EAEV,GAAItW,GAAO,yBAA0B,CACnC,IAAIyW,EAAW,GACXzW,GAAO,yBAAwByW,GAAY,IAC/CpP,GAAQ,EAAIoP,EAGVzW,GAAO,uBAAsBqH,GAAQ,KACrCrH,GAAO,wBAAuBqH,GAAQ,GAE1CpM,GAAepI,KAAK6jB,kBAAkB,MAAOzb,IAE7CoM,GAAQmD,KAERvP,IAAgBoM,EASlB,MAAMsP,GAAW,CACf,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAIIC,GAAe,CACnB,gBACA,gBACA,cACA,gBACA,kBACA,kBACA,kBAIIC,GAAgB,CACpB,0BACA,qBACA,mBACA,iBACA,sBACA,gBACA,oBAIIC,GAAa,CACjB,sBACA,wBACA,sBACA,yBACA,wBACA,yBACA,wBAIIC,GAAa,CACjB,qBACA,oBACA,oBACA,yBACA,cACA,WACA,eAkCF,SAASC,GAAatX,GACpB,OAAOF,GAAgBE,GAAQF,GAAgBE,GAAM+J,IAAM,EAe7D,SAASwN,KACP,IAAIC,EAAW,EACf1mC,OAAO6C,KAAKwf,KAAKwV,kBAAkB9F,SAASv1B,IACtCgzB,GAAOnN,KAAKwV,iBAAiBr7B,MAAKkqC,GAAY,OAE/CF,GAAa,UAAYE,GAAY,GAAGrC,GAAO,UAC/CmC,GAAa,YAAcE,GAAY,IAAIrC,GAAO,WAEvD,IAAIsC,EAAiB,EACjBC,EAAgB,EAChBC,EAAS,EACTC,EAAY,IAChB9mC,OAAO6C,KAAKisB,IAAYiD,SAASv1B,IAC/BmqC,GAAkB7X,GAAWtyB,GAAG00B,OAChC4V,EAAY/hC,KAAK2D,IAAIomB,GAAWtyB,GAAG00B,OAAQ4V,GACtCN,GAAa,kBAEd1X,GAAWtyB,GAAG00B,OACdnsB,KAAK2D,IAAI,IAAK,IAAM2Z,KAAK0kB,YAAYtqC,OAAS4lB,KAAK6N,QAAQ1zB,GAAG6zB,GAAK,MAEnEuW,EAAgB,GAEfJ,GAAa,YAEd1X,GAAWtyB,GAAG00B,OACmC,IAAhD7O,KAAK0kB,YAAYtqC,OAAS4lB,KAAK6N,QAAQ1zB,GAAG6zB,MAE3CwW,EAAS,MAGXC,GAAa,GAAGzC,GAAO,uBACL,IAAlBuC,GAAqBvC,GAAO,iBACjB,IAAXwC,GAAcxC,GAAO,WACrByC,GAAa,KAAKzC,GAAO,cACzByC,GAAa,KAAKzC,GAAO,yBACzByC,GAAa,KAAKzC,GAAO,gBACzByC,GAAa,KAAKzC,GAAO,2BACzByC,GAAa,KAAKzC,GAAO,iBACzByC,GAAa,KAAKzC,GAAO,4BACzByC,GAAa,KAAKzC,GAAO,oBACzByC,GAAa,KAAKzC,GAAO,+BACzByC,GAAa,KAAKzC,GAAO,kBACzByC,GAAa,KAAKzC,GAAO,6BACzByC,GAAa,KAAKzC,GAAO,iBAEzBsC,GAAkB,KAAKtC,GAAO,WAC9BsC,GAAkB,KAAKtC,GAAO,aAC9BsC,GAAkB,KAAMtC,GAAO,YAC/BsC,GAAkB,KAAMtC,GAAO,sBAC/BsC,GAAkB,KAAMtC,GAAO,gBAC/BsC,GAAkB,KAAMtC,GAAO,gBAE/Bxa,IAAoB,IAAIwa,GAAO,YAC/Bxa,IAAoB,IAAIwa,GAAO,aAC/Bxa,IAAoB,KAAKwa,GAAO,YAChCxa,IAAoB,KAAKwa,GAAO,oBAChCxa,IAAoB,KAAKwa,GAAO,oBAChCxa,IAAoB,KAAKwa,GAAO,oCAEhCsC,GAAkB,KAAQ9c,IAAoB,KAAKwa,GAAO,YAC1DsC,GAAkB,KAAQ9c,IAAoB,KAChDwa,GAAO,qBAELvV,GAAWkY,OAAO9V,OAASpC,GAAWwI,QAAQpG,QAAU,KAC1DmT,GAAO,qBAET,IAAI4C,GAAkB,EACtBjnC,OAAO6C,KAAKujC,IAAcrU,SAASv1B,IAC5BgzB,GAAO4W,GAAa5pC,MAAKyqC,GAAkB,MAE9CA,GAAiB5C,GAAO,kBAE5B,IAAI6C,GAAmB,EAMvB,GALAlnC,OAAO6C,KAAKwjC,IAAetU,SAASv1B,IAC7BgzB,GAAO6W,GAAc7pC,MAAK0qC,GAAmB,MAEhDA,GAAkB7C,GAAO,eAEzB7U,GAAO,mBAAoB,CAC7B,MAAM2X,EAAO9kB,KAAK0U,MAAMpG,QAAQoV,SAChC,IAAIqB,EAAW,EACfpnC,OAAO6C,KAAKskC,GAAMpV,SAASv1B,IACrBgzB,GAAO2X,EAAK3qC,GAAGuE,QAAOqmC,GAAY,MAEpCA,GAAYD,EAAK1qC,QAAQ4nC,GAAO,cAyOxC,SAASgD,GAAoBnW,GAC3B,MAAMoW,EAAS,GAQf,OAPAtnC,OAAO6C,KAAKwf,KAAK6N,SAAS6B,SAASv1B,IACjC8qC,EAAO9qC,GAAK,GACZ8qC,EAAO9qC,GAAGw4B,MA3Nd,SAAiCzE,EAAUW,GACzCuH,KACA3J,GAAWyB,GAAUW,QAAUA,EAC/B,MAAM8B,EAAKlE,GAAWyB,GAEL,WAAbA,GACEyC,EAAG9B,QAAU,GAAGmT,GAAO,SACvBrR,EAAG9B,QAAU,GAAGmT,GAAO,gBACvBrR,EAAG9B,QAAU,IAAImT,GAAO,eACxBrR,EAAG9B,QAAU,KAAKmT,GAAO,mBACzBrR,EAAG9B,QAAU,KAAKmT,GAAO,eACzBrR,EAAG9B,QAAU,KAAKmT,GAAO,uBACzBrR,EAAG9B,QAAU,KAAKmT,GAAO,SACzBrR,EAAG9B,QAAU,KAAKmT,GAAO,kCACzBrR,EAAG9B,QAAU,KAAKmT,GAAO,iCACzBrR,EAAG9B,QAAU,KAAKmT,GAAO,wBACzBrR,EAAG9B,QAAU,KAAKmT,GAAO,yBAE7BrkC,OAAO6C,KAAKwf,KAAK6N,QAAQ8C,EAAGjyB,MAAMwmC,eAAexV,SAASmB,IAEtDF,EAAG9B,QACH7O,KAAK0U,MAAM1U,KAAK6N,QAAQ8C,EAAGjyB,MAAMwmC,cAAcrU,GAAGtD,MAAM4X,cAExDnD,GAAOhiB,KAAK6N,QAAQ8C,EAAGjyB,MAAMwmC,cAAcrU,GAAGnyB,SAKpD,MAAM0mC,EAAwB1d,GAU9B,OARAua,KAEAmC,KAEIgB,IAA0B1d,IAC5Bua,KAGK7Z,GAAepI,KAAKyR,UAqLP4T,CAAwBlrC,EAAG00B,GAC9B,IAAXA,IACFxH,GAA2B,MAGxB4d,EA6BT,SAASK,KACP3nC,OAAO6C,KAAKwf,KAAK6N,SAAS6B,SAASv1B,IACjCyvB,GAAczvB,GAAGg0B,MAAQ4T,GACvB/hB,KAAK6N,QAAQ1zB,GACb6lB,KAAK6N,QAAQ1zB,GAAGw0B,UAChB3O,KAAK6N,QAAQ1zB,GAAG00B,OAChB7O,KAAK6N,QAAQ1zB,GAAGy0B,KAChB,GAEF/E,GAAe1vB,GAAGg0B,MAAQ4T,GACxB/hB,KAAK6N,QAAQ1zB,GACb6lB,KAAK6N,QAAQ1zB,GAAGw0B,UAChB3O,KAAK6N,QAAQ1zB,GAAG00B,OAChB7O,KAAK6N,QAAQ1zB,GAAGy0B,KAChB,IAEF9E,GAAgB3vB,GAAGg0B,MAAQ4T,GACzB/hB,KAAK6N,QAAQ1zB,GACb6lB,KAAK6N,QAAQ1zB,GAAGw0B,UAChB3O,KAAK6N,QAAQ1zB,GAAG00B,OAChB7O,KAAK6N,QAAQ1zB,GAAGy0B,KAChB,QASN,SAAS2W,KAEP3b,GAAgBob,GAAoB,GACpCnb,GAAiBmb,GAAoB,IACrClb,GAAkBkb,GAAoB,KAvDtC5a,GAAgB,GAChBzsB,OAAO6C,KAAKwf,KAAKgW,UAAUtG,SAASv1B,IAClC,MAAMqrC,EAnFV,SAAgCrU,GAC9B,GACkC,WAAhCnR,KAAKgW,SAAS7E,GAAS7D,MACY,IAAlCtN,KAAKgW,SAAS7E,GAAS3D,QACtBxN,KAAKgW,SAAS7E,GAASsU,UACS,aAAhCzlB,KAAKgW,SAAS7E,GAAS7D,KACzB,CACA8I,KACkC,yBAA9B1J,GAAYyE,GAASzyB,KACvBguB,GAAY,yBAAyBc,OAAS,EACP,uBAA9Bd,GAAYyE,GAASzyB,KAC9BguB,GAAY,uBAAuBc,OAAS,EAE5Cd,GAAYyE,GAAS3D,QAAUd,GAAYyE,GAAS3D,OAAS,GAAK,EAEhExN,KAAK0lB,qBAAqB1lB,KAAKgW,SAAS7E,GAAS7D,QACnD9F,IAAoB,GAEN,iBAAZ2J,GACF1J,IAAc,EACVA,GAAa,GAAGua,GAAO,aACvBva,IAAc,GAAGua,GAAO,kBACP,mBAAZ7Q,EACT6Q,GAAO,cACc,yBAAZ7Q,EACT6Q,GAAO,kBACc,iBAAZ7Q,GACT6Q,GAAO,aAGT,MAAMoD,EAAwB1d,GAE9Bua,KAEAmC,KAEIgB,IAA0B1d,IAC5Bua,KAGF,MAAM0D,EAtIV,WACE,IAAIrkC,EAAM,EACN6rB,GAAO,sBAAqB7rB,GAAO,IACnC6rB,GAAO,qBAAoB7rB,GAAO,GAClC6rB,GAAO,qBAAoB7rB,GAAO,IAClC6rB,GAAO,sBAAqB7rB,GAAO,IACnC6rB,GAAO,yBAAwB7rB,GAAO,IACtC6rB,GAAO,yBAAwB7rB,GAAO,IACtC6rB,GAAO,wBAAuB7rB,GAAO,IACrC6rB,GAAO,wBAAuB7rB,GAAO,IACrC6rB,GAAO,uBAAsB7rB,GAAO,IACpC6rB,GAAO,uBAAsB7rB,GAAO,IACxC,IAAIkjB,EAAM,EACV7mB,OAAO6C,KAAKisB,IAAYiD,SAASv1B,IAC/BqqB,GAAOiI,GAAWtyB,GAAG00B,UAEvBrK,GAAOiI,GAAWkY,OAAO9V,OACzBvtB,GAAOkjB,EAGH2I,GAAO,mBAAkB7rB,GAAsB,IAAf8mB,IAChC+E,GAAO,gBAAe7rB,GAAsB,IAAf8mB,IAC7B+E,GAAO,oBAAmB7rB,GAAsB,IAAf8mB,IACjC+E,GAAO,sBAAqB7rB,GAAsB,IAAf8mB,IACnC+E,GAAO,uBAAsB7rB,GAAsB,IAAf8mB,IACpC+E,GAAO,mBAAkB7rB,GAAsB,IAAf8mB,IAChC+E,GAAO,qBAAoB7rB,GAAsB,IAAf8mB,IAClC+E,GAAO,sBAAqB7rB,GAAsB,IAAf8mB,IACnC+E,GAAO,sBAAqB7rB,GAAsB,IAAf8mB,IACnC+E,GAAO,qBAAoB7rB,GAAsB,IAAf8mB,IAClC+E,GAAO,yBAAwB7rB,GAAsB,IAAf8mB,IACtC+E,GAAO,sBAAqB7rB,GAAsB,IAAf8mB,IACnC+E,GAAO,sBAAqB7rB,GAAsB,IAAf8mB,IAEnC+E,GAAO,kBAAiB7rB,GAAsB,IAAf8mB,IAEnC,IAAIoM,EAAO,EAiBX,GAhBIrH,GAAO,qBAAoBqH,GAAQ,KACnCrH,GAAO,gBAAeqH,GAAQ,KAC9BrH,GAAO,iBAAgBqH,GAAQ,KAC/BrH,GAAO,iBAAgBqH,GAAQ,MAE/BrH,GAAO,iBACTqH,GACE,EACA,IACE9xB,KAAK2D,IACH2Z,KAAK6N,QAAQ8W,OAAOzO,MACpB/I,GAAO,mBAAqB,GAAK,KAIzCqH,GAAQvH,GAAO,SACXR,GAAWkB,OAAOY,gBAChBd,GAAW,CACb,MAAMe,EAASf,GAAU,SACV,IAAXe,EAAcgG,GAAQ,KACN,IAAXhG,EAAcgG,GAAQ,IACX,IAAXhG,IAAcgG,GAAQ,MAInC72B,OAAO6C,KAAKwf,KAAK4X,OAAOlI,SAASv1B,SACQ,IAA5B6lB,KAAK4X,MAAMz9B,GAAGyrC,YACvBpR,GAAQxU,KAAK4X,MAAMz9B,GAAGyrC,cAI1BpR,GAAQ,EAAmC,IAA/B5H,GAAY,iBAGxB,IAAIiZ,EACFrR,EACAxU,KAAKuV,WACH,EACApI,GAAO,2BACLA,GAAO,kCACPA,GAAO,gBACT7rB,GAOJ,OAJAukC,EAAM7lB,KAAK6jB,kBAAkB,kBAAmBgC,GAE5C7lB,KAAKqO,QAAQ,mBAAkBwX,EAAM7lB,KAAK4X,MAAM,iBAAiB3B,OAE9D4P,EAiDgBC,GAAa9lB,KAAK2f,iBACvC,OAAIgG,EACK,CAACvd,GAAepI,KAAKyR,UAAWkU,GAElC,CAACvd,GAAepI,KAAKyR,WAE9B,MAAO,GAqCesU,CAAuB5rC,GACjC,iBAANA,GACFiwB,GAAcjwB,GAAK,CAAEw4B,MAAO3S,KAAKyR,UAAY3K,IACjB,IAAxBjH,EAAU2R,UACZpH,GAAcjwB,GAAGw4B,OAAS5L,GACK,IAAxBlH,EAAU2R,YACjBpH,GAAcjwB,GAAGw4B,OAAS3L,IACvBhC,OAAOC,SAASmF,GAAcjwB,GAAGw4B,SAAQvI,GAAcjwB,GAAGw4B,MAAQ,KAEvEvI,GAAcjwB,GAAK,GACfqrC,EAAY,KAAIpb,GAAcjwB,GAAGw4B,MAAQ6S,EAAY,IACrDA,EAAY,KAAIpb,GAAcjwB,GAAGy+B,WAAa4M,EAAY,QA4DpE,SAASQ,GAAqBC,EAAOC,EAAW1R,GAC9C,IAAI2R,EAAiB,EACjBjX,EAAO,EACPkX,EAAW,EACXC,EAAe,EACfC,EACF,EAAI5jC,KAAK6D,IAAI,EAAG7D,KAAKoL,KAAKpL,KAAKgjB,IAAI1F,KAAKuT,SAAW7wB,KAAK6jC,MAAQ,IAClE,KAAOH,EAAWF,EAAY1R,GAC5BtF,EAAOxsB,KAAK6D,IACV0/B,EACAvjC,KAAK2D,IACH3D,KAAKkE,MAAO,EAAI,EAAK,IAAM0/B,EAAQL,EAAQzR,GAC3C0R,EAAY1R,IAGhB4R,EAAW1jC,KAAK6D,IACd0/B,EACAvjC,KAAK2D,IACH3D,KAAKkE,MAAO,EAAI,EAAK,KAAO0/B,EAAQ,GAAKL,EAAQzR,GACjD0R,EAAY1R,IAGhB6R,EAAe3jC,KAAKkE,MAAO,EAAI,EAAK,KAAO0/B,EAAQ,GAAKL,EAAQzR,GAChE2R,GAAkBjX,EAClBoX,GAAS,EAEX,MAAO,CAACH,EAAgBjX,EAAMmX,GAmBhC,SAASG,KACP,IAAIN,EAEF,GADA9c,GAEA,GACA,EACAC,GAEF,MAAMod,EAAc9O,KAChB8O,EAAc,EAAGP,GAAaO,EAC7BP,EAAY,EAEjBvb,GAAsBqb,GACpB,EACAE,EACA5c,IAEFmB,GAA+C,EAAzBE,GAAoB,GAAUrB,GACpDoB,GACEC,GAAoB,GAAK,GAAK,GAAK,EAAItB,GAEzCyB,GAA2Bkb,GACzB,EACAE,EACA3c,IAEFqB,GACiC,EAA9BE,GAAyB,GAAUvB,GACtCsB,GACEC,GAAyB,GACzB,GACA,GACA,EACAzB,GAEF4B,GAA4B+a,GAC1B,EACY,EAAZE,EACA5c,IAEFyB,GACkC,EAA/BE,GAA0B,GAAU3B,GACvC0B,GACEC,GAA0B,GAC1B,GACA,GACA,EACA5B,GAEF+B,GAAiC4a,GAC/B,EACY,EAAZE,EACA3c,IAEF2B,GACuC,EAApCE,GAA+B,GAAU7B,GAC5C4B,GACEC,GAA+B,GAC/B,GACA,GACA,EACA/B,GAWJ,SAASqd,KACP,MAAMtG,EAAW19B,KAAKkE,MAAM+a,KAAKC,MAAQ,KAEzC,GAAK5B,KAAK0d,EAAI1d,KAAK0X,IAAO,GAAM,EAAG,CACjC,MAAMiP,EAAa3mB,KAAK4mB,gBAAgB5mB,KAAK6mB,cAIvCC,EAHiBpkC,KAAKkE,MAC1BoZ,KAAK4mB,gBAAgB5mB,KAAK6mB,aAAe7mB,KAAKsgB,gBAER59B,KAAKkE,MAAM+/B,GAG7CpG,EAAWH,EAAWjZ,GACtB4f,EACJrkC,KAAK6D,IAAI,EAAGugC,EAAiB1f,IAA0BmZ,EACzD,IAAK,IAAIpmC,EAAI,EAAGA,EAAIomC,EAAUpmC,IAC5BqsB,GAAkBkZ,UAAUqH,GAI9B5f,GAAyBiZ,EACzBhZ,GAAyB0f,EAGzBtd,GAAmBhD,GAAkBwa,YAAY,IA4HrD,SAASgG,KACP1c,GAAuB,GACvBE,GAA8B,GAC9BD,GAA+B,GAC/B,MAAMua,EAAO,GAEbnnC,OAAO6C,KAAKwf,KAAKgW,UAAUtG,SAASv1B,IAClC2qC,EAAK7oC,KAAK+jB,KAAKgW,SAAS77B,OAO1B2qC,EAAK/U,MALW,SAAU/sB,EAAGP,GAC3B,OAAIO,EAAEquB,MAAQ5uB,EAAE4uB,MAAc,EAC1BruB,EAAEquB,MAAQ5uB,EAAE4uB,OAAe,EACxB,KAIT1zB,OAAO6C,KAAKskC,GAAMpV,SAASv1B,IACzB,MAAMw2B,EAAKmU,EAAK3qC,GAEhB,GAAkB,IAAdw2B,EAAGnD,OAAc,CACnB,IAAIjyB,EAAM,GAEVA,GApDN,SAAsBo1B,GACpB,IAAIsW,EAAU,wBACE,aAAZtW,EAAGrD,OAAqB2Z,GAAW,aAEvC,IAAIC,EAAU,EACTlnB,KAAKmd,MAAMgK,SAAQD,EAAU,GAC9BA,IAASD,GAAW,YAExB,IAAIG,KAAEA,GAASzW,EACXA,EAAG0W,eAAcD,EAAOzW,EAAG0W,gBAC/B,MAAMrQ,EAAU,0DAA0DrG,EAAG3C,kBAC7E,MAAO,eAAeiZ,SACrBjnB,KAAKsnB,kBAAkBtQ,EAAS,OAAO,kBAEtCoQ,EAAK,GAAK,yBAAyBA,EAAK,OAAS,yBACjB,IAAVA,EAAK,QAAwB,IAAVA,EAAK,oBAqCrCG,CAAa5W,GAEJ,aAAZA,EAAGrD,KAAqB/C,IAAgChvB,EACvC,WAAZo1B,EAAGrD,KAAmB9C,IAA+BjvB,EAEhD,WAAZo1B,EAAGrD,MACS,WAAZqD,EAAGrD,MACS,UAAZqD,EAAGrD,OAEHhD,IAAwB/uB,OAchC,SAASisC,KACP,GAAoB,cAAhBxnB,KAAKqe,OAAwB,CAC/B,IAAI1hC,EAAuB,GAAjBqjB,KAAKyR,UACXzR,KAAKqO,QAAQ,kBAAiB1xB,GAAO,IACrCqjB,KAAKqO,QAAQ,YAAW1xB,GAAO,KACnC+sB,GAAehnB,KAAK6D,IAAI,GAAI5J,GACxBqjB,KAAKie,IAAI,gCAA+BvU,IAAgB,IAchE,SAAS+d,KACP/e,GAA2C,IAA7BU,GAAoC,IAClDV,IAAcW,GACd,MAAMod,EAAc9O,KAChB8O,EAAc,EAAG/d,IAAc+d,EAC9B/d,GAAa,EAClBC,GAAmBW,IAAuC,IAAbZ,IAAqB,GAClEE,GAAwBW,IAAsC,IAAbb,IAAqB,GACtEG,GAAgC,EAAbH,GACnBI,GACEQ,IAA6C,IAAnBT,IAA2B,GACvDE,GACEQ,IAA4C,IAAnBV,IAA2B,GACtDG,GAA4B,EAAbN,GACfO,GAAoC,IAAfD,GAErBE,GAAe,EACf,IAAI3iB,EAAM,EACNnJ,EAAI,EACRO,OAAO6C,KAAKwf,KAAK6N,SAAS6B,SAASv1B,IAC7B6lB,KAAK6N,QAAQ1zB,GAAG00B,OAAStoB,IAAKA,EAAMyZ,KAAK6N,QAAQ1zB,GAAG00B,QACpD7O,KAAK6N,QAAQ1zB,GAAG00B,OAAS,IAAGzxB,GAAK,MAEvCO,OAAO6C,KAAKwf,KAAK6N,SAAS6B,SAASv1B,KAE9B6lB,KAAK6N,QAAQ1zB,GAAG00B,OAAStoB,GAAa,IAANnJ,IACjC4iB,KAAK6N,QAAQ1zB,GAAG00B,OAAS,KACD,EAAxB7O,KAAK6N,QAAQ1zB,GAAGg0B,MAAYjF,KAE5BA,GAAuC,EAAxBlJ,KAAK6N,QAAQ1zB,GAAGg0B,MAC/BhF,GAAuBhvB,MAQ7B,SAASutC,KACP,IAAIC,EAAa,EACbC,EAAY,EACZpT,EAAO,EAGPrH,GAAO,4BAA2BqH,GAAQ,MAC1CrH,GAAO,iBAAgBqH,GAAQ,MAEnCmT,GAAc,EAA+C,GAA3C3nB,KAAKujB,SAAS,2BAChCoE,GAAc3nB,KAAK6nB,IAAI,oBACvBD,GAAa,EAAuC,GAAnC5nB,KAAKujB,SAAS,mBAC/BqE,GAAa5nB,KAAK6nB,IAAI,mBAGtBve,GAAyBkL,EAAOmT,EAChCpe,GAAwBiL,EAAOoT,EAM/Bve,GAAoC,EACD,IAA/BrJ,KAAK8d,aAAaC,OAAO3gC,IAC3BisB,IACE,EAAwC,KAApCrJ,KAAKujB,SAAS,qBAiBxB,SAASuE,KACP/d,GAAsB,EACtBC,GAAuB,EACvBC,GAAwB,CAAC,EAAG,MAC5B,IAAK,IAAI9vB,EAAI,EAAGA,EAAI6lB,KAAK2R,UAAUv3B,OAAQD,IAAK,CAC9C,IAAIglC,OAAEA,GAAWnf,KAAK2R,UAAUx3B,GAC5BilC,EAAS,IAKb,GAJIpf,KAAKie,IAAI,6BAA4BmB,GAAU,MACpB,IAA3Bpf,KAAK2R,UAAUx3B,GAAGK,OAAY4kC,GAAU,GAC5CD,GAAUC,EACNpf,KAAKie,IAAI,mBAAkBkB,GAAU,MACrC1S,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASxO,KAAK0N,OAAO,SACZ,IAAXc,EAAc2Q,GAAU,KACR,IAAX3Q,EAAc2Q,GAAU,IACb,IAAX3Q,IAAc2Q,GAAU,MAEnCpV,IAAuBoV,EACQ,IAA3Bnf,KAAK2R,UAAUx3B,GAAGK,OACpBwvB,IAAwBmV,EACpBA,EAASlV,GAAsB,KACjCA,GAAwB,CAACkV,EAAQhlC,MAuBzC,SAAS4tC,KACP/T,KACA8T,KACAL,KACAC,KACAlB,KACAQ,KACAQ,KAhiDArhB,GAAc,IAAIyZ,GAAWxc,EAAYA,EAAYhpB,OAAS,IAC9DgsB,GAAY,IAAIwZ,GAAWxc,EAAYA,EAAYhpB,OAAS,IAC5DisB,GAAmB,IAAIuZ,GAAWxc,EAAYA,EAAYhpB,OAAS,IACnEksB,GAAa,IAAIsZ,GAAWxc,EAAYA,EAAYhpB,OAAS,IAC7DmsB,GAAa,IAAIqZ,GAAWvc,EAAWA,EAAWjpB,OAAS,IA+hD3DosB,GAAoB,IAAIoZ,GAAW,GACnC1Z,GAAgC,IAAI0Z,GACE,GAApCvc,EAAWA,EAAWjpB,OAAS,IAEjCssC,KACAvG,KACAoF,KACAD,KACA1D,KAKF,MA8ImCoG,GA9Ib,CACpBzW,QAAS,EACTwP,WAAY,EACZI,cAAe,EACf3P,UAAW,EACX1M,MAAO,EACPF,cAAe,EACfQ,eAAgB,EAChBD,YAAa,OACbY,WAAY,EACZkiB,aAAc,EACd7U,cAAe,EACf3D,YAAa,EACb6R,sBAAuB,EACvBI,aAAc,EACdF,cAAe,EACfH,oBAAqB,EACrBrf,WAAY,UACZC,YAAa,UACbC,aAAc,UACdC,aAAc,UACdC,UAAW,UACXC,aAAc,UACdC,WAAY,UACZC,WAAY,UACZC,YAAa,UACbyQ,OAAQ,EACRY,SAAU,EACVC,YAAa,EACbsK,gBAAiB,EACjBlO,YAAa,EACbgY,mBAAoB,EACpBtY,cAAe,EACfoB,aAAc,EACdmX,eAAgB,EAChBC,YAAa,EACbC,QAAS,EACTC,QAAS,EACTvoB,gBAAiB,EACjBwoB,oBAAqB,EACrBnQ,oBAAqB,EACrBoQ,YAAa,EACbhM,cAAe,EACfC,oBAAqB,EACrBE,gBAAiB,EACjBE,sBAAuB,EACvBE,gBAAiB,EACjBb,aAAc,EACdG,YAAa,EACbtE,YAAa,EACbyB,YAAa,EACbkF,aAAc,EACd1F,YAAa,EACbkB,aAAc,EACdc,gBAAiB,EACjByN,oBAAqB,EACrBlL,MAAO,EACPmL,gBAAiB,EACjBC,oBAAqB,EACrBrJ,QAAS,EACTsJ,oBAAqB,EACrBC,aAAc,EACdxkB,MAAO,EACPykB,aAAc,EACdC,eAAgB,EAChBC,QAAS,EACTC,cAAe,UACfC,QAAS,EACTC,SAAU,IACVC,WAAY,6DACZC,oBAAqB,EACrBC,aAAc,EACdC,mBAAoB,UACpBC,aAAc,EACdC,cAAe,IACfC,gBACE,gEACFC,gBAAiB,EACjBC,SAAU,EACVC,eAAgB,UAChBC,SAAU,EACVC,UAAW,IACXC,YACE,oEACFC,UAAW,EACXC,gBAAiB,UACjBC,UAAW,EACXC,WAAY,IACZC,aAAc,+DACdC,kBAAmB,EACnBC,WAAY,EACZC,iBAAkB,UAClBC,WAAY,EACZC,YAAa,IACbC,cACE,gEACFC,qBAAsB,EACtBC,cAAe,EACfC,oBAAqB,UACrBC,cAAe,EACfC,eAAgB,IAChBC,iBACE,6DACFC,wBAAyB,EACzBC,iBAAkB,EAClBC,uBAAwB,UACxBC,iBAAkB,EAClBC,kBAAmB,IACnBC,oBACE,8DACFC,aAAc,EACdlnB,kBAAmB,EACnBmnB,OAAQ,CACNC,UAAW,EACXC,YAAa,EACbC,SAAU,EACVC,QAAS,EACTC,YAAa,EACbC,QAAS,EACTC,WAAY,EACZC,aAAc,EACdC,oBAAqB,EACrBC,eAAgB,EAChBC,eAAgB,EAChBC,gBAAiB,EACjBC,iBAAkB,EAClBC,iBAAkB,EAClBC,kBAAmB,EACnBC,qBAAsB,EACtBC,cAAe,EACfC,MAAO,EACPC,MAAO,EACPC,OAAQ,EACRC,OAAQ,EACRC,SAAU,EACVC,MAAO,EACPC,IAAK,EACLC,KAAM,EACNC,QAAS,IAoCsBC,GAvBnC,SAAsCC,GACpC,GAAoB,IAAhBA,EAAmB,CAErB,MAAMC,EAA2B,WAC/B,IACErB,aAAasB,oBAAoBC,OACjC,MAAOlyC,GACP,OAAO,EAET,OAAO,GAIH,iBAAkB1C,OAEb00C,IACTrB,aAAasB,oBAAoBC,OAEjCvB,aAAasB,oBAJbvyC,QAAQ0qB,IAAI,kDAoBlB,SAAS+nB,KACkB,IAArB5tB,EAAUoT,QACZ1nB,EAAE,YAAYnJ,MAAMqV,QAAU,GAC9Bub,MAEAznB,EAAE,YAAYnJ,MAAMqV,QAAU,OAEhCmc,KAwGF,SAAS8Z,KACPC,cACA3tB,KAAK4tB,eACL5tB,KAAK6tB,kBAEL7a,KACAzD,KACAU,KAuBF,SAAS6d,KACmB,IAAtBjuB,EAAUyoB,SAAiBtnB,EAAwB,EACjDuK,GAA0BwiB,MAC5BxiC,EAAE,aAAayiC,KACb,mEAEFziC,EAAE,aAAayiC,KACb,oEAEJziC,EAAE,aAAayiC,KACb,uDAQN,MAAMC,GACJpO,YAAYrlC,EAAM0zC,GAChBr1C,KAAK2B,KAAOA,EACZ3B,KAAKq1C,MAAQA,GAKjB,MAAMC,WAAwBF,GAC5BpO,YAAYrlC,EAAM0zC,EAAOE,EAAOC,EAAMC,EAAQpvC,EAAO,MACnDqvC,MAAM/zC,EAAM0zC,GACZr1C,KAAKu1C,MAAQA,EACbv1C,KAAKw1C,KAAOA,EACZx1C,KAAKy1C,OAASA,EACVpvC,IACFrG,KAAKqG,KAAOA,IAKlB,MAAMsvC,WAAuBP,GAC3BpO,YAAYrlC,EAAM0zC,EAAOG,GACvBE,MAAM/zC,EAAM0zC,GACZr1C,KAAKw1C,KAAOA,GAKhB,MAAMI,WAAsBR,GAC1BpO,YAAYrlC,EAAM0zC,EAAOE,EAAOC,GAC9BE,MAAM/zC,EAAM0zC,GACZr1C,KAAKu1C,MAAQA,EACbv1C,KAAKw1C,KAAOA,EACZ,IAAK,IAAIl0C,EAAI,EAAGA,EAAI,IAAKA,IACvBtB,KAAKu1C,MAAMj0C,GAAK,GAAGA,MAMzB,MAAMu0C,WAA2BT,GAC/BpO,YAAYrlC,EAAM0zC,EAAOE,EAAOC,EAAMhoC,EAAKE,GACzCgoC,MAAM/zC,EAAM0zC,GACZr1C,KAAKu1C,MAAQA,EACbv1C,KAAKw1C,KAAOA,EACZx1C,KAAKwN,IAAMA,EACXxN,KAAK0N,IAAMA,GAwBf,MAmzBmCooC,GAnzBpB,CAEbpd,QAAS,IAAI4c,GACX,OACA,cACA,CAAC,6BAA8B,8BAC/B,kFACA,GAEFpN,WAAY,IAAIoN,GACd,OACA,cACA,CACE,0BACA,0BACA,0BACA,yBACA,yBACA,0BACA,0BACA,2BAEF,4DACA,GAEFhN,cAAe,IAAIgN,GACjB,OACA,cACA,CACE,4BACA,4BACA,6BACA,6BACA,8BAEF,uDACA,GAEF3c,UAAW,IAAI2c,GACb,OACA,cACA,CACE,+BACA,8BACA,6CAEF,qGACA,GACA,WACEjmB,IAAY,KAKhBpD,MAAO,IAAIqpB,GACT,OACA,WACA,CACE,uBACA,SACA,cACA,4BACA,sBACA,wBAEF,yCACA,GACA,WACET,QAGJ9oB,cAAe,IAAIupB,GACjB,OACA,WACA,CAAC,aAAc,aAAc,cAC7B,oIACA,GACA,WACET,QAGJtoB,eAAgB,IAAI+oB,GAClB,OACA,WACA,CAAC,4BAA6B,mBAC9B,qDACA,GACA,WACET,QAGJvoB,YAAa,IAAIupB,GACf,WACA,WACA,2BACA,8KACA,EACA,WAEF3oB,WAAY,IAAIooB,GACd,OACA,WACA,CAAC,0BAA2B,uBAC5B,0BACA,GAEFlG,aAAc,IAAIkG,GAChB,OACA,WACA,CAAC,oBAAqB,oBACtB,mEACA,GACA,WAjU6B,IAA3BtuB,EAAUooB,aAAoBjoB,KAAKyd,QAAU5a,EAC5C7C,KAAKyd,QAAUhc,EAAgBgc,WAoUpCrK,cAAe,IAAI+a,GACjB,OACA,WACA,CAAC,yBAA0B,mBAC3B,sKACA,GAIF1e,YAAa,IAAI0e,GACf,OACA,UACA,CAAC,uBAAwB,uBACzB,yBACA,GACA,WACE5e,QAGJ+R,sBAAuB,IAAI6M,GACzB,OACA,UACA,CAAC,2BAA4B,sBAC7B,0KACA,GAEFzM,aAAc,IAAIyM,GAChB,OACA,UACA,CACE,mBACA,kBACA,0BACA,gCAEF,sGACA,GAEF3M,cAAe,IAAI2M,GACjB,OACA,UACA,CAAC,mBAAoB,mBACrB,sJACA,GAEF9M,oBAAqB,IAAIqN,GACvB,WACA,UACA,oCACA,wMACA,EACA7pB,KAEF7C,WAAY,IAAIwsB,GACd,SACA,UACA,6HAEFvsB,YAAa,IAAIusB,GACf,SACA,UACA,yGAEFtsB,aAAc,IAAIssB,GAChB,SACA,UACA,qHAEFrsB,aAAc,IAAIqsB,GAChB,SACA,UACA,4HAEFpsB,UAAW,IAAIosB,GACb,SACA,UACA,gHAEFnsB,aAAc,IAAImsB,GAChB,SACA,UACA,8HAEFlsB,WAAY,IAAIksB,GACd,SACA,UACA,wGAEFjsB,WAAY,IAAIisB,GACd,SACA,UACA,sDAEFhsB,YAAa,IAAIgsB,GACf,SACA,UACA,yDAIFvb,OAAQ,IAAIkb,GACV,OACA,cACA,CAAC,iBAAkB,iBACnB,wBACA,GACA,WACEV,QAGJ5Z,SAAU,IAAIsa,GACZ,OACA,cACA,CAAC,gBAAiB,gBAClB,+FACA,GACA,WACEpa,QAGJD,YAAa,IAAIqa,GACf,OACA,cACA,CAAC,gCAAiC,+BAClC,8BACA,GACA,WAt3H4B,IAA1BtuB,EAAUiU,aACZvoB,EAAE,cAAcnJ,MAAMkG,MAAQ,MAC9BiD,EAAE,cAAcnJ,MAAMkW,OAAS,GAC/B/M,EAAE,QAAQqjC,aAAarjC,EAAE,cAAeA,EAAE,kBAE1CA,EAAE,cAAcnJ,MAAMkG,MAAQ,OAC9BiD,EAAE,cAAcnJ,MAAMkW,OAAS,MAC/B/M,EAAE,WAAWwK,YAAYxK,EAAE,gBAE7BqoB,QAi3HAwK,gBAAiB,IAAI+P,GACnB,OACA,cACA,CACE,wBACA,iCACA,0BAEF,+DACA,GAEFje,YAAa,IAAIie,GACf,OACA,cACA,CACE,0BACA,8BACA,kCAEF,yDACA,GACA,WA1a2B,IAAzBtuB,EAAUgvB,YAEZtjC,EAAE,gBAAgBnJ,MAAMqV,QAAU,GAClCwY,MACkC,IAAzBpQ,EAAUgvB,YAEnBtjC,EAAE,gBAAgBnJ,MAAMqV,QAAU,OAClCwY,OAGA1kB,EAAE,gBAAgBnJ,MAAMqV,QAAU,OAClCuI,KAAK6tB,sBAmaP3F,mBAAoB,IAAIiG,GACtB,OACA,cACA,CAAC,iCAAkC,iCACnC,+FACA,GACA,WA7ZmC,IAAjCtuB,EAAUqoB,oBAEZ38B,EAAE,gBAAgBnJ,MAAMgI,SAAW,SACnCmB,EAAE,gBAAgBnJ,MAAMsC,IAAM,OAE9B6G,EAAE,gBAAgBnJ,MAAMgI,SAAW,MA4ZrCwlB,cAAe,IAAIue,GACjB,OACA,cACA,CACE,0BACA,oCACA,4CAEF,kEACA,GACA,WACE5e,QAGJyB,aAAc,IAAImd,GAChB,OACA,cACA,CAAC,yBAA0B,qBAC3B,iEACA,GACA,WACEle,QAGJkY,eAAgB,IAAIgG,GAClB,OACA,cACA,CAAC,6BAA8B,6BAC/B,kFACA,GAEF/F,YAAa,IAAI+F,GACf,OACA,cACA,CAAC,iCAAkC,iCACnC,+DACA,GAEF9F,QAAS,IAAI8F,GACX,OACA,cACA,CAAC,0BAA2B,0BAC5B,yDACA,GACA,WAxgBwB,IAAtBtuB,EAAUwoB,QACZ1qC,OAAO6C,KAAK4jB,IAAUsL,SAASv1B,IAC7BiqB,GAASjqB,GAAGiI,MAAMqV,QAAU,QAC5B2M,GAASjqB,GAAGiI,MAAMqC,KAAOmnB,GAAwBzxB,GAAGoR,EAAEnJ,MAAMqC,KAC5D2f,GAASjqB,GAAGiI,MAAMsC,IAAMknB,GAAwBzxB,GAAGoR,EAAEnJ,MAAMsC,OAI7D/G,OAAO6C,KAAK4jB,IAAUsL,SAASv1B,GAAOiqB,GAASjqB,GAAGiI,MAAMqV,QAAU,YAogBpE6wB,QAAS,IAAI6F,GACX,OACA,cACA,CAAC,cAAe,cAChB,2CACA,GACA,WACEL,QAGJ/tB,gBAAiB,IAAIouB,GACnB,OACA,cACA,CAAC,6BAA8B,6BAC/B,kEACA,GACA,WACEruB,OAGJyoB,oBAAqB,IAAI4F,GACvB,OACA,cACA,CAAC,qCAAsC,qCACvC,+FACA,GACA,WAlhBEtuB,EAAU0oB,oBACZh9B,EAAE,uBAAuBnJ,MAAMqV,QAAU,GAEzClM,EAAE,uBAAuBnJ,MAAMqV,QAAU,UAqhB3C2gB,oBAAqB,IAAI+V,GACvB,OACA,UACA,CACE,2CACA,2CAEF,kDACA,GAEF3F,YAAa,IAAI2F,GACf,OACA,UACA,CACE,iDACA,iDAEF,qDACA,GAEF3R,cAAe,IAAI2R,GACjB,OACA,UACA,CAAC,4BAA6B,4BAC9B,kGACA,GAEF1R,oBAAqB,IAAI0R,GACvB,OACA,UACA,CAAC,mCAAoC,mCACrC,2GACA,GAEFxR,gBAAiB,IAAIwR,GACnB,OACA,UACA,CAAC,8BAA+B,8BAChC,+GACA,GAEFtR,sBAAuB,IAAIsR,GACzB,OACA,UACA,CAAC,qCAAsC,qCACvC,kIACA,GAEFpR,gBAAiB,IAAIoR,GACnB,OACA,UACA,CAAC,8BAA+B,8BAChC,qJACA,GAEFjS,aAAc,IAAIwS,GAChB,WACA,UACA,mCACA,gKACA,EACA7pB,KAEFwX,YAAa,IAAI8R,GACf,OACA,UACA,CACE,+CACA,+CAEF,2EACA,GAEFpW,YAAa,IAAIoW,GACf,OACA,UACA,CAAC,kCAAmC,qCACpC,kCACA,GACA,WACErW,QAGJ0B,YAAa,IAAI2U,GACf,OACA,UACA,CAAC,mCAAoC,mCACrC,6CACA,GAEFzP,aAAc,IAAIyP,GAChB,OACA,UACA,CAAC,uBAAwB,uBACzB,oEACA,GAEFnV,YAAa,IAAImV,GACf,OACA,UACA,CAAC,yBAA0B,yBAC3B,4DACA,GAEFjU,aAAc,IAAIiU,GAChB,OACA,UACA,CAAC,2BAA4B,2BAC7B,yDACA,GAEFnT,gBAAiB,IAAImT,GACnB,OACA,UACA,CAAC,uBAAwB,uBACzB,iDACA,GAEF1F,oBAAqB,IAAI0F,GACvB,OACA,UACA,CAAC,qCAAsC,qCACvC,+CACA,GAIF5Q,MAAO,IAAI4Q,GACT,OACA,aACA,CAAC,iBAAkB,iBACnB,oCACA,GAEFzF,gBAAiB,IAAIyF,GACnB,OACA,aACA,CAAC,uBAAwB,uBACzB,6CACA,GAEFxF,oBAAqB,IAAIwF,GACvB,OACA,aACA,CAAC,2BAA4B,kCAC7B,yDACA,GAEF7O,QAAS,IAAI6O,GACX,OACA,aACA,CAAC,mCAAoC,+BACrC,wCACA,GAEFvF,oBAAqB,IAAI8F,GACvB,WACA,aACA,0BACA,8GACA,EACA7pB,KAEFgkB,aAAc,IAAIsF,GAChB,OACA,aACA,CAAC,gBAAiB,gBAClB,4FACA,GAIF9pB,MAAO,IAAI8pB,GACT,OACA,sBACA,CAAC,YAAa,WAAY,8BAC1B,8LACA,GAEFrF,aAAc,IAAIqF,GAChB,OACA,sBACA,CAAC,mCAAoC,mCACrC,kLACA,GAEFpF,eAAgB,IAAIoF,GAClB,OACA,iBACA,CAAC,mBAAoB,mBACrB,mDACA,GACA,WACEf,GAAoCvtB,EAAUkpB,mBAGlDC,QAAS,IAAImF,GACX,OACA,iBACA,CAAC,YAAa,YACd,iCACA,GAEFlF,cAAe,IAAIuF,GACjB,SACA,iBACA,wDAEFtF,QAAS,IAAIiF,GACX,OACA,iBACA,CAAC,YAAa,YACd,iCACA,GAEFhF,SAAU,IAAIsF,GAAc,MAAO,iBAAkB,GAAI,UACzDrF,WAAY,IAAI+E,GACd,MACA,iBACA,aACA,6DAEF9E,oBAAqB,IAAI8E,GACvB,OACA,iBACA,CAAC,mBAAoB,mBACrB,8DACA,GACA,WACEf,GAAoCvtB,EAAUwpB,wBAGlDC,aAAc,IAAI6E,GAChB,OACA,iBACA,CAAC,YAAa,YACd,wCACA,GAEF5E,mBAAoB,IAAIiF,GACtB,SACA,iBACA,6DAEFhF,aAAc,IAAI2E,GAChB,OACA,iBACA,CAAC,YAAa,YACd,wCACA,GAEF1E,cAAe,IAAIgF,GAAc,MAAO,iBAAkB,GAAI,UAC9D/E,gBAAiB,IAAIyE,GACnB,MACA,iBACA,aACA,sEAEFxE,gBAAiB,IAAIwE,GACnB,OACA,kBACA,CAAC,mBAAoB,mBACrB,yCACA,GACA,WACEf,GAAoCvtB,EAAU8pB,oBAGlDC,SAAU,IAAIuE,GACZ,OACA,kBACA,CAAC,YAAa,YACd,gCACA,GAEFtE,eAAgB,IAAI2E,GAClB,SACA,kBACA,kEAEF1E,SAAU,IAAIqE,GACZ,OACA,kBACA,CAAC,YAAa,YACd,gCACA,GAEFpE,UAAW,IAAI0E,GAAc,MAAO,kBAAmB,GAAI,UAC3DzE,YAAa,IAAImE,GACf,MACA,kBACA,aACA,6DAEFlE,UAAW,IAAIkE,GACb,OACA,mBACA,CAAC,wBAAyB,YAC1B,+BACA,GAEFjE,gBAAiB,IAAIsE,GACnB,SACA,mBACA,4DAEFrE,UAAW,IAAIgE,GACb,OACA,mBACA,CAAC,YAAa,YACd,+BACA,GAEF/D,WAAY,IAAIqE,GAAc,MAAO,mBAAoB,GAAI,UAC7DpE,aAAc,IAAI8D,GAChB,MACA,mBACA,yBACA,uDAEF7D,kBAAmB,IAAI6D,GACrB,OACA,mBACA,CAAC,mBAAoB,mBACrB,oDACA,GACA,WACEf,GAAoCvtB,EAAUyqB,sBAGlDC,WAAY,IAAI4D,GACd,OACA,mBACA,CAAC,YAAa,YACd,2CACA,GAEF3D,iBAAkB,IAAIgE,GACpB,SACA,mBACA,2DAEF/D,WAAY,IAAI0D,GACd,OACA,mBACA,CAAC,YAAa,YACd,2CACA,GAEFzD,YAAa,IAAI+D,GAAc,MAAO,mBAAoB,GAAI,UAC9D9D,cAAe,IAAIwD,GACjB,MACA,mBACA,aACA,2DAEFvD,qBAAsB,IAAIuD,GACxB,OACA,oBACA,CAAC,mBAAoB,mBACrB,iDACA,GACA,WACEf,GAAoCvtB,EAAU+qB,yBAGlDC,cAAe,IAAIsD,GACjB,OACA,oBACA,CAAC,YAAa,YACd,wCACA,GAEFrD,oBAAqB,IAAI0D,GACvB,SACA,oBACA,8DAEFzD,cAAe,IAAIoD,GACjB,OACA,oBACA,CAAC,YAAa,YACd,wCACA,GAEFnD,eAAgB,IAAIyD,GAAc,MAAO,oBAAqB,GAAI,UAClExD,iBAAkB,IAAIkD,GACpB,MACA,oBACA,aACA,yDAEFjD,wBAAyB,IAAIiD,GAC3B,OACA,uBACA,CAAC,mBAAoB,mBACrB,2EACA,GACA,WACEf,GAAoCvtB,EAAUqrB,4BAGlDC,iBAAkB,IAAIgD,GACpB,OACA,uBACA,CAAC,YAAa,YACd,kEACA,GAEF/C,uBAAwB,IAAIoD,GAC1B,SACA,uBACA,sEAEFnD,iBAAkB,IAAI8C,GACpB,OACA,uBACA,CAAC,YAAa,YACd,kEACA,GAEF7C,kBAAmB,IAAImD,GACrB,MACA,uBACA,GACA,UAEFlD,oBAAqB,IAAI4C,GACvB,MACA,uBACA,aACA,mFAIF3C,aAAc,IAAI2C,GAChB,OACA,gBACA,CAAC,wBAAyB,wBAC1B,mIACA,GAEF7pB,kBAAmB,IAAI6pB,GACrB,OACA,gBACA,CACE,iCACA,gCACA,0CAEF,8MACA,GACA,WACEnuB,KAAKuf,iBAiBX,SAASuP,KACP,OAAOtzC,KAAKuzC,UAAU,CACpBC,kBAAmB1qB,GACnB2qB,SAAUpvB,EACVqvB,QAAS,YA4Lb,SAASC,KACP,GAAI3mB,KAAyBxI,KAAKovB,aAAelnB,GAAW,CAC1D,GACElI,KAAKovB,YAAc,IACnBpvB,KAAKqvB,aAAarvB,KAAKovB,aAAaE,IAAI1sC,WAAW2sC,SAAS,aAC5D,CACA,IAAI/vC,EAASwgB,KAAKqvB,aAAarvB,KAAKovB,aAAaE,IAC9C1sC,WACA/H,MAAM,mBAAmB,GAC5B,MAAMg0B,EAAS7O,KAAKqvB,aAAarvB,KAAKovB,aAAaE,IAChD1sC,WACA/H,MAAM,sBAAsB,GAC/B,GAAe,MAAX2E,EAEF,GADAA,EAASA,EAAOgwC,WAAW,IAAK,IAC5BxvB,KAAK6N,QAAQruB,GAAQqvB,OAASA,EAChCpG,GAAyB,mCACpB,CACL,IAAIgnB,EAAO,EACXrZ,KACA,IAAK,IAAIj8B,EAAI,EAAGA,EAAI00B,EAAQ10B,IAAK,CAC/B,IAAIg0B,EACF1B,GAAWjtB,GAAQmvB,UACnB3O,KAAKoP,eACH1sB,KAAK6D,IACH,EACAkmB,GAAWjtB,GAAQqvB,OAAS,EAAIpC,GAAWjtB,GAAQovB,MAEzDT,EAAQnO,KAAKqP,oBAAoB5C,GAAWjtB,GAAS2uB,GACrDA,EAAQzrB,KAAKoL,KAAKqgB,GAClBshB,GAAQthB,EACR1B,GAAWjtB,GAAQqvB,QAAU,EAE/BpG,GAAyB,kBAAkBlE,GAA4BkrB,SAEpE,CACL,IAAIA,EAAO,EACXrZ,KACAz4B,OAAO6C,KAAKwf,KAAK6N,SAAS6B,SAASmB,IAEjC,GADArxB,EAASqxB,EACL7Q,KAAK6N,QAAQruB,GAAQqvB,OAASA,EAChCpG,GAAyB,mCAD3B,CAIA,IAAK,IAAItuB,EAAI,EAAGA,EAAI00B,EAAQ10B,IAAK,CAC/B,IAAIg0B,EACF1B,GAAWjtB,GAAQmvB,UACnB3O,KAAKoP,eACH1sB,KAAK6D,IACH,EACAkmB,GAAWjtB,GAAQqvB,OAAS,EAAIpC,GAAWjtB,GAAQovB,MAEzDT,EAAQnO,KAAKqP,oBAAoB5C,GAAWjtB,GAAS2uB,GACrDA,EAAQzrB,KAAKoL,KAAKqgB,GAClBshB,GAAQthB,EACR1B,GAAWjtB,GAAQqvB,QAAU,EAE/BpG,GAAyB,kBAAkBlE,GAA4BkrB,UAI7EjnB,GAAuBxI,KAAKovB,aAiBhC,SAASM,GAAmB5hB,EAAK6I,GAC/BP,KACA,MAAMxI,SAAEA,GAAa5N,KAAK6N,QAAQF,OAC5BgiB,EAAc/hB,EAASgiB,SAAS9hB,GAAK6I,KACvB,MAAhBgZ,EAAqB5nB,GAAU6F,EAAS+I,KAAKA,GACxB,MAAhBgZ,EAAqB3nB,GAAU4F,EAAS+I,KAAKA,GAC7B,MAAhBgZ,IAAqB1nB,GAAU2F,EAAS+I,KAAKA,IAEzC,IAATA,EAAY5O,GAAU+F,EACR,IAAT6I,EAAY3O,GAAU8F,EACb,IAAT6I,IAAY1O,GAAU6F,GAG/B,MAAMsX,EAAwB1d,GAO9B,OANAua,KAEAmC,KACIgB,IAA0B1d,IAC5Bua,KAEK7Z,GAAepI,KAAKyR,UAoD7B,SAASoe,KAEPpjB,GAAa,GACb9uB,OAAO6C,KAAKwf,KAAK6N,SAAS6B,SAASv1B,IACjCsyB,GAAWtyB,GAAKi7B,GAAoBj7B,MAItCuyB,GAAc,GACd/uB,OAAO6C,KAAKwf,KAAKgW,UAAUtG,SAASv1B,IAClCuyB,GAAYvyB,GAAK27B,GAAY37B,MAI/BwyB,GAAkB,GAClBhvB,OAAO6C,KAAKwf,KAAKqU,cAAc3E,SAASv1B,IACtCwyB,GAAgBxyB,GAAKg6B,GAAgBh6B,MAEvCi8B,KAKF,IAAI0Z,IAAiB,EAerB,SAASC,GAAM3hC,EAAM4hC,EAAQtrB,IAGD,IAAtB7E,EAAUmwB,IAAiBtrB,IAClB,IAATtW,IACmB,IAAnB0hC,IACO,IAAT1hC,GAEA7C,EAAE,iBAAiBnJ,MAAM4U,gBAAkB6I,EAAU,SAASmwB,KAC9DzkC,EAAE,iBAAiBnJ,MAAM6U,QAAU,MACtB,IAAT7I,GACF7C,EAAE,iBAAiBnJ,MAAMqV,QAAU,SACnCw4B,YAAW,WACTF,GAAM,EAAGC,GAAQ,KAChB,IAAOhwB,KAAK0X,MAEfuY,YAAW,WACTF,GAAM,EAAGC,GAAQ,KAChB,IAAOhwB,KAAK0X,MAEC,IAATtpB,GACT7C,EAAE,iBAAiBnJ,MAAM6U,QAAU,IACnCg5B,YAAW,WACTF,GAAM,EAAGC,GAAQ,KAChB,IAAOhwB,KAAK0X,MACG,IAATtpB,IAAY7C,EAAE,iBAAiBnJ,MAAMqV,QAAU,QAe5D,SAASy4B,GAAgBC,EAAKC,EAAWC,EAAW3rB,GAElD,IAA8B,IAAzB7E,EAAUuwB,IAAoB1rB,KAA8B,IAAnBorB,GAA0B,CAEtE,MAAMQ,EAAQ,IAAIC,MAAMJ,GACpBtwB,EAAUipB,aACZwH,EAAME,OAAU3wB,EAAUwwB,GAAa,KAAQrwB,KAAKwwB,OAAS,KAC1DF,EAAME,OAAS3wB,EAAUwwB,GAAa,IAC3CC,EAAMG,QAmFV,SAASC,GAAmBC,EAAcC,EAAOC,GAGjB,IAA5BhxB,EAAU8wB,IACmB,WAA7Bl4C,SAASq4C,kBACU,IAAnBhB,IAIA,IAAI7D,aAAa2E,EAAO,CAAEv3B,KAAMw3B,EAASE,MAFtB,yDAgRvB,SAASC,KAKP,GAJI9sB,KAAoBlE,KAAKixB,WAC3B/sB,GAAkBlE,KAAKixB,SAzdrBjxB,KAAKixB,UACP1lC,EAAE,QAAQnJ,MAAMkW,OAAS,MACA,IAArBuH,EAAUoT,SAAc1nB,EAAE,YAAYnJ,MAAMqV,QAAU,QAC/B,IAAvBoI,EAAUgU,WAAgBtoB,EAAE,cAAcnJ,MAAMqV,QAAU,UAE9Dg2B,KACA1Z,MAEFP,OAodKxT,KAAKixB,UAAiC,IAArBjxB,KAAKkxB,YAAmB,CAExC7wB,IAAiB1iB,OAAO6C,KAAKwf,KAAKmxB,MAAM/2C,SAC1Cy1C,KACA9H,KACA1nB,EAAe1iB,OAAO6C,KAAKwf,KAAKmxB,MAAM/2C,QAIpC8tB,KACFqd,KAnsBAvlB,KAAKie,IAAI,wBAhBb7H,KACA1J,GAAY,uBAAuBc,OAAS,EAC5CyU,KAeE7Y,GAdKhB,IAeAgB,GAA6BpJ,KAAKyR,UAosBrCiW,KACAD,KACAT,KACAR,KACA2I,KAhgBN,WACE,IAAK,IAAIrhB,EAAM,EAAGA,EAAM,GAAIA,GAAO,EACjC,IAAK,IAAI6I,EAAO,EAAGA,EAAO,EAAGA,GAAQ,EACnC7K,GAAUgC,GAAK6I,GAAQ+Y,GAAmB5hB,EAAK6I,GA8f/Cya,GAEA5J,KA1oBN,WACE,IAAI6J,EAAY,EAEhB,GAAIrxB,KAAK6N,QAAQyjB,KAAK/iB,eAAgB,CACpC,MAAMgjB,EAAcvxB,KAAK6N,QAAQyjB,KAAK1jB,SAAS4jB,MAC/C,IAAIC,EAAW,EACf9zC,OAAO6C,KAAK+wC,GAAa7hB,SAASv1B,IAChC,MAAMu3C,EAAaH,EAAYp3C,GAC/Bs3C,GAAYC,EAAWC,MAAQD,EAAW/0C,OAE5C00C,GAAaI,EAAWzxB,KAAK4xB,oBAG/BP,GAjEF,WACE,IAAIA,EAAY,EAEhBjb,KAGA,IAAIyb,EAAuB,EACL,IAAlBhqB,IAAyC,KAAlBA,KACzBgqB,GAAwB,GAEH,IAAnB/pB,IAA2C,KAAnBA,KAC1B+pB,GAAwB,GAE1BhqB,GAAgB,EAChBC,GAAiB,GAGjB,IAAK,IAAI3tB,EAAI,EAAGA,EAAI03C,IAAwB13C,EAAG,CAC7C,IAAI23C,EAAkB,SACtBn0C,OAAO6C,KAAKisB,IAAYiD,SAASmB,IAC3BpE,GAAWoE,GAAGhC,OAAS,IACzBijB,EAAkBjhB,MAGtBpE,GAAWqlB,GAAiBjjB,QAAU,EACtCtH,IAAqB,EAevB,OAXA5pB,OAAO6C,KAAKisB,IAAYiD,SAASv1B,IAC/B,MAAMw2B,EAAKlE,GAAWtyB,GACtBk3C,GAAa5iB,GACXzO,KAAK6N,QAAQ8C,EAAGjyB,MAChBshB,KAAK6N,QAAQ1zB,GAAGw0B,UAChBgC,EAAG9B,OACH7O,KAAK6N,QAAQ1zB,GAAGy0B,KAChB+B,EAAG9B,WAIAwiB,EAyBMU,GACblmB,GAAqBwlB,EA6nBjBW,GAEA9pB,GAAY,GAId,MAAM+pB,EAAejyB,KAAKujB,SAAS,kBAAoB,GAClDjc,IAAqB2qB,GACxB3qB,IAAoB,EACpBD,GAA2B,GAClBC,KAAsB2qB,IAC/B3qB,IAAoB,EACpBD,GAA2B,GAGzBA,KACFie,KACAje,GAA2B,GA3wBjC,WAEEygB,KAEAlG,KAxCF,WACE1X,GAA2B,EAC3B,IAAIgJ,EAAQ,EACZv1B,OAAO6C,KAAKwf,KAAK2R,WAAWjC,SAASv1B,IACH,IAA5B6lB,KAAK2R,UAAUx3B,GAAGykC,QAAa1L,GAAS,MAE9C,IAAIgf,EAAU,EACd,GAAIzlB,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASxO,KAAK0N,OAAO,SACZ,IAAXc,EAAc0jB,GAAW,KACT,IAAX1jB,EAAc0jB,GAAW,IACd,IAAX1jB,IAAc0jB,GAAW,MAEpC/nB,GAAyB+I,EACzBhJ,GACEgJ,GACS,IAARA,EAAe,MACuB,IAAtClT,KAAKie,IAAI,2BAAoC,IACjB,IAA5Bje,KAAKie,IAAI,iBAA0B,GACpCiU,EAsBFC,GACAhS,KACAuG,KAEA,MAAM0L,EACJpyB,KAAKqyB,oBACH3vC,KAAKkE,MAAMoZ,KAAK4mB,gBAAgB5mB,KAAK6mB,aAAe7mB,KAAKsgB,gBACvD,IAEHtgB,KAAKsgB,cAAgBtgB,KAAK6mB,cAC7Bpb,GAA4B9F,GAAWysB,EAAgB9gB,MA+vBrDghB,GAvSFnxB,EAA+B,EAC/ByK,GAA0B,GAC1BjuB,OAAO6C,KAAKwf,KAAKuyB,UAAU7iB,SAASv1B,IAClCyxB,GAAwB5L,KAAKuyB,SAASp4C,GAAG6zB,IAAMhO,KAAKuyB,SAASp4C,GACzD6lB,KAAKuyB,SAASp4C,GAAGq4C,WAAuC,WAA1BxyB,KAAKuyB,SAASp4C,GAAGK,OACjD+wB,GAA4BvL,KAAKuyB,SAASp4C,GAC1CgnB,GAAgC,MAWpCxjB,OAAO6C,KAAK4jB,IAAUsL,SAASv1B,SACa,IAA/ByxB,GAAwBzxB,KACjCiqB,GAASjqB,GAAGmf,WAAWrc,YAAYmnB,GAASjqB,WACrCiqB,GAASjqB,OAGhB6mB,IAA0BhB,KAAK8d,aAAaC,OAAO3gC,GACrD4jB,EAAwBhB,KAAK8d,aAAaC,OAAO3gC,EAC7C4jB,IACEC,EAA+BE,IACjC4uB,GAAM,EAAG,WAAW,GACpBG,GAAgBrwB,EAAUupB,WAAY,UAAW,YAAY,GAC7DsH,GACE,iBACA,wBACA,+CAIJ/yC,OAAO6C,KAAKwf,KAAKuyB,UAAU7iB,SAASv1B,SACW,IAAlCiqB,GAASpE,KAAKuyB,SAASp4C,GAAG6zB,KAlH7C,SAAuBykB,GACrB,MAAMpK,EAAU5vC,SAAS4D,cAAc,OACvCgsC,EAAQra,GAAK,UAAUykB,EAAOzkB,KAC9Bqa,EAAQjmC,MAAMkG,MAAQ,OACtB+/B,EAAQjmC,MAAMmG,OAAS,OACvB8/B,EAAQjmC,MAAMgI,SAAW,WACzBi+B,EAAQjmC,MAAMyU,OAAS,cACvBwxB,EAAQjmC,MAAMuW,UAAY,SAC1B0vB,EAAQjmC,MAAMyW,WAAa,OAC3BwvB,EAAQjmC,MAAMswC,WAAa,2BAC3BrK,EAAQjmC,MAAM6vB,SAAW,OACzBoW,EAAQjmC,MAAM+U,OAAS,UACvBkxB,EAAQjmC,MAAMqV,QAAU,QACE,IAAtBoI,EAAUwoB,UAAeA,EAAQjmC,MAAMqV,QAAU,QACrD4wB,EAAQjmC,MAAMqC,KAAOguC,EAAOlnC,EAAEnJ,MAAMqC,KACpC4jC,EAAQjmC,MAAMsC,IAAM+tC,EAAOlnC,EAAEnJ,MAAMsC,IACnC2jC,EAAQsK,QAAU,WAChBF,EAAOG,OAETvK,EAAQwK,YAAc,WACpBJ,EAAOlnC,EAAEnJ,MAAM0wC,OACb,gEACFL,EAAOlnC,EAAEnJ,MAAM2wC,aACb,iEAEJ1K,EAAQ2K,WAAa,WACnBP,EAAOlnC,EAAEnJ,MAAM0wC,OAAS,GACxBL,EAAOlnC,EAAEnJ,MAAM2wC,aAAe,IAGhC3uB,GAASquB,EAAOzkB,IAAMqa,EACtB98B,EAAE,YAAYwK,YAAYsyB,GAoFlB4K,CAAcjzB,KAAKuyB,SAASp4C,QAIlC2zC,KACA7sB,EAA+BE,EACM,IAAjCA,IAAoCoK,GAA4B,IACrC,IAAtB1L,EAAUwoB,SAAiBrnB,GACpCrjB,OAAO6C,KAAK4jB,IAAUsL,SAASv1B,IAC7BiqB,GAASjqB,GAAGiI,MAAM6U,QAAU2U,GAAwBzxB,GAAGoR,EAAEnJ,MAAM6U,QAC/DmN,GAASjqB,GAAGiI,MAAM8wC,UAChBtnB,GAAwBzxB,GAAGoR,EAAEnJ,MAAM8wC,UACrC9uB,GAASjqB,GAAGqD,YAAckF,KAAKoL,KAC7B8d,GAAwBzxB,GAAGg5C,KAAOnzB,KAAK0X,QAgF3C5W,KACCd,KAAKozB,cAA2C,YAA3BpzB,KAAKozB,aAAa54C,QAExCsmB,EACEd,KAAKozB,cAA2C,YAA3BpzB,KAAKozB,aAAa54C,KACrCsmB,IACFivB,GAAM,EAAG,gBAAgB,GACzBG,GACErwB,EAAU6pB,gBACV,eACA,iBACA,GAEFgH,GACE,sBACA,uBACA,kDA9CF7vB,IAAyBb,KAAK8d,aAAaQ,SAASN,UACtDnd,EAAuBb,KAAK8d,aAAaQ,SAASN,QAClDrgC,OAAO6C,KAAKwf,KAAKuyB,UAAU7iB,SAASv1B,IAC9B6lB,KAAKuyB,SAASp4C,GAAGq4C,WAAuC,aAA1BxyB,KAAKuyB,SAASp4C,GAAGK,OACjDgxB,GAAwBxL,KAAKuyB,SAASp4C,OAG1C41C,GAAM,EAAG,YAAY,GACrBG,GAAgBrwB,EAAUmqB,YAAa,WAAY,aAAa,GAChE0G,GACE,kBACA,oBACA,0CAnNF1wB,KAAK6N,QAAQoM,KAAK1L,gBAClBxN,IAAuBf,KAAK6N,QAAQoM,KAAKrM,SAASylB,WAEvB,IAAvBtyB,GAA4BA,EAAqBY,KAAKC,QACxDmuB,GAAM,EAAG,aAAa,GACtBG,GAAgBrwB,EAAUwqB,aAAc,YAAa,cAAc,IAErEtpB,EAAqBf,KAAK6N,QAAQoM,KAAKrM,SAASylB,UA+JpD,WACE,GACErzB,KAAK6N,QAAQ,gBAAgBU,gBACH,IAA1B1O,EAAUuoB,YACV,CACA,MAAMxa,SAAEA,GAAa5N,KAAK6N,QAAQ,gBAC9BD,EAAS6J,MAAQ7J,EAAS6L,OAAQvY,GAAmB,EAC/CA,IACRA,GAAmB,EACnB6uB,GAAM,EAAG,cAAc,GACvBG,GAAgBrwB,EAAU8qB,cAAe,aAAc,eAAe,GACtE+F,GACE,oBACA,mBACA,6CA4NJ4C,GA1IJ,WACE,GAAItzB,KAAKC,WAAa,EAAG,CACvB,IAAIszB,EAAmB,EACvB51C,OAAO6C,KAAKwf,KAAK2R,WAAWjC,SAASv1B,IACH,IAA5B6lB,KAAK2R,UAAUx3B,GAAGykC,QAAa2U,GAAoB,MAErDA,EAAmBnyB,GACrBA,EAAoBmyB,EAElBA,IAAqBvzB,KAAKwzB,mBAC1B3zB,EAAUsrB,iBAEV4E,GAAM,EAAG,oBAAoB,GAE7BA,GAAM,EAAG,iBAAiB,GAG1BwD,IAAqBvzB,KAAKwzB,mBAC1B3zB,EAAUwrB,iBAEV6E,GACErwB,EAAU0rB,oBACV,mBACA,qBACA,GAGF2E,GACErwB,EAAUorB,iBACV,gBACA,kBACA,GAIFsI,IAAqBvzB,KAAKwzB,mBAC1B3zB,EAAUqrB,wBAEVwF,GACE,0BACA,4BACA,sDAGFA,GACE,uBACA,sBACA,gCAIJtvB,EAAoBmyB,GAwFtBE,IAaJ,SAASC,KACP,IAAIn4C,EAAM,GACV,IAAK,IAAIpB,EAAI,EAAGA,EAAIsoB,EAAgBroB,OAAQD,IAC1CoB,GAAO,UAAoBknB,EAAgBtoB,eACzC0lB,EAAU,SAAS4C,EAAgBtoB,aAGvC,IAAK,IAAIA,EAAI,EAAGA,EAAIsoB,EAAgBroB,OAAQD,IAC1CoB,GAAO,UAAoBknB,EAAgBtoB,0BACzC0lB,EAAU,SAAS4C,EAAgBtoB,aAGvC,IAAK,IAAIA,EAAI,EAAGA,EAAIsoB,EAAgBroB,OAAQD,IAC1CoB,GAAO,YAAsBknB,EAAgBtoB,0BAC3C0lB,EAAU,SAAS4C,EAAgBtoB,aAGvCoR,EAAE,SAAS/N,YAAcjC,EACzBg0B,KAmBF,SAASokB,KACP,MAAMC,EAAaC,YACjBC,SAASC,aAAaC,QAAQ,sBAAsBhzC,MAAM,SAAS,IAE/DizC,EAAoBL,EAAW/4C,MAAM,wBAC3C,GAA0B,OAAtBo5C,EAA4B,CAC9B,MAAMC,EAAgBN,EAAW7yC,QAC/BkzC,EAAkB,GAClB,iBAAiBnF,QAEnBiF,aAAaI,QACX,oBACAlV,OAAO,GAAGmV,YAAYF,aAS5B,SAASG,GAAWpF,GAKlB,QAHqC,IAA1B8E,aAAaO,iBACfP,aAAaO,cAEL/5C,IAAb00C,EAAwB,CAC1BpvB,EAAYovB,OAEoB,IAArBpvB,EAAU00B,eACZ10B,EAAU00B,YAEc,IAAtB10B,EAAUgsB,gBACZhsB,EAAUgsB,QAInB,IAAI2I,GAAM,EACV72C,OAAO6C,KAAKwnC,IAAiBtY,SAASv1B,SACR,IAAjB0lB,EAAU1lB,IACnBq6C,GAAM,EACN30B,EAAU1lB,GAAK6tC,GAAgB7tC,IAChB,WAANA,GACTwD,OAAO6C,KAAKwnC,GAAgByD,QAAQ/b,SAASmB,SAEd,IAApBhR,EAAU1lB,GAAG02B,IAClBhR,EAAU1lB,GAAG02B,IAAM,GAAKhR,EAAU1lB,GAAG02B,GAAK,IAE5C2jB,GAAM,EACN30B,EAAU1lB,GAAG02B,GAAKmX,GAAgB7tC,GAAG02B,UAKzC2jB,GAAKb,KACT3C,KACArzC,OAAO6C,KAAKwnC,IAAiBtY,SAASv1B,IAC1B,WAANA,QAAkD,IAAzBw0C,GAAax0C,GAAG+E,MAC3CyvC,GAAax0C,GAAG+E,eAKpBm1C,GAAWrM,IAEbhoB,KAAKuf,aACLmU,KAkJF,SAASe,KACP92C,OAAO6C,KAAKwf,KAAK2R,WAAWjC,SAASv1B,IAC/B6lB,KAAK2R,UAAUx3B,GAAGglC,OAAS,GAAgC,IAA3Bnf,KAAK2R,UAAUx3B,GAAGK,OACpDwlB,KAAK2R,UAAUx3B,GAAGu6C,GAAK,MA0C7B,SAASC,GAAcn6C,EAAMkE,GAC3B,GAAa,MAATlE,EAAc,CAIhB,GAFA+Q,EAAE,WAAWoM,UAAYqI,KAAK6N,QAAQnvB,GAAMs4B,UAEd,IAA1BnX,EAAU2oB,YAAmB,CAC/B,MAAMoM,EAAa7S,GACjB/hB,KAAK6N,QAAQnvB,GACbshB,KAAK6N,QAAQnvB,GAAMiwB,UACnB,EACA3O,KAAK6N,QAAQnvB,GAAMkwB,KACnB5O,KAAK6N,QAAQnvB,GAAMmwB,QAEfgmB,EAAiBD,EAAa50B,KAAK6N,QAAQnvB,GAAMg4B,aACnDme,EAAiB,IACnBtpC,EAAE,WAAWoM,UAAYpM,EAAE,WACxBoM,UAAU3W,MAAM,gBAChB6C,KACC,wBAAwB0gB,GAA4BswB,UACnB,IAA/BnyC,KAAKkE,MAAMiuC,GAAwB,SAAW,+BAE9C7uB,IACG4uB,EAAa50B,KAAK6N,QAAQnvB,GAAMg4B,eAC9B1W,KAAK6N,QAAQnvB,GAAMo2C,eAAiB90B,KAAK+0B,gBAC5C9uB,iBAKU,IAAlBjG,KAAKwP,UASPjkB,EAAE,WAAWoM,UAAYpM,EAAE,WACxBoM,UAAU3W,MAAMujB,GAA4BvE,KAAK6N,QAAQnvB,GAAM40B,YAC/DzvB,KACC0gB,IACGvE,KAAK6N,QAAQnvB,GACdshB,KAAK6N,QAAQnvB,GAAMiwB,UACnB3O,KAAK6N,QAAQnvB,GAAMmwB,OACnB7O,KAAK6N,QAAQnvB,GAAMkwB,KACnB5O,KAAKmP,QACL,WAIH,GAAa,MAAT30B,EAAc,CAEvB,IAAKwlB,KAAK0Q,gBAAgBhyB,GAAO,MAAO,GACxC6M,EAAE,WAAWoM,UAAYqI,KAAKg1B,aAC5Bh1B,KAAK0Q,gBAAgBhyB,GACrB,aAEgB,MAATlE,EAAc+Q,EAAE,WAAWoM,UAAYqI,KAAKi1B,cAErC,MAATz6C,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAK6N,QAAQ,gBAAgBD,SAASsnB,aAC7Dx2C,EADuBshB,GAIT,MAATxlB,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAK0kB,YAAY,GAAG9W,SAASunB,YACpDz2C,EAAK,GACLA,EAAK,GAFkBshB,GAKT,OAATxlB,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAK0kB,YAAY,GAAG9W,SAASwnB,YAAY,EAAzCp1B,GACT,OAATxlB,EAAe+Q,EAAE,WAAWoM,UAAY,GAC/B,QAATnd,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAK6N,QAAQF,OAAOC,SAASynB,WAAW32C,EAAxCshB,GACT,QAATxlB,IACP+Q,EAAE,WAAWoM,UAAYqI,KAAK6N,QAAQF,OAAOC,SAAS0nB,YACpD52C,EAAK,GADkBshB,IAK3B,GACY,MAATxlB,GAAiC,IAAjBwlB,KAAKwP,SACb,MAATh1B,GACS,MAATA,GACS,MAATA,GACU,MAATA,IAAiBwlB,KAAKxf,KAAK,KACnB,OAAThG,GACS,OAATA,GACS,QAATA,GACU,QAATA,IAA+B,IAAbkE,EAAK,GACxB,CACA,MAAM62C,EAAO98C,SAAS4D,cAAc,OACpCk5C,EAAKvnB,GAAK,gBACVziB,EAAE,WAAWwK,YAAYw/B,GAS3B,OALAxxB,GAAcvpB,EACdwpB,GAActlB,EAEds5B,KAEOzsB,EAAE,WAAWoM,UA6GtB,SAAS69B,KACHx1B,KAAK6N,QAAQ,gBAAgBU,gBAC/B5wB,OAAO6C,KAAKwf,KAAK6N,QAAQ,gBAAgBD,SAAS2L,YAAY7J,SAC3Dv1B,IAC4C,OAAvCoR,EAAE,gBAAgBpR,KAAK04C,cACzBtxB,EAAsBpnB,GAAKoR,EAAE,gBAAgBpR,KAAK04C,YAClDtnC,EAAE,gBAAgBpR,KAAK04C,YAAc,WACnC7yB,KAAKgX,QAAQye,QAAU,EACvBz1B,KAAKgX,QAAQrlB,KACX9Y,MACA,WACE,OAAO87C,GAAc,IAAK,GAAGx6C,OAE/B,QAEF6lB,KAAKgX,QAAQ0e,cAmBzB,SAASC,KACP,IACGh1B,GACDX,KAAK6N,QAAQ,gBAAgBU,eAC7B,CACA,MAAMX,SAAEA,GAAa5N,KAAK6N,QAAQ,gBAClCpN,EAAqBmN,EAASjc,KAC9BqO,KAAK6N,QAAQ,gBAAgBD,SAASjc,KAAO,WAC3C8O,IAC8B,IAA1BZ,EAAUuoB,aAAqBxa,EAAS6J,MAAQ7J,EAAS6L,SAC3D7L,EAASgoB,cAAcj+B,WAAa,KAAKgO,GACvC0R,GACEzJ,EAAS6J,MACT7J,EAAS6L,OACT7L,EAAS6L,cAKjB9Y,GAA+B,GAkCnC,SAASk1B,MA3BT,WACE,IACGn1B,GACDV,KAAK6N,QAAQ,gBAAgBU,eAC7B,CACA,MAAMX,SAAEA,GAAa5N,KAAK6N,QAAQ,gBAClCtN,EAAuBqN,EAASkoB,OAChCt1B,EAA0B,IAAI5kB,SAC5B,UAAUgyB,EAASkoB,OAChBlzC,WACA5B,MAAM,SACN6C,KAAK,8CAEVmc,KAAK6N,QAAQ,gBAAgBD,SAASkoB,OAAS,WAC7Ct1B,IACAg1B,KACA70B,GAA+B,EAC/Bg1B,KAEAj1B,GAAiC,IASrCq1B,GACAJ,KAgJF,IAAIz8C,GAAUkmB,EAAoB,KAC9B42B,GAA+B52B,EAAoBhiB,EAAElE,IA6OzD,MAAM+8C,GAA6B,WA8BnC,SAASC,GAAmBlG,GACG,OAAzBzkC,EAAE,SAASykC,OACbzkC,EAAE,SAASykC,UAAer4B,UAAY,GAAGpM,EAAE,SAASykC,KAAUzyC,SAC9DsiB,EAAUmwB,GAAUttC,KAAKC,MAAM4I,EAAE,SAASykC,KAAUzyC,QAEtDo2C,KAQF,SAASwC,GAAanG,GACpBnwB,EAAU4rB,OAAOuE,IAAW,EACxBnwB,EAAU4rB,OAAOuE,GAAU,IAAGnwB,EAAU4rB,OAAOuE,GAAU,GAC7D2D,KAiBF,SAASyC,GAAYnwB,EAAM+pB,GACzB,MAAMjf,EAAMt4B,SAAS4D,cAAc,OACnC00B,EAAIn2B,UAAY,QAChBm2B,EAAI3uB,MAAMwK,QAAU,WACpBmkB,EAAI3uB,MAAM6U,QAAU,MACpB8Z,EAAI3uB,MAAM6vB,SAAW,OACrBlB,EAAI3uB,MAAMswC,WAAa,2BACvB3hB,EAAIhb,YAAYtd,SAASqgB,eAAe,GAAGmN,OAC3C,MAAMowB,EAAO59C,SAAS4D,cAAc,QAiBpC,OAhBAg6C,EAAKj0C,MAAM+U,OAAS,UACpBk/B,EAAKj0C,MAAMqV,QAAU,eACrB4+B,EAAKj0C,MAAMmG,OAAS,OACpB8tC,EAAKj0C,MAAMkG,MAAQ,OACnB+tC,EAAKj0C,MAAMsU,aAAe,MAC1B2/B,EAAKj0C,MAAMuW,UAAY,SACvB09B,EAAKj0C,MAAM4U,gBAAkB,UAC7Bq/B,EAAKj0C,MAAM2F,MAAQ,QACnBsuC,EAAKj0C,MAAM6vB,SAAW,OACtBokB,EAAKj0C,MAAM+vB,cAAgB,SAC3BkkB,EAAK74C,YAAcqiB,EAAU4rB,OAAOuE,GAAU,IAAM,IACpDqG,EAAK1D,QAAU,WACbwD,GAAanG,GACbhwB,KAAKuf,cAEPxO,EAAIhb,YAAYsgC,GACTtlB,EAYT,SAASulB,GAAa97C,EAAMkE,EAAMunB,EAAM6Y,GACtC,MAAM/N,EAAMt4B,SAAS4D,cAAc,OACnC00B,EAAIn2B,UAAY,UAEhB,MAAM27C,EAAc99C,SAAS4D,cAAc,KAG3C,GAFAk6C,EAAY/4C,YAAckB,EAC1BqyB,EAAIhb,YAAYwgC,GACH,gBAAT/7C,EAAwB,CAC1Bu2B,EAAIn2B,UAAY,UAChBm2B,EAAIhb,YAAYtd,SAASqgB,eAAe,MAExC,MAAMke,EAAUv+B,SAAS4D,cAAc,QACvC26B,EAAQgc,WAAa,WACnBhzB,KAAKgX,QAAQ7lB,QAEf6lB,EAAQ6b,YAAc,WACpB7yB,KAAKgX,QAAQrlB,KACX9Y,KACAomC,OAAOtc,EAAsBmc,GAAannB,aAG9Cqf,EAAQ50B,MAAM+U,OAAS,UACvB6f,EAAQ50B,MAAMqV,QAAU,eACxBuf,EAAQ50B,MAAMmG,OAAS,OACvByuB,EAAQ50B,MAAMkG,MAAQ,OACtB0uB,EAAQ50B,MAAMsU,aAAe,MAC7BsgB,EAAQ50B,MAAMuW,UAAY,SAC1Bqe,EAAQ50B,MAAM4U,gBAAkB,UAChCggB,EAAQ50B,MAAM2F,MAAQ,QACtBivB,EAAQ50B,MAAM6vB,SAAW,MACzB+E,EAAQ50B,MAAM+vB,cAAgB,SAC9B6E,EAAQx5B,YAAc,IACtBuzB,EAAIhb,YAAYihB,GAIlB,OAFAjG,EAAIhb,YAAYtd,SAASqgB,eAAe,OACxCiY,EAAIhb,YAAYkQ,GACT8K,EAQT,SAASylB,GAAcC,GACrB,MAAMC,EAAOj+C,SAASk+C,yBACtBD,EAAK3gC,YAAYtd,SAASqgB,eAAe,GAAG29B,EAAYr8C,YACxD,MAAMi8C,EAAO59C,SAAS4D,cAAc,QACpCg6C,EAAKrD,WAAa,WAChBhzB,KAAKgX,QAAQ7lB,QAEf,MAAM2tB,EAAcrmC,SAAS4D,cAAc,OACrCu6C,EAAUn+C,SAAS4D,cAAc,OACvCu6C,EAAQx0C,MAAM48B,SAAW,QACzB4X,EAAQx0C,MAAM80B,aAAe,MAC7B,MAAM0Z,EAAQn4C,SAAS4D,cAAc,OA4BrC,OA3BAu0C,EAAMh2C,UAAY,OAClBg2C,EAAMxuC,MAAM80B,aAAe,MAC3B0Z,EAAMxuC,MAAMuW,UAAY,SACxBi4B,EAAMpzC,YAAc,UACpBo5C,EAAQ7gC,YAAY66B,GACpBjzC,OAAO6C,KAAKi2C,GAAa/mB,SAASv1B,IAChC,MAAM42B,EAAMt4B,SAAS4D,cAAc,OACnC00B,EAAI3uB,MAAMuW,UAAY,SACtBoY,EAAIhb,YAAYtd,SAASqgB,eAAe29B,EAAYt8C,KACpDy8C,EAAQ7gC,YAAYgb,MAEtB+N,EAAY/oB,YAAY6gC,GACxBP,EAAKxD,YAAc,WACjB7yB,KAAKgX,QAAQrlB,KAAK9Y,KAAMomC,OAAOH,EAAYnnB,aAE7C0+B,EAAKj0C,MAAM+U,OAAS,UACpBk/B,EAAKj0C,MAAMqV,QAAU,eACrB4+B,EAAKj0C,MAAMmG,OAAS,OACpB8tC,EAAKj0C,MAAMkG,MAAQ,OACnB+tC,EAAKj0C,MAAMsU,aAAe,MAC1B2/B,EAAKj0C,MAAMuW,UAAY,SACvB09B,EAAKj0C,MAAM4U,gBAAkB,UAC7Bq/B,EAAKj0C,MAAM2F,MAAQ,QACnBsuC,EAAKj0C,MAAM6vB,SAAW,MACtBokB,EAAKj0C,MAAM+vB,cAAgB,SAC3BkkB,EAAK74C,YAAc,IACnBk5C,EAAK3gC,YAAYsgC,GACVK,EAijCT,SAASG,GAAajG,GACpB,MAAMkG,EAAQr+C,SAAS4D,cAAc,OAiCrC,GAhCAy6C,EAAMl8C,UAAY,aAClBk8C,EAAM/gC,YAAY66B,GAElBkG,EAAM/gC,YAAYqgC,GAAY,gBAAiB,UAC3Cv2B,EAAU4rB,OAAOkB,OACnBmK,EAAM/gC,YAliCV,WAEE,MAAMghC,EAAkB/2B,KAAKujB,SAAS,oBAClC,2CACA,6BAEEyT,EAAUv+C,SAAS4D,cAAc,OACvC26C,EAAQp8C,UAAY,sBAEpB,MAAMq8C,EACJj3B,KAAKuT,QAAU3B,KAAuBlJ,GAAatG,EAAYH,EAC3Di1B,EACJl3B,KAAKuT,QAAU3B,KAAuBlJ,GAClC/C,IACG+C,IAAc1I,KAAKuT,QAAU3B,OAAyBN,MAEzD,GACA6lB,EAAe1+C,SAASk+C,yBACxBS,EAAe3+C,SAAS4D,cAAc,QAK5C,GAJA+6C,EAAah1C,MAAM00B,WAAa,OAChCsgB,EAAax8C,UAAYknB,EAAgBm1B,EACzCG,EAAa55C,YAAc+mB,GAA4BmE,IACvDyuB,EAAaphC,YAAYqhC,GACP,KAAdF,EAAkB,CACpB,MAAMG,EAAgB5+C,SAAS4D,cAAc,SAC7Cg7C,EAAc75C,YAAc,KAAK05C,KACjCC,EAAaphC,YAAYshC,GAE3BL,EAAQjhC,YACNugC,GACE,cACA,4BACAa,EACAJ,IAIJ,MAAMO,EACJt3B,KAAKuT,QAAU3B,KAAuB/I,GAClCzG,EACAH,EACAs1B,EACJv3B,KAAKuT,QAAU3B,KAAuB/I,GAClClD,IACGkD,IAAoB7I,KAAKuT,QAAU3B,OAAyBN,MAE/D,GACAkmB,EAAmB/+C,SAASk+C,yBAC5Bc,EAAmBh/C,SAAS4D,cAAc,QAKhD,GAJAo7C,EAAiBr1C,MAAM00B,WAAa,OACpC2gB,EAAiB78C,UAAYknB,EAAgBw1B,EAC7CG,EAAiBj6C,YAAc+mB,GAA4BsE,IAC3D2uB,EAAiBzhC,YAAY0hC,GACL,KAApBF,EAAwB,CAC1B,MAAMG,EAAoBj/C,SAAS4D,cAAc,SACjDq7C,EAAkBl6C,YAAc,KAAK+5C,KACrCC,EAAiBzhC,YAAY2hC,GAE/BV,EAAQjhC,YACNugC,GACE,cACA,qCACAkB,EACAT,IAIJ,MAAMY,EAAahvB,KAAqBC,GAElCgvB,EAAqBn/C,SAAS4D,cAAc,QAClDu7C,EAAmBx1C,MAAM00B,WAAa,OACtC8gB,EAAmBh9C,UAAYknB,EAAgB6G,GAC/CivB,EAAmBp6C,YACjB+mB,GAA4BoE,KAC3BgvB,EAAa,MAAMpzB,GAA4BqE,MAA2B,IAC7EouB,EAAQjhC,YACNugC,GACE,cACA,yBAAwBqB,EAAa,oBAAsB,IAC3DC,EACAb,IAIJ,MAAMc,EAA2Bp/C,SAAS4D,cAAc,QACxDw7C,EAAyBz1C,MAAM00B,WAAa,OAC5C+gB,EAAyBj9C,UAAYknB,EAAgB+1B,EACrDA,EAAyBr6C,YACvB+mB,GAA4BuE,KAC3B6uB,EAAa,MAAMpzB,GAA4BwE,MAAiC,IACnFiuB,EAAQjhC,YACNugC,GACE,cACA,kCAAiCqB,EAAa,oBAAsB,IACpEE,EACAd,IAIJ,MAAMe,EACJp1C,KAAK2D,IACqC,KAAvC2Z,KAAKuT,QAAU3B,MAChBxI,GAA6BC,GAAoC,GAAK,IACpE,GACA0uB,EAAet/C,SAAS4D,cAAc,QAc5C,OAbA07C,EAAa31C,MAAM00B,WAAa,OAChCihB,EAAan9C,UAAYknB,EAAgBi2B,EACzCA,EAAav6C,YACX+mB,GAA4B+E,GAAyBwuB,IACpDH,EAAa,MAAMpzB,GAA4BgF,GAAwBuuB,KAAkB,IAC5Fd,EAAQjhC,YACNugC,GACE,cACA,yBAAwBqB,EAAa,oBAAsB,IAC3DI,EACAhB,IAGGC,EA46BagB,IAGpBlB,EAAM/gC,YAAYqgC,GAAY,gBAAiB,UAC3Cv2B,EAAU4rB,OAAOmB,OACnBkK,EAAM/gC,YA16BV,WAEE,MAAMghC,EAAkB/2B,KAAKujB,SAAS,oBAClC,2CACA,6BAEEyT,EAAUv+C,SAAS4D,cAAc,OACvC26C,EAAQp8C,UAAY,sBAEpB,MAAMq9C,EACJj4B,KAAKuT,QAAU3B,KAAuBnH,GAClCrI,EACAH,EACAi2B,EACJl4B,KAAKuT,QAAU3B,KAAuBnH,GAClC9E,IACG8E,IAAsBzK,KAAKuT,QAAU3B,OACpCN,MAEJ,GACA6mB,EAAe1/C,SAASk+C,yBACxByB,EAAe3/C,SAAS4D,cAAc,QAK5C,GAJA+7C,EAAah2C,MAAM00B,WAAa,OAChCshB,EAAax9C,UAAYknB,EAAgBm2B,EACzCG,EAAa56C,YAAc+mB,GAA4BkG,IACvD0tB,EAAapiC,YAAYqiC,GACP,KAAdF,EAAkB,CACpB,MAAMG,EAAgB5/C,SAAS4D,cAAc,SAC7Cg8C,EAAc76C,YAAc,KAAK06C,KACjCC,EAAapiC,YAAYsiC,GAE3BrB,EAAQjhC,YACNugC,GACE,cACA,2BACA6B,EACApB,IAIJ,MAAMuB,EACJt4B,KAAKuT,QAAU3B,KAAuBhH,GAClCxI,EACAH,EACAs2B,EACJv4B,KAAKuT,QAAU3B,KAAuBhH,GAClCjF,IACGiF,IAA2B5K,KAAKuT,QAAU3B,OACzCN,MAEJ,GACAknB,EAAoB//C,SAASk+C,yBAC7B8B,EAAoBhgD,SAAS4D,cAAc,QAKjD,GAJAo8C,EAAkBr2C,MAAM00B,WAAa,OACrC2hB,EAAkB79C,UAAYknB,EAAgBw2B,EAC9CG,EAAkBj7C,YAAc+mB,GAA4BqG,IAC5D4tB,EAAkBziC,YAAY0iC,GACP,KAAnBF,EAAuB,CACzB,MAAMG,EAAqBjgD,SAAS4D,cAAc,SAClDq8C,EAAmBl7C,YAAc,KAAK+6C,KACtCC,EAAkBziC,YAAY2iC,GAEhC1B,EAAQjhC,YACNugC,GACE,cACA,mCACAkC,EACAzB,IAIJ,MAAM4B,EACJ34B,KAAKuT,QAAU3B,KAAuB7G,GAClC3I,EACAH,EACA22B,EACJ54B,KAAKuT,QAAU3B,KAAuB7G,GAClCpF,IACGoF,IAA4B/K,KAAKuT,QAAU3B,OAC1CN,MAEJ,GACAunB,EAAmBpgD,SAASk+C,yBAC5BmC,EAAmBrgD,SAAS4D,cAAc,QAKhD,GAJAy8C,EAAiB12C,MAAM00B,WAAa,OACpCgiB,EAAiBl+C,UAAYknB,EAAgB62B,EAC7CG,EAAiBt7C,YAAc+mB,GAA4BwG,IAC3D8tB,EAAiB9iC,YAAY+iC,GACL,KAApBF,EAAwB,CAC1B,MAAMG,EAAoBtgD,SAAS4D,cAAc,SACjD08C,EAAkBv7C,YAAc,KAAKo7C,KACrCC,EAAiB9iC,YAAYgjC,GAE/B/B,EAAQjhC,YACNugC,GACE,cACA,oCACAuC,EACA9B,IAIJ,MAAMiC,EACJh5B,KAAKuT,QAAU3B,KAAuB1G,GAClC9I,EACAH,EACAg3B,EACJj5B,KAAKuT,QAAU3B,KAAuB1G,GAClCvF,IACGuF,IACElL,KAAKuT,QAAU3B,OAChBN,MAEJ,GACA4nB,EAAwBzgD,SAASk+C,yBACjCwC,EAAwB1gD,SAAS4D,cAAc,QAKrD,GAJA88C,EAAsB/2C,MAAM00B,WAAa,OACzCqiB,EAAsBv+C,UAAYknB,EAAgBk3B,EAClDG,EAAsB37C,YAAc+mB,GAA4B2G,IAChEguB,EAAsBnjC,YAAYojC,GACL,KAAzBF,EAA6B,CAC/B,MAAMG,EAAyB3gD,SAAS4D,cAAc,SACtD+8C,EAAuB57C,YAAc,KAAKy7C,KAC1CC,EAAsBnjC,YAAYqjC,GAEpCpC,EAAQjhC,YACNugC,GACE,cACA,4CACA4C,EACAnC,IAIJC,EAAQjhC,YACNugC,GACE,cACA,wCACA79C,SAASqgB,eACP,GAAGyL,GAA4BoG,GAAoB,SAASpG,GAC1DuG,GAAyB,OAG7BisB,IAIJC,EAAQjhC,YACNugC,GACE,cACA,iDACA79C,SAASqgB,eACP,GAAGyL,GAA4B0G,GAA0B,SAAS1G,GAChE0G,GAA0B,OAG9B8rB,IAIJ,MAAMsC,EAAc32C,KAAK2D,IACN,GAAjB2Z,KAAKyR,UAAiB,GAAK,EAAIpI,GAChB,GAAfrJ,KAAKuT,SAED+lB,EAAWtT,GACf,EACAqT,EACA/vB,IACA,GACIiwB,EAAgBvT,GACpB,EACAqT,EACA9vB,IACA,GAoCF,OAnCAytB,EAAQjhC,YACNugC,GACE,cACA,wCACA79C,SAASqgB,eACP,GAAGyL,GAA4B+0B,QAAe/0B,GAA4Bg1B,MAE5ExC,IAIJC,EAAQjhC,YACNugC,GACE,cACA,oCACA79C,SAASqgB,eACP,GAAGyL,GAA4BmG,SAA6BnG,GAC1DsG,OAGJ,8BAGJmsB,EAAQjhC,YACNugC,GACE,cACA,6CACA79C,SAASqgB,eACP,GAAGyL,GAA4ByG,SAAmCzG,GAChE4G,OAGJ,8BAGG6rB,EAytBawC,IAGhBx5B,KAAK6N,QAAQ,gBAAgBU,iBAC/BuoB,EAAM/gC,YAAYqgC,GAAY,SAAU,WACpCv2B,EAAU4rB,OAAOoB,QACnBiK,EAAM/gC,YAxtBZ,WACE,MAAMihC,EAAUv+C,SAAS4D,cAAc,OACvC26C,EAAQp8C,UAAY,uBAEpB,MAAM6+C,EACJz5B,KAAKuT,QAAU3B,KAAuB5I,GAClC5G,EACAH,EACAy3B,EACJ15B,KAAKuT,QAAU3B,KAAuB5I,GAClCrD,IACGqD,IAAgBhJ,KAAKuT,QAAU3B,OAAyBN,MAE3D,GAEAqoB,EAAiBlhD,SAASk+C,yBAC1BiD,EAAiBnhD,SAAS4D,cAAc,QAK9C,GAJAu9C,EAAex3C,MAAM00B,WAAa,OAClC8iB,EAAeh/C,UAAYknB,EAAgB23B,EAC3CG,EAAep8C,YAAc+mB,GAA4ByE,IACzD2wB,EAAe5jC,YAAY6jC,GACP,KAAhBF,EAAoB,CACtB,MAAMG,EAAkBphD,SAAS4D,cAAc,SAC/Cw9C,EAAgBr8C,YAAc,KAAKk8C,KACnCC,EAAe5jC,YAAY8jC,GAE7B7C,EAAQjhC,YACNugC,GACE,cACA,yCACAqD,EACA,+BAGJ3C,EAAQjhC,YACNugC,GACE,cACA,qCACA79C,SAASqgB,eAAeyL,GAA4B0E,KACpD,+BAIJ,MAAM6wB,EACJ95B,KAAKuT,QAAU3B,KAAsC,EAAf5I,GAClC5G,EACAH,EACA83B,EAAmBr3C,KAAK2D,IACY,KAAvC2Z,KAAKuT,QAAU3B,MACa,GAA7BxI,GAAkC,IAE9B4wB,EACJh6B,KAAKuT,QAAU3B,KAAsC,EAAf5I,GAClCrD,IACkB,EAAfqD,IAAoBhJ,KAAKuT,QAAU3B,OAAyBN,MAE/D,GAEA2oB,EAAuBxhD,SAASk+C,yBAChCuD,EAAuBzhD,SAAS4D,cAAc,QAKpD,GAJA69C,EAAqB93C,MAAM00B,WAAa,OACxCojB,EAAqBt/C,UAAYknB,EAAgBg4B,EACjDI,EAAqB18C,YAAc+mB,GAA2C,EAAfyE,IAC/DixB,EAAqBlkC,YAAYmkC,GACP,KAAtBF,EAA0B,CAC5B,MAAMG,EAAwB1hD,SAAS4D,cAAc,SACrD89C,EAAsB38C,YAAc,KAAKw8C,KACzCC,EAAqBlkC,YAAYokC,GAsCnC,OApCAnD,EAAQjhC,YACNugC,GACE,cACA,kDACA2D,EACA,+BAGJjD,EAAQjhC,YACNugC,GACE,cACA,8CACA79C,SAASqgB,eAAeyL,GAAiD,EAArB0E,KACpD,+BAGJ+tB,EAAQjhC,YACNugC,GACE,cACA,qCACA79C,SAASqgB,eAAeyL,GAA4Bw1B,IACpD,+BAGA7wB,IACF8tB,EAAQjhC,YACNugC,GACE,cACA,mEACA79C,SAASqgB,eACP,GAAGyL,GAA4B2E,QAAkBC,OAEnD,+BAIC6tB,EA+mBeoD,KAIlBp6B,KAAK6N,QAAQoM,KAAK1L,iBACpBuoB,EAAM/gC,YAAYqgC,GAAY,SAAU,WACpCv2B,EAAU4rB,OAAOqB,QACnBgK,EAAM/gC,YA/mBZ,WACE,MAAMihC,EAAUv+C,SAAS4D,cAAc,OACvC26C,EAAQp8C,UAAY,uBAEpB,MAAMy/C,EACJr6B,KAAKuT,QAA2B,GAAjBvT,KAAKyR,UAAiB,GAAK,IAAMrP,EAAYH,EACxDq4B,EAAgB7hD,SAAS4D,cAAc,QAC7Ci+C,EAAcl4C,MAAM00B,WAAa,OACjCwjB,EAAc1/C,UAAYknB,EAAgBu4B,EAC1CC,EAAc98C,YAAc+mB,GAA6C,GAAjBvE,KAAKyR,UAAiB,GAAK,KACnFulB,EAAQjhC,YACNugC,GACE,QACA,iDACAgE,IAIJ,MAAMC,EACJv6B,KAAKuT,QAA2B,GAAjBvT,KAAKyR,UAAiB,IAAMrP,EAAYH,EACnDu4B,EAAgB/hD,SAAS4D,cAAc,QAC7Cm+C,EAAcp4C,MAAM00B,WAAa,OACjC0jB,EAAc5/C,UAAYknB,EAAgBy4B,EAC1CC,EAAch9C,YAAc+mB,GAA6C,GAAjBvE,KAAKyR,UAAiB,KAC9EulB,EAAQjhC,YACNugC,GACE,QACA,iDACAkE,IAIJ,MAAMC,EACJz6B,KAAKuT,QAA2B,GAAjBvT,KAAKyR,UAAiB,GAAK,GAAKrP,EAAYH,EACvDy4B,EAAgBjiD,SAAS4D,cAAc,QAC7Cq+C,EAAct4C,MAAM00B,WAAa,OACjC4jB,EAAc9/C,UAAYknB,EAAgB24B,EAC1CC,EAAcl9C,YAAc+mB,GAA6C,GAAjBvE,KAAKyR,UAAiB,GAAK,IACnFulB,EAAQjhC,YACNugC,GACE,QACA,iDACAoE,IAIJ,MAAMC,EACJ36B,KAAKuT,QAA2B,GAAjBvT,KAAKyR,UAAiB,GAAK,IAAMrP,EAAYH,EACxD24B,EAAgBniD,SAAS4D,cAAc,QAC7Cu+C,EAAcx4C,MAAM00B,WAAa,OACjC8jB,EAAchgD,UAAYknB,EAAgB64B,EAC1CC,EAAcp9C,YAAc+mB,GAA6C,GAAjBvE,KAAKyR,UAAiB,GAAK,KACnFulB,EAAQjhC,YACNugC,GACE,QACA,iDACAsE,IAGJ,MAAMC,EAAoB,GAe1B,OAdAl9C,OAAO6C,KAAK0jC,IAAYxU,SAASv1B,IAC1B6lB,KAAKkhB,YAAYgD,GAAW/pC,KAC/B0gD,EAAkB5+C,KAAKioC,GAAW/pC,OAGL,IAA7B0gD,EAAkBzgD,QACpB48C,EAAQjhC,YACNugC,GACE,QACA,kCACAE,GAAcqE,KAIb7D,EAqiBe8D,KAItBhE,EAAM/gC,YAAYqgC,GAAY,WAAY,aACtCv2B,EAAU4rB,OAAOsB,UACnB+J,EAAM/gC,YApiBV,WACE,MAAMihC,EAAUv+C,SAAS4D,cAAc,OACvC26C,EAAQp8C,UAAY,yBAEpB,MAAMmgD,EAAkBr4C,KAAKkE,MAC3BoZ,KAAK4mB,gBACHvb,GACErL,KAAK6mB,aACL9c,IACC/J,KAAKkhB,YAAY,mBAAqBlhB,KAAKie,IAAI,iBAC5CtU,GACA,KAGVqtB,EAAQjhC,YACNugC,GACE,cACA,6BACA79C,SAASqgB,eACP,GAAGyL,GAA4BvE,KAAKyW,eAAelS,GAA4Bw2B,MAEjF,+BAIJ,MAAMC,EAAat4C,KAAK6D,IACtB,EACAyZ,KAAKqyB,oBAAoB0I,EAAkB,IACxC1vB,GACCrL,KAAK6mB,aACL9c,IAEE/J,KAAKkhB,YAAY,mBAAqBlhB,KAAKie,IAAI,kBAC3CtU,GAGFA,GACA,KAEJsxB,EAAkBxiD,SAASk+C,yBACjCsE,EAAgBllC,YAAYtd,SAASqgB,eAAeyL,GAA4By2B,KAChF,MAAME,EAAmBziD,SAAS4D,cAAc,SAChD6+C,EAAiB19C,YAAc,KAAKmoB,GAClCq1B,EAAa1vB,GACb,MAEF2vB,EAAgBllC,YAAYmlC,GAC5BlE,EAAQjhC,YACNugC,GACE,cACA,wBACA2E,EACA,gCAIJjE,EAAQjhC,YACNugC,GACE,cACA,6BACA79C,SAASqgB,eACP,GAAGyL,GAA4BvE,KAAKm7B,oBAAoB52B,GACtDw2B,EAAkB/6B,KAAKyW,SAAWzW,KAAKm7B,kBAG3C,oCAIJnE,EAAQjhC,YACNugC,GACE,QACA,6CACA79C,SAASqgB,eAAeyL,GAA4BiF,GAAkB,MAI1E,MAAM4xB,EAAWp2B,OAAOnF,EAAU+oB,qBAClC,IAAK5jB,OAAOvJ,MAAM2/B,GAAW,CAC3B,MAAMC,EACJD,EACA14C,KAAKkE,MAAMoZ,KAAK4mB,gBAAgB5mB,KAAK6mB,aAAe7mB,KAAKsgB,gBACvD+a,EAAoB,IACtBrE,EAAQjhC,YACNugC,GACE,QACA,iDACA79C,SAASqgB,eAAeyL,GAA4B82B,MAGxDrE,EAAQjhC,YACNugC,GACE,QACA,mDACA79C,SAASqgB,eACP6M,GAAW01B,EAAoB7xB,QAOzC,MAAM8xB,EAr6BR,SAAoBC,GAElB,IAAIC,EAASx7B,KAAKyR,UAElB2E,KAE2C,IAAvC1J,GAAY,gBAAgBc,SAC9Bd,GAAY,wBAAwBc,OAAS,EAC7Cd,GAAY,yBAAyBc,OAAS,EAC9Cd,GAAY,mBAAmBc,OAAS,EACxCd,GAAY,0BAA0Bc,OAAS,EAC/Cd,GAAY,gBAAgBc,OAAS,EAErCyU,KAEAuZ,EAASpzB,GAETgO,MAGE/K,IAA0B,KAAS2W,GAAO,aAC1C3W,IAA0B,KAAY2W,GAAO,YAC7C3W,IAA0B,MAAe2W,GAAO,gBAChD3W,IAA0B,MAAkB2W,GAAO,YACnD3W,IAA0B,MAAqB2W,GAAO,iBACtD3W,IAA0B,MAC5B2W,GAAO,kBACL3W,IAA0B,MAC5B2W,GAAO,iBACL3W,IAA0B,MAC5B2W,GAAO,cACL3W,IAA0B,MAC5B2W,GAAO,iBACL3W,IAA0B,MAC5B2W,GAAO,uBACL3W,IAA0B,MAC5B2W,GAAO,mBACL3W,IAA0B,MAC5B2W,GAAO,uBACL3W,IAA0B,MAC5B2W,GAAO,wBACL3W,IAA0B,MAC5B2W,GAAO,mBAEP3W,IAA0B,MAE1B2W,GAAO,WAEP3W,IACA,MAEA2W,GAAO,iBAEP3W,IACA,MAEA2W,GAAO,iCAETtV,GAAY,wBAAwBc,OAAS,EAC7Cd,GAAY,yBAAyBc,OAAS,EAC9Cd,GAAY,mBAAmBc,OAAS,EACxCd,GAAY,0BAA0Bc,OAAS,EAC/Cd,GAAY,gBAAgBc,OAAS,EAErC5F,GAAc2zB,EAEd,MAAMnW,EAAwB1d,GAE9Bua,KAEAmC,KAEIgB,IAA0B1d,IAC5Bua,KAGF,MAAMwZ,EAAWrzB,GAAeozB,EAKhC,OAFA5zB,GAAc5H,KAAKyW,SAEZglB,EAo1BYC,CAAWX,GACxBY,EAAYljD,SAASk+C,yBAC3BgF,EAAU5lC,YAAYtd,SAASqgB,eAAeyL,GAA4B+2B,KAC1E,MAAMjjB,EAAW31B,KAAKC,MAAO24C,EAAat7B,KAAKyR,UAAa,KAC5D,GAAIzM,OAAOC,SAASoT,IAA0B,IAAbA,EAAgB,CAC/C,MAAMujB,EAAanjD,SAAS4D,cAAc,SAC1Cu/C,EAAWp+C,YAAc,KAAK66B,EAAW,kBACzCsjB,EAAU5lC,YAAY6lC,GAExB5E,EAAQjhC,YACNugC,GACE,cACA,qBACAqF,EACA,4BAIJ,MAAME,EAAkBn5C,KAAKkE,MAAMoZ,KAAK4mB,gBAAgB5mB,KAAK6mB,eACvDiV,EAAWp5C,KAAKkE,MACpBoZ,KAAK4mB,gBAAgB5mB,KAAK6mB,aAAe7mB,KAAKsgB,gBAE1Cyb,EAAUD,EAAWD,EAC3B,IAAK77B,KAAKie,IAAI,eAAgB,CAC5B,IAAI+d,EAAS,EAAKF,EAAW,GACzBE,EAAS,IAAGA,GAAU,IAC1B,MAAMC,EAAaF,EAAUC,EACvBE,EAAaJ,EAAWE,EACxBG,EAAQ1jD,SAASk+C,yBACvBwF,EAAMpmC,YACJtd,SAASqgB,eACP,GAAGojC,EAAW72B,sBAAsB42B,EAAW52B,sBAAsB22B,OAGzEhF,EAAQjhC,YACNugC,GAAa,QAAS,qCAAsC6F,IAIhE,IAAKn8B,KAAKie,IAAI,gBAAiB,CAC7B,IAAIme,EAAW,IAAON,EAAW,IAC7BM,EAAW,IAAGA,GAAY,KAC9B,MAAMC,EAAeN,EAAUK,EACzBE,EAAeR,EAAWM,EAC1BG,EAAU9jD,SAASk+C,yBACzB4F,EAAQxmC,YACNtd,SAASqgB,eACP,GAAGwjC,EAAaj3B,sBAAsBg3B,EAAah3B,sBAAsB+2B,OAG7EpF,EAAQjhC,YACNugC,GAAa,QAAS,sCAAuCiG,IAIjE,IAAKv8B,KAAKie,IAAI,gBAAiB,CAC7B,IAAIue,EAAc,OAAUV,EAAW,IACnCU,EAAc,IAAGA,GAAe,KACpC,MAAMC,EAAkBV,EAAUS,EAC5BE,EAAkBZ,EAAWU,EAC7BG,EAAalkD,SAASk+C,yBAC5BgG,EAAW5mC,YACTtd,SAASqgB,eACP,GAAG4jC,EAAgBr3B,sBAAsBo3B,EAAgBp3B,sBAAsBm3B,OAGnFxF,EAAQjhC,YACNugC,GAAa,QAAS,sCAAuCqG,IAIjE,OAAO3F,EAuXa4F,IAGhB58B,KAAK0R,UAAY,IACnBolB,EAAM/gC,YAAYqgC,GAAY,YAAa,UACvCv2B,EAAU4rB,OAAOuB,OAAO,CAC1B,MAAM6P,EAAapkD,SAASk+C,yBAC5BkG,EAAW9mC,YACTtd,SAASqgB,eACP,GAAGyL,GAA4BwF,SAA0BxF,GACvDyF,SAIN,MAAM8yB,EAAUrkD,SAAS4D,cAAc,KACvCygD,EAAQt/C,YAAc,iBACtBs/C,EAAQliD,UAAY,SACpBkiD,EAAQnK,QAAU,WAChB8B,MAEFoI,EAAW9mC,YAAY+mC,GACvBhG,EAAM/gC,YACJugC,GACE,QACA,kCACAuG,IAGJ,MAAME,EAAiBtkD,SAASk+C,yBAChCoG,EAAehnC,YACbtd,SAASqgB,eAAe,GAAGyL,GAA4B0F,GAAsB,SAE/E,MAAM+yB,EAAcvkD,SAAS4D,cAAc,KAC3C2gD,EAAYx/C,YAAc,qBAC1Bw/C,EAAYpiD,UAAY,SACxBoiD,EAAYrK,QAAU,WACa,OAA7B1oB,GAAsB,KACxBjK,KAAK2R,UAAU1H,GAAsB,IAAIyqB,GAAK,IAElDqI,EAAehnC,YAAYinC,GAC3BlG,EAAM/gC,YACJugC,GACE,QACA,6DAC+B,OAA7BrsB,GAAsB,GAClBA,GAAsB,GACtB,UAEN8yB,IASR,GAHAjG,EAAM/gC,YAtaR,WACE,MAAMihC,EAAUv+C,SAAS4D,cAAc,OACvC26C,EAAQp8C,UAAY,uBAEpB,IAAIqiD,GAAW,EACf,MAAMC,EAA0B,GAChCv/C,OAAO6C,KAAKujC,IAAcrU,SAASv1B,IAC5B6lB,KAAKie,IAAI8F,GAAa5pC,MACzB+iD,EAAwBjhD,KAAK8nC,GAAa5pC,IAC1C8iD,GAAW,MAGf,MAAME,EAA0B,GAChCx/C,OAAO6C,KAAKwjC,IAAetU,SAASv1B,IAC7B6lB,KAAKie,IAAI+F,GAAc7pC,MAC1BgjD,EAAwBlhD,KAAK+nC,GAAc7pC,IAC3C8iD,GAAW,MAGf,MAAMG,EAA0B,GAChCz/C,OAAO6C,KAAKyjC,IAAYvU,SAASv1B,IAC1B6lB,KAAKie,IAAIgG,GAAW9pC,MACvBijD,EAAwBnhD,KAAKgoC,GAAW9pC,IACxC8iD,GAAW,MAGf,MAAMI,EAAoB,GAC1B1/C,OAAO6C,KAAKwf,KAAKs9B,UAAU5tB,SAASv1B,IAC7B6lB,KAAKkhB,YAAYlhB,KAAKs9B,SAASnjD,MAClCkjD,EAAkBphD,KAAK+jB,KAAKs9B,SAASnjD,IACrC8iD,GAAW,MAGf,MAAMM,EAAkB,GACxB5/C,OAAO6C,KAAKwf,KAAKw9B,cAAc9tB,SAASv1B,IACjC6lB,KAAKkhB,YAAYlhB,KAAKw9B,aAAarjD,MACtCojD,EAAgBthD,KAAK+jB,KAAKw9B,aAAarjD,IACvC8iD,GAAW,MAGf,MAAMhc,EACJjhB,KAAKkhB,YAAY,mBAAqBlhB,KAAKie,IAAI,iBAC3Cwf,EAAUz9B,KAAKie,IAAI,eAEzB,IAAoB,cAAhBje,KAAKqe,QAA0B4e,GAAYhc,GAAUwc,KACvDzG,EAAQjhC,YAAYqgC,GAAY,kBAAmB,QAC/Cv2B,EAAU4rB,OAAOwB,KAAK,CACxB,GAAuC,IAAnCiQ,EAAwB9iD,OAAc,CACxC48C,EAAQjhC,YACNugC,GACE,QACA,gCACAE,GAAc0G,KAGlB,IAAIQ,EAAoB,IAIxB,GAHI19B,KAAKuY,UAAU,oBAAmBmlB,EAAoB,IACtD19B,KAAKie,IAAI,gBAAeyf,GAAqB,IACjDA,GAAqB,EAAI19B,KAAK29B,eAC1B39B,KAAK0N,OAAQ,CACf,MAAMc,EAASxO,KAAK0N,OAAO,WACZ,IAAXc,EAAckvB,GAAqB,GACnB,IAAXlvB,EAAckvB,GAAqB,IACxB,IAAXlvB,IAAckvB,GAAqB,KAE9C,MAAME,EAAwBV,EAAwB9iD,OAAS,EAC/D48C,EAAQjhC,YACNugC,GACE,QACA,4DACA79C,SAASqgB,eACP,GAAGyL,IACA,EAAIm5B,GAAqBE,EAAwB,WAC5Cr5B,IACL,EAAwB,GAApBm5B,GAA2BE,EAAwB,WAMlE,GAAuC,IAAnCT,EAAwB/iD,OAAc,CACxC48C,EAAQjhC,YACNugC,GACE,QACA,gCACAE,GAAc2G,KAGlB,IAAIU,EAAoB,GAIxB,GAHI79B,KAAKuY,UAAU,iBAAgBslB,EAAoB,IACvDA,GAAqB,EAAI79B,KAAK29B,eAC1B39B,KAAKie,IAAI,cAAa4f,GAAqB,KAC3C79B,KAAK0N,OAAQ,CACf,MAAMc,EAASxO,KAAK0N,OAAO,WACZ,IAAXc,EAAcqvB,GAAqB,GACnB,IAAXrvB,EAAcqvB,GAAqB,IACxB,IAAXrvB,IAAcqvB,GAAqB,KAE9C,MAAMD,EAAwBT,EAAwB/iD,OAAS,EAC/D48C,EAAQjhC,YACNugC,GACE,QACA,6CACA79C,SAASqgB,eACP,GAAGyL,IACA,EAAIs5B,GAAqBD,EAAwB,WAMrB,IAAnCR,EAAwBhjD,QAC1B48C,EAAQjhC,YACNugC,GACE,QACA,gCACAE,GAAc4G,KAIpB,MAAMU,EAAc,SAAUC,GAC5B,IAAIC,EAAcD,GAAoB,EAAI/9B,KAAK29B,gBAI/C,GAHI39B,KAAKuY,UAAU,0BAAyBylB,GAAe,IACvDh+B,KAAKie,IAAI,cAAa+f,GAAe,IACrCh+B,KAAKie,IAAI,eAAc+f,GAAe,IACtCh+B,KAAK0N,OAAQ,CACf,MAAMc,EAASxO,KAAK0N,OAAO,WACZ,IAAXc,EAAcwvB,GAAe,GACb,IAAXxvB,EAAcwvB,GAAe,IAClB,IAAXxvB,IAAcwvB,GAAe,KAGxC,MAAMC,EAAgB,EAAID,EACpBE,EAAel+B,KAAKs9B,SAASljD,OAASijD,EAAkBjjD,OACxD+jD,EACJn+B,KAAKw9B,aAAapjD,OAASmjD,EAAgBnjD,OACvCgkD,EACY,GAAhBH,GAAuB,EAAIC,EAAel+B,KAAKs9B,SAASljD,QACpDikD,EAEJ,GADAJ,GAEC,EAAIE,EAAmBn+B,KAAKw9B,aAAapjD,QAKtCkkD,EAHY,GAAhBL,GAAuBC,EAAel+B,KAAKs9B,SAASljD,QAEpC,GAAhB6jD,GAAuBE,EAAmBn+B,KAAKw9B,aAAapjD,QAM9D,MAAO,CAACgkD,EAHI,GAAVE,GAAiB,EAAIJ,EAAel+B,KAAKs9B,SAASljD,QAGvBikD,EADjB,GAAVC,GAAiB,EAAIH,EAAmBn+B,KAAKw9B,aAAapjD,UAG7B,IAA7BijD,EAAkBjjD,SACpB48C,EAAQjhC,YACNugC,GACE,QACA,oCACAE,GAAc6G,KAGlBrG,EAAQjhC,YACNugC,GACE,QACA,yDACA79C,SAASqgB,eACP,GAAGyL,GAAmD,IAAvBu5B,EAAY,KAAM,UAAgBv5B,GACzC,IAAtBu5B,EAAY,IAAK,WAMI,IAA3BP,EAAgBnjD,SAClB48C,EAAQjhC,YACNugC,GACE,QACA,kCACAE,GAAc+G,KAGlBvG,EAAQjhC,YACNugC,GACE,QACA,6DACA79C,SAASqgB,eACP,GAAGyL,GAAmD,IAAvBu5B,EAAY,KAAM,UAAgBv5B,GACzC,IAAtBu5B,EAAY,IAAK,WAOP,cAAhB99B,KAAKqe,QACP2Y,EAAQjhC,YACNugC,GACE,QACA,kBACA79C,SAASqgB,eAAeyL,GAA4BmF,OAGtDuX,GACF+V,EAAQjhC,YACNugC,GACE,cACA,wBACA79C,SAASqgB,eAAeyL,GAA4BoF,KACpD,6BAIF8zB,GACFzG,EAAQjhC,YACNugC,GACE,QACA,yBACA79C,SAASqgB,eACJpW,KAAKC,MAA2B,KAApB8mB,GAAe,IAAc,IAA5C,OAOZ,OAAOutB,EAqMWuH,IAElBzH,EAAM/gC,YAAYqgC,GAAY,gBAAiB,SAC3Cv2B,EAAU4rB,OAAOyB,KAAM,CAqCzB,GApCA4J,EAAM/gC,YACJugC,GACE,QACA,oCACElzB,EAAYvD,EAAUkhB,YAAc,GAChC,GAAG3d,EAAYvD,EAAUkhB,sBACzB3d,EAAYvD,EAAUkhB,YAAc,IACV,IAAzBlhB,EAAUkhB,WAAmB,UAAY,eAEhDtoC,SAASqgB,eAAeyL,GAA4B+M,KAAU,MAGlEwlB,EAAM/gC,YACJugC,GACE,QACA,0CACEjzB,EAAWxD,EAAUshB,iBACQ,IAA5BthB,EAAUshB,cAAsB,UAAY,cAC/C1oC,SAASqgB,eAAeyL,GAA4B8F,GAAoB,MAG5EysB,EAAM/gC,YACJugC,GACE,QACA,+BAA+BjzB,EAAWxD,EAAUshB,iBACtB,IAA5BthB,EAAUshB,cAAsB,UAAY,cAE9C1oC,SAASqgB,eACPyL,GACE2B,GAA8Bs4B,QAC5Bn0B,GAAqBhH,EAAWxD,EAAUshB,oBAMhDnhB,KAAKie,IAAI,mBAAoB,CAC/B,MAAM8G,EAAW,GACjBpnC,OAAO6C,KAAKsjC,IAAUpU,SAASv1B,IACxB6lB,KAAKie,IAAI6F,GAAS3pC,KACrB4qC,EAAS9oC,KAAK6nC,GAAS3pC,OAGH,IAApB4qC,EAAS3qC,QACX08C,EAAM/gC,YACJugC,GACE,QACA,+BACAE,GAAczR,KAatB,GATIllB,EAAUgpB,cACZiO,EAAM/gC,YACJugC,GACE,QACA,wBACA79C,SAASqgB,eAAeyL,GAA4BvE,KAAKy+B,uBAI3Dz+B,KAAKmd,MAAMC,SAAU,CACvB,MAAM7K,EAAQ95B,SAAS4D,cAAc,QACrCk2B,EAAMvE,GAAK,uBACXuE,EAAMiL,UAAYxd,KAAKyd,QACV,GAAXzd,KAAK0X,KAAY1X,KAAKixB,SAAW,EAAIjxB,KAAK0d,GAAgB,GAAX1d,KAAK0X,MACpD,GAEFof,EAAM/gC,YACJugC,GAAa,QAAS,qBAAsB/jB,KAKlDhnB,EAAE,QAAQqjC,aAAakI,EAAOvrC,EAAE,QAAQulB,WAAW,IAE/CjR,EAAU6oB,iBAvtJdn9B,EAAE,QAAQulB,WAAWpB,SAASgvB,IAC5B,GAAIA,EAAY1hB,SAAS,GACvB,GACwC,aAAtC0hB,EAAY1hB,SAAS,GAAGrlB,WACxB4S,GACA,CACA,MAAMo0B,EACJp0B,GAA6B1vB,MAAM,IAAIZ,OAAO,MAAO,MAAQ,GAC1DG,OAAS,EACRw2C,EAAQn4C,SAAS4D,cAAc,OACrCu0C,EAAM5iB,GAAK,iCACX4iB,EAAMh2C,UAAY,UAClB,MAAMgkD,EAAYnmD,SAAS4D,cAAc,OACzCuiD,EAAUjnC,UAAY,qCAAqCgnC,KACzD3+B,KAAK6+B,iBAAiBzkD,WACnBsI,KAAKkE,MACP+3C,EAA0B3+B,KAAK6+B,iBAAiBzkD,OAAU,SAE7Dw2C,EAAM76B,YAAY6oC,GAClBF,EAAY3oC,YAAY66B,GACxB,MAAMlN,EAAWjrC,SAAS4D,cAAc,OACxCqnC,EAAS9oC,UAAY,mBACrB8oC,EAAS/rB,UAAY4S,GACrBm0B,EAAY3oC,YAAY2tB,QACnB,GAA0C,aAAtCgb,EAAY1hB,SAAS,GAAGrlB,UAA0B,CAC3D,GAAI2S,GAAsB,CACxB,MAAMw0B,EACJx0B,GAAqBzvB,MAAM,IAAIZ,OAAO,MAAO,MAAQ,GAAGG,OAAS,EAC7Dw2C,EAAQn4C,SAAS4D,cAAc,OACrCu0C,EAAM5iB,GAAK,yBACX4iB,EAAMh2C,UAAY,UAClB,MAAMgkD,EAAYnmD,SAAS4D,cAAc,OACzCuiD,EAAUjnC,UAAY,mCAAmCmnC,KACvD9+B,KAAKyV,eAAe,IAAIr7B,OAAS4lB,KAAKyV,eAAespB,KAAK3kD,WACvDsI,KAAKkE,MACPk4C,GACE9+B,KAAKyV,eAAe,IAAIr7B,OACvB4lB,KAAKyV,eAAespB,KAAK3kD,QAC3B,SAEJw2C,EAAM76B,YAAY6oC,GAClBF,EAAY9P,aAAagC,EAAO8N,EAAY5tB,WAAW,IACvD,MAAM4S,EAAWjrC,SAAS4D,cAAc,OACxCqnC,EAAS9oC,UAAY,mBACrB8oC,EAAS/rB,UAAY2S,GACrBo0B,EAAY9P,aACVlL,EACAjrC,SAAS6iC,eAAe,0BAA0B0jB,aAGtD,GAAIx0B,GAA6B,CAC/B,MAAMy0B,EACJz0B,GAA4B3vB,MAAM,IAAIZ,OAAO,MAAO,MAAQ,GACzDG,OAAS,EACRw2C,EAAQn4C,SAAS4D,cAAc,OACrCu0C,EAAM5iB,GAAK,gCACX4iB,EAAMh2C,UAAY,UAClB,MAAMgkD,EAAYnmD,SAAS4D,cAAc,OACzCuiD,EAAUjnC,UAAY,mCAAmCsnC,KACvDj/B,KAAKyV,eAAegd,OAAOr4C,WACxBsI,KAAKkE,MACPq4C,EAAwBj/B,KAAKyV,eAAegd,OAAOr4C,OAAU,SAEhEw2C,EAAM76B,YAAY6oC,GAClBF,EAAY3oC,YAAY66B,GACxB,MAAMlN,EAAWjrC,SAAS4D,cAAc,OACxCqnC,EAAS9oC,UAAY,mBACrB8oC,EAAS/rB,UAAY6S,GACrBk0B,EAAY3oC,YAAY2tB,QAspJ5B7jB,EAAU8oB,qBArOhB,WACE,IAAIuW,EACJvhD,OAAOwhD,OAAO1mD,SAASsB,iBAAiB,cAAc21B,SAASv1B,IACzDA,EAAEqD,YAAY+xC,SAAS,kBACzB2P,EAAU/kD,EAAEilD,cAAcrlD,iBAAiB,wBAAwB,OAGnE8lB,EAAU8oB,qBACZhrC,OAAOwhD,OAAOD,EAAQliB,UAAUtN,SAAS2vB,IACvC,IAAKA,EAAazkD,UAAU20C,SAAS,WAAY,CAC/C,MAAMvhB,EAAKqxB,EAAa1M,QAAQ/vC,WAAW/H,MAAM,oBAAoB,IAC/DusC,KAAEA,GAASpnB,KAAKs/B,iBAAiBtxB,GAEvCqxB,EAAaj9C,MAAMiW,mBAAqB,GAAc,IAAV+uB,EAAK,QACpC,IAAVA,EAAK,OAGRiY,EAAaxM,YAAc,WACpB7yB,KAAKu/B,YACRv/B,KAAKw/B,WAAW3mD,MAChBmnB,KAAKgX,QAAQye,QAAU,EACvBz1B,KAAKgX,QAAQrlB,KACX9Y,MACA,WACE,OArEhB,SAAwC83B,GACtC,MAAM8uB,EAAO,GACG,WAAZ9uB,EAAGrD,KAAmBmyB,EAAKxjD,KAAK,qBAAsB,WACrDwjD,EAAKxjD,KAAK,cAAe,GAC9BwjD,EAAKxjD,KAAK,SAAU,GAEpB,IAAIyjD,EAAa,GACb1/B,KAAKie,IAAI,eAAkBje,KAAK2/B,QAAsB,UAAZhvB,EAAGrD,QAC/CoyB,EAAa,GACXA,GAAyB,IAAX/uB,EAAGiG,IAAW6oB,EAAKxjD,KAAK,gBAAiB,WAClDyjD,GAAc/uB,EAAGiG,IAAM,GAAG6oB,EAAKxjD,KAAK,iBAAkB,WAE/D,IAAImrC,KAAEA,GAASzW,EACXA,EAAG0W,eAAcD,EAAOzW,EAAG0W,gBAE/B,IAAIgH,KAAEA,GAAS1d,EACXA,EAAGivB,WAAUvR,EAAO1d,EAAGivB,SAAS,UAEpC,IAAIC,EAAU,GACd,IAAK,IAAI1lD,EAAI,EAAGA,EAAIslD,EAAKrlD,OAAQD,GAAK,EAChCA,EAAI,GAAM,IACZ0lD,GAAW,kCACO,IAAhBJ,EAAKtlD,EAAI,GAAW,OAASslD,EAAKtlD,EAAI,SACjCslD,EAAKtlD,aAIhB,OAFA0lD,EAAUA,EAAQhtB,UAAU,GAErB,yJAEM,IAAVuU,EAAK,QACS,IAAVA,EAAK,sCACQzW,EAAGjyB,iBACrBmhD,qDAA2DxR,oBAE3DruB,KAAK2/B,OACD,oCAAoChvB,EAAG3C,gBAAgBtrB,KAAKkE,MAC1D+pB,EAAGU,SACDV,EAAGpD,KAAO,aAAaoD,EAAGpD,OAAS,WACvC,KAgCiBuyB,CACL9/B,KAAKs/B,iBAAiBtxB,MAI5B,OAEFhO,KAAKgX,QAAQ0e,eAsMrBqK,GAuDJ,MAAMC,GAAe,CACnBtU,UAAW,qBACXC,YAAa,cACbC,SAAU,WACVC,QAAS,4BACTC,YAAa,+BACbC,QAAS,WACTC,WAAY,aACZC,aAAc,gBACdS,cAAe,iBAIXuT,GAA2B,CAC/B/T,oBAAqB,wBACrBC,eAAgB,gBAChBC,eAAgB,iBAChBC,gBAAiB,iBACjBC,iBAAkB,cAClBC,iBAAkB,iBAClBC,kBAAmB,WACnBC,qBAAsB,qBAaxB,SAASyT,GAAiBlQ,EAAQ/pB,GAChC,MAAM8K,EAAMt4B,SAAS4D,cAAc,OACnC00B,EAAIn2B,UAAY,QAEhBm2B,EAAI3uB,MAAM6U,QAAU,MACpB8Z,EAAI3uB,MAAM6vB,SAAW,OACrBlB,EAAIhb,YAAYtd,SAASqgB,eAAe,GAAGmN,OAC3C,MAAMowB,EAAO59C,SAAS4D,cAAc,QAiBpC,OAhBAg6C,EAAKj0C,MAAM+U,OAAS,UACpBk/B,EAAKj0C,MAAMqV,QAAU,eACrB4+B,EAAKj0C,MAAMmG,OAAS,OACpB8tC,EAAKj0C,MAAMkG,MAAQ,OACnB+tC,EAAKj0C,MAAMsU,aAAe,MAC1B2/B,EAAKj0C,MAAMuW,UAAY,SACvB09B,EAAKj0C,MAAM4U,gBAAkB,UAC7Bq/B,EAAKj0C,MAAM2F,MAAQ,QACnBsuC,EAAKj0C,MAAM6vB,SAAW,OACtBokB,EAAKj0C,MAAM+vB,cAAgB,SAC3BkkB,EAAK74C,YAAcqiB,EAAU4rB,OAAOuE,GAAU,IAAM,IACpDqG,EAAK1D,QAAU,WACbwD,GAAanG,GACbhwB,KAAKuf,cAEPxO,EAAIhb,YAAYsgC,GACTtlB,EA4FT,SAASovB,GAAiBnQ,GACxB,MAAMjf,EAAMt4B,SAAS4D,cAAc,OAKnC,GAJA00B,EAAIn2B,UAAY,UACoB,IAAhCilB,EAAUyE,mBACZyM,EAAIhb,YAlCR,SAA6Bi6B,GAC3B,MAAMoQ,EAAU3nD,SAAS4D,cAAc,KAqBvC,OApBIioB,GAAkBirB,SAASS,IAC7BoQ,EAAQ5iB,UAAY,IACpB4iB,EAAQh+C,MAAM2F,MAAQ,UACjBq4C,EAAQ5iB,UAAY,IAC3B4iB,EAAQxlD,UAAY,SACpBwlD,EAAQzN,QAAU,YA3DpB,SAAgC3C,GAC1B1rB,GAAkBirB,SAASS,GAC7B1rB,GAAoBA,GAAkBwuB,QAAO,SAAUuN,GACrD,OAAOA,IAAQrQ,KAEd1rB,GAAkBroB,KAAK+zC,GAuD1BsQ,CAAuBtQ,GACvB2D,KACA3zB,KAAKuf,cAEP6gB,EAAQvN,YAAc,WACpB7yB,KAAKgX,QAAQrlB,KACX9Y,KACAomC,OAAOtc,EAAsB49B,4BAA4B5oC,aAG7DyoC,EAAQpN,WAAa,WACnBhzB,KAAKgX,QAAQ7lB,QAEfivC,EAAQrqC,YAAYtd,SAASqgB,eAAe,MACrCsnC,EAYWI,CAAoBxQ,IAEJ,SAA9BrB,GAAaqB,GAAQx1C,KAAiB,CACxC,MAAMwI,EAAIvK,SAAS4D,cAAc,KAC7BsyC,GAAaqB,GAAQ1B,QAAgC,IAAtBzuB,EAAUmwB,GAC3ChtC,EAAEpI,UAAY,aAEdoI,EAAEpI,UAAY,SAEhBoI,EAAEgrB,GAAKioB,GAA6BjG,EACpChtC,EAAE2vC,QAAU,YArmDhB,SAAsB3C,GACpBnwB,EAAUmwB,IAAW,EAEjBnwB,EAAUmwB,KAAYrB,GAAaqB,GAAQ5B,MAAMh0C,QACnDylB,EAAUmwB,GAAU,EAChBrB,GAAaqB,GAAQ1B,SACvB/iC,EAAE0qC,GAA6BjG,GAAQp1C,UAAY,eAChD2Q,EAAE0qC,GAA6BjG,GAAQp1C,UAAY,cAEjB,IAA9B+zC,GAAaqB,GAAQ9wC,MAC9ByvC,GAAaqB,GAAQ9wC,OAGvBqM,EAAE0qC,GAA6BjG,GAAQr4B,UACrCg3B,GAAaqB,GAAQ5B,MAAMvuB,EAAUmwB,IACvC2D,KAulDI8M,CAAazQ,IAEfhtC,EAAExF,YAAcmxC,GAAaqB,GAAQ5B,MAAMvuB,EAAUmwB,IACrDjf,EAAIhb,YAAY/S,GAChB,MAAMorC,EAAQ31C,SAAS4D,cAAc,SAIrC,OAHA+xC,EAAM5wC,YAAcmxC,GAAaqB,GAAQ3B,KACzCD,EAAMhsC,MAAMyW,WAAa,MACzBkY,EAAIhb,YAAYq4B,GACTrd,EAET,GAAkC,QAA9B4d,GAAaqB,GAAQx1C,KAAgB,CACvC,MAAMg2C,EAAS/3C,SAAS4D,cAAc,OACtCm0C,EAAO51C,UAAY,YACnB,MAAMg2C,EAAQn4C,SAAS4D,cAAc,OACrCu0C,EAAMxuC,MAAMs+C,MAAQ,OACpB9P,EAAMj5B,UAAYg3B,GAAaqB,GAAQ3B,KACvCmC,EAAOz6B,YAAY66B,GACnB,MAAM+P,EAAUloD,SAAS4D,cAAc,OACvCskD,EAAQ3yB,GAAK,SAASgiB,SACtB2Q,EAAQv+C,MAAMs+C,MAAQ,QACtBC,EAAQhpC,UAAY,GAAGkI,EAAUmwB,MACjCQ,EAAOz6B,YAAY4qC,GACnB,MAAMC,EAASnoD,SAAS4D,cAAc,SACtCukD,EAAOhmD,UAAY,SACnBgmD,EAAO5yB,GAAK,SAASgiB,IACrB4Q,EAAOx+C,MAAMwU,MAAQ,OACrBgqC,EAAOpmD,KAAO,QACdomD,EAAOv6C,IAAM,IACbu6C,EAAOr6C,IAAM,MACbq6C,EAAOC,KAAO,IACdD,EAAOrjD,MAAQsiB,EAAUmwB,GACzB4Q,EAAOniC,QAAU,WACfy3B,GAAmBlG,IAErB4Q,EAAOE,SAAW,WAChB5K,GAAmBlG,IAErBQ,EAAOz6B,YAAY6qC,GACnB7vB,EAAIhb,YAAYy6B,GAChB,MAAMxtC,EAAIvK,SAAS4D,cAAc,KAYjC,OAXA2G,EAAEpI,UAAY,SACdoI,EAAE2vC,QAAU,WACVzC,GACErwB,EAAUmwB,EAAOjvC,QAAQ,SAAU,aACnCivC,EAAOjvC,QAAQ,SAAU,SACzBivC,GACA,IAGJhtC,EAAExF,YAAc,aAChBuzB,EAAIhb,YAAY/S,GACT+tB,EAET,GAAkC,QAA9B4d,GAAaqB,GAAQx1C,KAAgB,CACvC,MAAM67C,EAAO59C,SAAS4D,cAAc,QACpCg6C,EAAKz7C,UAAY,SACjBy7C,EAAK74C,YAAc,GAAGmxC,GAAaqB,GAAQ5B,SAC3CiI,EAAKj0C,MAAMyW,WAAa,MACxBkY,EAAIhb,YAAYsgC,GAChB,MAAM0K,EAAQtoD,SAAS4D,cAAc,SACrC0kD,EAAM/yB,GAAKioB,GAA6BjG,EACxC+Q,EAAMnmD,UAAY,SAClBmmD,EAAMvmD,KAAO,OACbumD,EAAMC,UAAW,EACjBD,EAAMhjD,aAAa,QAAS8hB,EAAUmwB,IACtC+Q,EAAM3+C,MAAMkG,MAAQ,QACpByoB,EAAIhb,YAAYgrC,GAChBhwB,EAAIhb,YAAYtd,SAASqgB,eAAe,MACxC,MAAMmoC,EAAcxoD,SAAS4D,cAAc,SAC3C4kD,EAAYjzB,GAAK,GAAGioB,GAA6BjG,UACjDiR,EAAYrmD,UAAY,SACxBqmD,EAAYzmD,KAAO,OACnBymD,EAAYljD,aAAa,QAAS8hB,EAAUmwB,IAC5C,MAAMhtC,EAAIvK,SAAS4D,cAAc,KACjC2G,EAAEpI,UAAY,SACdoI,EAAE2vC,QAAU,YAlKhB,SAA6BuO,EAASnjC,GACpCiC,KAAKmhC,YAAYvmD,UAAY,SAC7B,MAAMW,EAAM2lD,EACZlhC,KAAKohC,QAAQzpC,UAAY,GAAGpc,iCAC5BoC,OAAO6C,KAAKud,GAAS2R,SAASv1B,IAC5B,MAAMuZ,EAASjb,SAAS4D,cAAc,KACtCqX,EAAOsa,GAAK,eAAe7zB,IAC3BuZ,EAAO9Y,UAAY,SACnB8Y,EAAOi/B,QAAU,WACf0O,UAAU,gBACVtjC,EAAQ5jB,GAAG,MAEbuZ,EAAOlW,YAAcugB,EAAQ5jB,GAAG,GAChC6lB,KAAKohC,QAAQpkB,SAAS,GAAGjnB,YAAYrC,MAEvCsM,KAAKshC,cAAcl/C,MAAMqV,QAAU,QACnCuI,KAAKuhC,QAAQn/C,MAAMqV,QAAU,QAC7BuI,KAAKohC,QAAQI,QACbxhC,KAAKyhC,SAAW,EAChBzhC,KAAK0hC,eAgJDC,CAAoBV,EAAYW,UAAW,CACzC,CACE,OACA,WACE/hC,EAAUmwB,GAAUzkC,EAAE,WAAgCykC,WAAgBzyC,MACtEo2C,KACA3zB,KAAK6hC,cACL7hC,KAAKuf,eAGT,CACE,SACA,WACEvf,KAAK6hC,mBAKb7+C,EAAExF,YAAc,OAChBuzB,EAAIhb,YAAY/S,GAChB,MAAMorC,EAAQ31C,SAAS4D,cAAc,SAIrC,OAHA+xC,EAAM5wC,YAAcmxC,GAAaqB,GAAQ3B,KACzCD,EAAMhsC,MAAMyW,WAAa,MACzBkY,EAAIhb,YAAYq4B,GACTrd,EAET,GAAkC,WAA9B4d,GAAaqB,GAAQx1C,KAAmB,CAC1C,MAAMsnD,EAAYrpD,SAAS4D,cAAc,QACzCylD,EAAUlnD,UAAY,SACtB,MAAMmmD,EAAQtoD,SAAS4D,cAAc,SACrC0kD,EAAM/yB,GAAKgiB,EACX+Q,EAAM3+C,MAAMkG,MAAQ,OACpBy4C,EAAMhjD,aAAa,QAAS8hB,EAAUmwB,IACtC8R,EAAU/rC,YAAYgrC,GAQtB,IAAI7nD,GAAQ6nD,EAAO,CAAExmC,MAAM,EAAMnQ,SAAU,QAAS4P,QAPrC,WACb6F,EAAUhnB,KAAKmD,cAAcgyB,IAAMn1B,KAAK8gB,cACxC+5B,KACAC,KACA3zB,KAAKuf,gBAIP,MAAM6O,EAAQ31C,SAAS4D,cAAc,SAIrC,GAHA+xC,EAAM5wC,YAAcmxC,GAAaqB,GAAQ3B,KACzCD,EAAMhsC,MAAMyW,WAAa,MACzBipC,EAAU/rC,YAAYq4B,GAClB4B,EAAOT,SAAS,SAAU,CAC5B,MAAMvsC,EAAIvK,SAAS4D,cAAc,KACjC2G,EAAEpI,UAAY,SACdoI,EAAE2vC,QAAU,WACV5C,GAAM,EAAGC,EAAOjvC,QAAQ,SAAU,KAAK,IAEzCiC,EAAExF,YAAc,aAChBskD,EAAU/rC,YAAY/S,GAIxB,OAFA+tB,EAAIhb,YAAY+rC,GAChB9L,KAAkBv8C,OACXs3B,EAET,GAAkC,aAA9B4d,GAAaqB,GAAQx1C,KAAqB,CAC5C,MAAM67C,EAAO59C,SAAS4D,cAAc,QACpCg6C,EAAKz7C,UAAY,SACjBy7C,EAAK74C,YAAc,GAAGmxC,GAAaqB,GAAQ5B,SAC3CiI,EAAKj0C,MAAMyW,WAAa,MACxBkY,EAAIhb,YAAYsgC,GAChB,MAAM0K,EAAQtoD,SAAS4D,cAAc,SACrC0kD,EAAM/yB,GAAKioB,GAA6BjG,EACxC+Q,EAAMnmD,UAAY,SAClBmmD,EAAMvmD,KAAO,SACbumD,EAAMxjD,MAAQsiB,EAAUmwB,GACxB+Q,EAAM16C,IAAMsoC,GAAaqB,GAAQ3pC,IACjC06C,EAAMx6C,IAAMooC,GAAaqB,GAAQzpC,IACjCw6C,EAAMtiC,QAAU,WACdoB,EAAUmwB,GAAUn3C,KAAK0E,MACzBo2C,KACAjG,MAEF3c,EAAIhb,YAAYgrC,GAChBhwB,EAAIhb,YAAYtd,SAASqgB,eAAe,MACxC,MAAMs1B,EAAQ31C,SAAS4D,cAAc,SAIrC,OAHA+xC,EAAM5wC,YAAcmxC,GAAaqB,GAAQ3B,KACzCD,EAAMhsC,MAAMyW,WAAa,MACzBkY,EAAIhb,YAAYq4B,GACTrd,EAET,OAAOA,EA4UT,SAASgxB,GAAUviD,GACjB,GAA2B,IAAvBqgB,EAAUgU,UAA4C,IAA1BhU,EAAUiU,YAAmB,CAC3D,MAAMkuB,EAAiB/6C,SAASsE,EAAE,cAAcnJ,MAAMmG,OAAQ,IAC9DyX,KAAKiiC,QAAUD,EACfxiD,IACAwgB,KAAKiiC,QAAUD,OAEfxiD,IAsBJ,SAAS0iD,KAEPzgC,EAAgBsD,SAAWA,SAE3BA,SAAWR,GAEX9C,EAAgBwgB,eAAiBjiB,KAAKiiB,eACtCjiB,KAAKiiB,eAAiB,WACpBxgB,EAAgBwgB,iBAChB/Z,GAAY,EACZxG,EAAyBC,KAAKC,MAC9BC,EAAyBF,KAAKC,OAGhCH,EAAgBuV,QAAU,GAC1BvV,EAAgBuV,QAAQrlB,KAAOqO,KAAKgX,QAAQrlB,KAC5C8P,EAAgBuV,QAAQmrB,QAAU,IAAIvmD,SACpC,UAAUokB,KAAKgX,QAAQrlB,KAAK/O,WAAW5B,MAAM,QAAQ6C,KAAK,kBAD1B,GAGlCmc,KAAKgX,QAAQrlB,KAAO,SAAUywC,EAAMn8B,EAAMhJ,GACxCwE,EAAgBuV,QAAQmrB,QAAQC,EAAMn8B,EAAMhJ,IAG9CwE,EAAgBuV,QAAQqrB,OAASriC,KAAKgX,QAAQqrB,OAC9C5gC,EAAgBuV,QAAQsrB,UAAY,IAAI1mD,SACtC,UAAUokB,KAAKgX,QAAQqrB,OACpBz/C,WACA5B,MAAM,SACN6C,KAAK,mBAJ0B,GAMpCmc,KAAKgX,QAAQqrB,OAAS,WACpB5gC,EAAgBuV,QAAQsrB,YA7H5B,WACE,GAA4B,UAAxBtiC,KAAKgX,QAAQ/Z,OAAoB,CACnC,IAAIslC,EAAa,EAEa,IAA5B1iC,EAAU2c,eACgB,IAA1B3c,EAAUkY,aAC0B,OAApCxsB,EAAE,gCAEFg3C,EAAah3C,EAAE,8BAA8BpF,aAAe,GAE9D6Z,KAAKgX,QAAQwrB,IAAIpgD,MAAMsC,IAAM,GAAGhC,KAAK2D,IACnCY,SAAS+Y,KAAKgX,QAAQwrB,IAAIpgD,MAAMsC,IAAK,IACrC6G,EAAE,QAAQpF,aACRoF,EAAE,UAAUpF,aACZ6Z,KAAKgX,QAAQyrB,GAAGt8C,aAChBo8C,EACA,SA8GJG,IAGFjhC,EAAgBkhC,gBAAkB3iC,KAAK2iC,gBACvC3iC,KAAK2iC,gBAAkB,WACrBZ,GAAUtgC,EAAgBkhC,kBAG5BlhC,EAAgBmhC,cAAgB5iC,KAAK4iC,cACrC5iC,KAAK4iC,cAAgB,WACnBb,GAAUtgC,EAAgBmhC,gBAI5Br3C,EAAE,aAAazN,oBAAoB,QAASkiB,KAAK6iC,aAAa,GAC9Dt3C,EAAE,aAAahS,iBACb,SACA,WACEwoD,GAAU/hC,KAAK6iC,gBAEjB,GAGFphC,EAAgBosB,gBAAkB7tB,KAAK6tB,gBACvC7tB,KAAK6tB,gBAAkB,WACrBpsB,EAAgBosB,kBApHlBrsB,EAAuB,GACvB7jB,OAAO6C,KAAKwf,KAAK0Q,iBAAiBhB,SAASv1B,IACJ,OAAjCoR,EAAE,UAAUpR,KAAK04C,cACnBrxB,EAAqBrnB,GAAKoR,EAAE,UAAUpR,KAAK04C,YAC3CtnC,EAAE,UAAUpR,KAAK04C,YAAc,WACxB7yB,KAAKu/B,YACRv/B,KAAKw/B,WAAW3mD,MAChBmnB,KAAKgX,QAAQye,QAAU,EACvBz1B,KAAKgX,QAAQrlB,KACX9Y,MACA,WACE,OAAO87C,GAAc,IAAK,GAAGx6C,OAE/B,SAEF6lB,KAAKgX,QAAQ0e,eAuGnB11B,KAAKiiB,kBAGPxgB,EAAgBqhC,aAAe9iC,KAAK8iC,aAKpC9iC,KAAK8iC,aAAe,SAAUj2B,KAEzBhN,EAAU2rB,cACXxrB,KAAK0kB,YAAY7X,GAAMyG,UAAYtT,KAAKuT,UACtB,IAAlBvT,KAAKwP,UAEL/N,EAAgBqhC,aAAaj2B,IAIjCpL,EAAgBshC,mBAAqB/iC,KAAK+iC,mBAM1C/iC,KAAK+iC,mBAAqB,SAAUC,GAClCvhC,EAAgBshC,mBAAmBC,GA92EvC,SAAqBA,GACnB,GAAiC,IAA7BnjC,EAAUsoB,eAAsB,CAClC,MAAO8a,EAAUC,GA9DrB,SAA6BF,GAC3B5sB,KAGwB7qB,EAAE,iBAAiByxB,SAAS,GAAGrlB,UAAU43B,SAC/D,aAEmBznB,GAAiBk7B,EACjCn7B,GAAgBm7B,EAGrB,IAAI70B,EAAQ,EACZ,GACEtG,KAAkBS,IAClBR,KAAmBS,GAEnB,IAAK,IAAIpuB,EAAI6lB,KAAK0kB,YAAYtqC,OAAS,EAAGD,GAAK,IAAKA,EAClD,GAAI6lB,KAAK0kB,YAAYvqC,GAAG00B,OAAS,EAAG,CAClC,MAAMijB,EAAkBrlB,GAAWzM,KAAK0kB,YAAYvqC,GAAGuE,MAAMA,KAC7D+tB,GAAWqlB,GAAiBjjB,QAAU,EACtCtH,IAAqB,EACrB4G,EACE1B,GAAWqlB,GAAiBnjB,UAC5B3O,KAAKoP,eACH1sB,KAAK6D,IACH,EACAkmB,GAAWqlB,GAAiBjjB,OAC1B,EACApC,GAAWqlB,GAAiBljB,MAEpCT,EAAQnO,KAAKqP,oBAAoB5C,GAAWqlB,GAAkB3jB,GAC9DA,EAAQzrB,KAAKoL,KAAKqgB,GAClB,MAKN,MAAMiX,EAAwB1d,GAO9B,OANAua,KAEAmC,KACIgB,IAA0B1d,IAC5Bua,KAEK,CAAC7Z,GAAepI,KAAKyR,UAAWtD,GAkBHg1B,CAAoBH,GAChDI,EAAgBz9B,GACpBu9B,GAAiBD,EAAWjjC,KAAKyR,YAE7B4xB,EAAqB9+B,GAA6B0+B,EAAWjjC,KAAKyR,UAAa,KAErFlmB,EAAE,kBAAkBnJ,MAAMkhD,UAAY,OACtC/3C,EAAE,kBAAkBnJ,MAAM4vB,OAAS,MACnCzmB,EAAE,kBAAkBwK,YAAYtd,SAAS4D,cAAc,QAAQzB,UAC7D,OACF,MAAMm2B,EAAMt4B,SAAS4D,cAAc,OACnC00B,EAAI3uB,MAAM48B,SAAW,QACrBjO,EAAI3uB,MAAMuW,UAAY,SACtBoY,EAAIvzB,YAAc,wCAAwC+mB,GACxD0+B,OACII,sBACN93C,EAAE,kBAAkBwK,YAAYgb,GAChC,MAAMwyB,EAAO9qD,SAAS4D,cAAc,OACpCknD,EAAKnhD,MAAM48B,SAAW,QACtBukB,EAAKnhD,MAAMuW,UAAY,SACvB4qC,EAAK/lD,YAAc,gBAAgB4lD,yBACnC73C,EAAE,kBAAkBwK,YAAYwtC,IAw1EhCC,CAAYR,IAGdvhC,EAAgBgiC,kBAAoBzjC,KAAKyjC,kBAIzCzjC,KAAKyjC,kBAAoB,SAAUC,GACjCjiC,EAAgBgiC,kBAAkBC,GAx1EtC,WAEE,GAEwE,QADrEn4C,EAAE,gBAAgB3Q,UAAUC,MAAM,aACjC0Q,EAAE,gBAAgByxB,SAAS,GAAG56B,MAAMqB,WAAW5I,MAAM,WAEvD,IAAK,IAAIV,EAAI,EAAGA,EAAIoR,EAAE,gBAAgBulB,WAAW12B,OAAQD,IACL,cAA9CoR,EAAE,gBAAgBulB,WAAW32B,GAAGS,YAClC2Q,EAAE,gBAAgByxB,SAAS7iC,GAAG04C,YAAc,WAC1C1D,KACAnvB,KAAKgX,QAAQye,QAAU,EACvBz1B,KAAKgX,QAAQrlB,KACXpG,EAAE,gBACF,mDAAmDkd,WACnD,QAEFzI,KAAKgX,QAAQ0e,UAEfnqC,EAAE,gBAAgByxB,SAAS7iC,GAAG64C,WAAa,WACzChzB,KAAKgX,QAAQ2sB,WAAa,IAs0EhCC,IAGFniC,EAAgB8d,WAAavf,KAAKuf,WAClCvf,KAAKuf,WAAa,gBAEwB,IAA9ByW,KAAmBvrC,aACiB,IAApCurC,KAAmBvrC,OAAOC,QAElC+W,EAAgB8d,aAtXtB,WACE,MAAMqR,EAAQn4C,SAAS4D,cAAc,OACrCu0C,EAAMh2C,UAAY,QAEE,UAAhBolB,KAAKsd,QACPsT,EAAMpzC,YAAc,0BA7ExB,SAAqBozC,GACnB,MAAM8F,EAAOj+C,SAASk+C,yBACtBD,EAAK3gC,YAAY66B,GAEjBjzC,OAAO6C,KAAKw/C,IAActwB,SAASwe,IACjC,GAAc,cAAVA,GACF,GAAiC,IAA7B5pB,GAAkBlqB,QAAgBylB,EAAUyE,kBAAoB,IAClEoyB,EAAK3gC,YAAYmqC,GAAiBhS,EAAO8R,GAAa9R,KAClDruB,EAAU4rB,OAAOyC,IACnB,IAAK,IAAI2V,EAAQ,EAAGA,EAAQv/B,GAAkBlqB,OAAQypD,IACpDnN,EAAK3gC,YAAYoqC,GAAiB77B,GAAkBu/B,UAI1DnN,EAAK3gC,YAAYmqC,GAAiBhS,EAAO8R,GAAa9R,KAClDruB,EAAU4rB,OAAOyC,KAGL,iBAAVA,EACFvwC,OAAO6C,KAAKy/C,IAA0BvwB,SAASo0B,IAC7C,MAAMC,EAAiB7D,GACrB4D,EACA7D,GAAyB6D,IAE3BC,EAAe3hD,MAAM6vB,SAAW,OAChC8xB,EAAe3hD,MAAM6U,QAAU,MAC/By/B,EAAK3gC,YAAYguC,GACblkC,EAAU4rB,OAAOqY,IACnBnmD,OAAO6C,KAAKmuC,IAAcjf,SAAShc,IAC7Bi7B,GAAaj7B,GAAQw6B,QAAU4V,GACjCpN,EAAK3gC,YAAYoqC,GAAiBzsC,UAK1C/V,OAAO6C,KAAKmuC,IAAcjf,SAAShc,IAC7Bi7B,GAAaj7B,GAAQw6B,QAAUA,GACjCwI,EAAK3gC,YAAYoqC,GAAiBzsC,WAO9C,MAAMswC,EAASvrD,SAAS4D,cAAc,OACtC2nD,EAAOppD,UAAY,UACnB,MAAMqpD,EAAYxrD,SAAS4D,cAAc,KACzC4nD,EAAUrpD,UAAY,SACtBqpD,EAAUtR,QAAU,WAClB0B,GAAWrM,KAEbic,EAAUzmD,YAAc,kBACxBwmD,EAAOjuC,YAAYkuC,GACnBvN,EAAK3gC,YAAYiuC,GAEjBz4C,EAAE,QAAQulB,WAAW,GAAG8d,aACtB8H,EACAnrC,EAAE,QAAQulB,WAAW,GAAGA,WACtBvlB,EAAE,QAAQulB,WAAW,GAAGA,WAAW12B,OAAS,IAoB9C8pD,CAAYtT,IACa,UAAhB5wB,KAAKsd,OACVzd,EAAU0d,QACZqT,EAAMpzC,YAAc,4BACpBq5C,GAAajG,IAEU,QAAhB5wB,KAAKsd,SACdsT,EAAMpzC,YAAc,kBArdxB,SAAqBozC,GACnB,MAAMuT,EAAO1rD,SAAS4D,cAAc,OACpC8nD,EAAKvpD,UAAY,aAEjB,MAAMy7C,EAAO59C,SAAS4D,cAAc,QAmBpC,GAlBAg6C,EAAKj0C,MAAM+U,OAAS,UACpBk/B,EAAKj0C,MAAMqV,QAAU,eACrB4+B,EAAKj0C,MAAMmG,OAAS,OACpB8tC,EAAKj0C,MAAMkG,MAAQ,OACnB+tC,EAAKj0C,MAAMsU,aAAe,MAC1B2/B,EAAKj0C,MAAMuW,UAAY,SACvB09B,EAAKj0C,MAAM4U,gBAAkB,UAC7Bq/B,EAAKj0C,MAAM2F,MAAQ,QACnBsuC,EAAKj0C,MAAM6vB,SAAW,OACtBokB,EAAKj0C,MAAM+vB,cAAgB,SAC3BkkB,EAAK74C,YAAcqiB,EAAU4rB,OAAO0B,QAAU,IAAM,IACpDkJ,EAAK1D,QAAU,WACbwD,GAAa,WACbn2B,KAAKuf,cAEPqR,EAAM76B,YAAYsgC,GAClB8N,EAAKpuC,YAAY66B,GAEb/wB,EAAU4rB,OAAO0B,QAAS,CAC5B,MAAMiX,EAAc3rD,SAAS4D,cAAc,OAC3C+nD,EAAYzsC,UAtiSO,siBAuiSnBwsC,EAAKpuC,YAAYquC,GACjB,MAAMC,EAAQ5rD,SAAS4D,cAAc,OACrCgoD,EAAM1sC,UA/hSiB,+1EAgiSvBwsC,EAAKpuC,YAAYsuC,GAGnB,MAAMC,EAAO/4C,EAAE,QAAQyxB,SAAS,GAChCsnB,EAAK1V,aAAauV,EAAMG,EAAKtnB,SAAS,IAqbpCunB,CAAY3T,IAyWV4T,KAIJ/iC,EAAgBgc,QAAUzd,KAAKyd,QAE/B5a,EAAY,SAAU+C,EAAM6+B,GAC1B,OAAIz/B,OAAOvJ,MAAMmK,IAASA,GAAQ,EACzBnE,EAAgBgc,QAAQ7X,EAAM6+B,GAChC9+B,GAAWC,EAAO5F,KAAK0X,IAAK,IAGrCjW,EAAgBijC,MAAQ1kC,KAAK0kC,MAC7B1kC,KAAK0kC,MAAQ,WACXjjC,EAAgBijC,QAGhB,IAAI9T,EAAQ,iBACQ,UAAhB5wB,KAAKqe,SAAoBuS,EAAQ,gBAErCvsB,GAAQ,GAAGrE,KAAKixB,SAAW,cAAgB,KAAK1sB,GAA4BvE,KAAKuT,YAC9D,IAAjBvT,KAAKuT,QAAgB,SAAW,eAC5Bqd,IA/WV,WACE,GAAI5wB,KAAKixB,UAAgC,IAApBpxB,EAAUwE,MAC7B5rB,SAASm4C,MAAQvsB,QACZ,GAAwB,IAApBxE,EAAUwE,MAAa,CAChC,IAEIsgC,EACAC,EACAC,EAJAC,GAAQ,EACRC,GAAQ,EAORJ,EAFAp5B,GACEA,GAA0BwiB,MAClB,KAAKrrC,KAAKoL,KAAKyd,GAA0B4nB,KAAOnzB,KAAK0X,QAErD,KAAKh1B,KAAKoL,KAAKyd,GAA0B4nB,KAAOnzB,KAAK0X,QACvD1X,KAAKie,IAAI,uBAOJ,OANL,IACRjZ,OAAOzZ,EAAE,sBAAsB/N,aAAe,EAAI,IAAM,KACvDkF,KAAKoL,MACLkS,KAAK8d,aAAaC,OAAOI,QAAUne,KAAK8d,aAAaC,OAAOnY,MAC3D5F,KAAK0X,QAIP5W,IACFgkC,GAAQ,EACRF,EAAU,OAGQ,cAAhB5kC,KAAKqe,SACP0mB,GAAQ,EAENF,EADEhkC,EACQ,KAAKne,KAAKoL,KAAK0d,GAAsB2nB,KAAOnzB,KAAK0X,QAEjD,IACR1S,OAAOzZ,EAAE,uBAAuB/N,aAAe,EAAI,IAAM,KACxDkF,KAAKoL,MACLkS,KAAK8d,aAAaQ,SAASH,QAC1Bne,KAAK8d,aAAaQ,SAAS1Y,MAC3B5F,KAAK0X,SAMb,IAAIn8B,EAAM8oB,GACY,MAAlB9oB,EAAI2L,OAAO,KACb3L,EAAMA,EAAIs3B,UAAUt3B,EAAIypD,YAAY,KAAO,IAE7CvsD,SAASm4C,MAAQ,GACf+T,GAAWG,EAAQF,EAAU,KAAOG,EAAQF,EAAU,OACpDtpD,SACC,GAAwB,IAApBskB,EAAUwE,MAAa,CAChC,IAAI9oB,EAAM,GACN0pD,GAAQ,EACR15B,KACF05B,GAAQ,EACJ15B,GAA0BwiB,MAC5BxyC,GAAO,KAAKmH,KAAKoL,KAAKyd,GAA0B4nB,KAAOnzB,KAAK0X,QACzDn8B,GAAO,KAAKmH,KAAKoL,KAAKyd,GAA0B4nB,KAAOnzB,KAAK0X,SAE/D5W,IACFmkC,GAAQ,EACR1pD,GAAO,OAEW,cAAhBykB,KAAKqe,QAA0Bxd,IACjCtlB,GAAO,KAAKmH,KAAKoL,KAAK0d,GAAsB2nB,KAAOnzB,KAAK0X,QACxDutB,GAAQ,GAENA,IAAO1pD,GAAO,OAClB,IAAIq1C,EAAQ,iBACQ,UAAhB5wB,KAAKqe,SAAoBuS,EAAQ,gBACrCr1C,GAAOq1C,EACPn4C,SAASm4C,MAAQr1C,GAuSjB2pD,GAzRJ,WACE,MAAM9S,EAAgB1vC,KAAK6D,IACzB,EACAyZ,KAAKqyB,oBACH3vC,KAAKkE,MAAMoZ,KAAK4mB,gBAAgB5mB,KAAK6mB,aAAe7mB,KAAKsgB,gBACvD,IAEDtgB,KAAKsgB,cAAgBtgB,KAAK6mB,eAGzB3D,EAAYljB,KAAKyd,SACnB9b,KAAKC,MAAQ5B,KAAKkjB,WAAa,IAAQljB,KAAK0X,KAC7C,GAEH,IAAIn8B,EAAM,GACVA,GAAO,kCACS,KAAd2nC,EAAmB,gBAAkBA,aAEvC3nC,GAAO,2BACHykB,KAAKyW,SAAW,IAClBl7B,GAAO,uCAAuCgpB,GAC5CvE,KAAKyW,2BACYlS,GAA4BvE,KAAKyW,cACpDl7B,GAAO,4BAGPA,GADE6rB,GAAyB,EACpB,6CACAA,GAAyB,EAE9B,6GAEK,uCAAuC7C,GAC5C6C,6BACyB7C,GACzB6C,uBACmB7C,GACnB6C,mCAEJ7rB,GAAO,2BACPA,GAAO,eAAegpB,GACpB6tB,8CAEF72C,GACEskB,EAAU4oB,oBACN,oCAAoChd,kDAAyElH,GAC3GiF,GACA,iDAEF,GAENje,EAAE,iBAAiBoM,UAAYpc,EA0O7B4pD,IAkDJ,SAASC,KACPvV,KACApI,KACAM,KAGA1nB,EAAe1iB,OAAO6C,KAAKwf,KAAKmxB,MAAM/2C,OAlzFtCinB,EAAU5oB,SAAS4D,cAAc,SACjCglB,EAAQ7mB,KAAO,WACf6mB,EAAQ2M,GAAK,QAEbv1B,SAAS4sD,KAAKtvC,YAAYsL,GAz5L5B,WACE,MAAM4R,EAASx6B,SAAS4D,cAAc,OACtC42B,EAAOjF,GAAK,WACZiF,EAAO7wB,MAAMmG,OAAS,OACtB0qB,EAAO7wB,MAAMkG,MAAQ,OACrB2qB,EAAO7wB,MAAMgI,SAAW,WACxB6oB,EAAO7wB,MAAMqV,QAAU,OACvBwb,EAAO7wB,MAAMkjD,iBAAmB,UAChCryB,EAAO7wB,MAAM8V,gBAAkB,+CAC/B+a,EAAO7wB,MAAMmjD,UAAY,kBACzBtyB,EAAO7wB,MAAMoV,SAAW,OACxByb,EAAO7wB,MAAMojD,WACX,uDAEF,MAAMC,EAAQxyB,EAAOld,YAAYtd,SAAS4D,cAAc,UACxDopD,EAAMrjD,MAAMkG,MAAQ,OACpBm9C,EAAMrjD,MAAMuW,UAAY,SACxB8sC,EAAMrjD,MAAMoW,WAAa,SACzB,MAAMktC,EAAQD,EAAM1vC,YAAYtd,SAAS4D,cAAc,UAEjDspD,EAAW,SAAU1/B,EAAMle,GAC/B,MAAM69C,EAAKntD,SAAS4D,cAAc,MAIlC,OAHAupD,EAAGxjD,MAAMuW,UAAY,QACrBitC,EAAGhrD,UAAYknB,EAAgB/Z,EAC/B69C,EAAGpoD,YAAcyoB,EACV2/B,GAEHprD,EAAOkrD,EAAM3vC,YAAYtd,SAAS4D,cAAc,OACtD7B,EAAK4H,MAAM00B,WAAa,OACxBt8B,EAAKub,YACH4vC,EAAS,aAAsCzjC,IAEnCwjC,EAAM3vC,YAAYtd,SAAS4D,cAAc,OACjD0Z,YAAY4vC,EAAS,eAAgB3jC,IAChC0jC,EAAM3vC,YAAYtd,SAAS4D,cAAc,OACjD0Z,YAAY4vC,EAAS,iBAAkB3jC,IAC7B0jC,EAAM3vC,YAAYtd,SAAS4D,cAAc,OACjD0Z,YAAY4vC,EAAS,YAAa3jC,IAEvCzW,EAAE,WAAWwK,YAAYkd,GAEzBt1B,OAAO6C,KAAKwf,KAAK6N,SAAS6B,SAASv1B,IACjCs4B,GAA2Bt4B,MAiqR7B0rD,GA3gRF,WACE,MAAMhyB,EAAWp7B,SAAS4D,cAAc,OACxCw3B,EAAS7F,GAAK,aACd6F,EAASzxB,MAAMgI,SAAW,WAC1BypB,EAASzxB,MAAMqV,QAAU,OACzBoc,EAASzxB,MAAMmG,OAAS,MACxBsrB,EAASzxB,MAAM6vB,SAAW,OAC1B4B,EAASzxB,MAAM00B,WAAa,OAC5BjD,EAASzxB,MAAMkjD,iBAAmB,QAGlC,MAAMQ,EAAej0B,GAAY,eAAgB,cAAe,CAC9D,CAAE7D,GAAI,qBAAsBjmB,MAAOua,GACnC,CAAE0L,GAAI,kBAAmBjmB,MAAOsa,KAElCwR,EAAS9d,YAAY+vC,GAGrB,MAAMC,EAAgBl0B,GAAY,gBAAiB,gBAAiB,CAClE,CAAE7D,GAAI,sBAAuBjmB,MAAOua,GACpC,CAAE0L,GAAI,mBAAoBjmB,MAAOoa,KAEnC0R,EAAS9d,YAAYgwC,GACrB,MAAMC,EAAqBvtD,SAAS4D,cAAc,OAClD2pD,EAAmBh4B,GAAK,uBACxB6F,EAAS9d,YAAYiwC,GAErBz6C,EAAE,WAAWwK,YAAY8d,GAi/QzBoyB,GAtmGF,WACE,MAAMC,EAAaztD,SAAS4D,cAAc,OAC1C6pD,EAAWl4B,GAAK,eAChBk4B,EAAW9jD,MAAMkG,MAAQ,OACzB49C,EAAW9jD,MAAMkjD,iBAAmB,QACpCY,EAAW9jD,MAAMuW,UAAY,SAC7ButC,EAAW9jD,MAAM00B,WAAa,OAC9BovB,EAAW9jD,MAAMqV,QAAU,OAC3ByuC,EAAW9jD,MAAMyU,OAAS,KAC1BqvC,EAAWlT,WAAa,WACtBhzB,KAAKgX,QAAQ7lB,QAGf,MAAM2tB,EAAcrmC,SAAS4D,cAAc,OAC3CyiC,EAAY/oB,YA/Dd,WACE,MAAMowC,EAAS1tD,SAAS4D,cAAc,OACtC8pD,EAAO/jD,MAAM48B,SAAW,QACxBmnB,EAAO/jD,MAAM80B,aAAe,MAC5B,MAAM0Z,EAAQn4C,SAAS4D,cAAc,OACrCu0C,EAAMh2C,UAAY,OAClBg2C,EAAMxuC,MAAM80B,aAAe,MAC3B0Z,EAAMpzC,YAAc,SACpB2oD,EAAOpwC,YAAY66B,GAEnB,MAAMwV,EAAa,SAAUr+C,EAAOke,GAClC,MAAM8K,EAAMt4B,SAAS4D,cAAc,OACnC00B,EAAI3uB,MAAM+vB,cAAgB,SAC1B,MAAMkkB,EAAO59C,SAAS4D,cAAc,QAQpC,OAPAg6C,EAAKz7C,UAAYmnB,EAAgBha,EACjCsuC,EAAKj0C,MAAMqV,QAAU,eACrB4+B,EAAKj0C,MAAMmG,OAAS,OACpB8tC,EAAKj0C,MAAMkG,MAAQ,OACnB+tC,EAAKj0C,MAAM8vB,YAAc,MACzBnB,EAAIhb,YAAYsgC,GAChBtlB,EAAIhb,YAAYtd,SAASqgB,eAAemN,IACjC8K,GAsBT,OAnBAo1B,EAAOpwC,YACLqwC,EAAWpkC,EAAY,iDAEzBmkC,EAAOpwC,YACLqwC,EAAWnkC,EAAa,wCAE1BkkC,EAAOpwC,YACLqwC,EAAWlkC,EAAc,0CAE3BikC,EAAOpwC,YACLqwC,EAAWjkC,EAAc,0CAE3BgkC,EAAOpwC,YACLqwC,EAAWhkC,EAAW,0CAExB+jC,EAAOpwC,YACLqwC,EAAW/jC,EAAc,8CAE3B8jC,EAAOpwC,YAAYqwC,EAAW9jC,EAAY,4BACnC6jC,EAoBiBE,IACxBH,EAAWrT,YAAc,WACvB7yB,KAAKgX,QAAQrlB,KAAK9Y,KAAMomC,OAAOH,EAAYnnB,WAAY,UAGzD,MAAM2uC,EAAgB,SAAUt4B,EAAIjmB,GAClC,MAAMsuC,EAAO59C,SAAS4D,cAAc,QAMpC,OALAg6C,EAAKroB,GAAKA,EACVqoB,EAAKz7C,UAAYknB,EAAgB/Z,EACjCsuC,EAAKj0C,MAAMkG,MAAQ,qBACnB+tC,EAAKj0C,MAAMqV,QAAU,eACrB4+B,EAAK74C,YAAc,IACZ64C,GAET6P,EAAWnwC,YAAYuwC,EAAc,mBAAoBtkC,IACzDkkC,EAAWnwC,YAAYuwC,EAAc,oBAAqBrkC,IAC1DikC,EAAWnwC,YAAYuwC,EAAc,qBAAsBpkC,IAC3DgkC,EAAWnwC,YAAYuwC,EAAc,qBAAsBnkC,IAC3D+jC,EAAWnwC,YAAYuwC,EAAc,kBAAmBlkC,IACxD8jC,EAAWnwC,YAAYuwC,EAAc,qBAAsBjkC,IAC3D6jC,EAAWnwC,YAAYuwC,EAAc,mBAAoBhkC,IAEzD/W,EAAE,YAAY+N,WAAWs1B,aACvBsX,EACA36C,EAAE,YAAY+N,WAAWwX,WAAW,IAikGtCy1B,GAjyFF,WACE,MAAMC,EAAc/tD,SAAS4D,cAAc,OAC3CmqD,EAAYx4B,GAAK,gBACjBw4B,EAAYpkD,MAAMkG,MAAQ,OAC1Bk+C,EAAYpkD,MAAMmG,OAAS,OAC3Bi+C,EAAYpkD,MAAM4U,gBAAkB,QACpCwvC,EAAYpkD,MAAMqV,QAAU,OAC5B+uC,EAAYpkD,MAAMyU,OAAS,aAC3B2vC,EAAYpkD,MAAMgI,SAAW,WAC7BmB,EAAE,WAAWwK,YAAYywC,GAyxFzBC,GA1jGF,WACE,MAAM11B,EAAMt4B,SAAS4D,cAAc,OACnC00B,EAAI/C,GAAK,sBACT+C,EAAI3uB,MAAMuW,UAAY,SACtB,MAAM3V,EAAIvK,SAAS4D,cAAc,KACjC2G,EAAEpI,UAAY,SACdoI,EAAE2vC,QAAU,WAC0B,SAAhCpnC,EAAE,YAAYnJ,MAAMqV,SACtBlM,EAAE,YAAYnJ,MAAMqV,QAAU,OAC9BlM,EAAE,kBAAkBnJ,MAAMqV,QAAU,OACpClM,EAAE,gBAAgBnJ,MAAMqV,QAAU,OAClClM,EAAE,iBAAiBnJ,MAAMqV,QAAU,SAEnClM,EAAE,YAAYnJ,MAAMqV,QAAU,OACc,IAAxClM,EAAE,kBAAkByxB,SAAS5iC,SAC/BmR,EAAE,kBAAkBnJ,MAAMqV,QAAU,SACI,IAAtClM,EAAE,gBAAgByxB,SAAS5iC,SAC7BmR,EAAE,gBAAgBnJ,MAAMqV,QAAU,SACO,IAAvClM,EAAE,iBAAiByxB,SAAS5iC,SAC9BmR,EAAE,iBAAiBnJ,MAAMqV,QAAU,WAGzCzU,EAAExF,YAAc,qBAChBuzB,EAAIhb,YAAY/S,GAChB,MAAMP,EAAIhK,SAAS4D,cAAc,KACjCoG,EAAE7H,UAAY,SACd6H,EAAEkwC,QAAU,WAC0B,SAAhCpnC,EAAE,YAAYnJ,MAAMqV,QACtBlM,EAAE,YAAYnJ,MAAMqV,QAAU,OAC3BlM,EAAE,YAAYnJ,MAAMqV,QAAU,QAErChV,EAAEjF,YAAc,sBAChBuzB,EAAIhb,YAAYtT,GAChB8I,EAAE,SAASqjC,aAAa7d,EAAKxlB,EAAE,SAASulB,WAAW,IA0hGnD41B,GAtgKF,WACE,MAAMpe,EAAU7vC,SAAS4D,cAAc,QACvCisC,EAAQta,GAAK,YACbsa,EAAQj4B,IAAM,gBACdi4B,EAAQ0F,KAAO,uDACfv1C,SAASkuD,qBAAqB,QAAQ,GAAG5wC,YAAYuyB,GAkgKrDse,GACAjpD,OAAO6C,KAAKkiB,GAAagN,SAASv1B,KA5/FpC,SAA6B2kC,EAAa7Y,EAAM+Y,GAC9C,MAAM+M,EAAUtzC,SAAS4D,cAAc,OACvC0vC,EAAQ/d,GAAK8Q,EACb,MAAMuP,EAAO51C,SAAS4D,cAAc,OACpCgyC,EAAKjsC,MAAM48B,SAAWA,EACtBqP,EAAKjsC,MAAM80B,aAAe,MAC1B,MAAMnG,EAAMt4B,SAAS4D,cAAc,OACnC00B,EAAI3uB,MAAMuW,UAAY,OACtBoY,EAAIvzB,YAAcyoB,EAClBooB,EAAKt4B,YAAYgb,GACjBgb,EAAQh2B,YAAYs4B,GACpB1rB,EAAsBmc,GAAeiN,EAk/FnC8a,CACEnkC,EAAYvoB,GAAG,GACfuoB,EAAYvoB,GAAG,GACfuoB,EAAYvoB,GAAG,OAx3FrB,WACE,MAAM2iD,EAAUrkD,SAAS4D,cAAc,KACvCygD,EAAQ9uB,GAAK,6BACb8uB,EAAQt/C,YAAc,iBACtBs/C,EAAQliD,UAAY,SACpBkiD,EAAQnK,QAAU,WAChB8B,MAEFqI,EAAQ9J,WAAa,WACnBhzB,KAAKgX,QAAQ2sB,WAAa,GAE5B7G,EAAQjK,YAAc,WACpB7yB,KAAKgX,QAAQye,QAAU,EACvBz1B,KAAKgX,QAAQrlB,KACX9Y,MACA,WACE,OAAO87C,GAAc,KAAM,YAE7B,QAEF30B,KAAKgX,QAAQ0e,UAEfnqC,EAAE,oBAAoByxB,SAAS,GAAG8pB,OAAOhK,GACzC,MAAME,EAAcvkD,SAAS4D,cAAc,KAC3C2gD,EAAYhvB,GAAK,2BACjBgvB,EAAYx/C,YAAc,qBAC1Bw/C,EAAYpiD,UAAY,SACxBoiD,EAAYrK,QAAU,WACa,OAA7B1oB,GAAsB,KACxBjK,KAAK2R,UAAU1H,GAAsB,IAAIyqB,GAAK,IAElDsI,EAAYhK,WAAa,WACvBhzB,KAAKgX,QAAQ2sB,WAAa,GAE5B3G,EAAYnK,YAAc,WACxB7yB,KAAKgX,QAAQye,QAAU,EACvBz1B,KAAKgX,QAAQrlB,KACX9Y,MACA,WACE,OAAO87C,GAAc,KAAM,gBAE7B,QAEF30B,KAAKgX,QAAQ0e,UAEfnqC,EAAE,oBAAoByxB,SAAS,GAAG8pB,OAAO9J,GA80FzC+J,GAvzFAx7C,EAAE,YAAYnJ,MAAMqV,QAAU,OAC9BlM,EAAE,aAAanJ,MAAM4tB,QAAU,MAE/BzkB,EAAE,YAAYnJ,MAAMqV,QAAU,OAC9BlM,EAAE,YAAYnJ,MAAM,aAAe,OAkInCzE,OAAO6C,KAAKwf,KAAK6N,SAAS6B,SAASv1B,IACjC,MAAMw2B,EAAK3Q,KAAK6N,QAAQ1zB,GACiB,OAArCoR,EAAE,UAAUolB,EAAG3C,MAAM6kB,cACvBvxB,EAAmBnnB,GAAKoR,EAAE,UAAUolB,EAAG3C,MAAM6kB,YAC7CtnC,EAAE,UAAUolB,EAAG3C,MAAM6kB,YAAc,WACjC7yB,KAAKgX,QAAQye,QAAU,EACvBz1B,KAAKgX,QAAQrlB,KACX9Y,MACA,WACE,OAAO87C,GAAc,IAAK,GAAGx6C,OAE/B,SAEF6lB,KAAKgX,QAAQ0e,cAUf11B,KAAKgnC,aACP1mC,EAAoB/U,EAAE,SAASsnC,YAC/BtnC,EAAE,SAASsnC,YAAc,WACvB7yB,KAAKgX,QAAQye,QAAU,EACvBz1B,KAAKgX,QAAQrlB,KACX9Y,MACA,WACE,OAAO87C,GAAc,IAAK,UAE5B,QAEF30B,KAAKgX,QAAQ0e,WAmFjB90B,EAAgBZ,KAAKY,cACrBZ,KAAKY,cAAgB,WACnBA,IA5EEZ,KAAK6N,QAAQoM,KAAK1L,iBACpBhjB,EAAE,gBAAgBsnC,YAAc,WAC9B7yB,KAAKgX,QAAQye,QAAU,EACvBz1B,KAAKgX,QAAQrlB,KACX9Y,MACA,WACE,OAAO87C,GAAc,KAAM,sBAE7B,QAEF30B,KAAKgX,QAAQ0e,UAEf/xC,MAAMy+C,KAAK72C,EAAE,cAAcyxB,UAAUtN,SAASu3B,IAC5C,MAAMC,EAASD,EAAMj5B,GAAG9P,OAAO,GAE/B+oC,EAAMpU,YAAc,WAClB7yB,KAAKgX,QAAQye,QAAU,EACvBz1B,KAAKgX,QAAQrlB,KACX9Y,MACA,WACE,OAAO87C,GAAc,IAAK,CAAC,GAAGuS,EAAO,KAAM,GAAGA,EAAO,SAEvD,QAEFlnC,KAAKgX,QAAQ0e,cAsDjBF,KAhDJ,WACE,GAAIx1B,KAAK6N,QAAQF,OAAOY,eAAgB,CACtC,IAAK,IAAIp0B,EAAI,EAAGA,EAAI,GAAIA,GAAK,EAC3BoR,EAAE,YAAYpR,KAAK04C,YAAc,WAC/B7yB,KAAKgX,QAAQye,QAAU,EACvBz1B,KAAKgX,QAAQrlB,KACX9Y,MACA,WACE,OAAO87C,GAAc,MAAOx6C,KAE9B,QAEF6lB,KAAKgX,QAAQ0e,UAGjB,IAAK,IAAIv7C,EAAI,EAAGA,EAAI,EAAGA,GAAK,EAC1BoR,EAAE,aAAapR,KAAK04C,YAAc,WAChC7yB,KAAKgX,QAAQye,QAAU,EACvBz1B,KAAKgX,QAAQrlB,KACX9Y,MACA,WACE,OAAO87C,GAAc,MAAO,CAC1Bx6C,EACA6lB,KAAK6N,QAAQF,OAAOC,SAAS+I,KAAKx8B,OAGtC,QAEF6lB,KAAKgX,QAAQ0e,WAqBjByR,GACAtR,MAEF71B,KAAKY,gBAu/ELrV,EAAE,wBAAwBsnC,YAAc,WACtC/vB,EAAsB,GAExBvX,EAAE,wBAAwBynC,WAAa,WACrClwB,EAAsB,EACtB9C,KAAKgX,QAAQ7lB,OACbxT,OAAO6C,KAAKwf,KAAK2R,WAAWjC,SAASv1B,IACnC6oB,EAA0B7oB,GAAK,MA6DnC+nD,KACArM,KACA71B,KAAKiiB,iBAELoS,KACAzxB,EAAoB5C,KAAKixB,SAErBjxB,KAAKmd,MAAMiqB,OACbpnC,KAAKqnC,MACH,0CAGFrnC,KAAKsnC,OACH,yCACA,GACA,GACA,EACA,GAGJtnC,KAAKunC,IAAI,eAyEX,MAAMC,GAAK,CACT/tD,KAzDF,WACEq2C,IAAiB,EACjB,IAAI2X,GAAU,EACVznC,KAAKkvB,UAAYlqB,OAl+TF,WAo+TjByiC,EAAUC,QACR,4JAGAD,IACFrC,KACAplC,KAAK2nC,aAAa,OAAQzqB,IAC1Bld,KAAK2nC,aAAa,QAAS3W,IAC3BhxB,KAAK2nC,aAAa,QAASloB,IAC3BqQ,IAAiB,IA4CnB8X,KA9BF,SAAcrsD,GACZ,MAAMuzC,EAAOtzC,KAAKC,MAAMF,GACxBs0C,UAEsC,IAA3Bf,EAAKE,oBACd1qB,GAAoBwqB,EAAKE,mBAC3BqF,GAAWvF,EAAKG,UACK,YAAjBH,EAAKI,UACHlvB,KAAKmd,MAAMiqB,OACbpnC,KAAKqnC,MACH,iGAGFrnC,KAAKsnC,OACH,gGACA,GACA,GACA,EACA,KAaNxY,KAAMA,IAGR9uB,KAAK6nC,YAAY,gBAAiBL,KAniUlC,IAxgHS","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file diff --git a/src/Disp/HelperFunctions/UpdateBackground.js b/src/Disp/HelperFunctions/UpdateBackground.js index 50a3336c..8be41a52 100644 --- a/src/Disp/HelperFunctions/UpdateBackground.js +++ b/src/Disp/HelperFunctions/UpdateBackground.js @@ -11,4 +11,5 @@ export default function UpdateBackground() { Game.LeftBackground.canvas.parentNode.offsetWidth; Game.LeftBackground.canvas.height = Game.LeftBackground.canvas.parentNode.offsetHeight; + Game.DrawBackground(); } From 119faa5305fdf0a58e00fee5beb1cf85a9014ff0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Sun, 4 Apr 2021 20:42:05 +0200 Subject: [PATCH 30/30] Update to version 2.031.7 --- CookieMonster.js | 2 +- dist/CookieMonster.js | 2 +- dist/CookieMonster.js.map | 2 +- package.json | 2 +- src/Data/Moddata.js | 39 ++++++++++++++++++--------------------- 5 files changed, 22 insertions(+), 25 deletions(-) diff --git a/CookieMonster.js b/CookieMonster.js index 16e6377b..b0040f94 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x=[],M=[],T=[],S={},P=Date.now(),B=Date.now();const E="CMText",N="CMBack",O="Blue",F="Green",W="Yellow",L="Orange",A="Red",j="Purple",D="Gray",H="Pink",U="Brown",$=[D,O,F,W,L,A,j,H,U],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],I={};let z,V,_=0,Q=-1,X=[],q=1,Y=1,K=1;const J=[10,15,30,60,300,600,900,1800],Z=[1,5,10,15,30],ee={Frenzy:W,"Dragon Harvest":U,"Elder frenzy":F,Clot:A,"Click frenzy":O,Dragonflight:H};let te,oe,ne,ie,ae,re,le,se={},ce="",de=[];function pe(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${pe(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function me(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=F):(n=ue(t),o=t>300?A:t>60?L:W),{text:n,color:o}}let he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Me,Te,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=0,pt=1,ut=1,mt=1,ht=0,gt=0,ft=0,Ct=0,yt={},bt={},kt={},Gt=0,vt=0,wt=[0,null],xt=0,Mt=0,Tt={},St={},Pt={},Bt={},Et={},Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,$t=0,Rt=[],It=0,zt=0,Vt={},_t={},Qt=0,Xt=0,qt=[],Yt={},Kt=0,Jt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Zt=[],eo=[],to=[];function oo(e){let t=0;return Game.dragonAuras[$e].name!==e&&Game.dragonAuras[Re].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[$e].name&&"Reality Bending"!==Game.dragonAuras[Re].name||(t+=.1),t}function no(){let e=.25;return e*=1+oo("Earth Shatterer"),e}function io(e,t){return void 0===Qe[e]?void 0===t?1:t:Qe[e]}function ao(e){const t=eo[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ro(e){if(Game.hasGod){void 0===Zt.Temple.minigame&&(Zt.Temple.minigame=Game.Objects.Temple.minigame);const t=Zt.Temple.minigame.gods[e];if(Ie===t.id)return 1;if(ze===t.id)return 2;if(Ve===t.id)return 3}return!1}function lo(e,t){let o=t;if(ao("Season savings")&&(o*=.99),ao("Santa's dominion")&&(o*=.99),ao("Faberge egg")&&(o*=.99),ao("Divine discount")&&(o*=.99),ao("Fortune #100")&&(o*=.99),o*=1-.02*oo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&ao(e.fortune.name)&&(o*=.93),o*=io("buildingCost"),Zt.Temple.minigameLoaded){const e=ro("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function so(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function co(){let t=Game.buyBulk;if(1===Game.buyMode?Y=t:t=Y,1===t?t=yt:10===t?t=bt:100===t&&(t=kt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(yt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=pe(so(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(yt).map((e=>{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;e$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.ppe.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?q=i:i=q,1===i&&(i=yt),10===i&&(i=bt),100===i&&(i=kt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=pe(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=E+i[o].color,n=e.PPDisplayTime?ue(Math.round(i[o].pp)):pe(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=me((Game.Objects[o].bulkPrice-(Game.cookies+mo()))/uo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=E+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&ao(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(ao(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&ao(e.fortune.name)&&(t*=1.07),e.grandma&&ao(e.grandma.name)&&(t*=1+.01*Zt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&ao(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function wo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;ao("Thousand fingers")&&(t+=.1),ao("Million fingers")&&(t*=5),ao("Billion fingers")&&(t*=10),ao("Trillion fingers")&&(t*=20),ao("Quadrillion fingers")&&(t*=20),ao("Quintillion fingers")&&(t*=20),ao("Sextillion fingers")&&(t*=20),ao("Septillion fingers")&&(t*=20),ao("Octillion fingers")&&(t*=20),ao("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Zt).forEach((e=>{"Cursor"!==Zt[e].name&&(n+=Zt[e].amount)})),t*=n,o*=vo(e),o*=Game.magicCpS("Cursor"),o*=io("cursorCps"),Game.ComputeCps(.1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{ao(Game.GrandmaSynergies[e])&&(o*=2)})),ao("Bingo center/Research facility")&&(o*=4),ao("Ritual rolling pins")&&(o*=2),ao("Naughty list")&&(o*=2),ao("Elderwort biscuits")&&(o*=1.02),o*=io("grandmaCps"),ao("Cat ladies"))for(let e=0;e{"Grandma"!==Zt[e].name&&(i+=Zt[e].amount)})),o*=1+.01*oo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=vo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function xo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Zt).forEach((t=>{Zt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(ao("Starlove")&&(e=3),Game.hasGod){const t=ro("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Mo(){Ae=Game.UpgradesOwned,je=Game.pledges,De=Game.AchievementsOwned,He=Game.heavenlyPower,Ue=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e],go(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ie=t.minigame.slot[0],ze=t.minigame.slot[1],Ve=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Zt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=eo[e];void 0===o&&(eo[e]=xo(e),o=eo[e]),o.bought=t.bought,eo[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=to[e];void 0===o&&(to[e]=Go(e),o=to[e]),o.won=t.won,to[e]=o})),ko(),$e=Ye,Re=Ke}function To(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function So(e){e.appendChild(To("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(To("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(To("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(To("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ne){e.appendChild(To("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Po(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Eo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function No(){if(Mo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ne?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(So(l("CMTooltipBorder")),1===Game.buyMode?K=t:t=K,1===Game.buyBulk?t=yt:10===Game.buyBulk?t=bt:100===Game.buyBulk&&(t=kt),te=Game.Objects[ie].bulkPrice,oe=t[ie].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=pe(oe,2);const o=Math.round(oe/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=E+t[ie].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ue(t[ie].pp):l("CMTooltipPP").textContent=pe(t[ie].pp,2),l("CMTooltipPP").className=E+t[ie].color;const n=me((te-(Game.cookies+mo()))/uo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ie[1]][ie[0]][0]-1].mature,o=t.plantsById[t.plot[ie[1]][ie[0]][0]-1].name;l("CMTooltipBorder").appendChild(To("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${pe(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${pe(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${pe(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${pe(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ne?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(To("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=ho(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==ee[Game.buffs[t].name]?ee[Game.buffs[t].name]:j,a.lastChild.children[1].className=N+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),le!==n&&(le=n,yo())}}(),fo(),No(),function(){if(1===e.TooltipWrink&&1===_){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===X[t]||void 0===X[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),Q=t,X[t]=1}}else X[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[Q],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[Q].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Zt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=pe(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,pe(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Fo(){he.addLatest(Game.computedMouseCps)}class Wo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Lo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Kt;Game.cpsSucked>0&&(o+=Gt),It=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ge,i=Math.max(0,Game.cookies-ve)/n,a=Math.max(0,Gt-we)/n,r=Math.max(0,wt[0]-xe)/n,l=Math.max(0,o-Ct)/n,s=(Game.cookieClicks-Me)/n;for(let e=0;e0&&(n=A),n}function jo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=D;else{t[n].color=Ao(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+mo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||qt.push([t[n].pp,o])}))}function Ho(){!function(){Xt=1/0,qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Do(yt,1),Do(bt,10),Do(kt,100),qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;qt[t][1]>Game.cookies&&(t+=1,qt.length!==t+1););Xt=qt[e.PPExcludeTop][t],jo(yt,1),jo(bt,10),jo(kt,100)}(),Object.keys(Tt).forEach((e=>{Game.cookiesPs?Tt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+mo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Tt[e].bonus:Tt[e].pp=Game.Upgrades[e].getPrice()/Tt[e].bonus,Number.isNaN(Tt[e].pp)&&(Tt[e].pp=1/0),Tt[e].color=Ao(Tt[e],Game.Upgrades[e].getPrice())}))}function Uo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Qe=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ue)*He*function(){let e=0;if(ao("Heavenly chip secret")&&(e+=.05),ao("Heavenly cookie stand")&&(e+=.2),ao("Heavenly bakery")&&(e+=.25),ao("Heavenly confectionery")&&(e+=.25),ao("Heavenly key")&&(e+=.25),e*=1+.05*oo("Dragon God"),ao("Lucky digit")&&(e*=1.01),ao("Lucky number")&&(e*=1.01),ao("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ro("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=io("cps"),ao("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];ao(o.name)&&("function"==typeof o.power?e*=1+.01*eo[o.name].power(eo[o.name]):e*=1+.01*o.power)})),ao("Specialized chocolate chips")&&(e*=1.01),ao("Designer cocoa beans")&&(e*=1.02),ao("Underworld ovens")&&(e*=1.03),ao("Exotic nuts")&&(e*=1.04),ao("Arcane sugar")&&(e*=1.05),ao("Increased merriness")&&(e*=1.15),ao("Improved jolliness")&&(e*=1.15),ao("A lump of coal")&&(e*=1.01),ao("An itchy sweater")&&(e*=1.01),ao("Santa's dominion")&&(e*=1.2),ao("Fortune #100")&&(e*=1.01),ao("Fortune #101")&&(e*=1.07),ao("Dragon scale")&&(e*=1.03);let o=1;if(ro){let t=ro("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ro("ages"),1===t?e*=1+.15*Math.sin(P/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(P/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(P/1e3/86400*Math.PI*2)),t=ro("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ro("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ro("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}ao("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=De/25;let i=1;if(ao("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*oo("Breath of Milk"),ro){const e=ro("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=io("milk");let a=1;ao("Kitten helpers")&&(a*=1+.1*n*i),ao("Kitten workers")&&(a*=1+.125*n*i),ao("Kitten engineers")&&(a*=1+.15*n*i),ao("Kitten overseers")&&(a*=1+.175*n*i),ao("Kitten managers")&&(a*=1+.2*n*i),ao("Kitten accountants")&&(a*=1+.2*n*i),ao("Kitten specialists")&&(a*=1+.2*n*i),ao("Kitten experts")&&(a*=1+.2*n*i),ao("Kitten consultants")&&(a*=1+.2*n*i),ao("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),ao("Kitten marketeers")&&(a*=1+.15*n*i),ao("Kitten analysts")&&(a*=1+.125*n*i),ao("Kitten executives")&&(a*=1+.115*n*i),ao("Kitten angels")&&(a*=1+.1*n*i),ao("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Zt).forEach((e=>{const t=Zt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&ao("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Xe+=t.amount*a})),ao('"egg"')&&(Xe+=9),e*=a;let r=1;if(ao("Chicken egg")&&(r*=1.01),ao("Duck egg")&&(r*=1.01),ao("Turkey egg")&&(r*=1.01),ao("Quail egg")&&(r*=1.01),ao("Robin egg")&&(r*=1.01),ao("Ostrich egg")&&(r*=1.01),ao("Cassowary egg")&&(r*=1.01),ao("Salmon roe")&&(r*=1.01),ao("Frogspawn")&&(r*=1.01),ao("Shark egg")&&(r*=1.01),ao("Turtle egg")&&(r*=1.01),ao("Ant larva")&&(r*=1.01),ao("Century egg")){let e=10*Math.floor((B-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),gt=1+.1*(1-(1-e/100)**3),r*=gt}e*=r,ao("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+oo("Radiant Appetite");const l=Xe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&$o(Game.CpsAchievements[e].name)})),qe=l;const{n:s}=Game.shimmerTypes.golden,c=oo("Dragon's Fortune");for(let t=0;t{ao(e[o])&&(t+=.1)}))}e*=t}if(ao("Shimmering veil [off]")){let t=.5;ao("Reinforced membrane")&&(t+=.1),e*=1+t}ao("Magic shenanigans")&&(e*=1e3),ao("Occult obstruction")&&(e*=0),Xe=Game.runModHookOnValue("cps",Xe),e*=Bo(),Xe*=e}const Io=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],zo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Vo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],_o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Qo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Xo(e){return to[e]?to[e].won:0}function qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{ao(Game.GrandmaSynergies[t])&&(e+=1)})),!Xo("Elder")&&e>=7&&$o("Elder"),!Xo("Veteran")&&e>=14&&$o("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount,i=Math.min(Zt[e].amount,i),Xo("Mathematician")||Zt[e].amount=1&&$o("One with everything"),1===o&&$o("Mathematician"),1===n&&$o("Base 10"),i>=100&&$o("Centennial"),i>=150&&$o("Centennial and a half"),i>=200&&$o("Bicentennial"),i>=250&&$o("Bicentennial and a half"),i>=300&&$o("Tricentennial"),i>=350&&$o("Tricentennial and a half"),i>=400&&$o("Quadricentennial"),i>=450&&$o("Quadricentennial and a half"),i>=500&&$o("Quincentennial"),i>=550&&$o("Quincentennial and a half"),i>=600&&$o("Sexcentennial"),t>=100&&$o("Builder"),t>=500&&$o("Architect"),t>=1e3&&$o("Engineer"),t>=2e3&&$o("Lord of Constructs"),t>=4e3&&$o("Grand design"),t>=8e3&&$o("Ecumenopolis"),Ae>=20&&$o("Enhancer"),Ae>=50&&$o("Augmenter"),Ae>=100&&$o("Upgrader"),Ae>=200&&$o("Lord of Progress"),Ae>=300&&$o("The full picture"),Ae>=400&&$o("When there's nothing left to add"),t>=4e3&&Ae>=300&&$o("Polymath"),t>=8e3&&Ae>=400&&$o("Renaissance baker"),Zt.Cursor.amount+Zt.Grandma.amount>=777&&$o("The elder scrolls");let a=!0;Object.keys(zo).forEach((e=>{ao(zo[e])||(a=!1)})),a&&$o("Spooky cookies");let r=!0;if(Object.keys(Vo).forEach((e=>{ao(Vo[e])||(r=!1)})),r&&$o("Let it snow"),ao("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{ao(e[o].name)&&(t+=1)})),t>=e.length&&$o("O Fortuna")}}function Yo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Mo(),Zt[e].amount+=t;const o=Zt[e];"Cursor"===e?(o.amount>=1&&$o("Click"),o.amount>=2&&$o("Double-click"),o.amount>=50&&$o("Mouse wheel"),o.amount>=100&&$o("Of Mice and Men"),o.amount>=200&&$o("The Digital"),o.amount>=300&&$o("Extreme polydactyly"),o.amount>=400&&$o("Dr. T"),o.amount>=500&&$o("Thumbs, phalanges, metacarpals"),o.amount>=600&&$o("With her finger and her thumb"),o.amount>=700&&$o("Gotta hand it to you"),o.amount>=800&&$o("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&$o(Game.Objects[o.name].tieredAchievs[e].name)}));const n=De;return Ro(),qo(),n!==De&&Ro(),Xe-Game.cookiesPs}(o,e),1!==e&&(Fe=1)})),t}function Ko(){Object.keys(Game.Objects).forEach((e=>{yt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),bt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),kt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Jo(){yt=Yo(1),bt=Yo(10),kt=Yo(100),Tt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Mo(),"Shimmering veil [on]"===eo[e].name?eo["Shimmering veil [off]"].bought=0:"Golden switch [on]"===eo[e].name?eo["Golden switch [off]"].bought=0:eo[e].bought=(eo[e].bought+1)%2,Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ae+=1),"Elder Pledge"===e?(je+=1,je>0&&$o("Elder nap"),je>=5&&$o("Elder slumber")):"Elder Covenant"===e?$o("Elder calm"):"Prism heart biscuits"===e?$o("Lovely cookies"):"Heavenly key"===e&&$o("Wholesome");const t=De;Ro(),qo(),t!==De&&Ro();const o=function(){let e=0;ao("Thousand fingers")&&(e+=.1),ao("Million fingers")&&(e*=5),ao("Billion fingers")&&(e*=10),ao("Trillion fingers")&&(e*=20),ao("Quadrillion fingers")&&(e*=20),ao("Quintillion fingers")&&(e*=20),ao("Sextillion fingers")&&(e*=20),ao("Septillion fingers")&&(e*=20),ao("Octillion fingers")&&(e*=20),ao("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount})),t-=Zt.Cursor.amount,e*=t,ao("Plastic mouse")&&(e+=.01*Xe),ao("Iron mouse")&&(e+=.01*Xe),ao("Titanium mouse")&&(e+=.01*Xe),ao("Adamantium mouse")&&(e+=.01*Xe),ao("Unobtainium mouse")&&(e+=.01*Xe),ao("Eludium mouse")&&(e+=.01*Xe),ao("Wishalloy mouse")&&(e+=.01*Xe),ao("Fantasteel mouse")&&(e+=.01*Xe),ao("Nevercrack mouse")&&(e+=.01*Xe),ao("Armythril mouse")&&(e+=.01*Xe),ao("Technobsidian mouse")&&(e+=.01*Xe),ao("Plasmarble mouse")&&(e+=.01*Xe),ao("Miraculite mouse")&&(e+=.01*Xe),ao("Fortune #104")&&(e+=.01*Xe);let o=1;if(ao("Santa's helpers")&&(o*=1.1),ao("Cookie egg")&&(o*=1.1),ao("Halo gloves")&&(o*=1.1),ao("Dragon claw")&&(o*=1.03),ao("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,ao("Luminous gloves")?20:10)),o*=io("click"),Zt.Temple.minigameLoaded&&ro){const e=ro("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*oo("Dragon Cursor");let n=o*Game.ComputeCps(1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Xe-Game.cookiesPs,o]:[Xe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Tt[t]={bonus:Game.cookiesPs-Te},1===e.CalcWrink?Tt[t].bonus-=Se:2===e.CalcWrink&&(Tt[t].bonus-=Pe),Number.isFinite(Tt[t].bonus)||(Tt[t].bonus=0)):(Tt[t]={},o[0]&&(Tt[t].bonus=o[0]),o[1]&&(Tt[t].bonusMouse=o[1]))}))}function Zo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ft=Zo(7,e,ut),Nt=2*Ft[1]/ut,Ot=Ft[2]/60/60/6/pt,At=Zo(6,e,mt),Wt=2*At[1]/mt,Lt=At[2]/60/60/6/pt,Ht=Zo(7,7*e,ut),jt=2*Ht[1]/ut,Dt=Ht[2]/60/60/6/pt,Rt=Zo(6,7*e,mt),Ut=2*Rt[1]/mt,$t=Rt[2]/60/60/6/pt}function tn(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ne,i=Math.max(0,o-Oe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Bt+=e:"cookie"===o.pool?Et+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Pt+=e)}}))}function nn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ft=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ft*=2)}}function an(){et=900*dt/.15,et*=pt;const e=Bo();e>0?et/=e:et=0,tt=ut*(.15*et)+13,ot=mt*(.15*et)+13,nt=7*et,it=ut*(.15*nt)+13,at=mt*(.15*nt)+13,rt=2*et,lt=.15*rt,st=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountst&&(st=2*Game.Objects[e].price,ct=e)}))}function rn(){let e=1,t=1,o=1;ao("Green yeast digestives")&&(o*=1.01),ao("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ut=o*e,mt=o*t,pt=1,0===Game.shimmerTypes.golden.n&&(pt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function ln(){Gt=0,vt=0,wt=[0,null];for(let e=0;ewt[0]&&(wt=[t,e]))}}function sn(){ko(),ln(),an(),rn(),en(),on(),nn(),ge=new Wo(J[J.length-1]),fe=new Wo(J[J.length-1]),Ce=new Wo(J[J.length-1]),ye=new Wo(J[J.length-1]),be=new Wo(Z[Z.length-1]),ke=new Wo(5),he=new Wo(20*Z[Z.length-1]),tn(),Lo(),Jo(),Ko(),Ho()}const cn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},dn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function pn(){1===e.BotBar?(l("CMBotBar").style.display="",fo()):l("CMBotBar").style.display="none",yo()}function un(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),fo(),co(),po()}function mn(){1===e.Favicon&&y>0?Vt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class hn{constructor(e,t){this.type=e,this.group=t}}class gn extends hn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class fn extends hn{constructor(e,t,o){super(e,t),this.desc=o}}class Cn extends hn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class yn extends hn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const bn={CPSMode:new gn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new gn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new gn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new gn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){_e=!0})),Scale:new gn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){un()})),ScaleDecimals:new gn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){un()})),ScaleSeparator:new gn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){un()})),ScaleCutoff:new yn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new gn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new gn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=V:Game.sayTime=S.sayTime})),PPDisplayTime:new gn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new gn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){co()})),PPOnlyConsiderBuyable:new gn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new gn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new gn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new yn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new fn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new fn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new fn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new fn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new fn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new fn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new fn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new fn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new fn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new gn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){pn()})),TimerBar:new gn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){bo()})),TimerBarPos:new gn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),yo()})),TimerBarOverlay:new gn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new gn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",po()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",po()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new gn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new gn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){co()})),SortUpgrades:new gn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){po()})),DragonAuraInfo:new gn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new gn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new gn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(se).forEach((e=>{se[e].style.display="block",se[e].style.left=Yt[e].l.style.left,se[e].style.top=Yt[e].l.style.top})):Object.keys(se).forEach((e=>se[e].style.display="none"))})),Favicon:new gn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){mn()})),WrinklerButtons:new gn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new gn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new gn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new gn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new gn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new gn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new gn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new gn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new gn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new yn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new gn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new gn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Eo()})),TooltipGrim:new gn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new gn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new gn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new gn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new gn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new gn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new gn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new gn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new gn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new gn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new yn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new gn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new gn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new gn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new gn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){dn(e.GCNotification)})),GCFlash:new gn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new fn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new gn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new Cn("vol","NotificationGC",[],"Volume"),GCSoundURL:new gn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new gn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){dn(e.FortuneNotification)})),FortuneFlash:new gn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new fn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new gn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new Cn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new gn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new gn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){dn(e.SeaNotification)})),SeaFlash:new gn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new fn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new gn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new Cn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new gn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new gn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new fn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new gn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new Cn("vol","NotificationGard",[],"Volume"),GardSoundURL:new gn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new gn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){dn(e.MagicNotification)})),MagicFlash:new gn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new fn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new gn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new Cn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new gn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new gn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){dn(e.WrinklerNotification)})),WrinklerFlash:new gn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new fn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new gn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new Cn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new gn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new gn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){dn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new gn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new fn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new gn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new Cn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new gn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new gn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new gn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function kn(){return JSON.stringify({favouriteSettings:de,settings:e,version:"2.031.6"})}function Gn(){if(Je!==Game.dragonLevel||_e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Upgrades).forEach((e=>{eo[e]=xo(e)})),to=[],Object.keys(Game.Achievements).forEach((e=>{to[e]=Go(e)})),Mo()}let xn=!1;function Mn(t,o,n){(1===e[o]||n)&&3===t&&!1===xn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Mn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Mn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Mn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Tn(t,o,n,i){if((1===e[o]||i)&&!1===xn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Sn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===xn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Pn(){if(re!==Game.OnAscend&&(re=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(pn(),bo()),Co()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(wn(),sn(),r=Object.keys(Game.mods).length),_e&&(Jo(),Game.Has("Golden switch [off]")?(Mo(),eo["Golden switch [off]"].bought=0,Ro(),dt=Xe):dt=Game.cookiesPs,rn(),an(),on(),en(),Gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Jt[e][t]=vn(e,t)}(),nn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Mo();let t=2;5!==$e&&18!==$e||(t-=1),5!==Re&&18!==Re||(t-=1),$e=5,Re=18;for(let e=0;e{Zt[t].amount>0&&(e=t)})),Zt[e].amount-=1,Le-=1}return Object.keys(Zt).forEach((t=>{const o=Zt[t];e+=so(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Kt=e}(),_e=0);const t=Game.auraMult("Fierce Hoarder")>0;!We&&t?(We=!0,Fe=1):We&&!t&&(We=!1,Fe=1),Fe&&(Ko(),Fe=0),function(){ln(),Ho(),function(){xt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Zt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Mt=e,xt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Lo(),tn();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Qt=ue(e/uo())}(),G=0,Yt={},Object.keys(Game.shimmers).forEach((e=>{Yt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Vt=Game.shimmers[e],G+=1)})),Object.keys(se).forEach((e=>{void 0===Yt[e]&&(se[e].parentNode.removeChild(se[e]),delete se[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===se[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},se[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),mn(),b=G,0===G&&(Vt=0)):1===e.GCTimer&&y&&Object.keys(se).forEach((e=>{se[e].style.opacity=Yt[e].l.style.opacity,se[e].style.transform=Yt[e].l.style.transform,se[e].textContent=Math.ceil(Yt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Mn(3,"FortuneFlash",!1),Tn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Sn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(_t=Game.shimmers[e])})),Mn(3,"SeaFlash",!1),Tn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Sn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Mn(3,"WrinklerMaxFlash",!1):Mn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Tn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Tn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Sn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Sn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Bn(){let t="";for(let o=0;o<$.length;o++)t+=`.CMText${$[o]} { color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBack${$[o]} { background-color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBorder${$[o]} { border: 1px solid ${e[`Colour${$[o]}`]}; }\n`;l("CMCSS").textContent=t,co()}function En(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${kn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Nn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t,void 0!==e.Colors&&delete e.Colors,void 0!==e.Colours&&delete e.Colours;let o=!1;Object.keys(cn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=cn[t]):"Header"===t&&Object.keys(cn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=cn[t][n])}))})),o&&En(),Pn(),Object.keys(cn).forEach((e=>{"Header"!==e&&void 0!==bn[e].func&&bn[e].func()}))}else Nn(cn);Game.UpdateMenu(),Bn()}function On(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Fn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Uo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${pe(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${me((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(pe(Game.Objects[o].bulkPrice)).join(pe((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ne=t,ie=o,No(),l("tooltip").innerHTML}function Wn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(M[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Ln(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),En()}function Rn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){$n(o),Game.UpdateMenu()},n.appendChild(i),n}function In(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(I[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function zn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Vn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Rn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+mo(){Game.HasUnlocked(Qo[e])||c.push(Qo[e])})),0!==c.length&&e.appendChild(In("basic","Rare plant drops left to unlock",zn(c))),e}())),o.appendChild(Rn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?Ct:0)));t.appendChild(In("withTooltip","Prestige level (cur / max)",document.createTextNode(`${pe(Game.prestige)} / ${pe(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&Ct?Ct:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(pe(n)));const a=document.createElement("small");a.textContent=` (${ue(n/zt,1)})`,i.appendChild(a),t.appendChild(In("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(In("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${pe(Game.heavenlyChips)} / ${pe(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(In("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(pe(ht,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(In("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(pe(e)))),t.appendChild(In("basic","Time till target (cur, current 5 second average)",document.createTextNode(ue(e/ht)))))}const l=function(e){let t=Game.cookiesPs;Mo(),0===eo["Heavenly key"].bought&&(eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ro(),t=Xe,Mo()),It>=1e6&&$o("Sacrifice"),It>=1e9&&$o("Oblivion"),It>=1e12&&$o("From scratch"),It>=1e15&&$o("Nihilism"),It>=1e18&&$o("Dematerialize"),It>=1e21&&$o("Nil zero zilch"),It>=1e24&&$o("Transcendence"),It>=1e27&&$o("Obliterate"),It>=1e30&&$o("Negative void"),It>=1e33&&$o("To crumbs, you say?"),It>=1e36&&$o("You get nothing"),It>=1e39&&$o("Humble rebeginnings"),It>=1e42&&$o("The end of the world"),It>=1e45&&$o("Oh, you're back"),It>=1e48&&$o("Lazarus"),It>=1e51&&$o("Smurf account"),It>=1e54&&$o("If at first you don't succeed"),eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ue=e;const o=De;Ro(),qo(),o!==De&&Ro();const n=Xe-t;return Ue=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(pe(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(In("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Rn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${pe(Gt)} / ${pe(vt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){On()},e.appendChild(t),o.appendChild(In("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${pe(wt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},n.appendChild(i),o.appendChild(In("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==wt[1]?wt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(n.push(zo[e]),o=!0)}));const i=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(i.push(Vo[e]),o=!0)}));const a=[];Object.keys(_o).forEach((e=>{Game.Has(_o[e])||(a.push(_o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Rn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(In("basic","Halloween cookies left to buy",zn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(In("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${pe((1-e)*o*100)}% / ${pe((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(In("basic","Christmas cookies left to buy",zn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(In("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${pe((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(In("basic","Valentine cookies left to buy",zn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(In("basic","Normal easter eggs left to unlock",zn(r))),t.appendChild(In("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[0])}% / ${pe(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(In("basic","Rare easter eggs left to unlock",zn(l))),t.appendChild(In("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[1])}% / ${pe(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(In("basic","Reindeer reward",document.createTextNode(pe(ft)))),s&&t.appendChild(In("withTooltip","Chocolate egg cookies",document.createTextNode(pe(Ct)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(In("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(gt-1))/100+"%")))}return t}()),o.appendChild(Rn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(In("basic",`Average cookies per second (past ${J[e.AvgCPSHist]<60?`${J[e.AvgCPSHist]} seconds`:J[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(pe(uo(),3)))),o.appendChild(In("basic",`Average cookie clicks per second (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(St,1)))),o.appendChild(In("basic",`Cookies from clicking (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(he.calcSum(St*Z[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Io).forEach((t=>{Game.Has(Io[t])||e.push(Io[t])})),0!==e.length&&o.appendChild(In("basic","Fortune Upgrades Left to Buy",zn(e)))}if(e.ShowMissedGC&&o.appendChild(In("basic","Missed golden cookies",document.createTextNode(pe(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(In("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Et){const t=Et.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Et,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const _n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Qn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Xn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){$n(t),Game.UpdateMenu()},n.appendChild(i),n}function qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return de.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){de.includes(e)?de=de.filter((function(t){return t!==e})):de.push(e)}(e),En(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(I.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===bn[t].type){const n=document.createElement("a");bn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Hn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===bn[t].label.length?(e[t]=0,bn[t].toggle&&(l(Hn+t).className="option off")):l(Hn+t).className="option",void 0!==bn[t].func&&bn[t].func(),l(Hn+t).innerHTML=bn[t].label[e[t]],En()}(t)},n.textContent=bn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=bn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===bn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=bn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Un(t)},r.onchange=function(){Un(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Tn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Hn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,En(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=bn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===bn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new jn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Bn(),En(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=bn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Mn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Dn().init(),o}if("numscale"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="number",i.value=e[t],i.min=bn[t].min,i.max=bn[t].max,i.oninput=function(){e[t]=this.value,En(),un()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=bn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Yn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Kn(){S.Beautify=Beautify,Beautify=pe,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),_e=1,P=Date.now(),B=Date.now()},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Yn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Yn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Yn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),T=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Zt[Game.ObjectsById[e].name].name;Zt[o].amount-=1,Le-=1,t=Zt[o].basePrice*Game.priceIncrease**Math.max(0,Zt[o].amount-1-Zt[o].free),t=Game.modifyBuildingPrice(Zt[o],t),t=Math.ceil(t);break}const o=De;return Ro(),qo(),o!==De&&Ro(),[Xe-Game.cookiesPs,t]}(t),n=ue(o/(e+Game.cookiesPs)),i=pe(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${pe(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Dn().picker&&void 0!==Dn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(_n).forEach((t=>{if("Favourite"===t){if(0!==de.length&&e.FavouriteSettings>0&&(o.appendChild(Xn(t,_n[t])),e.Header[t]))for(let e=0;e{const n=Xn(t,Qn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))}))})):Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Nn(cn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Vn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){$n("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,V=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ue(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ce=`${Game.OnAscend?"Ascending! ":""}${pe(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ce;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Vt?Vt.wrath?`[W${Math.ceil(Vt.life/Game.fps)}]`:`[G${Math.ceil(Vt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(_t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ce;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Vt&&(t=!0,Vt.wrath?e+=`[W${Math.ceil(Vt.life/Game.fps)}]`:e+=`[G${Math.ceil(Vt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(_t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${pe(Game.prestige)}.
(CpS +${pe(Game.prestige)}%)`,n+='
'),n+=Oe<1?"Ascending now would grant you no prestige.":Oe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${pe(Oe)} prestige levels (+${pe(Oe)}% CpS)
and ${pe(Oe)} heavenly chips to spend.`,n+='
',n+=`You need ${pe(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Qt} to reach the next level and you were making ${pe(ht,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Jn(){wn(),an(),sn(),r=Object.keys(Game.mods).length,w=document.createElement("style"),w.type="text/css",w.id="CMCSS",document.head.appendChild(w),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=E+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",W)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",O)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",O)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",O)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{go(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=ho("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:D},{id:"CMTimerBarGCBar",color:j}]);e.appendChild(t);const o=ho("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:D},{id:"CMTimerBarRenBar",color:L}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=N+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(O,"Better than the best PP of a building option")),e.appendChild(o(F,"Same as the best PP building option")),e.appendChild(o(W,"Within the top 10 of PP for buildings")),e.appendChild(o(L,"Within the top 20 of PP for buildings")),e.appendChild(o(A,"Within the top 30 of PP for buildings")),e.appendChild(o(j,"Outside of the top 30 of PP for buildings")),e.appendChild(o(D,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=E+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",O)),e.appendChild(o("CMUpgradeBarGreen",F)),e.appendChild(o("CMUpgradeBarYellow",W)),e.appendChild(o("CMUpgradeBarOrange",L)),e.appendChild(o("CMUpgradeBarRed",A)),e.appendChild(o("CMUpgradeBarPurple",j)),e.appendChild(o("CMUpgradeBarGray",D)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),I[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){On()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Wn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),An()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){_=1},l("backgroundLeftCanvas").onmouseout=function(){_=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{X[e]=0}))},Kn(),An(),Game.CalculateGains(),Nn(),z=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Zn={init:function(){xn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Jn(),Game.registerHook("draw",Oo),Game.registerHook("logic",Pn),Game.registerHook("click",Fo),xn=!1)},load:function(e){const t=JSON.parse(e);wn(),void 0!==t.favouriteSettings&&(de=t.favouriteSettings),Nn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:kn};Game.registerMod("CookieMonster",Zn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x=[],T=[],M=[],S={},B=Date.now(),P=Date.now();const E="CMText",N="CMBack",O="Blue",F="Green",W="Yellow",L="Orange",A="Red",j="Purple",D="Gray",H="Pink",U="Brown",$=[D,O,F,W,L,A,j,H,U],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],I={};let z,V,_=0,Q=-1,X=[],q=1,Y=1,K=1;const J=[10,15,30,60,300,600,900,1800],Z=[1,5,10,15,30],ee={Frenzy:W,"Dragon Harvest":U,"Elder frenzy":F,Clot:A,"Click frenzy":O,Dragonflight:H};let te,oe,ne,ie,ae,re,le,se={},ce="",de=[];function pe(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${pe(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function me(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=F):(n=ue(t),o=t>300?A:t>60?L:W),{text:n,color:o}}let he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Be,Pe,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=0,pt=1,ut=1,mt=1,ht=0,gt=0,ft=0,Ct=0,yt={},bt={},kt={},Gt=0,vt=0,wt=[0,null],xt=0,Tt=0,Mt={},St={},Bt={},Pt={},Et={},Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,$t=0,Rt=[],It=0,zt=0,Vt={},_t={},Qt=0,Xt=0,qt=[],Yt={},Kt=0,Jt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Zt=[],eo=[],to=[];function oo(e){let t=0;return Game.dragonAuras[$e].name!==e&&Game.dragonAuras[Re].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[$e].name&&"Reality Bending"!==Game.dragonAuras[Re].name||(t+=.1),t}function no(){let e=.25;return e*=1+oo("Earth Shatterer"),e}function io(e,t){return void 0===Qe[e]?void 0===t?1:t:Qe[e]}function ao(e){const t=eo[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ro(e){if(Game.hasGod){void 0===Zt.Temple.minigame&&(Zt.Temple.minigame=Game.Objects.Temple.minigame);const t=Zt.Temple.minigame.gods[e];if(Ie===t.id)return 1;if(ze===t.id)return 2;if(Ve===t.id)return 3}return!1}function lo(e,t){let o=t;if(ao("Season savings")&&(o*=.99),ao("Santa's dominion")&&(o*=.99),ao("Faberge egg")&&(o*=.99),ao("Divine discount")&&(o*=.99),ao("Fortune #100")&&(o*=.99),o*=1-.02*oo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&ao(e.fortune.name)&&(o*=.93),o*=io("buildingCost"),Zt.Temple.minigameLoaded){const e=ro("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function so(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function co(){let t=Game.buyBulk;if(1===Game.buyMode?Y=t:t=Y,1===t?t=yt:10===t?t=bt:100===t&&(t=kt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(yt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=pe(so(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(yt).map((e=>{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;e$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.ppe.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?q=i:i=q,1===i&&(i=yt),10===i&&(i=bt),100===i&&(i=kt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=pe(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=E+i[o].color,n=e.PPDisplayTime?ue(Math.round(i[o].pp)):pe(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=me((Game.Objects[o].bulkPrice-(Game.cookies+mo()))/uo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=E+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&ao(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(ao(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&ao(e.fortune.name)&&(t*=1.07),e.grandma&&ao(e.grandma.name)&&(t*=1+.01*Zt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&ao(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function wo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;ao("Thousand fingers")&&(t+=.1),ao("Million fingers")&&(t*=5),ao("Billion fingers")&&(t*=10),ao("Trillion fingers")&&(t*=20),ao("Quadrillion fingers")&&(t*=20),ao("Quintillion fingers")&&(t*=20),ao("Sextillion fingers")&&(t*=20),ao("Septillion fingers")&&(t*=20),ao("Octillion fingers")&&(t*=20),ao("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Zt).forEach((e=>{"Cursor"!==Zt[e].name&&(n+=Zt[e].amount)})),t*=n,o*=vo(e),o*=Game.magicCpS("Cursor"),o*=io("cursorCps"),Game.ComputeCps(.1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{ao(Game.GrandmaSynergies[e])&&(o*=2)})),ao("Bingo center/Research facility")&&(o*=4),ao("Ritual rolling pins")&&(o*=2),ao("Naughty list")&&(o*=2),ao("Elderwort biscuits")&&(o*=1.02),o*=io("grandmaCps"),ao("Cat ladies"))for(let e=0;e{"Grandma"!==Zt[e].name&&(i+=Zt[e].amount)})),o*=1+.01*oo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=vo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function xo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Zt).forEach((t=>{Zt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(ao("Starlove")&&(e=3),Game.hasGod){const t=ro("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function To(){Ae=Game.UpgradesOwned,je=Game.pledges,De=Game.AchievementsOwned,He=Game.heavenlyPower,Ue=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e],go(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ie=t.minigame.slot[0],ze=t.minigame.slot[1],Ve=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Zt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=eo[e];void 0===o&&(eo[e]=xo(e),o=eo[e]),o.bought=t.bought,eo[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=to[e];void 0===o&&(to[e]=Go(e),o=to[e]),o.won=t.won,to[e]=o})),ko(),$e=Ye,Re=Ke}function Mo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function So(e){e.appendChild(Mo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(Mo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(Mo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(Mo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ne){e.appendChild(Mo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Bo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Eo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function No(){if(To(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ne?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(So(l("CMTooltipBorder")),1===Game.buyMode?K=t:t=K,1===Game.buyBulk?t=yt:10===Game.buyBulk?t=bt:100===Game.buyBulk&&(t=kt),te=Game.Objects[ie].bulkPrice,oe=t[ie].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=pe(oe,2);const o=Math.round(oe/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=E+t[ie].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ue(t[ie].pp):l("CMTooltipPP").textContent=pe(t[ie].pp,2),l("CMTooltipPP").className=E+t[ie].color;const n=me((te-(Game.cookies+mo()))/uo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ie[1]][ie[0]][0]-1].mature,o=t.plantsById[t.plot[ie[1]][ie[0]][0]-1].name;l("CMTooltipBorder").appendChild(Mo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${pe(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${pe(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${pe(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${pe(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ne?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(Mo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=ho(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==ee[Game.buffs[t].name]?ee[Game.buffs[t].name]:j,a.lastChild.children[1].className=N+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),le!==n&&(le=n,yo())}}(),fo(),No(),function(){if(1===e.TooltipWrink&&1===_){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===X[t]||void 0===X[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),Q=t,X[t]=1}}else X[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[Q],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[Q].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Zt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=pe(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,pe(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Fo(){he.addLatest(Game.computedMouseCps)}class Wo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Lo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Kt;Game.cpsSucked>0&&(o+=Gt),It=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ge,i=Math.max(0,Game.cookies-ve)/n,a=Math.max(0,Gt-we)/n,r=Math.max(0,wt[0]-xe)/n,l=Math.max(0,o-Ct)/n,s=(Game.cookieClicks-Te)/n;for(let e=0;e0&&(n=A),n}function jo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=D;else{t[n].color=Ao(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+mo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||qt.push([t[n].pp,o])}))}function Ho(){!function(){Xt=1/0,qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Do(yt,1),Do(bt,10),Do(kt,100),qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;qt[t][1]>Game.cookies&&(t+=1,qt.length!==t+1););Xt=qt[e.PPExcludeTop][t],jo(yt,1),jo(bt,10),jo(kt,100)}(),Object.keys(Mt).forEach((e=>{Game.cookiesPs?Mt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+mo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Mt[e].bonus:Mt[e].pp=Game.Upgrades[e].getPrice()/Mt[e].bonus,Number.isNaN(Mt[e].pp)&&(Mt[e].pp=1/0),Mt[e].color=Ao(Mt[e],Game.Upgrades[e].getPrice())}))}function Uo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Qe=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ue)*He*function(){let e=0;if(ao("Heavenly chip secret")&&(e+=.05),ao("Heavenly cookie stand")&&(e+=.2),ao("Heavenly bakery")&&(e+=.25),ao("Heavenly confectionery")&&(e+=.25),ao("Heavenly key")&&(e+=.25),e*=1+.05*oo("Dragon God"),ao("Lucky digit")&&(e*=1.01),ao("Lucky number")&&(e*=1.01),ao("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ro("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=io("cps"),ao("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];ao(o.name)&&("function"==typeof o.power?e*=1+.01*eo[o.name].power(eo[o.name]):e*=1+.01*o.power)})),ao("Specialized chocolate chips")&&(e*=1.01),ao("Designer cocoa beans")&&(e*=1.02),ao("Underworld ovens")&&(e*=1.03),ao("Exotic nuts")&&(e*=1.04),ao("Arcane sugar")&&(e*=1.05),ao("Increased merriness")&&(e*=1.15),ao("Improved jolliness")&&(e*=1.15),ao("A lump of coal")&&(e*=1.01),ao("An itchy sweater")&&(e*=1.01),ao("Santa's dominion")&&(e*=1.2),ao("Fortune #100")&&(e*=1.01),ao("Fortune #101")&&(e*=1.07),ao("Dragon scale")&&(e*=1.03);let o=1;if(ro){let t=ro("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ro("ages"),1===t?e*=1+.15*Math.sin(B/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(B/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(B/1e3/86400*Math.PI*2)),t=ro("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ro("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ro("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}ao("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=De/25;let i=1;if(ao("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*oo("Breath of Milk"),ro){const e=ro("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=io("milk");let a=1;ao("Kitten helpers")&&(a*=1+.1*n*i),ao("Kitten workers")&&(a*=1+.125*n*i),ao("Kitten engineers")&&(a*=1+.15*n*i),ao("Kitten overseers")&&(a*=1+.175*n*i),ao("Kitten managers")&&(a*=1+.2*n*i),ao("Kitten accountants")&&(a*=1+.2*n*i),ao("Kitten specialists")&&(a*=1+.2*n*i),ao("Kitten experts")&&(a*=1+.2*n*i),ao("Kitten consultants")&&(a*=1+.2*n*i),ao("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),ao("Kitten marketeers")&&(a*=1+.15*n*i),ao("Kitten analysts")&&(a*=1+.125*n*i),ao("Kitten executives")&&(a*=1+.115*n*i),ao("Kitten angels")&&(a*=1+.1*n*i),ao("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Zt).forEach((e=>{const t=Zt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&ao("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Xe+=t.amount*a})),ao('"egg"')&&(Xe+=9),e*=a;let r=1;if(ao("Chicken egg")&&(r*=1.01),ao("Duck egg")&&(r*=1.01),ao("Turkey egg")&&(r*=1.01),ao("Quail egg")&&(r*=1.01),ao("Robin egg")&&(r*=1.01),ao("Ostrich egg")&&(r*=1.01),ao("Cassowary egg")&&(r*=1.01),ao("Salmon roe")&&(r*=1.01),ao("Frogspawn")&&(r*=1.01),ao("Shark egg")&&(r*=1.01),ao("Turtle egg")&&(r*=1.01),ao("Ant larva")&&(r*=1.01),ao("Century egg")){let e=10*Math.floor((P-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),gt=1+.1*(1-(1-e/100)**3),r*=gt}e*=r,ao("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+oo("Radiant Appetite");const l=Xe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&$o(Game.CpsAchievements[e].name)})),qe=l;const{n:s}=Game.shimmerTypes.golden,c=oo("Dragon's Fortune");for(let t=0;t{ao(e[o])&&(t+=.1)}))}e*=t}if(ao("Shimmering veil [off]")){let t=.5;ao("Reinforced membrane")&&(t+=.1),e*=1+t}ao("Magic shenanigans")&&(e*=1e3),ao("Occult obstruction")&&(e*=0),Xe=Game.runModHookOnValue("cps",Xe),e*=Po(),Xe*=e}const Io=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],zo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Vo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],_o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Qo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Xo(e){return to[e]?to[e].won:0}function qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{ao(Game.GrandmaSynergies[t])&&(e+=1)})),!Xo("Elder")&&e>=7&&$o("Elder"),!Xo("Veteran")&&e>=14&&$o("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount,i=Math.min(Zt[e].amount,i),Xo("Mathematician")||Zt[e].amount=1&&$o("One with everything"),1===o&&$o("Mathematician"),1===n&&$o("Base 10"),i>=100&&$o("Centennial"),i>=150&&$o("Centennial and a half"),i>=200&&$o("Bicentennial"),i>=250&&$o("Bicentennial and a half"),i>=300&&$o("Tricentennial"),i>=350&&$o("Tricentennial and a half"),i>=400&&$o("Quadricentennial"),i>=450&&$o("Quadricentennial and a half"),i>=500&&$o("Quincentennial"),i>=550&&$o("Quincentennial and a half"),i>=600&&$o("Sexcentennial"),t>=100&&$o("Builder"),t>=500&&$o("Architect"),t>=1e3&&$o("Engineer"),t>=2e3&&$o("Lord of Constructs"),t>=4e3&&$o("Grand design"),t>=8e3&&$o("Ecumenopolis"),Ae>=20&&$o("Enhancer"),Ae>=50&&$o("Augmenter"),Ae>=100&&$o("Upgrader"),Ae>=200&&$o("Lord of Progress"),Ae>=300&&$o("The full picture"),Ae>=400&&$o("When there's nothing left to add"),t>=4e3&&Ae>=300&&$o("Polymath"),t>=8e3&&Ae>=400&&$o("Renaissance baker"),Zt.Cursor.amount+Zt.Grandma.amount>=777&&$o("The elder scrolls");let a=!0;Object.keys(zo).forEach((e=>{ao(zo[e])||(a=!1)})),a&&$o("Spooky cookies");let r=!0;if(Object.keys(Vo).forEach((e=>{ao(Vo[e])||(r=!1)})),r&&$o("Let it snow"),ao("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{ao(e[o].name)&&(t+=1)})),t>=e.length&&$o("O Fortuna")}}function Yo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){To(),Zt[e].amount+=t;const o=Zt[e];"Cursor"===e?(o.amount>=1&&$o("Click"),o.amount>=2&&$o("Double-click"),o.amount>=50&&$o("Mouse wheel"),o.amount>=100&&$o("Of Mice and Men"),o.amount>=200&&$o("The Digital"),o.amount>=300&&$o("Extreme polydactyly"),o.amount>=400&&$o("Dr. T"),o.amount>=500&&$o("Thumbs, phalanges, metacarpals"),o.amount>=600&&$o("With her finger and her thumb"),o.amount>=700&&$o("Gotta hand it to you"),o.amount>=800&&$o("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&$o(Game.Objects[o.name].tieredAchievs[e].name)}));const n=De;return Ro(),qo(),n!==De&&Ro(),Xe-Game.cookiesPs}(o,e),1!==e&&(Fe=1)})),t}function Ko(){Object.keys(Game.Objects).forEach((e=>{yt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),bt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),kt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Jo(){yt=Yo(1),bt=Yo(10),kt=Yo(100),Mt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){To(),"Shimmering veil [on]"===eo[e].name?eo["Shimmering veil [off]"].bought=0:"Golden switch [on]"===eo[e].name?eo["Golden switch [off]"].bought=0:eo[e].bought=(eo[e].bought+1)%2,Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ae+=1),"Elder Pledge"===e?(je+=1,je>0&&$o("Elder nap"),je>=5&&$o("Elder slumber")):"Elder Covenant"===e?$o("Elder calm"):"Prism heart biscuits"===e?$o("Lovely cookies"):"Heavenly key"===e&&$o("Wholesome");const t=De;Ro(),qo(),t!==De&&Ro();const o=function(){let e=0;ao("Thousand fingers")&&(e+=.1),ao("Million fingers")&&(e*=5),ao("Billion fingers")&&(e*=10),ao("Trillion fingers")&&(e*=20),ao("Quadrillion fingers")&&(e*=20),ao("Quintillion fingers")&&(e*=20),ao("Sextillion fingers")&&(e*=20),ao("Septillion fingers")&&(e*=20),ao("Octillion fingers")&&(e*=20),ao("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount})),t-=Zt.Cursor.amount,e*=t,ao("Plastic mouse")&&(e+=.01*Xe),ao("Iron mouse")&&(e+=.01*Xe),ao("Titanium mouse")&&(e+=.01*Xe),ao("Adamantium mouse")&&(e+=.01*Xe),ao("Unobtainium mouse")&&(e+=.01*Xe),ao("Eludium mouse")&&(e+=.01*Xe),ao("Wishalloy mouse")&&(e+=.01*Xe),ao("Fantasteel mouse")&&(e+=.01*Xe),ao("Nevercrack mouse")&&(e+=.01*Xe),ao("Armythril mouse")&&(e+=.01*Xe),ao("Technobsidian mouse")&&(e+=.01*Xe),ao("Plasmarble mouse")&&(e+=.01*Xe),ao("Miraculite mouse")&&(e+=.01*Xe),ao("Fortune #104")&&(e+=.01*Xe);let o=1;if(ao("Santa's helpers")&&(o*=1.1),ao("Cookie egg")&&(o*=1.1),ao("Halo gloves")&&(o*=1.1),ao("Dragon claw")&&(o*=1.03),ao("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,ao("Luminous gloves")?20:10)),o*=io("click"),Zt.Temple.minigameLoaded&&ro){const e=ro("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*oo("Dragon Cursor");let n=o*Game.ComputeCps(1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Xe-Game.cookiesPs,o]:[Xe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Mt[t]={bonus:Game.cookiesPs-Me},1===e.CalcWrink?Mt[t].bonus-=Se:2===e.CalcWrink&&(Mt[t].bonus-=Be),Number.isFinite(Mt[t].bonus)||(Mt[t].bonus=0)):(Mt[t]={},o[0]&&(Mt[t].bonus=o[0]),o[1]&&(Mt[t].bonusMouse=o[1]))}))}function Zo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ft=Zo(7,e,ut),Nt=2*Ft[1]/ut,Ot=Ft[2]/60/60/6/pt,At=Zo(6,e,mt),Wt=2*At[1]/mt,Lt=At[2]/60/60/6/pt,Ht=Zo(7,7*e,ut),jt=2*Ht[1]/ut,Dt=Ht[2]/60/60/6/pt,Rt=Zo(6,7*e,mt),Ut=2*Rt[1]/mt,$t=Rt[2]/60/60/6/pt}function tn(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ne,i=Math.max(0,o-Oe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Pt+=e:"cookie"===o.pool?Et+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Bt+=e)}}))}function nn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ft=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ft*=2)}}function an(){et=900*dt/.15,et*=pt;const e=Po();e>0?et/=e:et=0,tt=ut*(.15*et)+13,ot=mt*(.15*et)+13,nt=7*et,it=ut*(.15*nt)+13,at=mt*(.15*nt)+13,rt=2*et,lt=.15*rt,st=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountst&&(st=2*Game.Objects[e].price,ct=e)}))}function rn(){let e=1,t=1,o=1;ao("Green yeast digestives")&&(o*=1.01),ao("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ut=o*e,mt=o*t,pt=1,0===Game.shimmerTypes.golden.n&&(pt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function ln(){Gt=0,vt=0,wt=[0,null];for(let e=0;ewt[0]&&(wt=[t,e]))}}function sn(){ko(),ln(),an(),rn(),en(),on(),nn(),ge=new Wo(J[J.length-1]),fe=new Wo(J[J.length-1]),Ce=new Wo(J[J.length-1]),ye=new Wo(J[J.length-1]),be=new Wo(Z[Z.length-1]),ke=new Wo(5),he=new Wo(20*Z[Z.length-1]),tn(),Lo(),Jo(),Ko(),Ho()}const cn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},dn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function pn(){1===e.BotBar?(l("CMBotBar").style.display="",fo()):l("CMBotBar").style.display="none",yo()}function un(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),fo(),co(),po()}function mn(){1===e.Favicon&&y>0?Vt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class hn{constructor(e,t){this.type=e,this.group=t}}class gn extends hn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class fn extends hn{constructor(e,t,o){super(e,t),this.desc=o}}class Cn extends hn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class yn extends hn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const bn={CPSMode:new gn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new gn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new gn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new gn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){_e=!0})),Scale:new gn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){un()})),ScaleDecimals:new gn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){un()})),ScaleSeparator:new gn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){un()})),ScaleCutoff:new yn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new gn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new gn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=V:Game.sayTime=S.sayTime})),PPDisplayTime:new gn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new gn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){co()})),PPOnlyConsiderBuyable:new gn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new gn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new gn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new yn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new fn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new fn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new fn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new fn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new fn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new fn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new fn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new fn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new fn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new gn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){pn()})),TimerBar:new gn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){bo()})),TimerBarPos:new gn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),yo()})),TimerBarOverlay:new gn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new gn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",po()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",po()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new gn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new gn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){co()})),SortUpgrades:new gn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){po()})),DragonAuraInfo:new gn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new gn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new gn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(se).forEach((e=>{se[e].style.display="block",se[e].style.left=Yt[e].l.style.left,se[e].style.top=Yt[e].l.style.top})):Object.keys(se).forEach((e=>se[e].style.display="none"))})),Favicon:new gn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){mn()})),WrinklerButtons:new gn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new gn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new gn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new gn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new gn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new gn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new gn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new gn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new gn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new yn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new gn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new gn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Eo()})),TooltipGrim:new gn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new gn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new gn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new gn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new gn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new gn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new gn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new gn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new gn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new gn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new yn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new gn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new gn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new gn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new gn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){dn(e.GCNotification)})),GCFlash:new gn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new fn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new gn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new Cn("vol","NotificationGC",[],"Volume"),GCSoundURL:new gn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new gn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){dn(e.FortuneNotification)})),FortuneFlash:new gn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new fn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new gn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new Cn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new gn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new gn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){dn(e.SeaNotification)})),SeaFlash:new gn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new fn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new gn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new Cn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new gn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new gn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new fn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new gn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new Cn("vol","NotificationGard",[],"Volume"),GardSoundURL:new gn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new gn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){dn(e.MagicNotification)})),MagicFlash:new gn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new fn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new gn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new Cn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new gn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new gn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){dn(e.WrinklerNotification)})),WrinklerFlash:new gn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new fn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new gn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new Cn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new gn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new gn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){dn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new gn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new fn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new gn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new Cn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new gn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new gn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new gn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function kn(){return JSON.stringify({favouriteSettings:de,settings:e,version:"2.031.7"})}function Gn(){if(Je!==Game.dragonLevel||_e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Upgrades).forEach((e=>{eo[e]=xo(e)})),to=[],Object.keys(Game.Achievements).forEach((e=>{to[e]=Go(e)})),To()}let xn=!1;function Tn(t,o,n){(1===e[o]||n)&&3===t&&!1===xn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Tn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Tn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Tn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Mn(t,o,n,i){if((1===e[o]||i)&&!1===xn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Sn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===xn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Bn(){if(re!==Game.OnAscend&&(re=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(pn(),bo()),Co()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(wn(),sn(),r=Object.keys(Game.mods).length),_e&&(Jo(),Game.Has("Golden switch [off]")?(To(),eo["Golden switch [off]"].bought=0,Ro(),dt=Xe):dt=Game.cookiesPs,rn(),an(),on(),en(),Gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Jt[e][t]=vn(e,t)}(),nn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;To();let t=2;5!==$e&&18!==$e||(t-=1),5!==Re&&18!==Re||(t-=1),$e=5,Re=18;for(let e=0;e{Zt[t].amount>0&&(e=t)})),Zt[e].amount-=1,Le-=1}return Object.keys(Zt).forEach((t=>{const o=Zt[t];e+=so(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Kt=e}(),_e=0);const t=Game.auraMult("Fierce Hoarder")>0;!We&&t?(We=!0,Fe=1):We&&!t&&(We=!1,Fe=1),Fe&&(Ko(),Fe=0),function(){ln(),Ho(),function(){xt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Zt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Tt=e,xt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Lo(),tn();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Qt=ue(e/uo())}(),G=0,Yt={},Object.keys(Game.shimmers).forEach((e=>{Yt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Vt=Game.shimmers[e],G+=1)})),Object.keys(se).forEach((e=>{void 0===Yt[e]&&(se[e].parentNode.removeChild(se[e]),delete se[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===se[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},se[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),mn(),b=G,0===G&&(Vt=0)):1===e.GCTimer&&y&&Object.keys(se).forEach((e=>{se[e].style.opacity=Yt[e].l.style.opacity,se[e].style.transform=Yt[e].l.style.transform,se[e].textContent=Math.ceil(Yt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Tn(3,"FortuneFlash",!1),Mn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Sn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(_t=Game.shimmers[e])})),Tn(3,"SeaFlash",!1),Mn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Sn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Tn(3,"WrinklerMaxFlash",!1):Tn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Mn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Mn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Sn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Sn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Pn(){let t="";for(let o=0;o<$.length;o++)t+=`.CMText${$[o]} { color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBack${$[o]} { background-color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBorder${$[o]} { border: 1px solid ${e[`Colour${$[o]}`]}; }\n`;l("CMCSS").textContent=t,co()}function En(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${kn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Nn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t,void 0!==e.Colors&&delete e.Colors,void 0!==e.Colours&&delete e.Colours;let o=!1;Object.keys(cn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=cn[t]):"Header"===t&&Object.keys(cn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=cn[t][n])}))})),o&&En(),Bn(),Object.keys(cn).forEach((e=>{"Header"!==e&&void 0!==bn[e].func&&bn[e].func()}))}else Nn(cn);Game.UpdateMenu(),Pn()}function On(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Fn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Uo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${pe(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${me((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(pe(Game.Objects[o].bulkPrice)).join(pe((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ne=t,ie=o,No(),l("tooltip").innerHTML}function Wn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Ln(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),En()}function Rn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){$n(o),Game.UpdateMenu()},n.appendChild(i),n}function In(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(I[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function zn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Vn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Rn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+mo(){Game.HasUnlocked(Qo[e])||c.push(Qo[e])})),0!==c.length&&e.appendChild(In("basic","Rare plant drops left to unlock",zn(c))),e}())),o.appendChild(Rn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?Ct:0)));t.appendChild(In("withTooltip","Prestige level (cur / max)",document.createTextNode(`${pe(Game.prestige)} / ${pe(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&Ct?Ct:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(pe(n)));const a=document.createElement("small");a.textContent=` (${ue(n/zt,1)})`,i.appendChild(a),t.appendChild(In("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(In("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${pe(Game.heavenlyChips)} / ${pe(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(In("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(pe(ht,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(In("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(pe(e)))),t.appendChild(In("basic","Time till target (cur, current 5 second average)",document.createTextNode(ue(e/ht)))))}const l=function(e){let t=Game.cookiesPs;To(),0===eo["Heavenly key"].bought&&(eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ro(),t=Xe,To()),It>=1e6&&$o("Sacrifice"),It>=1e9&&$o("Oblivion"),It>=1e12&&$o("From scratch"),It>=1e15&&$o("Nihilism"),It>=1e18&&$o("Dematerialize"),It>=1e21&&$o("Nil zero zilch"),It>=1e24&&$o("Transcendence"),It>=1e27&&$o("Obliterate"),It>=1e30&&$o("Negative void"),It>=1e33&&$o("To crumbs, you say?"),It>=1e36&&$o("You get nothing"),It>=1e39&&$o("Humble rebeginnings"),It>=1e42&&$o("The end of the world"),It>=1e45&&$o("Oh, you're back"),It>=1e48&&$o("Lazarus"),It>=1e51&&$o("Smurf account"),It>=1e54&&$o("If at first you don't succeed"),eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ue=e;const o=De;Ro(),qo(),o!==De&&Ro();const n=Xe-t;return Ue=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(pe(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(In("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Rn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${pe(Gt)} / ${pe(vt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){On()},e.appendChild(t),o.appendChild(In("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${pe(wt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},n.appendChild(i),o.appendChild(In("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==wt[1]?wt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(n.push(zo[e]),o=!0)}));const i=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(i.push(Vo[e]),o=!0)}));const a=[];Object.keys(_o).forEach((e=>{Game.Has(_o[e])||(a.push(_o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Rn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(In("basic","Halloween cookies left to buy",zn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(In("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${pe((1-e)*o*100)}% / ${pe((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(In("basic","Christmas cookies left to buy",zn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(In("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${pe((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(In("basic","Valentine cookies left to buy",zn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(In("basic","Normal easter eggs left to unlock",zn(r))),t.appendChild(In("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[0])}% / ${pe(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(In("basic","Rare easter eggs left to unlock",zn(l))),t.appendChild(In("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[1])}% / ${pe(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(In("basic","Reindeer reward",document.createTextNode(pe(ft)))),s&&t.appendChild(In("withTooltip","Chocolate egg cookies",document.createTextNode(pe(Ct)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(In("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(gt-1))/100+"%")))}return t}()),o.appendChild(Rn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(In("basic",`Average cookies per second (past ${J[e.AvgCPSHist]<60?`${J[e.AvgCPSHist]} seconds`:J[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(pe(uo(),3)))),o.appendChild(In("basic",`Average cookie clicks per second (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(St,1)))),o.appendChild(In("basic",`Cookies from clicking (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(he.calcSum(St*Z[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Io).forEach((t=>{Game.Has(Io[t])||e.push(Io[t])})),0!==e.length&&o.appendChild(In("basic","Fortune Upgrades Left to Buy",zn(e)))}if(e.ShowMissedGC&&o.appendChild(In("basic","Missed golden cookies",document.createTextNode(pe(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(In("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Et){const t=Et.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Et,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const _n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Qn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Xn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){$n(t),Game.UpdateMenu()},n.appendChild(i),n}function qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return de.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){de.includes(e)?de=de.filter((function(t){return t!==e})):de.push(e)}(e),En(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(I.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===bn[t].type){const n=document.createElement("a");bn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Hn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===bn[t].label.length?(e[t]=0,bn[t].toggle&&(l(Hn+t).className="option off")):l(Hn+t).className="option",void 0!==bn[t].func&&bn[t].func(),l(Hn+t).innerHTML=bn[t].label[e[t]],En()}(t)},n.textContent=bn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=bn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===bn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=bn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Un(t)},r.onchange=function(){Un(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Mn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Hn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,En(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=bn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===bn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new jn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Pn(),En(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=bn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Tn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Dn().init(),o}if("numscale"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="number",i.value=e[t],i.min=bn[t].min,i.max=bn[t].max,i.oninput=function(){e[t]=this.value,En(),un()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=bn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Yn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Kn(){S.Beautify=Beautify,Beautify=pe,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),_e=1,B=Date.now(),P=Date.now()},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Yn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Yn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Yn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Zt[Game.ObjectsById[e].name].name;Zt[o].amount-=1,Le-=1,t=Zt[o].basePrice*Game.priceIncrease**Math.max(0,Zt[o].amount-1-Zt[o].free),t=Game.modifyBuildingPrice(Zt[o],t),t=Math.ceil(t);break}const o=De;return Ro(),qo(),o!==De&&Ro(),[Xe-Game.cookiesPs,t]}(t),n=ue(o/(e+Game.cookiesPs)),i=pe(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${pe(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Dn().picker&&void 0!==Dn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(_n).forEach((t=>{if("Favourite"===t){if(0!==de.length&&e.FavouriteSettings>0&&(o.appendChild(Xn(t,_n[t])),e.Header[t]))for(let e=0;e{const n=Xn(t,Qn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))}))})):Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Nn(cn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Vn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){$n("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML="
\nThese are the release notes for the latest update (v 2.031.7).
\n
\nThis update implements the following functions:
\n- Updated the ordering and description of all settings of Cookie Monster
\n- Colours of Flash notifications can now be set by the user
\n- You can now select a number of settings to be your 'favourite'. They will be displayed at the top of all other settings in a new section. This functionality is toggleable and you can find it in the miscellaneous section
\n- The statistics page now shows cookies earned by clicking for a selected time period
\n- The statistics page can now show missing normal achievements, this can be toggled in the settings
\n
\nThis update fixes the following bugs:
\n- Fixed some typo's
\n- No longer show the wrinkler pop buttons when wrinklers can't spawn
\n- Fixed incorrect calculation of plant maturity for relevant tooltips
\n- Fixed edit prompts not working in settings
\n- Fixed red and purple being switched around for PP colour coding
\n- Fixed incorrect notation of numbers in Dragon tooltip and interface
\n- Fixed incorrect calculation of changing Dragon aura cost
\n- Fixed incorrect calculation of changing Pantheon gods effect
\n- Fixed fluctuating PP values when god Cyclius was selected
\n- Fixed black flickering when Golden Cookies or buffs start
\n
\n",o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,V=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ue(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ce=`${Game.OnAscend?"Ascending! ":""}${pe(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ce;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Vt?Vt.wrath?`[W${Math.ceil(Vt.life/Game.fps)}]`:`[G${Math.ceil(Vt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(_t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ce;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Vt&&(t=!0,Vt.wrath?e+=`[W${Math.ceil(Vt.life/Game.fps)}]`:e+=`[G${Math.ceil(Vt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(_t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${pe(Game.prestige)}.
(CpS +${pe(Game.prestige)}%)`,n+='
'),n+=Oe<1?"Ascending now would grant you no prestige.":Oe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${pe(Oe)} prestige levels (+${pe(Oe)}% CpS)
and ${pe(Oe)} heavenly chips to spend.`,n+='
',n+=`You need ${pe(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Qt} to reach the next level and you were making ${pe(ht,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Jn(){wn(),an(),sn(),r=Object.keys(Game.mods).length,w=document.createElement("style"),w.type="text/css",w.id="CMCSS",document.head.appendChild(w),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=E+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.7",W)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",O)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",O)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",O)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{go(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=ho("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:D},{id:"CMTimerBarGCBar",color:j}]);e.appendChild(t);const o=ho("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:D},{id:"CMTimerBarRenBar",color:L}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=N+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(O,"Better than the best PP of a building option")),e.appendChild(o(F,"Same as the best PP building option")),e.appendChild(o(W,"Within the top 10 of PP for buildings")),e.appendChild(o(L,"Within the top 20 of PP for buildings")),e.appendChild(o(A,"Within the top 30 of PP for buildings")),e.appendChild(o(j,"Outside of the top 30 of PP for buildings")),e.appendChild(o(D,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=E+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",O)),e.appendChild(o("CMUpgradeBarGreen",F)),e.appendChild(o("CMUpgradeBarYellow",W)),e.appendChild(o("CMUpgradeBarOrange",L)),e.appendChild(o("CMUpgradeBarRed",A)),e.appendChild(o("CMUpgradeBarPurple",j)),e.appendChild(o("CMUpgradeBarGray",D)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),I[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){On()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Wn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),An()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){_=1},l("backgroundLeftCanvas").onmouseout=function(){_=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{X[e]=0}))},Kn(),An(),Game.CalculateGains(),Nn(),z=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.7 loaded!"):Game.Notify("Cookie Monster version 2.031.7 loaded!","","",1,1),Game.Win("Third-party")}const Zn={init:function(){xn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.7 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Jn(),Game.registerHook("draw",Oo),Game.registerHook("logic",Bn),Game.registerHook("click",Fo),xn=!1)},load:function(e){const t=JSON.parse(e);wn(),void 0!==t.favouriteSettings&&(de=t.favouriteSettings),Nn(t.settings),"2.031.7"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:kn};Game.registerMod("CookieMonster",Zn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index 16e6377b..b0040f94 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x=[],M=[],T=[],S={},P=Date.now(),B=Date.now();const E="CMText",N="CMBack",O="Blue",F="Green",W="Yellow",L="Orange",A="Red",j="Purple",D="Gray",H="Pink",U="Brown",$=[D,O,F,W,L,A,j,H,U],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],I={};let z,V,_=0,Q=-1,X=[],q=1,Y=1,K=1;const J=[10,15,30,60,300,600,900,1800],Z=[1,5,10,15,30],ee={Frenzy:W,"Dragon Harvest":U,"Elder frenzy":F,Clot:A,"Click frenzy":O,Dragonflight:H};let te,oe,ne,ie,ae,re,le,se={},ce="",de=[];function pe(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${pe(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function me(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=F):(n=ue(t),o=t>300?A:t>60?L:W),{text:n,color:o}}let he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Me,Te,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=0,pt=1,ut=1,mt=1,ht=0,gt=0,ft=0,Ct=0,yt={},bt={},kt={},Gt=0,vt=0,wt=[0,null],xt=0,Mt=0,Tt={},St={},Pt={},Bt={},Et={},Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,$t=0,Rt=[],It=0,zt=0,Vt={},_t={},Qt=0,Xt=0,qt=[],Yt={},Kt=0,Jt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Zt=[],eo=[],to=[];function oo(e){let t=0;return Game.dragonAuras[$e].name!==e&&Game.dragonAuras[Re].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[$e].name&&"Reality Bending"!==Game.dragonAuras[Re].name||(t+=.1),t}function no(){let e=.25;return e*=1+oo("Earth Shatterer"),e}function io(e,t){return void 0===Qe[e]?void 0===t?1:t:Qe[e]}function ao(e){const t=eo[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ro(e){if(Game.hasGod){void 0===Zt.Temple.minigame&&(Zt.Temple.minigame=Game.Objects.Temple.minigame);const t=Zt.Temple.minigame.gods[e];if(Ie===t.id)return 1;if(ze===t.id)return 2;if(Ve===t.id)return 3}return!1}function lo(e,t){let o=t;if(ao("Season savings")&&(o*=.99),ao("Santa's dominion")&&(o*=.99),ao("Faberge egg")&&(o*=.99),ao("Divine discount")&&(o*=.99),ao("Fortune #100")&&(o*=.99),o*=1-.02*oo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&ao(e.fortune.name)&&(o*=.93),o*=io("buildingCost"),Zt.Temple.minigameLoaded){const e=ro("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function so(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function co(){let t=Game.buyBulk;if(1===Game.buyMode?Y=t:t=Y,1===t?t=yt:10===t?t=bt:100===t&&(t=kt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(yt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=pe(so(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(yt).map((e=>{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;e$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.ppe.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?q=i:i=q,1===i&&(i=yt),10===i&&(i=bt),100===i&&(i=kt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=pe(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=E+i[o].color,n=e.PPDisplayTime?ue(Math.round(i[o].pp)):pe(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=me((Game.Objects[o].bulkPrice-(Game.cookies+mo()))/uo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=E+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&ao(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(ao(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&ao(e.fortune.name)&&(t*=1.07),e.grandma&&ao(e.grandma.name)&&(t*=1+.01*Zt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&ao(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function wo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;ao("Thousand fingers")&&(t+=.1),ao("Million fingers")&&(t*=5),ao("Billion fingers")&&(t*=10),ao("Trillion fingers")&&(t*=20),ao("Quadrillion fingers")&&(t*=20),ao("Quintillion fingers")&&(t*=20),ao("Sextillion fingers")&&(t*=20),ao("Septillion fingers")&&(t*=20),ao("Octillion fingers")&&(t*=20),ao("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Zt).forEach((e=>{"Cursor"!==Zt[e].name&&(n+=Zt[e].amount)})),t*=n,o*=vo(e),o*=Game.magicCpS("Cursor"),o*=io("cursorCps"),Game.ComputeCps(.1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{ao(Game.GrandmaSynergies[e])&&(o*=2)})),ao("Bingo center/Research facility")&&(o*=4),ao("Ritual rolling pins")&&(o*=2),ao("Naughty list")&&(o*=2),ao("Elderwort biscuits")&&(o*=1.02),o*=io("grandmaCps"),ao("Cat ladies"))for(let e=0;e{"Grandma"!==Zt[e].name&&(i+=Zt[e].amount)})),o*=1+.01*oo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=vo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function xo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Zt).forEach((t=>{Zt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(ao("Starlove")&&(e=3),Game.hasGod){const t=ro("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Mo(){Ae=Game.UpgradesOwned,je=Game.pledges,De=Game.AchievementsOwned,He=Game.heavenlyPower,Ue=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e],go(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ie=t.minigame.slot[0],ze=t.minigame.slot[1],Ve=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Zt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=eo[e];void 0===o&&(eo[e]=xo(e),o=eo[e]),o.bought=t.bought,eo[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=to[e];void 0===o&&(to[e]=Go(e),o=to[e]),o.won=t.won,to[e]=o})),ko(),$e=Ye,Re=Ke}function To(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function So(e){e.appendChild(To("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(To("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(To("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(To("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ne){e.appendChild(To("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Po(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Eo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function No(){if(Mo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ne?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(So(l("CMTooltipBorder")),1===Game.buyMode?K=t:t=K,1===Game.buyBulk?t=yt:10===Game.buyBulk?t=bt:100===Game.buyBulk&&(t=kt),te=Game.Objects[ie].bulkPrice,oe=t[ie].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=pe(oe,2);const o=Math.round(oe/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=E+t[ie].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ue(t[ie].pp):l("CMTooltipPP").textContent=pe(t[ie].pp,2),l("CMTooltipPP").className=E+t[ie].color;const n=me((te-(Game.cookies+mo()))/uo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ie[1]][ie[0]][0]-1].mature,o=t.plantsById[t.plot[ie[1]][ie[0]][0]-1].name;l("CMTooltipBorder").appendChild(To("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${pe(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${pe(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${pe(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${pe(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ne?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(To("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=ho(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==ee[Game.buffs[t].name]?ee[Game.buffs[t].name]:j,a.lastChild.children[1].className=N+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),le!==n&&(le=n,yo())}}(),fo(),No(),function(){if(1===e.TooltipWrink&&1===_){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===X[t]||void 0===X[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),Q=t,X[t]=1}}else X[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[Q],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[Q].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Zt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=pe(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,pe(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Fo(){he.addLatest(Game.computedMouseCps)}class Wo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Lo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Kt;Game.cpsSucked>0&&(o+=Gt),It=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ge,i=Math.max(0,Game.cookies-ve)/n,a=Math.max(0,Gt-we)/n,r=Math.max(0,wt[0]-xe)/n,l=Math.max(0,o-Ct)/n,s=(Game.cookieClicks-Me)/n;for(let e=0;e0&&(n=A),n}function jo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=D;else{t[n].color=Ao(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+mo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||qt.push([t[n].pp,o])}))}function Ho(){!function(){Xt=1/0,qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Do(yt,1),Do(bt,10),Do(kt,100),qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;qt[t][1]>Game.cookies&&(t+=1,qt.length!==t+1););Xt=qt[e.PPExcludeTop][t],jo(yt,1),jo(bt,10),jo(kt,100)}(),Object.keys(Tt).forEach((e=>{Game.cookiesPs?Tt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+mo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Tt[e].bonus:Tt[e].pp=Game.Upgrades[e].getPrice()/Tt[e].bonus,Number.isNaN(Tt[e].pp)&&(Tt[e].pp=1/0),Tt[e].color=Ao(Tt[e],Game.Upgrades[e].getPrice())}))}function Uo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Qe=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ue)*He*function(){let e=0;if(ao("Heavenly chip secret")&&(e+=.05),ao("Heavenly cookie stand")&&(e+=.2),ao("Heavenly bakery")&&(e+=.25),ao("Heavenly confectionery")&&(e+=.25),ao("Heavenly key")&&(e+=.25),e*=1+.05*oo("Dragon God"),ao("Lucky digit")&&(e*=1.01),ao("Lucky number")&&(e*=1.01),ao("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ro("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=io("cps"),ao("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];ao(o.name)&&("function"==typeof o.power?e*=1+.01*eo[o.name].power(eo[o.name]):e*=1+.01*o.power)})),ao("Specialized chocolate chips")&&(e*=1.01),ao("Designer cocoa beans")&&(e*=1.02),ao("Underworld ovens")&&(e*=1.03),ao("Exotic nuts")&&(e*=1.04),ao("Arcane sugar")&&(e*=1.05),ao("Increased merriness")&&(e*=1.15),ao("Improved jolliness")&&(e*=1.15),ao("A lump of coal")&&(e*=1.01),ao("An itchy sweater")&&(e*=1.01),ao("Santa's dominion")&&(e*=1.2),ao("Fortune #100")&&(e*=1.01),ao("Fortune #101")&&(e*=1.07),ao("Dragon scale")&&(e*=1.03);let o=1;if(ro){let t=ro("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ro("ages"),1===t?e*=1+.15*Math.sin(P/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(P/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(P/1e3/86400*Math.PI*2)),t=ro("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ro("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ro("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}ao("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=De/25;let i=1;if(ao("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*oo("Breath of Milk"),ro){const e=ro("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=io("milk");let a=1;ao("Kitten helpers")&&(a*=1+.1*n*i),ao("Kitten workers")&&(a*=1+.125*n*i),ao("Kitten engineers")&&(a*=1+.15*n*i),ao("Kitten overseers")&&(a*=1+.175*n*i),ao("Kitten managers")&&(a*=1+.2*n*i),ao("Kitten accountants")&&(a*=1+.2*n*i),ao("Kitten specialists")&&(a*=1+.2*n*i),ao("Kitten experts")&&(a*=1+.2*n*i),ao("Kitten consultants")&&(a*=1+.2*n*i),ao("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),ao("Kitten marketeers")&&(a*=1+.15*n*i),ao("Kitten analysts")&&(a*=1+.125*n*i),ao("Kitten executives")&&(a*=1+.115*n*i),ao("Kitten angels")&&(a*=1+.1*n*i),ao("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Zt).forEach((e=>{const t=Zt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&ao("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Xe+=t.amount*a})),ao('"egg"')&&(Xe+=9),e*=a;let r=1;if(ao("Chicken egg")&&(r*=1.01),ao("Duck egg")&&(r*=1.01),ao("Turkey egg")&&(r*=1.01),ao("Quail egg")&&(r*=1.01),ao("Robin egg")&&(r*=1.01),ao("Ostrich egg")&&(r*=1.01),ao("Cassowary egg")&&(r*=1.01),ao("Salmon roe")&&(r*=1.01),ao("Frogspawn")&&(r*=1.01),ao("Shark egg")&&(r*=1.01),ao("Turtle egg")&&(r*=1.01),ao("Ant larva")&&(r*=1.01),ao("Century egg")){let e=10*Math.floor((B-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),gt=1+.1*(1-(1-e/100)**3),r*=gt}e*=r,ao("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+oo("Radiant Appetite");const l=Xe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&$o(Game.CpsAchievements[e].name)})),qe=l;const{n:s}=Game.shimmerTypes.golden,c=oo("Dragon's Fortune");for(let t=0;t{ao(e[o])&&(t+=.1)}))}e*=t}if(ao("Shimmering veil [off]")){let t=.5;ao("Reinforced membrane")&&(t+=.1),e*=1+t}ao("Magic shenanigans")&&(e*=1e3),ao("Occult obstruction")&&(e*=0),Xe=Game.runModHookOnValue("cps",Xe),e*=Bo(),Xe*=e}const Io=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],zo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Vo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],_o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Qo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Xo(e){return to[e]?to[e].won:0}function qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{ao(Game.GrandmaSynergies[t])&&(e+=1)})),!Xo("Elder")&&e>=7&&$o("Elder"),!Xo("Veteran")&&e>=14&&$o("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount,i=Math.min(Zt[e].amount,i),Xo("Mathematician")||Zt[e].amount=1&&$o("One with everything"),1===o&&$o("Mathematician"),1===n&&$o("Base 10"),i>=100&&$o("Centennial"),i>=150&&$o("Centennial and a half"),i>=200&&$o("Bicentennial"),i>=250&&$o("Bicentennial and a half"),i>=300&&$o("Tricentennial"),i>=350&&$o("Tricentennial and a half"),i>=400&&$o("Quadricentennial"),i>=450&&$o("Quadricentennial and a half"),i>=500&&$o("Quincentennial"),i>=550&&$o("Quincentennial and a half"),i>=600&&$o("Sexcentennial"),t>=100&&$o("Builder"),t>=500&&$o("Architect"),t>=1e3&&$o("Engineer"),t>=2e3&&$o("Lord of Constructs"),t>=4e3&&$o("Grand design"),t>=8e3&&$o("Ecumenopolis"),Ae>=20&&$o("Enhancer"),Ae>=50&&$o("Augmenter"),Ae>=100&&$o("Upgrader"),Ae>=200&&$o("Lord of Progress"),Ae>=300&&$o("The full picture"),Ae>=400&&$o("When there's nothing left to add"),t>=4e3&&Ae>=300&&$o("Polymath"),t>=8e3&&Ae>=400&&$o("Renaissance baker"),Zt.Cursor.amount+Zt.Grandma.amount>=777&&$o("The elder scrolls");let a=!0;Object.keys(zo).forEach((e=>{ao(zo[e])||(a=!1)})),a&&$o("Spooky cookies");let r=!0;if(Object.keys(Vo).forEach((e=>{ao(Vo[e])||(r=!1)})),r&&$o("Let it snow"),ao("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{ao(e[o].name)&&(t+=1)})),t>=e.length&&$o("O Fortuna")}}function Yo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Mo(),Zt[e].amount+=t;const o=Zt[e];"Cursor"===e?(o.amount>=1&&$o("Click"),o.amount>=2&&$o("Double-click"),o.amount>=50&&$o("Mouse wheel"),o.amount>=100&&$o("Of Mice and Men"),o.amount>=200&&$o("The Digital"),o.amount>=300&&$o("Extreme polydactyly"),o.amount>=400&&$o("Dr. T"),o.amount>=500&&$o("Thumbs, phalanges, metacarpals"),o.amount>=600&&$o("With her finger and her thumb"),o.amount>=700&&$o("Gotta hand it to you"),o.amount>=800&&$o("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&$o(Game.Objects[o.name].tieredAchievs[e].name)}));const n=De;return Ro(),qo(),n!==De&&Ro(),Xe-Game.cookiesPs}(o,e),1!==e&&(Fe=1)})),t}function Ko(){Object.keys(Game.Objects).forEach((e=>{yt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),bt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),kt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Jo(){yt=Yo(1),bt=Yo(10),kt=Yo(100),Tt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Mo(),"Shimmering veil [on]"===eo[e].name?eo["Shimmering veil [off]"].bought=0:"Golden switch [on]"===eo[e].name?eo["Golden switch [off]"].bought=0:eo[e].bought=(eo[e].bought+1)%2,Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ae+=1),"Elder Pledge"===e?(je+=1,je>0&&$o("Elder nap"),je>=5&&$o("Elder slumber")):"Elder Covenant"===e?$o("Elder calm"):"Prism heart biscuits"===e?$o("Lovely cookies"):"Heavenly key"===e&&$o("Wholesome");const t=De;Ro(),qo(),t!==De&&Ro();const o=function(){let e=0;ao("Thousand fingers")&&(e+=.1),ao("Million fingers")&&(e*=5),ao("Billion fingers")&&(e*=10),ao("Trillion fingers")&&(e*=20),ao("Quadrillion fingers")&&(e*=20),ao("Quintillion fingers")&&(e*=20),ao("Sextillion fingers")&&(e*=20),ao("Septillion fingers")&&(e*=20),ao("Octillion fingers")&&(e*=20),ao("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount})),t-=Zt.Cursor.amount,e*=t,ao("Plastic mouse")&&(e+=.01*Xe),ao("Iron mouse")&&(e+=.01*Xe),ao("Titanium mouse")&&(e+=.01*Xe),ao("Adamantium mouse")&&(e+=.01*Xe),ao("Unobtainium mouse")&&(e+=.01*Xe),ao("Eludium mouse")&&(e+=.01*Xe),ao("Wishalloy mouse")&&(e+=.01*Xe),ao("Fantasteel mouse")&&(e+=.01*Xe),ao("Nevercrack mouse")&&(e+=.01*Xe),ao("Armythril mouse")&&(e+=.01*Xe),ao("Technobsidian mouse")&&(e+=.01*Xe),ao("Plasmarble mouse")&&(e+=.01*Xe),ao("Miraculite mouse")&&(e+=.01*Xe),ao("Fortune #104")&&(e+=.01*Xe);let o=1;if(ao("Santa's helpers")&&(o*=1.1),ao("Cookie egg")&&(o*=1.1),ao("Halo gloves")&&(o*=1.1),ao("Dragon claw")&&(o*=1.03),ao("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,ao("Luminous gloves")?20:10)),o*=io("click"),Zt.Temple.minigameLoaded&&ro){const e=ro("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*oo("Dragon Cursor");let n=o*Game.ComputeCps(1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Xe-Game.cookiesPs,o]:[Xe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Tt[t]={bonus:Game.cookiesPs-Te},1===e.CalcWrink?Tt[t].bonus-=Se:2===e.CalcWrink&&(Tt[t].bonus-=Pe),Number.isFinite(Tt[t].bonus)||(Tt[t].bonus=0)):(Tt[t]={},o[0]&&(Tt[t].bonus=o[0]),o[1]&&(Tt[t].bonusMouse=o[1]))}))}function Zo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ft=Zo(7,e,ut),Nt=2*Ft[1]/ut,Ot=Ft[2]/60/60/6/pt,At=Zo(6,e,mt),Wt=2*At[1]/mt,Lt=At[2]/60/60/6/pt,Ht=Zo(7,7*e,ut),jt=2*Ht[1]/ut,Dt=Ht[2]/60/60/6/pt,Rt=Zo(6,7*e,mt),Ut=2*Rt[1]/mt,$t=Rt[2]/60/60/6/pt}function tn(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ne,i=Math.max(0,o-Oe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Bt+=e:"cookie"===o.pool?Et+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Pt+=e)}}))}function nn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ft=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ft*=2)}}function an(){et=900*dt/.15,et*=pt;const e=Bo();e>0?et/=e:et=0,tt=ut*(.15*et)+13,ot=mt*(.15*et)+13,nt=7*et,it=ut*(.15*nt)+13,at=mt*(.15*nt)+13,rt=2*et,lt=.15*rt,st=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountst&&(st=2*Game.Objects[e].price,ct=e)}))}function rn(){let e=1,t=1,o=1;ao("Green yeast digestives")&&(o*=1.01),ao("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ut=o*e,mt=o*t,pt=1,0===Game.shimmerTypes.golden.n&&(pt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function ln(){Gt=0,vt=0,wt=[0,null];for(let e=0;ewt[0]&&(wt=[t,e]))}}function sn(){ko(),ln(),an(),rn(),en(),on(),nn(),ge=new Wo(J[J.length-1]),fe=new Wo(J[J.length-1]),Ce=new Wo(J[J.length-1]),ye=new Wo(J[J.length-1]),be=new Wo(Z[Z.length-1]),ke=new Wo(5),he=new Wo(20*Z[Z.length-1]),tn(),Lo(),Jo(),Ko(),Ho()}const cn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},dn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function pn(){1===e.BotBar?(l("CMBotBar").style.display="",fo()):l("CMBotBar").style.display="none",yo()}function un(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),fo(),co(),po()}function mn(){1===e.Favicon&&y>0?Vt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class hn{constructor(e,t){this.type=e,this.group=t}}class gn extends hn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class fn extends hn{constructor(e,t,o){super(e,t),this.desc=o}}class Cn extends hn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class yn extends hn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const bn={CPSMode:new gn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new gn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new gn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new gn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){_e=!0})),Scale:new gn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){un()})),ScaleDecimals:new gn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){un()})),ScaleSeparator:new gn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){un()})),ScaleCutoff:new yn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new gn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new gn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=V:Game.sayTime=S.sayTime})),PPDisplayTime:new gn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new gn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){co()})),PPOnlyConsiderBuyable:new gn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new gn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new gn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new yn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new fn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new fn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new fn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new fn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new fn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new fn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new fn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new fn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new fn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new gn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){pn()})),TimerBar:new gn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){bo()})),TimerBarPos:new gn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),yo()})),TimerBarOverlay:new gn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new gn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",po()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",po()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new gn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new gn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){co()})),SortUpgrades:new gn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){po()})),DragonAuraInfo:new gn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new gn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new gn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(se).forEach((e=>{se[e].style.display="block",se[e].style.left=Yt[e].l.style.left,se[e].style.top=Yt[e].l.style.top})):Object.keys(se).forEach((e=>se[e].style.display="none"))})),Favicon:new gn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){mn()})),WrinklerButtons:new gn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new gn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new gn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new gn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new gn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new gn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new gn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new gn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new gn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new yn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new gn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new gn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Eo()})),TooltipGrim:new gn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new gn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new gn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new gn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new gn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new gn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new gn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new gn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new gn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new gn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new yn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new gn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new gn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new gn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new gn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){dn(e.GCNotification)})),GCFlash:new gn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new fn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new gn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new Cn("vol","NotificationGC",[],"Volume"),GCSoundURL:new gn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new gn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){dn(e.FortuneNotification)})),FortuneFlash:new gn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new fn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new gn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new Cn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new gn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new gn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){dn(e.SeaNotification)})),SeaFlash:new gn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new fn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new gn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new Cn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new gn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new gn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new fn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new gn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new Cn("vol","NotificationGard",[],"Volume"),GardSoundURL:new gn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new gn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){dn(e.MagicNotification)})),MagicFlash:new gn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new fn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new gn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new Cn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new gn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new gn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){dn(e.WrinklerNotification)})),WrinklerFlash:new gn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new fn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new gn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new Cn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new gn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new gn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){dn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new gn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new fn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new gn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new Cn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new gn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new gn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new gn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function kn(){return JSON.stringify({favouriteSettings:de,settings:e,version:"2.031.6"})}function Gn(){if(Je!==Game.dragonLevel||_e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Upgrades).forEach((e=>{eo[e]=xo(e)})),to=[],Object.keys(Game.Achievements).forEach((e=>{to[e]=Go(e)})),Mo()}let xn=!1;function Mn(t,o,n){(1===e[o]||n)&&3===t&&!1===xn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Mn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Mn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Mn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Tn(t,o,n,i){if((1===e[o]||i)&&!1===xn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Sn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===xn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Pn(){if(re!==Game.OnAscend&&(re=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(pn(),bo()),Co()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(wn(),sn(),r=Object.keys(Game.mods).length),_e&&(Jo(),Game.Has("Golden switch [off]")?(Mo(),eo["Golden switch [off]"].bought=0,Ro(),dt=Xe):dt=Game.cookiesPs,rn(),an(),on(),en(),Gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Jt[e][t]=vn(e,t)}(),nn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Mo();let t=2;5!==$e&&18!==$e||(t-=1),5!==Re&&18!==Re||(t-=1),$e=5,Re=18;for(let e=0;e{Zt[t].amount>0&&(e=t)})),Zt[e].amount-=1,Le-=1}return Object.keys(Zt).forEach((t=>{const o=Zt[t];e+=so(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Kt=e}(),_e=0);const t=Game.auraMult("Fierce Hoarder")>0;!We&&t?(We=!0,Fe=1):We&&!t&&(We=!1,Fe=1),Fe&&(Ko(),Fe=0),function(){ln(),Ho(),function(){xt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Zt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Mt=e,xt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Lo(),tn();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Qt=ue(e/uo())}(),G=0,Yt={},Object.keys(Game.shimmers).forEach((e=>{Yt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Vt=Game.shimmers[e],G+=1)})),Object.keys(se).forEach((e=>{void 0===Yt[e]&&(se[e].parentNode.removeChild(se[e]),delete se[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===se[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},se[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),mn(),b=G,0===G&&(Vt=0)):1===e.GCTimer&&y&&Object.keys(se).forEach((e=>{se[e].style.opacity=Yt[e].l.style.opacity,se[e].style.transform=Yt[e].l.style.transform,se[e].textContent=Math.ceil(Yt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Mn(3,"FortuneFlash",!1),Tn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Sn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(_t=Game.shimmers[e])})),Mn(3,"SeaFlash",!1),Tn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Sn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Mn(3,"WrinklerMaxFlash",!1):Mn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Tn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Tn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Sn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Sn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Bn(){let t="";for(let o=0;o<$.length;o++)t+=`.CMText${$[o]} { color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBack${$[o]} { background-color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBorder${$[o]} { border: 1px solid ${e[`Colour${$[o]}`]}; }\n`;l("CMCSS").textContent=t,co()}function En(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${kn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Nn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t,void 0!==e.Colors&&delete e.Colors,void 0!==e.Colours&&delete e.Colours;let o=!1;Object.keys(cn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=cn[t]):"Header"===t&&Object.keys(cn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=cn[t][n])}))})),o&&En(),Pn(),Object.keys(cn).forEach((e=>{"Header"!==e&&void 0!==bn[e].func&&bn[e].func()}))}else Nn(cn);Game.UpdateMenu(),Bn()}function On(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Fn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Uo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${pe(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${me((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(pe(Game.Objects[o].bulkPrice)).join(pe((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ne=t,ie=o,No(),l("tooltip").innerHTML}function Wn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(M[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Ln(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),En()}function Rn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){$n(o),Game.UpdateMenu()},n.appendChild(i),n}function In(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(I[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function zn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Vn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Rn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+mo(){Game.HasUnlocked(Qo[e])||c.push(Qo[e])})),0!==c.length&&e.appendChild(In("basic","Rare plant drops left to unlock",zn(c))),e}())),o.appendChild(Rn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?Ct:0)));t.appendChild(In("withTooltip","Prestige level (cur / max)",document.createTextNode(`${pe(Game.prestige)} / ${pe(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&Ct?Ct:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(pe(n)));const a=document.createElement("small");a.textContent=` (${ue(n/zt,1)})`,i.appendChild(a),t.appendChild(In("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(In("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${pe(Game.heavenlyChips)} / ${pe(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(In("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(pe(ht,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(In("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(pe(e)))),t.appendChild(In("basic","Time till target (cur, current 5 second average)",document.createTextNode(ue(e/ht)))))}const l=function(e){let t=Game.cookiesPs;Mo(),0===eo["Heavenly key"].bought&&(eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ro(),t=Xe,Mo()),It>=1e6&&$o("Sacrifice"),It>=1e9&&$o("Oblivion"),It>=1e12&&$o("From scratch"),It>=1e15&&$o("Nihilism"),It>=1e18&&$o("Dematerialize"),It>=1e21&&$o("Nil zero zilch"),It>=1e24&&$o("Transcendence"),It>=1e27&&$o("Obliterate"),It>=1e30&&$o("Negative void"),It>=1e33&&$o("To crumbs, you say?"),It>=1e36&&$o("You get nothing"),It>=1e39&&$o("Humble rebeginnings"),It>=1e42&&$o("The end of the world"),It>=1e45&&$o("Oh, you're back"),It>=1e48&&$o("Lazarus"),It>=1e51&&$o("Smurf account"),It>=1e54&&$o("If at first you don't succeed"),eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ue=e;const o=De;Ro(),qo(),o!==De&&Ro();const n=Xe-t;return Ue=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(pe(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(In("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Rn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${pe(Gt)} / ${pe(vt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){On()},e.appendChild(t),o.appendChild(In("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${pe(wt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},n.appendChild(i),o.appendChild(In("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==wt[1]?wt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(n.push(zo[e]),o=!0)}));const i=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(i.push(Vo[e]),o=!0)}));const a=[];Object.keys(_o).forEach((e=>{Game.Has(_o[e])||(a.push(_o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Rn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(In("basic","Halloween cookies left to buy",zn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(In("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${pe((1-e)*o*100)}% / ${pe((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(In("basic","Christmas cookies left to buy",zn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(In("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${pe((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(In("basic","Valentine cookies left to buy",zn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(In("basic","Normal easter eggs left to unlock",zn(r))),t.appendChild(In("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[0])}% / ${pe(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(In("basic","Rare easter eggs left to unlock",zn(l))),t.appendChild(In("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[1])}% / ${pe(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(In("basic","Reindeer reward",document.createTextNode(pe(ft)))),s&&t.appendChild(In("withTooltip","Chocolate egg cookies",document.createTextNode(pe(Ct)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(In("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(gt-1))/100+"%")))}return t}()),o.appendChild(Rn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(In("basic",`Average cookies per second (past ${J[e.AvgCPSHist]<60?`${J[e.AvgCPSHist]} seconds`:J[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(pe(uo(),3)))),o.appendChild(In("basic",`Average cookie clicks per second (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(St,1)))),o.appendChild(In("basic",`Cookies from clicking (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(he.calcSum(St*Z[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Io).forEach((t=>{Game.Has(Io[t])||e.push(Io[t])})),0!==e.length&&o.appendChild(In("basic","Fortune Upgrades Left to Buy",zn(e)))}if(e.ShowMissedGC&&o.appendChild(In("basic","Missed golden cookies",document.createTextNode(pe(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(In("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Et){const t=Et.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Et,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const _n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Qn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Xn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){$n(t),Game.UpdateMenu()},n.appendChild(i),n}function qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return de.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){de.includes(e)?de=de.filter((function(t){return t!==e})):de.push(e)}(e),En(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(I.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===bn[t].type){const n=document.createElement("a");bn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Hn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===bn[t].label.length?(e[t]=0,bn[t].toggle&&(l(Hn+t).className="option off")):l(Hn+t).className="option",void 0!==bn[t].func&&bn[t].func(),l(Hn+t).innerHTML=bn[t].label[e[t]],En()}(t)},n.textContent=bn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=bn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===bn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=bn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Un(t)},r.onchange=function(){Un(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Tn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Hn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,En(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=bn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===bn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new jn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Bn(),En(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=bn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Mn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Dn().init(),o}if("numscale"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="number",i.value=e[t],i.min=bn[t].min,i.max=bn[t].max,i.oninput=function(){e[t]=this.value,En(),un()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=bn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Yn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Kn(){S.Beautify=Beautify,Beautify=pe,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),_e=1,P=Date.now(),B=Date.now()},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Yn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Yn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Yn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),T=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Zt[Game.ObjectsById[e].name].name;Zt[o].amount-=1,Le-=1,t=Zt[o].basePrice*Game.priceIncrease**Math.max(0,Zt[o].amount-1-Zt[o].free),t=Game.modifyBuildingPrice(Zt[o],t),t=Math.ceil(t);break}const o=De;return Ro(),qo(),o!==De&&Ro(),[Xe-Game.cookiesPs,t]}(t),n=ue(o/(e+Game.cookiesPs)),i=pe(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${pe(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Dn().picker&&void 0!==Dn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(_n).forEach((t=>{if("Favourite"===t){if(0!==de.length&&e.FavouriteSettings>0&&(o.appendChild(Xn(t,_n[t])),e.Header[t]))for(let e=0;e{const n=Xn(t,Qn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))}))})):Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Nn(cn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Vn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){$n("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,V=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ue(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ce=`${Game.OnAscend?"Ascending! ":""}${pe(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ce;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Vt?Vt.wrath?`[W${Math.ceil(Vt.life/Game.fps)}]`:`[G${Math.ceil(Vt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(_t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ce;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Vt&&(t=!0,Vt.wrath?e+=`[W${Math.ceil(Vt.life/Game.fps)}]`:e+=`[G${Math.ceil(Vt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(_t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${pe(Game.prestige)}.
(CpS +${pe(Game.prestige)}%)`,n+='
'),n+=Oe<1?"Ascending now would grant you no prestige.":Oe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${pe(Oe)} prestige levels (+${pe(Oe)}% CpS)
and ${pe(Oe)} heavenly chips to spend.`,n+='
',n+=`You need ${pe(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Qt} to reach the next level and you were making ${pe(ht,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Jn(){wn(),an(),sn(),r=Object.keys(Game.mods).length,w=document.createElement("style"),w.type="text/css",w.id="CMCSS",document.head.appendChild(w),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=E+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",W)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",O)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",O)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",O)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{go(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=ho("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:D},{id:"CMTimerBarGCBar",color:j}]);e.appendChild(t);const o=ho("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:D},{id:"CMTimerBarRenBar",color:L}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=N+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(O,"Better than the best PP of a building option")),e.appendChild(o(F,"Same as the best PP building option")),e.appendChild(o(W,"Within the top 10 of PP for buildings")),e.appendChild(o(L,"Within the top 20 of PP for buildings")),e.appendChild(o(A,"Within the top 30 of PP for buildings")),e.appendChild(o(j,"Outside of the top 30 of PP for buildings")),e.appendChild(o(D,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=E+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",O)),e.appendChild(o("CMUpgradeBarGreen",F)),e.appendChild(o("CMUpgradeBarYellow",W)),e.appendChild(o("CMUpgradeBarOrange",L)),e.appendChild(o("CMUpgradeBarRed",A)),e.appendChild(o("CMUpgradeBarPurple",j)),e.appendChild(o("CMUpgradeBarGray",D)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),I[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){On()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Wn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),An()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){_=1},l("backgroundLeftCanvas").onmouseout=function(){_=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{X[e]=0}))},Kn(),An(),Game.CalculateGains(),Nn(),z=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Zn={init:function(){xn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Jn(),Game.registerHook("draw",Oo),Game.registerHook("logic",Pn),Game.registerHook("click",Fo),xn=!1)},load:function(e){const t=JSON.parse(e);wn(),void 0!==t.favouriteSettings&&(de=t.favouriteSettings),Nn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:kn};Game.registerMod("CookieMonster",Zn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x=[],T=[],M=[],S={},B=Date.now(),P=Date.now();const E="CMText",N="CMBack",O="Blue",F="Green",W="Yellow",L="Orange",A="Red",j="Purple",D="Gray",H="Pink",U="Brown",$=[D,O,F,W,L,A,j,H,U],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],I={};let z,V,_=0,Q=-1,X=[],q=1,Y=1,K=1;const J=[10,15,30,60,300,600,900,1800],Z=[1,5,10,15,30],ee={Frenzy:W,"Dragon Harvest":U,"Elder frenzy":F,Clot:A,"Click frenzy":O,Dragonflight:H};let te,oe,ne,ie,ae,re,le,se={},ce="",de=[];function pe(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${pe(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function me(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=F):(n=ue(t),o=t>300?A:t>60?L:W),{text:n,color:o}}let he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Be,Pe,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=0,pt=1,ut=1,mt=1,ht=0,gt=0,ft=0,Ct=0,yt={},bt={},kt={},Gt=0,vt=0,wt=[0,null],xt=0,Tt=0,Mt={},St={},Bt={},Pt={},Et={},Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,$t=0,Rt=[],It=0,zt=0,Vt={},_t={},Qt=0,Xt=0,qt=[],Yt={},Kt=0,Jt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Zt=[],eo=[],to=[];function oo(e){let t=0;return Game.dragonAuras[$e].name!==e&&Game.dragonAuras[Re].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[$e].name&&"Reality Bending"!==Game.dragonAuras[Re].name||(t+=.1),t}function no(){let e=.25;return e*=1+oo("Earth Shatterer"),e}function io(e,t){return void 0===Qe[e]?void 0===t?1:t:Qe[e]}function ao(e){const t=eo[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ro(e){if(Game.hasGod){void 0===Zt.Temple.minigame&&(Zt.Temple.minigame=Game.Objects.Temple.minigame);const t=Zt.Temple.minigame.gods[e];if(Ie===t.id)return 1;if(ze===t.id)return 2;if(Ve===t.id)return 3}return!1}function lo(e,t){let o=t;if(ao("Season savings")&&(o*=.99),ao("Santa's dominion")&&(o*=.99),ao("Faberge egg")&&(o*=.99),ao("Divine discount")&&(o*=.99),ao("Fortune #100")&&(o*=.99),o*=1-.02*oo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&ao(e.fortune.name)&&(o*=.93),o*=io("buildingCost"),Zt.Temple.minigameLoaded){const e=ro("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function so(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function co(){let t=Game.buyBulk;if(1===Game.buyMode?Y=t:t=Y,1===t?t=yt:10===t?t=bt:100===t&&(t=kt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(yt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=pe(so(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(yt).map((e=>{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;e$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.ppe.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?q=i:i=q,1===i&&(i=yt),10===i&&(i=bt),100===i&&(i=kt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=pe(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=E+i[o].color,n=e.PPDisplayTime?ue(Math.round(i[o].pp)):pe(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=me((Game.Objects[o].bulkPrice-(Game.cookies+mo()))/uo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=E+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&ao(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(ao(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&ao(e.fortune.name)&&(t*=1.07),e.grandma&&ao(e.grandma.name)&&(t*=1+.01*Zt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&ao(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function wo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;ao("Thousand fingers")&&(t+=.1),ao("Million fingers")&&(t*=5),ao("Billion fingers")&&(t*=10),ao("Trillion fingers")&&(t*=20),ao("Quadrillion fingers")&&(t*=20),ao("Quintillion fingers")&&(t*=20),ao("Sextillion fingers")&&(t*=20),ao("Septillion fingers")&&(t*=20),ao("Octillion fingers")&&(t*=20),ao("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Zt).forEach((e=>{"Cursor"!==Zt[e].name&&(n+=Zt[e].amount)})),t*=n,o*=vo(e),o*=Game.magicCpS("Cursor"),o*=io("cursorCps"),Game.ComputeCps(.1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{ao(Game.GrandmaSynergies[e])&&(o*=2)})),ao("Bingo center/Research facility")&&(o*=4),ao("Ritual rolling pins")&&(o*=2),ao("Naughty list")&&(o*=2),ao("Elderwort biscuits")&&(o*=1.02),o*=io("grandmaCps"),ao("Cat ladies"))for(let e=0;e{"Grandma"!==Zt[e].name&&(i+=Zt[e].amount)})),o*=1+.01*oo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=vo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function xo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Zt).forEach((t=>{Zt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(ao("Starlove")&&(e=3),Game.hasGod){const t=ro("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function To(){Ae=Game.UpgradesOwned,je=Game.pledges,De=Game.AchievementsOwned,He=Game.heavenlyPower,Ue=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e],go(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ie=t.minigame.slot[0],ze=t.minigame.slot[1],Ve=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Zt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=eo[e];void 0===o&&(eo[e]=xo(e),o=eo[e]),o.bought=t.bought,eo[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=to[e];void 0===o&&(to[e]=Go(e),o=to[e]),o.won=t.won,to[e]=o})),ko(),$e=Ye,Re=Ke}function Mo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function So(e){e.appendChild(Mo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(Mo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(Mo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(Mo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ne){e.appendChild(Mo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Bo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Eo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function No(){if(To(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ne?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(So(l("CMTooltipBorder")),1===Game.buyMode?K=t:t=K,1===Game.buyBulk?t=yt:10===Game.buyBulk?t=bt:100===Game.buyBulk&&(t=kt),te=Game.Objects[ie].bulkPrice,oe=t[ie].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=pe(oe,2);const o=Math.round(oe/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=E+t[ie].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ue(t[ie].pp):l("CMTooltipPP").textContent=pe(t[ie].pp,2),l("CMTooltipPP").className=E+t[ie].color;const n=me((te-(Game.cookies+mo()))/uo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ie[1]][ie[0]][0]-1].mature,o=t.plantsById[t.plot[ie[1]][ie[0]][0]-1].name;l("CMTooltipBorder").appendChild(Mo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${pe(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${pe(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${pe(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${pe(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ne?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(Mo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=ho(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==ee[Game.buffs[t].name]?ee[Game.buffs[t].name]:j,a.lastChild.children[1].className=N+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),le!==n&&(le=n,yo())}}(),fo(),No(),function(){if(1===e.TooltipWrink&&1===_){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===X[t]||void 0===X[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),Q=t,X[t]=1}}else X[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[Q],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[Q].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Zt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=pe(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,pe(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Fo(){he.addLatest(Game.computedMouseCps)}class Wo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Lo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Kt;Game.cpsSucked>0&&(o+=Gt),It=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ge,i=Math.max(0,Game.cookies-ve)/n,a=Math.max(0,Gt-we)/n,r=Math.max(0,wt[0]-xe)/n,l=Math.max(0,o-Ct)/n,s=(Game.cookieClicks-Te)/n;for(let e=0;e0&&(n=A),n}function jo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=D;else{t[n].color=Ao(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+mo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||qt.push([t[n].pp,o])}))}function Ho(){!function(){Xt=1/0,qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Do(yt,1),Do(bt,10),Do(kt,100),qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;qt[t][1]>Game.cookies&&(t+=1,qt.length!==t+1););Xt=qt[e.PPExcludeTop][t],jo(yt,1),jo(bt,10),jo(kt,100)}(),Object.keys(Mt).forEach((e=>{Game.cookiesPs?Mt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+mo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Mt[e].bonus:Mt[e].pp=Game.Upgrades[e].getPrice()/Mt[e].bonus,Number.isNaN(Mt[e].pp)&&(Mt[e].pp=1/0),Mt[e].color=Ao(Mt[e],Game.Upgrades[e].getPrice())}))}function Uo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Qe=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ue)*He*function(){let e=0;if(ao("Heavenly chip secret")&&(e+=.05),ao("Heavenly cookie stand")&&(e+=.2),ao("Heavenly bakery")&&(e+=.25),ao("Heavenly confectionery")&&(e+=.25),ao("Heavenly key")&&(e+=.25),e*=1+.05*oo("Dragon God"),ao("Lucky digit")&&(e*=1.01),ao("Lucky number")&&(e*=1.01),ao("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ro("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=io("cps"),ao("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];ao(o.name)&&("function"==typeof o.power?e*=1+.01*eo[o.name].power(eo[o.name]):e*=1+.01*o.power)})),ao("Specialized chocolate chips")&&(e*=1.01),ao("Designer cocoa beans")&&(e*=1.02),ao("Underworld ovens")&&(e*=1.03),ao("Exotic nuts")&&(e*=1.04),ao("Arcane sugar")&&(e*=1.05),ao("Increased merriness")&&(e*=1.15),ao("Improved jolliness")&&(e*=1.15),ao("A lump of coal")&&(e*=1.01),ao("An itchy sweater")&&(e*=1.01),ao("Santa's dominion")&&(e*=1.2),ao("Fortune #100")&&(e*=1.01),ao("Fortune #101")&&(e*=1.07),ao("Dragon scale")&&(e*=1.03);let o=1;if(ro){let t=ro("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ro("ages"),1===t?e*=1+.15*Math.sin(B/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(B/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(B/1e3/86400*Math.PI*2)),t=ro("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ro("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ro("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}ao("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=De/25;let i=1;if(ao("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*oo("Breath of Milk"),ro){const e=ro("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=io("milk");let a=1;ao("Kitten helpers")&&(a*=1+.1*n*i),ao("Kitten workers")&&(a*=1+.125*n*i),ao("Kitten engineers")&&(a*=1+.15*n*i),ao("Kitten overseers")&&(a*=1+.175*n*i),ao("Kitten managers")&&(a*=1+.2*n*i),ao("Kitten accountants")&&(a*=1+.2*n*i),ao("Kitten specialists")&&(a*=1+.2*n*i),ao("Kitten experts")&&(a*=1+.2*n*i),ao("Kitten consultants")&&(a*=1+.2*n*i),ao("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),ao("Kitten marketeers")&&(a*=1+.15*n*i),ao("Kitten analysts")&&(a*=1+.125*n*i),ao("Kitten executives")&&(a*=1+.115*n*i),ao("Kitten angels")&&(a*=1+.1*n*i),ao("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Zt).forEach((e=>{const t=Zt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&ao("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Xe+=t.amount*a})),ao('"egg"')&&(Xe+=9),e*=a;let r=1;if(ao("Chicken egg")&&(r*=1.01),ao("Duck egg")&&(r*=1.01),ao("Turkey egg")&&(r*=1.01),ao("Quail egg")&&(r*=1.01),ao("Robin egg")&&(r*=1.01),ao("Ostrich egg")&&(r*=1.01),ao("Cassowary egg")&&(r*=1.01),ao("Salmon roe")&&(r*=1.01),ao("Frogspawn")&&(r*=1.01),ao("Shark egg")&&(r*=1.01),ao("Turtle egg")&&(r*=1.01),ao("Ant larva")&&(r*=1.01),ao("Century egg")){let e=10*Math.floor((P-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),gt=1+.1*(1-(1-e/100)**3),r*=gt}e*=r,ao("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+oo("Radiant Appetite");const l=Xe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&$o(Game.CpsAchievements[e].name)})),qe=l;const{n:s}=Game.shimmerTypes.golden,c=oo("Dragon's Fortune");for(let t=0;t{ao(e[o])&&(t+=.1)}))}e*=t}if(ao("Shimmering veil [off]")){let t=.5;ao("Reinforced membrane")&&(t+=.1),e*=1+t}ao("Magic shenanigans")&&(e*=1e3),ao("Occult obstruction")&&(e*=0),Xe=Game.runModHookOnValue("cps",Xe),e*=Po(),Xe*=e}const Io=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],zo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Vo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],_o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Qo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Xo(e){return to[e]?to[e].won:0}function qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{ao(Game.GrandmaSynergies[t])&&(e+=1)})),!Xo("Elder")&&e>=7&&$o("Elder"),!Xo("Veteran")&&e>=14&&$o("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount,i=Math.min(Zt[e].amount,i),Xo("Mathematician")||Zt[e].amount=1&&$o("One with everything"),1===o&&$o("Mathematician"),1===n&&$o("Base 10"),i>=100&&$o("Centennial"),i>=150&&$o("Centennial and a half"),i>=200&&$o("Bicentennial"),i>=250&&$o("Bicentennial and a half"),i>=300&&$o("Tricentennial"),i>=350&&$o("Tricentennial and a half"),i>=400&&$o("Quadricentennial"),i>=450&&$o("Quadricentennial and a half"),i>=500&&$o("Quincentennial"),i>=550&&$o("Quincentennial and a half"),i>=600&&$o("Sexcentennial"),t>=100&&$o("Builder"),t>=500&&$o("Architect"),t>=1e3&&$o("Engineer"),t>=2e3&&$o("Lord of Constructs"),t>=4e3&&$o("Grand design"),t>=8e3&&$o("Ecumenopolis"),Ae>=20&&$o("Enhancer"),Ae>=50&&$o("Augmenter"),Ae>=100&&$o("Upgrader"),Ae>=200&&$o("Lord of Progress"),Ae>=300&&$o("The full picture"),Ae>=400&&$o("When there's nothing left to add"),t>=4e3&&Ae>=300&&$o("Polymath"),t>=8e3&&Ae>=400&&$o("Renaissance baker"),Zt.Cursor.amount+Zt.Grandma.amount>=777&&$o("The elder scrolls");let a=!0;Object.keys(zo).forEach((e=>{ao(zo[e])||(a=!1)})),a&&$o("Spooky cookies");let r=!0;if(Object.keys(Vo).forEach((e=>{ao(Vo[e])||(r=!1)})),r&&$o("Let it snow"),ao("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{ao(e[o].name)&&(t+=1)})),t>=e.length&&$o("O Fortuna")}}function Yo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){To(),Zt[e].amount+=t;const o=Zt[e];"Cursor"===e?(o.amount>=1&&$o("Click"),o.amount>=2&&$o("Double-click"),o.amount>=50&&$o("Mouse wheel"),o.amount>=100&&$o("Of Mice and Men"),o.amount>=200&&$o("The Digital"),o.amount>=300&&$o("Extreme polydactyly"),o.amount>=400&&$o("Dr. T"),o.amount>=500&&$o("Thumbs, phalanges, metacarpals"),o.amount>=600&&$o("With her finger and her thumb"),o.amount>=700&&$o("Gotta hand it to you"),o.amount>=800&&$o("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&$o(Game.Objects[o.name].tieredAchievs[e].name)}));const n=De;return Ro(),qo(),n!==De&&Ro(),Xe-Game.cookiesPs}(o,e),1!==e&&(Fe=1)})),t}function Ko(){Object.keys(Game.Objects).forEach((e=>{yt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),bt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),kt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Jo(){yt=Yo(1),bt=Yo(10),kt=Yo(100),Mt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){To(),"Shimmering veil [on]"===eo[e].name?eo["Shimmering veil [off]"].bought=0:"Golden switch [on]"===eo[e].name?eo["Golden switch [off]"].bought=0:eo[e].bought=(eo[e].bought+1)%2,Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ae+=1),"Elder Pledge"===e?(je+=1,je>0&&$o("Elder nap"),je>=5&&$o("Elder slumber")):"Elder Covenant"===e?$o("Elder calm"):"Prism heart biscuits"===e?$o("Lovely cookies"):"Heavenly key"===e&&$o("Wholesome");const t=De;Ro(),qo(),t!==De&&Ro();const o=function(){let e=0;ao("Thousand fingers")&&(e+=.1),ao("Million fingers")&&(e*=5),ao("Billion fingers")&&(e*=10),ao("Trillion fingers")&&(e*=20),ao("Quadrillion fingers")&&(e*=20),ao("Quintillion fingers")&&(e*=20),ao("Sextillion fingers")&&(e*=20),ao("Septillion fingers")&&(e*=20),ao("Octillion fingers")&&(e*=20),ao("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount})),t-=Zt.Cursor.amount,e*=t,ao("Plastic mouse")&&(e+=.01*Xe),ao("Iron mouse")&&(e+=.01*Xe),ao("Titanium mouse")&&(e+=.01*Xe),ao("Adamantium mouse")&&(e+=.01*Xe),ao("Unobtainium mouse")&&(e+=.01*Xe),ao("Eludium mouse")&&(e+=.01*Xe),ao("Wishalloy mouse")&&(e+=.01*Xe),ao("Fantasteel mouse")&&(e+=.01*Xe),ao("Nevercrack mouse")&&(e+=.01*Xe),ao("Armythril mouse")&&(e+=.01*Xe),ao("Technobsidian mouse")&&(e+=.01*Xe),ao("Plasmarble mouse")&&(e+=.01*Xe),ao("Miraculite mouse")&&(e+=.01*Xe),ao("Fortune #104")&&(e+=.01*Xe);let o=1;if(ao("Santa's helpers")&&(o*=1.1),ao("Cookie egg")&&(o*=1.1),ao("Halo gloves")&&(o*=1.1),ao("Dragon claw")&&(o*=1.03),ao("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,ao("Luminous gloves")?20:10)),o*=io("click"),Zt.Temple.minigameLoaded&&ro){const e=ro("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*oo("Dragon Cursor");let n=o*Game.ComputeCps(1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Xe-Game.cookiesPs,o]:[Xe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Mt[t]={bonus:Game.cookiesPs-Me},1===e.CalcWrink?Mt[t].bonus-=Se:2===e.CalcWrink&&(Mt[t].bonus-=Be),Number.isFinite(Mt[t].bonus)||(Mt[t].bonus=0)):(Mt[t]={},o[0]&&(Mt[t].bonus=o[0]),o[1]&&(Mt[t].bonusMouse=o[1]))}))}function Zo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ft=Zo(7,e,ut),Nt=2*Ft[1]/ut,Ot=Ft[2]/60/60/6/pt,At=Zo(6,e,mt),Wt=2*At[1]/mt,Lt=At[2]/60/60/6/pt,Ht=Zo(7,7*e,ut),jt=2*Ht[1]/ut,Dt=Ht[2]/60/60/6/pt,Rt=Zo(6,7*e,mt),Ut=2*Rt[1]/mt,$t=Rt[2]/60/60/6/pt}function tn(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ne,i=Math.max(0,o-Oe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Pt+=e:"cookie"===o.pool?Et+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Bt+=e)}}))}function nn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ft=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ft*=2)}}function an(){et=900*dt/.15,et*=pt;const e=Po();e>0?et/=e:et=0,tt=ut*(.15*et)+13,ot=mt*(.15*et)+13,nt=7*et,it=ut*(.15*nt)+13,at=mt*(.15*nt)+13,rt=2*et,lt=.15*rt,st=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountst&&(st=2*Game.Objects[e].price,ct=e)}))}function rn(){let e=1,t=1,o=1;ao("Green yeast digestives")&&(o*=1.01),ao("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ut=o*e,mt=o*t,pt=1,0===Game.shimmerTypes.golden.n&&(pt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function ln(){Gt=0,vt=0,wt=[0,null];for(let e=0;ewt[0]&&(wt=[t,e]))}}function sn(){ko(),ln(),an(),rn(),en(),on(),nn(),ge=new Wo(J[J.length-1]),fe=new Wo(J[J.length-1]),Ce=new Wo(J[J.length-1]),ye=new Wo(J[J.length-1]),be=new Wo(Z[Z.length-1]),ke=new Wo(5),he=new Wo(20*Z[Z.length-1]),tn(),Lo(),Jo(),Ko(),Ho()}const cn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},dn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function pn(){1===e.BotBar?(l("CMBotBar").style.display="",fo()):l("CMBotBar").style.display="none",yo()}function un(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),fo(),co(),po()}function mn(){1===e.Favicon&&y>0?Vt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class hn{constructor(e,t){this.type=e,this.group=t}}class gn extends hn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class fn extends hn{constructor(e,t,o){super(e,t),this.desc=o}}class Cn extends hn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class yn extends hn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const bn={CPSMode:new gn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new gn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new gn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new gn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){_e=!0})),Scale:new gn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){un()})),ScaleDecimals:new gn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){un()})),ScaleSeparator:new gn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){un()})),ScaleCutoff:new yn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new gn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new gn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=V:Game.sayTime=S.sayTime})),PPDisplayTime:new gn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new gn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){co()})),PPOnlyConsiderBuyable:new gn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new gn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new gn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new yn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new fn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new fn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new fn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new fn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new fn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new fn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new fn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new fn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new fn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new gn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){pn()})),TimerBar:new gn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){bo()})),TimerBarPos:new gn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),yo()})),TimerBarOverlay:new gn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new gn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",po()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",po()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new gn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new gn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){co()})),SortUpgrades:new gn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){po()})),DragonAuraInfo:new gn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new gn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new gn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(se).forEach((e=>{se[e].style.display="block",se[e].style.left=Yt[e].l.style.left,se[e].style.top=Yt[e].l.style.top})):Object.keys(se).forEach((e=>se[e].style.display="none"))})),Favicon:new gn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){mn()})),WrinklerButtons:new gn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new gn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new gn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new gn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new gn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new gn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new gn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new gn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new gn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new yn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new gn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new gn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Eo()})),TooltipGrim:new gn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new gn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new gn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new gn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new gn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new gn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new gn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new gn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new gn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new gn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new yn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new gn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new gn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new gn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new gn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){dn(e.GCNotification)})),GCFlash:new gn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new fn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new gn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new Cn("vol","NotificationGC",[],"Volume"),GCSoundURL:new gn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new gn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){dn(e.FortuneNotification)})),FortuneFlash:new gn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new fn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new gn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new Cn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new gn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new gn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){dn(e.SeaNotification)})),SeaFlash:new gn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new fn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new gn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new Cn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new gn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new gn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new fn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new gn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new Cn("vol","NotificationGard",[],"Volume"),GardSoundURL:new gn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new gn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){dn(e.MagicNotification)})),MagicFlash:new gn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new fn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new gn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new Cn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new gn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new gn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){dn(e.WrinklerNotification)})),WrinklerFlash:new gn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new fn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new gn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new Cn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new gn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new gn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){dn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new gn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new fn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new gn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new Cn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new gn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new gn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new gn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function kn(){return JSON.stringify({favouriteSettings:de,settings:e,version:"2.031.7"})}function Gn(){if(Je!==Game.dragonLevel||_e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Upgrades).forEach((e=>{eo[e]=xo(e)})),to=[],Object.keys(Game.Achievements).forEach((e=>{to[e]=Go(e)})),To()}let xn=!1;function Tn(t,o,n){(1===e[o]||n)&&3===t&&!1===xn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Tn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Tn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Tn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Mn(t,o,n,i){if((1===e[o]||i)&&!1===xn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Sn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===xn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Bn(){if(re!==Game.OnAscend&&(re=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(pn(),bo()),Co()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(wn(),sn(),r=Object.keys(Game.mods).length),_e&&(Jo(),Game.Has("Golden switch [off]")?(To(),eo["Golden switch [off]"].bought=0,Ro(),dt=Xe):dt=Game.cookiesPs,rn(),an(),on(),en(),Gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Jt[e][t]=vn(e,t)}(),nn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;To();let t=2;5!==$e&&18!==$e||(t-=1),5!==Re&&18!==Re||(t-=1),$e=5,Re=18;for(let e=0;e{Zt[t].amount>0&&(e=t)})),Zt[e].amount-=1,Le-=1}return Object.keys(Zt).forEach((t=>{const o=Zt[t];e+=so(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Kt=e}(),_e=0);const t=Game.auraMult("Fierce Hoarder")>0;!We&&t?(We=!0,Fe=1):We&&!t&&(We=!1,Fe=1),Fe&&(Ko(),Fe=0),function(){ln(),Ho(),function(){xt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Zt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Tt=e,xt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Lo(),tn();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Qt=ue(e/uo())}(),G=0,Yt={},Object.keys(Game.shimmers).forEach((e=>{Yt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Vt=Game.shimmers[e],G+=1)})),Object.keys(se).forEach((e=>{void 0===Yt[e]&&(se[e].parentNode.removeChild(se[e]),delete se[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===se[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},se[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),mn(),b=G,0===G&&(Vt=0)):1===e.GCTimer&&y&&Object.keys(se).forEach((e=>{se[e].style.opacity=Yt[e].l.style.opacity,se[e].style.transform=Yt[e].l.style.transform,se[e].textContent=Math.ceil(Yt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Tn(3,"FortuneFlash",!1),Mn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Sn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(_t=Game.shimmers[e])})),Tn(3,"SeaFlash",!1),Mn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Sn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Tn(3,"WrinklerMaxFlash",!1):Tn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Mn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Mn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Sn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Sn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Pn(){let t="";for(let o=0;o<$.length;o++)t+=`.CMText${$[o]} { color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBack${$[o]} { background-color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBorder${$[o]} { border: 1px solid ${e[`Colour${$[o]}`]}; }\n`;l("CMCSS").textContent=t,co()}function En(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${kn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Nn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t,void 0!==e.Colors&&delete e.Colors,void 0!==e.Colours&&delete e.Colours;let o=!1;Object.keys(cn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=cn[t]):"Header"===t&&Object.keys(cn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=cn[t][n])}))})),o&&En(),Bn(),Object.keys(cn).forEach((e=>{"Header"!==e&&void 0!==bn[e].func&&bn[e].func()}))}else Nn(cn);Game.UpdateMenu(),Pn()}function On(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Fn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Uo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${pe(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${me((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(pe(Game.Objects[o].bulkPrice)).join(pe((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ne=t,ie=o,No(),l("tooltip").innerHTML}function Wn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Ln(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),En()}function Rn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){$n(o),Game.UpdateMenu()},n.appendChild(i),n}function In(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(I[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function zn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Vn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Rn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+mo(){Game.HasUnlocked(Qo[e])||c.push(Qo[e])})),0!==c.length&&e.appendChild(In("basic","Rare plant drops left to unlock",zn(c))),e}())),o.appendChild(Rn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?Ct:0)));t.appendChild(In("withTooltip","Prestige level (cur / max)",document.createTextNode(`${pe(Game.prestige)} / ${pe(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&Ct?Ct:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(pe(n)));const a=document.createElement("small");a.textContent=` (${ue(n/zt,1)})`,i.appendChild(a),t.appendChild(In("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(In("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${pe(Game.heavenlyChips)} / ${pe(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(In("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(pe(ht,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(In("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(pe(e)))),t.appendChild(In("basic","Time till target (cur, current 5 second average)",document.createTextNode(ue(e/ht)))))}const l=function(e){let t=Game.cookiesPs;To(),0===eo["Heavenly key"].bought&&(eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ro(),t=Xe,To()),It>=1e6&&$o("Sacrifice"),It>=1e9&&$o("Oblivion"),It>=1e12&&$o("From scratch"),It>=1e15&&$o("Nihilism"),It>=1e18&&$o("Dematerialize"),It>=1e21&&$o("Nil zero zilch"),It>=1e24&&$o("Transcendence"),It>=1e27&&$o("Obliterate"),It>=1e30&&$o("Negative void"),It>=1e33&&$o("To crumbs, you say?"),It>=1e36&&$o("You get nothing"),It>=1e39&&$o("Humble rebeginnings"),It>=1e42&&$o("The end of the world"),It>=1e45&&$o("Oh, you're back"),It>=1e48&&$o("Lazarus"),It>=1e51&&$o("Smurf account"),It>=1e54&&$o("If at first you don't succeed"),eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ue=e;const o=De;Ro(),qo(),o!==De&&Ro();const n=Xe-t;return Ue=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(pe(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(In("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Rn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${pe(Gt)} / ${pe(vt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){On()},e.appendChild(t),o.appendChild(In("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${pe(wt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},n.appendChild(i),o.appendChild(In("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==wt[1]?wt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(n.push(zo[e]),o=!0)}));const i=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(i.push(Vo[e]),o=!0)}));const a=[];Object.keys(_o).forEach((e=>{Game.Has(_o[e])||(a.push(_o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Rn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(In("basic","Halloween cookies left to buy",zn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(In("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${pe((1-e)*o*100)}% / ${pe((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(In("basic","Christmas cookies left to buy",zn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(In("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${pe((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(In("basic","Valentine cookies left to buy",zn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(In("basic","Normal easter eggs left to unlock",zn(r))),t.appendChild(In("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[0])}% / ${pe(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(In("basic","Rare easter eggs left to unlock",zn(l))),t.appendChild(In("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[1])}% / ${pe(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(In("basic","Reindeer reward",document.createTextNode(pe(ft)))),s&&t.appendChild(In("withTooltip","Chocolate egg cookies",document.createTextNode(pe(Ct)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(In("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(gt-1))/100+"%")))}return t}()),o.appendChild(Rn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(In("basic",`Average cookies per second (past ${J[e.AvgCPSHist]<60?`${J[e.AvgCPSHist]} seconds`:J[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(pe(uo(),3)))),o.appendChild(In("basic",`Average cookie clicks per second (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(St,1)))),o.appendChild(In("basic",`Cookies from clicking (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(he.calcSum(St*Z[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Io).forEach((t=>{Game.Has(Io[t])||e.push(Io[t])})),0!==e.length&&o.appendChild(In("basic","Fortune Upgrades Left to Buy",zn(e)))}if(e.ShowMissedGC&&o.appendChild(In("basic","Missed golden cookies",document.createTextNode(pe(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(In("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Et){const t=Et.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Et,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const _n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Qn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Xn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){$n(t),Game.UpdateMenu()},n.appendChild(i),n}function qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return de.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){de.includes(e)?de=de.filter((function(t){return t!==e})):de.push(e)}(e),En(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(I.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===bn[t].type){const n=document.createElement("a");bn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Hn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===bn[t].label.length?(e[t]=0,bn[t].toggle&&(l(Hn+t).className="option off")):l(Hn+t).className="option",void 0!==bn[t].func&&bn[t].func(),l(Hn+t).innerHTML=bn[t].label[e[t]],En()}(t)},n.textContent=bn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=bn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===bn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=bn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Un(t)},r.onchange=function(){Un(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Mn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Hn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,En(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=bn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===bn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new jn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Pn(),En(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=bn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Tn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Dn().init(),o}if("numscale"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="number",i.value=e[t],i.min=bn[t].min,i.max=bn[t].max,i.oninput=function(){e[t]=this.value,En(),un()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=bn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Yn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Kn(){S.Beautify=Beautify,Beautify=pe,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),_e=1,B=Date.now(),P=Date.now()},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Yn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Yn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Yn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Zt[Game.ObjectsById[e].name].name;Zt[o].amount-=1,Le-=1,t=Zt[o].basePrice*Game.priceIncrease**Math.max(0,Zt[o].amount-1-Zt[o].free),t=Game.modifyBuildingPrice(Zt[o],t),t=Math.ceil(t);break}const o=De;return Ro(),qo(),o!==De&&Ro(),[Xe-Game.cookiesPs,t]}(t),n=ue(o/(e+Game.cookiesPs)),i=pe(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${pe(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Dn().picker&&void 0!==Dn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(_n).forEach((t=>{if("Favourite"===t){if(0!==de.length&&e.FavouriteSettings>0&&(o.appendChild(Xn(t,_n[t])),e.Header[t]))for(let e=0;e{const n=Xn(t,Qn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))}))})):Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Nn(cn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Vn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){$n("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML="
\nThese are the release notes for the latest update (v 2.031.7).
\n
\nThis update implements the following functions:
\n- Updated the ordering and description of all settings of Cookie Monster
\n- Colours of Flash notifications can now be set by the user
\n- You can now select a number of settings to be your 'favourite'. They will be displayed at the top of all other settings in a new section. This functionality is toggleable and you can find it in the miscellaneous section
\n- The statistics page now shows cookies earned by clicking for a selected time period
\n- The statistics page can now show missing normal achievements, this can be toggled in the settings
\n
\nThis update fixes the following bugs:
\n- Fixed some typo's
\n- No longer show the wrinkler pop buttons when wrinklers can't spawn
\n- Fixed incorrect calculation of plant maturity for relevant tooltips
\n- Fixed edit prompts not working in settings
\n- Fixed red and purple being switched around for PP colour coding
\n- Fixed incorrect notation of numbers in Dragon tooltip and interface
\n- Fixed incorrect calculation of changing Dragon aura cost
\n- Fixed incorrect calculation of changing Pantheon gods effect
\n- Fixed fluctuating PP values when god Cyclius was selected
\n- Fixed black flickering when Golden Cookies or buffs start
\n
\n",o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,V=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ue(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ce=`${Game.OnAscend?"Ascending! ":""}${pe(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ce;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Vt?Vt.wrath?`[W${Math.ceil(Vt.life/Game.fps)}]`:`[G${Math.ceil(Vt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(_t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ce;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Vt&&(t=!0,Vt.wrath?e+=`[W${Math.ceil(Vt.life/Game.fps)}]`:e+=`[G${Math.ceil(Vt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(_t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${pe(Game.prestige)}.
(CpS +${pe(Game.prestige)}%)`,n+='
'),n+=Oe<1?"Ascending now would grant you no prestige.":Oe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${pe(Oe)} prestige levels (+${pe(Oe)}% CpS)
and ${pe(Oe)} heavenly chips to spend.`,n+='
',n+=`You need ${pe(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Qt} to reach the next level and you were making ${pe(ht,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Jn(){wn(),an(),sn(),r=Object.keys(Game.mods).length,w=document.createElement("style"),w.type="text/css",w.id="CMCSS",document.head.appendChild(w),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=E+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.7",W)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",O)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",O)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",O)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{go(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=ho("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:D},{id:"CMTimerBarGCBar",color:j}]);e.appendChild(t);const o=ho("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:D},{id:"CMTimerBarRenBar",color:L}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=N+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(O,"Better than the best PP of a building option")),e.appendChild(o(F,"Same as the best PP building option")),e.appendChild(o(W,"Within the top 10 of PP for buildings")),e.appendChild(o(L,"Within the top 20 of PP for buildings")),e.appendChild(o(A,"Within the top 30 of PP for buildings")),e.appendChild(o(j,"Outside of the top 30 of PP for buildings")),e.appendChild(o(D,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=E+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",O)),e.appendChild(o("CMUpgradeBarGreen",F)),e.appendChild(o("CMUpgradeBarYellow",W)),e.appendChild(o("CMUpgradeBarOrange",L)),e.appendChild(o("CMUpgradeBarRed",A)),e.appendChild(o("CMUpgradeBarPurple",j)),e.appendChild(o("CMUpgradeBarGray",D)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),I[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){On()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Wn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),An()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){_=1},l("backgroundLeftCanvas").onmouseout=function(){_=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{X[e]=0}))},Kn(),An(),Game.CalculateGains(),Nn(),z=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.7 loaded!"):Game.Notify("Cookie Monster version 2.031.7 loaded!","","",1,1),Game.Win("Third-party")}const Zn={init:function(){xn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.7 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Jn(),Game.registerHook("draw",Oo),Game.registerHook("logic",Bn),Game.registerHook("click",Fo),xn=!1)},load:function(e){const t=JSON.parse(e);wn(),void 0!==t.favouriteSettings&&(de=t.favouriteSettings),Nn(t.settings),"2.031.7"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:kn};Game.registerMod("CookieMonster",Zn)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index 4f1e1f4a..539f36d9 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","CycliusDateAtBeginLoop","Date","now","CenturyDateAtBeginLoop","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CacheAverageCookiesFromClicks","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","DrawBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","CMDrawHook","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","reduce","CacheAvgCPS","currDate","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","MissingAchievements","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","CurrentSlot","godsById","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoopHook","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","calcSum","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","achievs","values","parentElement","achievsCrate","AchievementsById","mouseDown","setOnCrate","tags","neuromancy","sesame","descFunc","tagsStr","CrateTooltipLockedAchievements","AddMissingAchievements","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAIF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAcAC,EAjCAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAalBC,EAAyBC,KAAKC,MAI9BC,EAAyBF,KAAKC,MAWlC,MAAME,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OA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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","CycliusDateAtBeginLoop","Date","now","CenturyDateAtBeginLoop","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CacheAverageCookiesFromClicks","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","DrawBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","CMDrawHook","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","reduce","CacheAvgCPS","currDate","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","MissingAchievements","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","CurrentSlot","godsById","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoopHook","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","calcSum","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","achievs","values","parentElement","achievsCrate","AchievementsById","mouseDown","setOnCrate","tags","neuromancy","sesame","descFunc","tagsStr","CrateTooltipLockedAchievements","AddMissingAchievements","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAIF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAcAC,EAjCAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAalBC,EAAyBC,KAAKC,MAI9BC,EAAyBF,KAAKC,MAWlC,MAAME,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OA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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file diff --git a/package.json b/package.json index f9095fd6..2ec645d4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cookiemonster-mod", - "version": "2.031.6", + "version": "2.031.7", "description": "Cookie Monster is an add-on that you can load into Cookie Clicker which offers a wide range of tools and statistics to enhance the game. It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want. This is a helper and everything is an option.", "main": "CookieMonster.js", "keywords": [ diff --git a/src/Data/Moddata.js b/src/Data/Moddata.js index 48e8ff1e..1a45cb8e 100644 --- a/src/Data/Moddata.js +++ b/src/Data/Moddata.js @@ -1,7 +1,7 @@ /** Data related directly to Cookie Monster */ export const VersionMajor = '2.031'; -export const VersionMinor = '6'; +export const VersionMinor = '7'; /** Information about Cookie Monster to be displayed in the info section */ export const ModDescription = `
@@ -15,28 +15,25 @@ export const ModDescription = `
/** Latest releasenotes of Cookie Monster to be displayed in the info section */ export const LatestReleaseNotes = `
-The latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
-This means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
-This also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
+These are the release notes for the latest update (v 2.031.7).

-This update also implements the following functions:
-- Added a tooltip displaying the reward to the extra pop wrinkler buttons
-- Added tooltips to the Gods in the Pantheon
-- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
-- You can now test the volume and sound of notifications in the settings screen
-- The bottom bar will now flicker less and each column has received a bit of padding
-- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
-- Added option to show buttons that can hide the upgrade and building section
-- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
-- Statistics page now shows chance for random drops when they have not been achieved
-- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
+This update implements the following functions:
+- Updated the ordering and description of all settings of Cookie Monster
+- Colours of Flash notifications can now be set by the user
+- You can now select a number of settings to be your 'favourite'. They will be displayed at the top of all other settings in a new section. This functionality is toggleable and you can find it in the miscellaneous section
+- The statistics page now shows cookies earned by clicking for a selected time period
+- The statistics page can now show missing normal achievements, this can be toggled in the settings

This update fixes the following bugs:
-- Incorrect amount for "required for max plant reward" in statistics page
-- Fixed the tooltips of the '?' buttons in the statistics page not showing
-- Fixed some unclear settings descriptions
-
-Please submit any bug reports or feature requests to the GitHub page! -
+- Fixed some typo's
+- No longer show the wrinkler pop buttons when wrinklers can't spawn
+- Fixed incorrect calculation of plant maturity for relevant tooltips
+- Fixed edit prompts not working in settings
+- Fixed red and purple being switched around for PP colour coding
+- Fixed incorrect notation of numbers in Dragon tooltip and interface
+- Fixed incorrect calculation of changing Dragon aura cost
+- Fixed incorrect calculation of changing Pantheon gods effect
+- Fixed fluctuating PP values when god Cyclius was selected
+- Fixed black flickering when Golden Cookies or buffs start
`;